[XviD-devel] some news

Radoslaw Czyz xvid-devel@xvid.org
Thu, 5 Sep 2002 20:40:33 +0930


Hi everyone

I was just wondering if anyone noticed that current xvid encodings
with max_bframes == -1 are *not* playable in divx5 or ffdshow.
Well ok, they are playable but ugly artifacts come out.
I might be wrong but it seems that DC value of intra macroblocks (in P
frames only) is wrong. All 4 blocks have the same wrong value. It also
affects chroma channels.
Now, the best part is that divx5 plays the file differently than
ffdshow. In ffdshow you could almost say that there is no artifacts -
but divx5 is full of them.
Xvid decoder plays them correctly.
All the problems are gone with max_bframes == 0.

Oh, and I never cheked what happens if BFRAMES are not #defined.
Sorry. I might check if you want.

********

New things: I checked inlined sad16 (mmx only, xmm somehow didn't
compile). I tested this function being 'static' but not inlined
(although VC++ wanted to inline it even when I didn't ask ;) ) and
'static __inline'. The CheckCandidate() with inlined sad was faster,
but the difference was absolutely minimal. It was even difficult to
measure, until I reencoded a 20 minute movie to check the time (and I
also set ExtSearch16 to do more sads [sad16 is only used for
non-inter4v searches in my code]).

BTW, does ANYONE know how to compile xvid_stat with VC++ ? I can
compile only when I disable everything from <sys/time.h> because I
simply don't have this file. I can only test PSNR...

********

Just a question: did anything related to b-frame coding change
recently? Bugs I get with my (previously working) ME code are killing
me. I can't get a clue what's wrong. Maybe something about fcode and
bcode? Or about motion compensation? Anything..?

Best regards

Radek