[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 
here.

> 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