[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