본문 바로가기

minGW

(27)
DirectX 2D 창모드는 안되는 건가... H/W 가속을 통한 각 Frame 영상을 화면에다가 그리려고 하니 어찌 DirectDraw 는 너무 오래된 API set 이라 DirectX 2D 를 쓰려고 노력 중 입니다. 다만, 대부분 2D 가속을 쓰는 게임들이 창모드로 실행 되는 방법을 알기가 어렵다는 난해한 점에 허우적 거리고 있습니다만 ... 이 방법을 찾기 위해 좀 노가다를 해야 할 듯 하네요. GDI+ 를 쓰느니 이걸 써야 겠는데 ... GDI 에 2K 이상으로 크기가 리사이즈 된 이미지를 그리려니 이 방법 말고는 답이 없어 보입니다. 아... DirectX ... 손도 대기 싫었는데 ... 빌드 가능 환경 = Code::Blocks + MinGW-W64 (DirectX API 포함된 상태)
MinGW 용 DirectX 8 input Joystick(조이스틱) 예제 (src, lib 포함) MinGW 에서 DirectX 쓰기란 MinGW-W64 오면서 참 많이 편해진 편 입니다만, 여전히 MSDN 에서 제공하는 기본 예제 조차 컴파일이 안되는 비극을 보면 갈 길이 멀어 보이기도 합니다. 이번엔 Joystick 을 DInput 으로 처리 하려니 되는게 없어 Wine 용 DirectX8 header 와 library 등을 MSDN 에서 제공하는 예제 소스와 함께 빌드 할 수 있도록 만들었습니다. 현재 이 소스는 MinGW-W64 기준 최신버젼 (5.1) 에서 빌드가 가능하며, CodeBlocks 에서 project 파일만 열어서 빌드 후 테스트 가능 합니다. 소스는 아래 첨부파일로 붙임을 하겠으며, 원래 소스가 MSDN 공개에서 가져 왔으며, DirectX8 기준이긴 하나, 이쪽 부분은 발전이..
MinGW w64 로 ffmpeg 관련 링크 오류 ! minGW 의 버젼을 4.9.x 대로 올리면서 DirectX 와 기타 등등의 Windows 의 모든 걸 쓸 수 있도록 나오는 mingw-w64로 선택 했더니 ffmpeg 라이브러리에서 이런 오류가 나온다. unistd 에 포함되던 sleep, globalfree, glob, mkstamp 등이 기본 라이브러리에 없다는 말이다! 문제는 이게 4.9.x 버젼대에만 있는 것이 아니라 5.1 최신판도 마찬가지란 점... 해결책을 찾아야 하는데, 이걸 직접 내가 만들어 쓰는 것도 문제일 탠데 ... 방법을 찾는대로 이어서 포스팅 하도록 하겠다. 이 문제는 이전에 사용한 ffmpeg 을 새로운 minGW 로 빌드 하고, ffmpeg 에 다음 소스들을 수정 해야 한다. libavutil\file.c libavutil..
FLTK RTSP player ver 0.3.9.60 이번 버젼은 오디오 응답성을 제외 하고 비디오 자원 낭비를 줄이고 (이전 버젼은 너무 빨리 그려서 이전 버퍼까지 그리는 바람에 떨림처럼 보이는 문제가 있었습니다) 덤으로 CPU 낭비도 줄였습니다. 이미 그린 프레임은 그리지 않으며, 이로 인해 pause->resume 시 약간의 딜레이가 있을 수 있습니다. 현재 지원은 사실상 들어오는 비디오 크기 모든 사이즈를 지원 하며 (720p, 1080p, 또는 2K, 4K 등등 ..) 이는 전적으로 CPU 성능에 렌더링 프레임 수가 차이가 나게 됩니다. Intel Core i5-4460 기준으로 1080p 60Hz 는 30+ frames/sec 로 그릴 수 있습니다. CPU 사용률은 20% 정도를 사용하고, 720p 는 역시 30+ frames/sec 로 그립니다..
FLTK를 이용한 RTSP stream player (Win32) 이 프로그램은 현재 제작중인 엔진을 테스트 하기 위해 만든 프로그램이나, 일반적인 RTSP 환경에서도 쓸 수 있기 때문에 공개 합니다. 다만 이 프로그램은 PC 성능에 따라 rendering performance 가 차이가 날 수 있음을 먼저 밝히며, 오디오 기능이 빠져 있음을 알리는 바 입니다. 접속은 프로그램 실행시 바로 선택 할 수 있으며 기본으로 rtsp protocl 을 모두 지정해서 써 주셔야 합니다. 기본으로 테스트를 위해 만든 프로그램이다 보니 주소 오류에 대해서는 처리가 안되어 있음을 인지 해야 합니다. RTSP 서버에 붙게 되면 위 화면처럼 해당 스트림 크기로 자동으로 창이 조절 되면서 실행 됩니다. 아쉽게도 별도로 윈도우 크기를 조절할 수 있도록 만들어 지지는 않았습니다. 이 프로그램..
MinGW(gcc) 에서 pthread 를 찾을 수 없을때. 회사에서 쓰던 pthread 를 집에서 동일하게 사용하기 위해 소스를 컴파일 하는 순간, pthread 를 찾을 수 없다는 컴파일러 오류 메시지를 보게 되는 경우가 생겼습니다.차이를 비교 해 보니, PC에 설치된 컴파일러 버젼이 차이가 있었습니다.(단, 이 방법은 말 그대로 Windows 에서 minGW 를 빌드 할때만 적용 됩니다.) 회사 : minGW 4.4.1집 : minGW 4.7.1 (TDM64-1) 과거를 되돌아 보니, 이전에 집에 설치한 minGW 4.5 버젼대는 FLTK 를 빌드할때 symbol 을 찾을 수 없다는 오류가 발생 하여 빌드를 할 수 없었던 것이 떠올랐습니다. 그래서 TDM package 로 내려받은 2013년2월11일 기준 최신 버젼을 유지해 본 것인데, 4.7 버젼 부터는 ..
MSYS : Windows 에서 리눅스 소스 빌드의 영광을 - -- 이번엔 어떠한 사진도 없습니다, MSYS 에 사진 따위는 사치 ... (라지만 올릴 사진이 없다는 것이 함정) -- Windows 는 애시당초 상용 OS 임에도 불구 하고, 자체 어플리케이션을 개발 할 수 있는 컴파일러나 환경을 전혀 지원 하지 않습니다. 일반적으로 Windows 를 단지 "단순한" 용도로만 쓰는 사람들이야 이런 개발환경을 고려 하거나 생각해야 할 부분이 전혀 없습니다만, 조금이나마 "무엇인가를 만들어 보겠다." 라는 창의성을 가진 사람이라면 이런 폐쇠적인 환경이 얼마나 (OS값이라고 지불해야 하는 금액을 생각하면) 불합리하고 오만한 Microsoft 의 환경에 자신이 처해 있는가를 알 수 있습니다. 혹시나 Visual Studio나 MFC 가 있는데 뭐가 걱정이지요? 하는 질문을 ..
MinGW 4.4.1 이상에서 GDI+ 사용시 컴파일 오류 날 시 이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다. GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits' 이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다. 먼저, GdiplusStringFormat.h 에서 (242~243 라..