Sourceforge야 안녕~

YUV player를 예전에 Sourceforge를 통해 공개해뒀었는데, 아무래도 요새 대세는 git인거 같아 github로 옮겨가야지하고 생각만 하고 있었는데, 휴일 버프에 힘입어 드디어 수행에 성공했습니다.

그동안 누적 다운로드를 확인해보니 벌써 38,000 회가 넘게 다운로드되었네요. 생각해보면 Clean software로 선정되었다고 메일도 오고 했었는데, donation은 한 건도 없네요. (paypal 연결은 sourceforge밖에 없길래 그 때 sourceforge에 올렸던 걸로 기억하는데… 쳇)

어쨌든 드디어 코드도 옮겼고, 누가 넣어달라고 코멘트 달아놨던 기능도 대충 구현해서 올려두고, 소스포지에 있던 코드는 참고하지 말라고 README.txt 하나 남겨놓고 다 날려버렸습니다.

이제는 제 관리되지 않는 trac을 정리하고, 개인 repository에 넣어뒀던 code snippet 폴더를 github로 옮겨봐야겠습니다. 헤헷

이거까지 하고 나면 정말 속이 다 시원하겠네요. ㅎㅎ

YUVPlayer 업데이트…

사실 저나 제 주위 사람들 말고는 쓰는 사람이 거의 없는거 같긴 하지만 하여튼 메모리 릭을 일으키는 몇 가지 버그를 잡았습니다.

  1. ::GetDC(hWnd) 후 ::ReleaseDC(hWnd,dc) 를 호출 하지 않아서 생기는 메모리 릭
  2. gdTexImage2D 를 반복 호출해서 생기게 되는 메모리 릭

정확하게 설명하면 위와 같구요. ::GetDC 로 받아온 Device Context 는 “꼭” ::ReleaseDC 를 호출해줘야 한다는 msdn 님의 가르침에 따라, 약간의 코드를 추가해줬습니다.

또한 gdTexImage2D 를 반복해서 호출하면 이전 텍스쳐 데이타가 사용하던 메모리 영역은 해제가 될 줄 알았는데, 실제로는 그렇지가 않네요. 텍스쳐 사이즈가 달라지는 경우엔 glDestroyTexture 후 glGenTexture, glBindTexture, glTexImage2D 를 차례로 호출해줘야 하고, 사이즈가 달라질 필요가 없는 경우라면 gdTexSubImage2D 를 사용하면 된답니다. 어려운 openGL 세상이에요.

자세한 수정 사항은 제 trac 페이지에서 확인하심 될 듯~

http://trac.unfix.net/browser/yuvplayer/win/yuvplayer/OpenGLView.cpp

p.s) trac 이 ajax 를 활용하도록 업데이트 되었네요.

지뢰찾기 프로그램

지난 주에는 SoC 아카데미에 잡혀있어야 했는데, 인터넷도 안되고 깔려있는 프로그램도 몇 가지 없어서 너무너무 심심하더군요. 흑;; 결국 지뢰찾기에 매진하게 되었고, 달인의 경지에 오를려는 찰나! ‘이 정도는 나도 만들 수 있겠다!’ 란 생각이 들었습니다.

바로 Visual Studio 를 실행시키고 -_-; 한 두 시간 정도 뚝딱뚝딱 거린 끝에 결국 콘솔용 지뢰찾기를 완성하기에 이르렀습니다. GUI 버젼으로도 만들어볼까 하는 생각이 있어서 게임 코어와 인터렉션 부분을 분리시켜 놓기는 했는데 구차니즘 말기인 요새 상황으로 볼때 GUI 버젼이 정말 나올까 하는 걱정이 조금 –;;

코드는 아래 url 로 가시면 볼 수 있고, Visual Studio 와 gcc (linux/Windows) 에서 정상적으로 컴파일되는 것을 확인했습니다. :) standard c function 을 제외하곤 별 다르게 사용한 게 없어서 아마 다른 플랫폼에서도 잘 실행될거라 생각합니다.

http://trac.unfix.net/browser/snippet/console_mine

p.s) 콘솔에 찍기에는 9×9 사이즈 이상은 너무나도 커져버려서 사이즈를 고정해놨는데 gui 로 옮기게 되면 저 부분에 관련해서 좀 업데이트를 해야겠네요.

소스 공개: yuvplayer

예전 포스트에서 얘기한 적이 있던 제 yuvplayer 를 svn repository 에 추가했습니다. 관심이 있으신 분은 아래 링크를 따라가보시면 되겠네요.

http://trac.unfix.net/browser/yuvplayer

사실 한 달쯤 전에 올려뒀는데, 제 svn repository 는 저조차 잘 가보질 않기 때문에 아무도 몰랐을거라 생각합니다;; 흐흣~ Mac 용 버젼도 있는데, 이건 아직 넣고 싶은 기능들 중 구현을 안한 것들이 많아서 추가해두지 않았습니다.

visual studio 2005 기반으로 작업하다보니 프로젝트 파일등이 모두 vs2005 용이네요. 하여튼 uyuv, yuv444, yuv422, yuv420 등으로 된 파일을 플레이할 수 있고, 마우스 오른쪽 버튼을 누른 후 현재 프레임을 다른 포멧으로 저장하는 것도 가능합니다.

관련 포스트:
mac 버젼 – http://b.mytears.org/2007/06/541
windows 버젼 – http://b.mytears.org/2007/06/544