Decoding this file with ffh264 causes a crash. Sourced from a thread at: http://forum.doom9.org/showthread.php?p=1177030#post1177030 (gdb) r -i ~/samples/h264/ffh264_decoding_error.mkv -f null /dev/null Starting program: /Users/rob/source/ffmpeg/ffmpeg_g -i ~/samples/h264/ffh264_decoding_error.mkv -f null /dev/null Reading symbols for shared libraries ++++++++. done FFmpeg version SVN-r15050, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --enable-gpl --enable-nonfree --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-libmp3lame --enable-libx264 --cc=ccache gcc --extra-cflags=-march=prescott libavutil 49.10. 0 / 49.10. 0 libavcodec 51.70. 0 / 51.70. 0 libavformat 52.21. 0 / 52.21. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 1. 0 / 0. 1. 0 libswscale 0. 6. 1 / 0. 6. 1 built on Aug 30 2008 12:28:02, gcc: 4.0.1 (Apple Inc. build 5484) Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 50.00 (50/1) Input #0, matroska, from '/Users/rob/samples/h264/ffh264_decoding_error.mkv': Duration: 00:00:18.56, start: 0.000000, bitrate: N/A Stream #0.0: Video: h264, yuv420p, 1280x720, 50.00 tb(r) Output #0, null, to '/dev/null': Stream #0.0: Video: rawvideo, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 50.00 tb(c) Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding [h264 @ 0x1004000]mmco: unref short failure [h264 @ 0x1004000]mmco: unref short failure [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]B picture before any references, skipping [h264 @ 0x1004000]decode_slice_header error [h264 @ 0x1004000]no frame! Error while decoding stream #0.0 [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]reference picture missing during reorder [h264 @ 0x1004000]Missing reference picture [h264 @ 0x1004000]warning: first frame is no keyframe [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]mmco: unref short failure [h264 @ 0x1004000]number of reference frames exceeds max (probably corrupt input), discarding one [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.1kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.1kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.1kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframeitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]warning: first frame is no keyframebitrate= -0.0kbits/s [h264 @ 0x1004000]Internal error, picture buffer overflowate= -0.0kbits/s Program received signal SIGABRT, Aborted. 0x95c5fb9e in __kill () (gdb) bt #0 0x95c5fb9e in __kill () #1 0x95c5fb91 in kill$UNIX2003 () #2 0x95cd6ec2 in raise () #3 0x95ce647f in abort () #4 0x0016f55b in ff_find_unused_picture (s=0x9d5000, shared=0) at libavcodec/mpegvideo.c:793 Previous frame inner to this frame (gdb could not unwind past this frame) (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0x95c5fb7e to 0x95c5fbbe: 0x95c5fb7e : add %eax,(%eax) 0x95c5fb80 : add %al,(%eax) 0x95c5fb82 : mov %eax,0x4(%esp) 0x95c5fb86 : mov 0x8(%ebp),%eax 0x95c5fb89 : mov %eax,(%esp) 0x95c5fb8c : call 0x95c5fb94 <__kill> 0x95c5fb91 : leave 0x95c5fb92 : ret 0x95c5fb93 : nop 0x95c5fb94 <__kill+0>: mov $0xc0025,%eax 0x95c5fb99 <__kill+5>: call 0x95bf1cf4 <_sysenter_trap> 0x95c5fb9e <__kill+10>: jae 0x95c5fbae <__kill+26> 0x95c5fba0 <__kill+12>: call 0x95c5fba5 <__kill+17> 0x95c5fba5 <__kill+17>: pop %edx 0x95c5fba6 <__kill+18>: mov 0xae18513(%edx),%edx 0x95c5fbac <__kill+24>: jmp *%edx 0x95c5fbae <__kill+26>: ret 0x95c5fbaf : push %ebp 0x95c5fbb0 : mov %esp,%ebp 0x95c5fbb2 : sub $0x18,%esp 0x95c5fbb5 : movl $0x0,(%esp) 0x95c5fbbc : call 0xa0a79be1 End of assembler dump. (gdb) info all-registers eax 0x0 0 ecx 0xbfffdd6c -1073750676 edx 0x95c5fb9e -1782187106 ebx 0x95ce643f -1781636033 esp 0xbfffdd6c 0xbfffdd6c ebp 0xbfffdd88 0xbfffdd88 esi 0x1004000 16793600 edi 0x4a08210 77627920 eip 0x95c5fb9e 0x95c5fb9e <__kill+10> eflags 0x200282 2097794 cs 0x7 7 ss 0x1f 31 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 st0 -nan(0x265b747575767779) (raw 0xffff265b747575767779) st1 -nan(0x285a737676767678) (raw 0xffff285a737676767678) st2 -nan(0x295a737676747576) (raw 0xffff295a737676747576) st3 -nan(0x100000100000000) (raw 0xffff0100000100000000) st4 -nan(0x817e7e81807f7f7f) (raw 0xffff817e7e81807f7f7f) st5 -nan(0x100000000000100) (raw 0xffff0100000000000100) st6 -nan(0x2020000000000) (raw 0xffff0002020000000000) st7 0 (raw 0x00000000000000000000) fctrl 0x37f 895 fstat 0x21 33 ftag 0xffff 65535 fiseg 0x17 23 fioff 0x934a 37706 foseg 0x1f 31 fooff 0xbfffea84 -1073747324 fop 0x19c 412 xmm0 { v4_float = {0, 0, 0, 0}, v2_double = {0, 0}, v16_int8 = '\0' , v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0}, v4_int32 = {0, 0, 0, 0}, v2_int64 = {0, 0}, uint128 = 0 } (raw 0x00000000000000000000000000000000) xmm1 { v4_float = {3.57331108e-43, 0, 3.57331108e-43, 3.57331108e-43}, v2_double = {5.4110892669614444e-312, 5.4110892682213118e-312}, v16_int8 = "\000\000\000?\000\000\000\000\000\000\000?\000\000\000?", v8_int16 = {0, 255, 0, 0, 0, 255, 0, 255}, v4_int32 = {255, 0, 255, 255}, v2_int64 = {1095216660480, 1095216660735}, uint128 = 0x000000ff00000000000000ff000000ff } (raw 0xff000000ff00000000000000ff000000) xmm2 { v4_float = {0, 0, 0, 0}, v2_double = {0, 0}, v16_int8 = '\0' , v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0}, v4_int32 = {0, 0, 0, 0}, v2_int64 = {0, 0}, uint128 = 0 } (raw 0x00000000000000000000000000000000) xmm3 { v4_float = {0, 0, 0, 0}, v2_double = {0, 0}, v16_int8 = '\0' , v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0}, v4_int32 = {0, 0, 0, 0}, v2_int64 = {0, 0}, uint128 = 0 } (raw 0x00000000000000000000000000000000) xmm4 { v4_float = {0, 0, 2.77843738, -7.46297859e-36}, v2_double = {0, 17.82}, v16_int8 = "\000\000\000\000\000\000\000\000@1??\036?R", v8_int16 = {0, 0, 0, 0, 16433, -11797, -31458, -18350}, v4_int32 = {0, 0, 1077006827, -2061584302}, v2_int64 = {0, 4625709101767112786}, uint128 = 5960547667360690496 } (raw 0x52b81e85ebd131400000000000000000) xmm5 { v4_float = {1.14796122e-38, 1.14796136e-38, 1.15714491e-38, 1.15714491e-38}, v2_double = {2.5812554381219976e-306, 2.6702597505603144e-306}, v16_int8 = "\000}\000}\000}\000~\000~\000~\000~\000~", v8_int16 = {125, 125, 125, 126, 126, 126, 126, 126}, v4_int32 = {8192125, 8192126, 8257662, 8257662}, v2_int64 = {35184908967936126, 35466388239679614}, uint128 = 0x007d007d007d007e007e007e007e007e } (raw 0x7e007e007e007e007e007d007d007d00) xmm6 { v4_float = {2.10591422e+37, 8.4570174e+37, 2.10591422e+37, 8.4570174e+37}, v2_double = {3.0135169353190503e+296, 3.0135169353190503e+296}, v16_int8 = "}}}~~~~~}}}~~~~~", v8_int16 = {32125, 32126, 32382, 32382, 32125, 32126, 32382, 32382}, v4_int32 = {2105376126, 2122219134, 2105376126, 2122219134}, v2_int64 = {9042521609071394430, 9042521609071394430}, uint128 = 0x7d7d7d7e7e7e7e7e7d7d7d7e7e7e7e7e } (raw 0x7e7e7e7e7e7d7d7d7e7e7e7e7e7d7d7d) xmm7 { v4_float = {0, 0, 0, 0}, v2_double = {0, 0}, v16_int8 = '\0' , v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0}, v4_int32 = {0, 0, 0, 0}, v2_int64 = {0, 0}, uint128 = 0 } (raw 0x00000000000000000000000000000000) mxcsr 0x1fa4 8100 mm0 { uint64 = 2763930844152625017, v2_int32 = {1970698105, 643527797}, v4_int16 = {30585, 30070, 29813, 9819}, v8_int8 = "ywvuut[&" } (raw 0x265b747575767779) mm1 { uint64 = 2907763462051886712, v2_int32 = {1987475064, 677016438}, v4_int16 = {30328, 30326, 29558, 10330}, v8_int8 = "xvvvvsZ(" } (raw 0x285a737676767678) mm2 { uint64 = 2979821056089683318, v2_int32 = {1987343734, 693793654}, v4_int16 = {30070, 30324, 29558, 10586}, v8_int8 = "vutvvsZ)" } (raw 0x295a737676747576) mm3 { uint64 = 72057598332895232, v2_int32 = {0, 16777217}, v4_int16 = {0, 0, 1, 256}, v8_int8 = "\000\000\000\000\001\000\000\001" } (raw 0x0100000100000000) mm4 { uint64 = -9115709501079584897, v2_int32 = {-2139127937, -2122416511}, v4_int16 = {32639, -32641, 32385, -32386}, v8_int8 = "??~~?" } (raw 0x817e7e81807f7f7f) mm5 { uint64 = 72057594037928192, v2_int32 = {256, 16777216}, v4_int16 = {256, 0, 0, 256}, v8_int8 = "\000\001\000\000\000\000\000\001" } (raw 0x0100000000000100) mm6 { uint64 = 565148976676864, v2_int32 = {0, 131584}, v4_int16 = {0, 0, 512, 2}, v8_int8 = "\000\000\000\000\000\002\002" } (raw 0x0002020000000000) mm7 { uint64 = 0, v2_int32 = {0, 0}, v4_int16 = {0, 0, 0, 0}, v8_int8 = "\000\000\000\000\000\000\000" } (raw 0x0000000000000000)