SharpDX의 texture2d 크기를 조정하려면 어떻게해야합니까? SharpDX를 사용하여 화면을 복제하고 MediaFoundation을 사용하여 텍스처를 비디오 파일로 인코딩합니다. 내 문제는 응용 프로그램을 전체 화면으로 열 때 시스템 해상도와 다른 해상도가있는 경우입니다. 녹음 중에 빈 화면이 나타납니다. 성능 저하없이 mediafoundation으로 인코딩하기 전에 텍스처 크기를 조정할 수있는 더 좋은 방법이 있습니까? 하드웨어 가속을 사용하고 있습니다. 감사.Texture2D 크기 조정 SharpDX
1
A
답변
0
정확하게 Media Foundation을 사용하는 방법에 따라 다르지만 명시 적으로 Video Processor MFT을 사용할 수 있습니다. IMFMediaSession/IMFTopology를 사용하는 경우이 MFT를 토폴로지에 추가해야합니다. 싱크 작성기를 사용하는 경우이 MFT로 샘플을 초기화하고 처리하십시오. 이 경우 MFT_MESSAGE_SET_D3D_MANAGER을 사용하여 DX 관리자를 MFT에 제공해야합니다.
이 MFT는 Windows 8 이상에서만 사용할 수 있습니다. 따라서 이전 Windows 버전을 지원해야하는 경우 Video Resizer을 사용할 수 있지만 하드웨어가 가속되지는 않습니다.
텍스처 크기를 조정하는 또 다른 옵션은 원하는 크기의 렌더 대상을 생성하고 텍스처를 그릴 수 있습니다. 그런 다음 렌더 타겟을 인코더에 공급해야합니다.
안녕하세요. 답변 해 주셔서 감사합니다. 마지막 옵션은 정확한 것입니다.하지만 어떻게해야 제대로 할 수 있는지에 대한 온라인 소스 코드는 찾을 수 없습니다. 나는이 d3d 프로그래밍에 익숙하지 않고 여전히 학습하고 있습니다. 언젠가 나는 C++로 작성된 코드를 발견했으며, 나는 그것을 C#으로 변환한다. – kripto
예 예 MFT_MESSAGE_SET_D3D_MANAGER를 사용합니다. – kripto
구현시 IMFMediaSession/IMFTopology를 사용합니까? – VuVirt