[XviD-devel] bframes 'user' tests

Edouard Gomez xvid-devel@xvid.org
Sat, 20 Jul 2002 23:19:36 +0200


Hello,

I know bframes  are still beta. But as the  bframes support is getting
better each day, i thought some  real test cases could show "big" bugs
in the bframe's code.

Here are the options i've used :

[export_xvidcvs.so]     multi-pass session: 0
[export_xvidcvs.so]                quality: 0
[export_xvidcvs.so]      bitrate [kBits/s]: 710
[export_xvidcvs.so]  max keyframe interval: 250
[export_xvidcvs.so]    max bframe sequence: 1
[export_xvidcvs.so]     bframe quant ratio: 140
[export_xvidcvs.so]           motion flags: PMV_HALFPELREFINE16
                                            PMV_EXTSEARCH16
                                            PMV_EARLYSTOP16
                                            PMV_USESQUARES16
                                            PMV_HALFPELREFINE8
                                            PMV_EARLYSTOP8
[export_xvidcvs.so]           global flags: XVID_GLOBAL_DX50BVOP
[export_xvidcvs.so]          general flags: XVID_H263QUANT
                                            XVID_HALFPEL
                                            XVID_ADAPTIVEQUANT
                                            XVID_INTER4V
[export_xvidcvs.so]              cpu flags: XVID_CPU_MMX
                                            XVID_CPU_MMXEXT
                                            XVID_CPU_SSE
                                            XVID_CPU_TSC
[export_xvidcvs.so]             frame rate: 25.00
[export_xvidcvs.so]            color space: YV12

Test clip     : "The Fith Element" DVD source / frames 0-5000
                 Original frame size : 720x578
                 Encoded  frame size : 608x256

Software used : transcode 0.6.0 pre3 + bframe patch for xvidcvs module

1 - BFrame encoding speed.

Nothing to say here, the loss is just 1 frame/s encoding. Great work !

2 - BFrame visual quality

Well, i know there's still lot of work in this area, i would just give
my opinion. When the max_bframes >=2 the quality gets worse very quick
when there's  a bit  of motion. Moreover  the current default  for the
bquant_ratio seems to  be too high. With a ratio  of 200 (default) the
quantizer become too big (quality is poor - normal). The 125-140 range
gives good  results and the bitstream  size is still reduced  by a 1/4
ratio (IP  encoding is  20Mo, IPB  encoding is ~15Mo  with a  ratio of
140).

3 - Visual artifacts surely due to bugs

If someone asks me, i'll post the clip.

There's a  bug in the code  because some MBlocks diplay  just as black
squares  even   in  bright  zones  (chroma  is   ~0  too).   Moreover,
mplayer+libavcodec reports some "Bad MPEG4 header - broken or missing"
when max_bframes  is >= 2. I  can't reproduce this bug  each time, but
there's for sure something wrong with the generated bitstream.

In order to sumarize :
 - MBlocks are wrong  sometimes
 - bitstream is not well formed when max_bframes >= 2

The bitstream error might cause the first one ?


I hope this could help bframes developers (well i know this bug report
sux a lot, it lacks of details :-)

-- 
Edouard Gomez