FFMpeg + D3D + C++을 사용한 Windows 10 UWP앱 동영상 플레이어 작업

테크데이즈때 데모로 사용할 FFMpeg + D3D + C++을 사용한 Windows 10 UWP앱 동영상 플레이어 거의 완성.
소리랑 영상 싱크 맞췄고 종료시 리소스 체크 완료.

사운드 출력은 Media Foundation을 사용했다.

영상은 디코딩된 yuv데이터를 그대로 텍스쳐로 만들어서 프로젝션된 사각형으로 렌더링한다. 쉐이더에서 yuv->rgb해서 바로 D3D렌더타겟에 출력했다.
게임처리하듯 싱글 스레드 루프에서 폴링하면서 렌더링 하는데 MediaElement에서 정확한 타임스탬프를 얻을 수 있어서 그 타임스탬프를 키로 큐에 쌓아둔 YUV프레임을 찾아서 렌더링한다.

즉 사운드만 MF, 영상은 독립적으로 D3D 서피스에 다이렉트로 출력한다.

seeking은 안되지만 뭐 데모인데 어때-,.-

쉐이더를 이용한 필터까지만 넣어서 완료 짓자.

D3DVideoPlayer_2015_1015


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중