[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