[vlc-devel] [PATCH 1/5] vout: update the format after filters

Rémi Denis-Courmont remi at remlab.net
Thu Oct 22 07:31:11 CEST 2020


Le keskiviikkona 21. lokakuuta 2020, 19.30.31 EEST Romain Vimont a écrit :
> On Wed, Oct 21, 2020 at 07:12:48PM +0300, Rémi Denis-Courmont wrote:
> > Le keskiviikkona 21. lokakuuta 2020, 18.50.51 EEST Romain Vimont a écrit :
> > > On Wed, Oct 21, 2020 at 05:26:01PM +0300, Rémi Denis-Courmont wrote:
> > > > Le keskiviikkona 21. lokakuuta 2020, 15.51.03 EEST Romain Vimont a 
écrit :
> > > > > Meanwhile, this patchset is far less ambitious (and quite
> > > > > independent),
> > > > > it's just a local optimization/fix: instead of inserting a converter
> > > > > unconditionally on filters/vout format mismatch, the core just
> > > > > requests
> > > > > the vout to accept the new format directly. If it can't, it just
> > > > > inserts
> > > > > a converter like before, but if it can, this avoids an additional
> > > > > converter (and a failure for opaque formats).
> > > > 
> > > > And yet it still breaks in the ways that were already pointed out when
> > > > this
> > > > was proposed and rejected at the winter 2019 workshop.
> > > 
> > > I'm sorry, I don't understand how it breaks.
> > > 
> > > It just adds a possibility for the vout to accept a format change due to
> > > filters, in order to avoid the insertion of a converter. If the vout
> > > refuses, a converter is inserted as before.
> > 
> > That's pretty convoluted just for one single display module and naughty
> > filters. Normally, we take the output of the previous filter and give that
> > as input to the next, which is both simple and locally optimal.
> > 
> > I don't see why we should create a display with the wrong format, and then
> > change the format.
> 
> Because currently, we create a display with the wrong format, and then
> insert a converter. That's not better.

There's no such thing as creating a display with the wrong format, unless 
either a display or a filter messes it up. The display is free to request a 
better format than what the decoder gives, and indeed, many display plugins do 
so, notably GPU-accelerated one.

> > For obvious performance reasons, filters should not change the format.
> 
> That's not true for GPU filters.

That's of course true for all types of filters. Gratuitious conversions may be 
passable in audio output, but they're a massive wastage of computing resource 
in video.

This looks like trying to accomodate some broken design that does not exist in 
the tree, and contradicts the workshop decisions, as I seem to remember them, 
so -1.

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





More information about the vlc-devel mailing list