내 첫 cocoa application: yuv player

저번 주에 개인적으로 de-interlacing 관련된 발표를 준비하느라 논문에 있는 de-interlacing 기법들을 구현해서 실험을 했었는데, 맥에서 돌아가는 yuv player 를 못찾는 바람에 결과는 윈도우로 옮겨서 확인해야하는 불편이 있었다.

랩에 이미 충분히 쓸만한 yuvplayer 가 있기는 하지만 윈도우 전용이고, 내가 예전 신입생 과제를 하면서 만들었던 플레이어 역시 윈도우용;; 뭐 하튼 플레이어를 구현하는데 필요한 기반 테크닉은 다 갖추고 있었기 때문에 MFC + OpenGL 로 구현해봤던 것을 똑같이 Cocoa+OpenGL 로 구현해봤다.

메뉴를 이용해서 size 와 color format, frame rate 등을 준비할 수 있도록 만들었는데, size 와 frame rate 를 사용자가 직접 입력하는 것은 귀찮은 관계로 나중에 -_-;;

뭐 하튼 Zoom 하고 Drag And Drop 과 관련된 코드만 추가하고 나면 내가 구현하고 싶었던 모든 기능이 다 들어가는 거 같다. (Zoom 이야 glPixelZoom 을 사용하면 한방에 오케이니 흐흣)

XCode + Interface Builder 를 이용한 첫 결과물인데, 굉장히 오래전에 이미 나와있던 프로그래밍 인터페이스인데도 불구하고 굉장히 편리하게 프로그래밍이 가능해서 감탄을 해버렸다. 물론 MS 진영도 Visual Studio 2005 로 오면서 편리한 기능들이 꽤 많이 추가되긴 했지만, GUI Application 을 만들기 위한 IDE 로는 XCode + 인터페이스 빌더 쪽이 한 수 위인 듯…

MFC 나 Cocoa 나 진입 장벽이 꽤 높지만… 기본적인 테크닉을 익히고 나면 굉장히 강력하게 사용이 가능한 것 같다. 그리고 C 에 능숙하다면 다른 언어를 접하는 데도 그리 큰 어려움을 느끼지 않는 것 같다. 학부 시절 C++, Java 등에 눈길을 뺐기지 않고 주력 언어로 C 를 선택했던 게 탁월한 선택이었던 듯…

p.s) 코드를 좀 정리하고 sourceforge 등에 자리를 틀어볼까 싶네요. :)

Related Posts

Published by

7 thoughts on “내 첫 cocoa application: yuv player”

  1. 안녕하세요 저도 MAC에서 이것 저것 준비하여 해보고 싶은 사람이니다만 아직 프로그램 실력이 없어서 맥용 프로그램을 짜보지 못하고 있습니다.

    YUV 플레이어를 찾던 중에 정태영님께서 작성하신 YUV플레이어를 찾았습니다. 괜찮으시다면 저도 사용할 수 있을런지요?

    부탁드리겠습니다.

  2. 작업을 하다 말아서 윈도우용 버젼만큼 많은 것이 구현되어 있지는 않지만, 그래도 나름 잘 돌아는 가는 버젼입니다. –;; 소스코드는 조금 더 기능들을 추가한 뒤 공개하고 싶은데… 이상하게 요새 손이 안잡혀서;;

    http://mytears.org/resources/distfiles/yuvplayer-mac.zip

    써보시고 이런 기능이 필요한데 안들어있다거나 한 경우 얘기를 해주시면 감사하겠네요.

  3. 감사합니다.

    맥용 프로그램 실력이 없어서 고민중이었는데 정말 큰 도움이 될 듯 합니다.

    De-Interlacer는 제가 에전에 Motion adaptive까지 해본적이 있습니다. 그때 MATLAB으로 이것 저것 만들어본적이 있어서… 필요하시면 제가 미미하지만 (부끄럽지만..) 자료를 드릴 수 있습니다.

    요새 이걸 H/W루 만들어볼까 고민중이었습니다.

    임 종윤 드림

  4. 감사합니다.

    MAC 프로그램은 공부를 해보지 않아서 아직 잘 모릅니다. 요새 다른거땜에 맥용 YUV찾고 있었습니다. 큰 도움이 되었습니다.

    그리고 De-Interlacer는 제가 예전에 해본적이 있어서 도움이 될런지 모르지만 필요하시면 자료를 챙피하지만 자료를 보내드리도록 하겠습니다.

    임 종윤 드림

    1. 맥용은 소스를 날려버려서 저도 가지고 있질 않습니다 -_-; 윈도우용은 본문 잘 찾아보시면 sourceforge 링크가 있고, 거기 가면 full source를 받으실 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">