[vlc-devel] Push Model Issue

Rémi Denis-Courmont remi at remlab.net
Wed Jun 12 21:59:34 CEST 2019

Le keskiviikkona 12. kesäkuuta 2019, 17.58.06 EEST Steve Lhomme a écrit :
> I will keep investigate on option #2 but I'm running out of ideas on how
> to solve the performance issue. So I wonder if it makes sense to have
> the decoder depend on the display module in push to be created an
> usable. This is a limitation of D3D9 where everything is tied to a HWND.
> In D3D11 the resources can be shared and are only tied to a GPU.

If your buffers are tied to the display instance, ultimately, you are screwed 
regardless of the buffering model.

There is always the scenario where the output format changes mid-stream, such 
that the (new) format of allocated buffers does transitionally not match that 
(old) of decoded pictures. I am not sure how systematically the packetizer 
will destroy and re-create the decoder in this case - but it will not work 
smoothly if the pipeline cannot handle buffers with different formats at the 
same time.

This is not so much about the buffering model, as about the VLC video output+ 
display abstraction not allowing the input format to change.

I don't know how useful D3D9 is, but if it's needed, I would make the device 
context place-holder storage space for the display to store the necessary 
HWND-dependent object(s). But first, I would create a throw-away HWND and 
device to at least check hardware capabilities ahead of time.

Реми Дёни-Курмон

More information about the vlc-devel mailing list