[MPlayer-cvslog] r19836 - trunk/libmpcodecs/vf_yadif.c

Loren Merritt lorenm at u.washington.edu
Tue Nov 28 18:45:27 CET 2006


On Mon, 20 Nov 2006, Guillaume POIRIER wrote:
> On 9/14/06, lorenm <subversion at mplayerhq.hu> wrote:
>
>> +#define CHECK2 /* pretend not to have checked dir=2 if dir=1 was bad.\
>> +                  hurts both quality and speed, but matches the C version. 
>> */\
>
> Mmm.. If I understand correctly, C code could be made faster and of
> better quality if this was fixed.
> Is it doable?
> I imagine it would require a partial rewrite of the MMX code though...

Actually, I later tried removing that, and it was worse quality. 
(Measured by taking some 60p content, -vf tinterlace=4,yadif=1, and 
computing PSNR against the original, it lost 1.3dB.)

And even if that were not so, the change would make the C code slower, 
only SIMD would have benefitted (branch vs bitmask).

There is still a little speedup possible if we don't need to keep C and 
MMX the same: Some places don't care which direction to round. Currently 
they use (a+b)>>1, but switching to (a+b+1)>>1 makes the C 3% slower and 
the MMX 6% faster (no measurable difference in quality).

I have patches for both, though they don't apply to current svn.

--Loren Merritt



More information about the MPlayer-cvslog mailing list