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

Felix Abecassis felix.abecassis at gmail.com
Fri Sep 12 14:31:03 CEST 2014


2014-09-11 22:49 GMT+02:00 Rémi Denis-Courmont <remi at remlab.net>:
> Le jeudi 11 septembre 2014, 22:01:18 Felix Abecassis a écrit :
>> I think we can also implement this with vout display events, like what
>> we do for CHANGE_SOURCE_CROP and CHANGE_SOURCE_ASPECT.
> (...)
>> Of course this only works for vout that can invalidate their pictures...
>
> Yes, changing a video format parameter dynamically independent of the decoder
> intrinsically requires that the picture buffers do not depend on the parameter.
>
> 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, but I was looking for something more generic.
But this is maybe the best solution left if we want to handle changes
dynamically.

> - the video output plugin declares invalid pictures and effectively renders
> indirectly always.
>
> I would find this performance regression unacceptable for even rotation or
> colour space. It is obviously totally unacceptable for a feature as
> confidential as stereo video.

Direct 3D already has invalid pictures, but for quadbuffering it will
be different.
We could state that dynamic stereo change with conversion is only
possible for vouts that can invalidate their pictures, but that would
probably be confusing: the user won't know why he can't force the mode
in some cases.

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.


-- 
Félix Abecassis
http://felix.abecassis.me



More information about the vlc-devel mailing list