Re[6]: [XviD-devel] New Motion Estimation (from sysKin) committed to branch

Radoslaw 'sysKin' Czyz xvid-devel@xvid.org
Wed, 25 Sep 2002 23:57:35 +0930


------------CA1B62399097D10
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello,

> ok, then let's do the halfpel16_refine. But we could still try to do a broad
> INTER/INTER4V decision before halfpel8_refine: if the sum of SAD8s +
> calc_delta_8 is much higher than sad16 then mode = INTER and terminate
> search, else do the halfpel8 refinements, do normal INTER/INTER4V decision
> again...
> Don't know if this could be faster, but maybe it's worth a try...

It sure is worth a try ;)

> I've just committed the sad16v_mmx code. It seems to work, but please
> test yourself...

Seems to work here, too :) Thank you.

I attach zipped sources which enable it (in xvid.c). There is also a
small update to P/B decision again, because my first, original code
just looked better to me ;) even if the older one gave smaller
filesize (but it just used more b-frames so I'm not surprised that
filesize was smaller...). Anyway, P/B decision needs more work - with
2-pass mode and PSNR measurment, not some fancy filesize checking ;).

Could someone PLEASE commit the files to cvs? I admit, I'll just have
to learn how to do it myself. But not now ;)

Ah, and there is another thing - new api should have a flag telling if
we want to use P/B decision or not (i.e. have fixed number of
b-frames).
In fact, P/B decision is a complex thing and maybe other people will
write different procedures for it, so maybe we should have a number
(or more flags?) to allow choosing between different procedures.
Same for motion estimation itself. What do you think?

Ah, and one more thing. I don't have much (any?) reports telling if
B-frames work or not. Edouard Gomez seems to have HUGE problems with
it, but I don't know why.
@Koepi - please tell me if the file you've encoded decodes fine with
xvid (by Vdub). That's important because both ffdshow and divx5
decoders have problems with variable number of Bframes.
There are two ways - either it will decode, or will show artifacts and
crash.
@everyone: please do similar tests... just a short clip, divx5
compatibility mode, quant ratio of 150%, max bframes = 4 (but only
with the pach I attach here).
I can provide with VfW .dll if anyone wants - wait, I'll upload it at
this very moment: http://users.bigpond.com/syskin/xvid7.dll
Happy testing!

Regards
Radek
------------CA1B62399097D10
Content-Type: application/x-zip-compressed; name="src.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="src.zip"

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
bl9lc3QuaFBLBQYAAAAABQAFABkBAADhVgAAAAA=

------------CA1B62399097D10--