[vlc-devel] [PATCH 1/6] decoder: add code to send 3d metadata to the output modules to be handled

Steve Lhomme robux4 at ycbcr.xyz
Tue Aug 14 11:56:59 CEST 2018

On 13/08/2018 18:02, Rémi Denis-Courmont wrote:
> Le lundi 13 août 2018, 17:44:41 EEST Steve Lhomme a écrit :
>> From: "Mohammed (Shaan) Huzaifa Danish" <shaan3 at gmail.com>
>> This is because we don't want a new vout everytime the video stereo mode
>> changes.
> Either you recreate the video output, or there is a change-source-$property
> control request that all video outputs (or all video windows, depending)
> implement.  You cannot just change a property silently, AFAIK.

OK, I'll look at changing this property dynamically then.

> And I don't think that the latter is even realistic here. We cannot switch
> (almost) all video output to invalid-pictures just for stereoscopy.

IMO the current code is not correct either. Why would we need a new vout 
when the orientation changes if it can handle dimension changes 
dynamically (they can all do AFAIK) ? Same thing for the SAR.

Also testing the other way around I found out that changing the vout 
dynamically like that fails the hardware decoder. In D3D the context is 
created by the vout and shared with the VA, if the vout disappears and 
the VA remains unchanged the new vout will have a different context and 
it won't work (black screen). Technically right now as soon as the VA is 
created the vout cannot changed, unless the VA is recreated. It will 
hopefully be fixed when we use a push model from the decoder to the vout.

In many cases the 3D mode is tagged inside the codec and not the 
container, so we only get the information when we call DecodeSidedata() 
in lavc. But it needs a frame, which is too late because the 
decoder/vout has already been created. It's a design issue in lavc, it 
should pass the extra data of the frame it wants to output when calling 
get_format(). Otherwise these extra data can only be handled dynamically 
in the decoder/vout.

> -- 
> Rémi Denis-Courmont
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

More information about the vlc-devel mailing list