[XviD-devel] I'm stupid :/

Radoslaw 'sysKin' Czyz xvid-devel@xvid.org
Sat, 13 Jul 2002 20:54:15 +0930


Hi

Remember my revelations about 4x sad8 being faster then sad16? Or
about creation of faster motion search?
Of course, I was smart enough not to notice that I was comparing
simplediamond (my code) to square. Blah. Who put squaresearch into
quality-6 xvid_stat? (well it should be there, so it's good that it's
there...)

Anyway, my non-mrsad ME is complete.

About the speed: 4x sad8 + early termination can compete against
sad16; As my code also uses simpler version of diamond, it's a bit
faster (a little bit) than normal ME when inter4v is off, square is
off and advdiamond is off. Otherwise, it's slower :/

About the quality: I like it :) 0.20dB improvement or even more, at
least for normal quants ( <10 or sth ). Skip-decision and my other
ideas work as expected.

Inter4v-search made together with 16-search seem to work as
expected. It doesn't require much computation, but it's much slower
because I cannot use early-termination during sad16. If anyone would
feel like writing a very fast sad16 function that returns four sad
values (one for each 8x8 block), the code could return to it's
full speed. But don't do it, I'll move to mrSAD soon.

Also, please note that code is much smaller. It doesn't have the ugly
macros. It is able to use the same MainSearch functions (diamond,
square; also halfpel_refine) to do both 16x16 and 8x8 search (which
also means that PMV_USESQUARES8 works now).
While compiling, it prints hundrets of warnings. Some of them are
just, but I keep wondering about the "incompatibile pointer type"
ones, which are wrong. Maybe my gcc is strange?
Oh, another thing: what do you think about my SquareSearch? it does
the same thing as previous one, but is so compact and cute ;>

My code is at http://users.bigpond.com/syskin/me.zip

Please test it, I didn't do real tests (just some). Then, please
forget it. I'm going to use mrSAD for ME, it's just better (at least
in theory). Then, please tell me what do you think :)

Best regards

Radek 'sysKin' Czyz