[vlc-devel] Windows 0-copy DXVA

Rémi Denis-Courmont remi at remlab.net
Thu Apr 16 13:51:47 CEST 2015

Le 2015-04-16 09:43, Steve Lhomme a écrit :
> IMO there's something missing when creating the decoder pool here:
> http://git.videolan.org/?p=vlc.git;a=blob;f=src/video_output/vout_wrapper.c;h=d172bcca0bfdacc9ebc5c7979a1f10850e7092c9;hb=HEAD#l133

Again, so far only a display module can provide a custom picture pool 
so far. I started some work in that area late last year, but a lot of 
implementation is still missing to support custom pools in splitter 
and/or filter modules. The vout wrapper is only the tip of the iceberg 

> The problem is that my picture_t should have empty planes and D3D9
> surfaces that the decoder can deal with. It's similar to other opaque
> formats:
> http://git.videolan.org/?p=vlc.git;a=blob;f=src/misc/fourcc.c;h=0a08be45ecc81f8ad44ec2d607dffd621011fc76;hb=HEAD#l2191

I would concentrate on the direct GPU path for now. You can always fall 
back to CPU decoding or retain the existing in-decoder memory copy in 
other cases. decode_UpdateVideoFormat() should fail if the decoder 
requests an unsupported "chroma".

> IMO picture_pool_NewFromFormat() should be able to create the
> necessary amount D3D9 surfaces when passed my pixel format.

IMNSHO, the conversion filter module should be able to create and 
supply its own picture pool, like the display module.

Rémi Denis-Courmont

More information about the vlc-devel mailing list