[MPlayer-dev-eng] [PATCH] changes in vf semantics

D Richard Felker III dalias at aerifal.cx
Thu Dec 2 00:01:23 CET 2004


On Wed, Dec 01, 2004 at 11:13:12PM +0200, Ivan Kalvachev wrote:
> Well well well.
> So, If I have understood what the already applied patch is supposed to
> do, is the following:
> At mpcodecs_config_vo() time it stores the visible dimensions, that are
> passed to it and later
> forces them to the mpi structures.
> This way get_image() are free to request aligned dimensions.
> 
> Well, I see sense in this modification, but I would have rejected it, as
> it also
> involves change in many places. And basically changing the philosophy of
> the video
> system.
> What I would have done is to align the height together with width when
> ALIGNED flag
> is set in mpi. This is nearly 2 line fix that doesn't require massive
> changes here and there.

the issue isn't alignment, it's needing border space for crap to get
written to. this is a different issue, imo, and the alignment system
isn't general enough to handle it.

> I have attached the patch I have done (IT IS NOT TESTED AT ALL)
> to see if it will fix all know issues, if you revert the current patch.
> There is even chance it to work correctly
> for all codecs (except svq1)
> The added bonus of mine patch is that it already works with all
> filters.)
> Well, it could have some side effects as some filters use chroma_height
> in loops. Probably we may need cw,ch similar to w,h in mpi ;) Anyway
> this is not problem specific to my patch ;)

these filters need to be fixed. the correct thing is to use w/h
shifted by horizontal or vertical chroma shift...

> > > Because of this, we should pass the aligned dimensions to vo
> > > config(). But this may lead to problems as we also pass visible
> > > dimensions (aspect) at the same time.(e.g. off by few lines creates
> > > horrible scaling artifacts on cheap old video cards, like the one I
> > > used to have). For fixed size vo it may lead to black bars, but this
> > > is not really issue.
> > 
> > This is totally broken and unacceptable. There's a reason it's not
> > implemented that way.
> 
> How nice you don't give reason why it is so.

the output is blatently wrong. it's not ok for mplayer to display
wrong output!

> > > Probably it would be good idea to add an alignment parameters to the
> > > mpcodecs_config_vo() and remove them from get_image() (e.g. making
> > > flags informative, not settable). This seams to be also the less
> > > intrusive way. Indeed, it will need changing of all vo-s.
> > 
> > More total nonsense. There's no reason special alignment/border needs
> > should be restricted to codecs! Filters might need it too!!!
> 
> You insensitive clod, you don't even know what mpcodecs_config_vo()
> does!
> JFYI it also calls vf->config chain, not only decoder control and vo one
> ...

my point is that even tho the codec might not need alignment/borders,
some filter might. thus the interface to requesting borders MUST be in
the vf layer, not the vd/vf interface.

> > What you're talking about is a whole new vf api, so go write the whole
> > thing in a non-broken way and call us in 5 years when you're done.
> > Meanwhile we're trying to FIX MPLAYER G1 WITH MINIMAL CHANGES TO VF SO
> > THAT IT NEVER CRASHES ON STRANGE-SIZED MOVIES!! And the proposed fix
> > does exactly that.
> 
> Well, no. The already applied patch changes the whole video filter
> system dimension
> handling, that need reworking of quite many places to handle the new
> semantics.

what need reworking/fix? imo nothing.

> > > I insist to discuss this here in maillist as it give more time to
> > > think about issues, more time to check the code and test things.
> > 
> > OK, we'll give you the 5 years to write g3 vf... ;)
> > But each week it takes adds 10l cola to your tab. :))))
> 
> How nice, that you started coding your video system before me.
> This way you have an head start of cola...

yes, i agree. :))
msg me on irc for my postal address and you can ship me some crates of
coke. just not pepsi... :))

rich




More information about the MPlayer-dev-eng mailing list