[vlc-devel] [PATCH 11/14] vout: lock picture pool when restarting vout thread

Rémi Denis-Courmont remi at remlab.net
Sat Sep 13 22:08:02 CEST 2014


Le vendredi 12 septembre 2014, 14:31:03 Felix Abecassis a écrit :
> > There are only two ways to achieve that:
> > - the video output plugin can handle the dynamically parameter internally,
> > or
> Yes, each plugin could handle the variable callback and the conversion
> internally,

No! Obviously most outputs can't do stereoscopy and have no reasonable ways to 
handle it internally. As far as I know, only OpenGL and Direct3D support it 
with some high-end graphical hardware, and even then I doubt all modes are 
supported.

It is a design choice which parameters are required for direct rendering. 
Currently, crop, aspect ratio and zoom must be supported; any plugin that 
fails to implement one of those must set the invalid pictures flag and turn off 
direct rendering. We could decree that stereoscopy is required too, but I 
think that say rotation or colour space would be more useful than stereoscopy.

Besides, it is obvious that support for stereoscopy is too abysmal at the 
moment to consider requiring it at this point.

> But this is maybe the best solution left if we want to handle changes
> dynamically.

I think there is only one way to support dynamic change of obscure video 
format settings, and more generally of inserting format-changing video filters 
dynamically. That involves dissociating the picture buffer life cycle from the 
current visible video format. Basically, the video output should be able to 
retain picture buffers and to display pictures after the source format changed.

That would enable inserting filters, and fix support for resolution change with 
threaded decoding. But that requires big changes to the video output core and 
plugins.

Don't count on me there.

(...)
> Direct 3D already has invalid pictures, but for quadbuffering it will
> be different.

I don't really care about Direct3D. XVideo does not invalidate pictures and I 
don't want it to have to, especially not for a mostly useless feature.

> Forcing the mode at startup (when initializating the vout) would be
> simpler, but will require a restart of the video and the decoder will
> still receive pictures tagged with the forced format.

Unless you want to take up the, err, non-trivial task above, I think that is 
your only option.

-- 
Rémi Denis-Courmont
http://www.remlab.net/




More information about the vlc-devel mailing list