[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