2010-07-13 4 views
2

Windows에서 동영상의 자연 크기가 아닌 GWorld로 QuickTime 동영상을 렌더링해야합니다. 영화가 1.5 배 확대되면, 약간의 톱날이 보입니다. 반면 QuickTime 플레이어 (Windows Vista의 경우 7.6.6 버전)에서 동일한 동영상을 열고 창을 늘리면 스트레칭 중에 딸깍 소리가 나지만 마우스를 놓으면 이미지가 부드럽게 보입니다. 그것은 더 똑똑한 스케일링 알고리즘이나 안티 앨리어싱을 사용해야합니다. SetMovieGWorldSetMovieBox 외에 더 큰 크기로 렌더링하려면 어떻게해야합니까? 다만,이 텍스트를 보여주고 있지만, 텍스트 트랙이 아니다 (Windows 용 QuickTime에서 고해상도 오프 스크린 렌더링을 수행하는 방법은 무엇입니까?

jaggy http://www.frameforge3d.com/news-mac/jaggy.png

: 여기

는 부드러운 버전의 약간의 :

smooth http://www.frameforge3d.com/news-mac/smooth.png

을 그리고 여기에 약간 톱니 대응이다 이미지의 일부.)

나는 시도했다 SetMoviePlayHints wi hintsHighQuality와 같은 다양한 플래그가 적용되지 않습니다.

큰 그림이 있습니다. 완전히 다른 접근 방식에 대한 제안이있을 수 있습니다. 영화는 스테레오 채널입니다. 이미지의 왼쪽과 오른쪽 반은 (여러 가지 방법 중 하나로) 합성 한 다음 화면에 그려야합니다. 예를 들어 내가 테스트 한 영화는 2560 x 720의 자연 크기를 가지고 있지만 1280 x 720의 자연 크기로 표시됩니다. 현재 내가하고있는 방식은 GWorld로 렌더링 한 다음 SetMovieDrawingCompleteProc 콜백 , 왼쪽과 오른쪽 반을 glTexSubImage2D으로 OpenGL 텍스처에 업로드하고, GLSL 셰이더를 사용하여 화면에 렌더링합니다.

Apple 개발자 기술 지원을 통해이 문제에 대한 도움을 얻으려고했지만 기본적으로 "우리는 Windows를 사용하지 않습니다."라고 대답했습니다.

+0

음, 적어도 Tumbleweed 배지가 있습니다. – JWWalker

답변

0

Apple SDK를 사용하는 대신 DirectX, 특히 DirectShow를 사용하여 동영상을 표시 할 수 있습니까? DirectX가 QuickTime 동영상을 재생할 수 있다는 것을 알고 있습니다.

DirectShow를 사용할 수 있다면 자신의 비디오 변환 필터를 검색하거나 생성하여 앤티 엘리 어싱 및 스무딩을 수행 할 수 있습니다.

+0

그게 내가 피하려고 노력한거야. QuickTime에 대한 이전 경험이 있지만 DirectX 나 DirectShow에서는 경험이 없습니다. – JWWalker

+0

글쎄, 애플 SDK 사용에 대한 경험이 없다. 그러나 DirectX를 사용하는 것은 매우 간단합니다. 먼저 Microsoft의 웹 사이트에서 DirectX SDK를 다운로드해야합니다. 그런 다음이 웹 사이트로 이동하십시오 : http://www.codeproject.com/KB/directx/directshowmediaplayer.aspx. 이 사이트에서는 DirectX를 사용하여 비디오를 재생하는 방법을 보여줍니다. – Icemanind

관련 문제