[MPlayer-dev-eng] [patch] libpostproc fix for negative strides

Michael Niedermayer michaelni at gmx.at
Wed Feb 23 22:08:58 CET 2005


Hi

On Wednesday 23 February 2005 20:37, Jindrich Makovicka wrote:
> Michael Niedermayer wrote:
> > Hi
> >
> > On Wednesday 23 February 2005 16:20, Jindrich Makovicka wrote:
> >>Hi,
> >>
> >>the attached patch fixes libpostproc crashes with negative strides (Bug
> >>#191).
> >>               if(width==dstStride)
> >>+                   if (dstStride > 0)
> >
> > this looks suspicious
>
> yes, my bad. there is one more occurence of this. should be obviously
> ABS(dstStride).
>
> > many of the memcpy special cases could also probably be avoided by
> > writing a memcpy wraper which supports stride<0
>
> ok.
>
> > furthermore the case with src_stride<0 && dst_stride<0 is unneeded to be
> > handled, both can just be flipped
>
> yes, but with memcpy wrapper it probably isn't worth checking.
>
> > and some '-vo md5' tests of all pp filters both in c and mmx would be
> > nice too
>
> tested the combinations
>
> -vf pp=hb:vb:h1:v1:ha:va:dr:al:lb:li:ci:md:fd:l5:tn:fq
> -vf pp=hb:vb:h1:v1:ha:va:dr:al:lb:li:ci:md:fd:l5:tn
>
> for (vanilla|patched)-(c|mmx), with 100% identical outputs for each of
> the filter sets. this was for 720x540 video, which means the special
> cases for partial blocks were used.

many of the filters (like the deblock and deinterlace filters) are in if() 
else if() blocks so u cannot use them at once

please also ensure that the video used for testing has b frames and non 
constant qp, use '-debug 16' to view the per mb qp values

[...]
-- 
Michael

"nothing is evil in the beginning. Even Sauron was not so." -- Elrond




More information about the MPlayer-dev-eng mailing list