[Ffmpeg-devel] H.264 decoding bug in either lavc/JM (x264 too?)
Tuukka Toivonen
tuukkat
Mon Aug 1 13:51:04 CEST 2005
(first a warning to all x264 users: do not use --b-pyramid with --direct
spatial until this is fixed in x264!)
On Wed, 27 Jul 2005, Michael Niedermayer wrote:
>On Monday 25 July 2005 18:25, Loren Merritt wrote:
>> Possible cause:
>> h264.c:1207 should fall back to h->ref_list[1][0].motion_val[1][b4_xy] if
>> h->ref_list[1][0] is a B-frame and the colocated block is L1 predicted.
>fixed
Tested, works (h264.c rev 1.148). I encoded 12 videos, each 640x480, 250
frames. With older revision most (I think all) videos exhibited the
problem, with rev 1.148 each video was exactly same as decoded with JM 9.6.
Now the same bug should be fixed in x264. I started looking how to do it,
but it would take some time from me.
Anyway, here's a good test video that gives broken results from x264
http://www.ee.oulu.fi/%7Etuukkat/tmp/bug1-640x480.yuv.264-jm/bug1-640x480.yuv
when encoded with options
x264 -b 3 --no-b-adapt --b-pyramid --no-cabac --nf --qp 35 --direct spatial \
-m 1 --no-chroma-me -v bug1-640x480.yuv -o bug1-640x480.264
Decode this with JM 9.6 or _latest_cvs_ version of lavc, and some
horrible MV bugs are visible, in particular in frame 45:
mplayer -rawvideo on:w=640:h=480:format=i420 \
http://www.ee.oulu.fi/%7Etuukkat/tmp/bug1-640x480.yuv.264-jm/test_dec.yuv
(note that mplayer/lavc before the bug was fixed decoded it just fine)
I used x264 rev 277, x86, optimizations enabled.
More information about the ffmpeg-devel
mailing list