DXVA and Direct3D

Discussion created by mattpcomp on Apr 20, 2010
Latest reply on May 7, 2010 by victtors
using pixel shaders for video processing.


I have a question regarding DXVA2 and render targets. I am developing a
video processing application and ultimately I want to use pixel shaders (in
D3D) to process video that comes out of the DXVA2 decoder.

I have successfully managed to create an H264 decoder and decode video, but I run into problems when I try and change the render targets for the
decoder. Ideally I want to use IDirect3DTexture9 surfaces created with
IDirect3DDevice9::CreateTexture because this way I can avoid unnecessary video copies or colour space conversions. However, it seems as if only surfaces created with IDirectXVideoAccelerationService::CreateSurface will work in the decoder (note I have also tried IDirect3DDevice9::CreateOffscreenPlainSurface which fails in IDirectXVideoDecoderService::CreateVideoDecoder and
IDirect3DDevice9::CreateRenderTarget which cannot make type NV12). Please can you advise if what I am trying to do is possible and if so how.

Many thanks,