Had a problem transcoding an H264 mp4 into ppm stills: Here is the command I issued: ==================== /usr/local/bin/ffmpeg -ss 500 -t .2 -i Campbells_Test_Default.mp4 test%d.ppm; Received the error: ==================== ffmpeg_g: h264.c:2313: mc_dir_part: Assertion `pic->data[0]' failed. Here is the output before the crash: ==================== ffmpeg version 0.4.9-pre1, build 4754, Copyright (c) 2000-2004 Fabrice Bellard configuration: --disable-ffplay built on May 9 2005 15:23:23, gcc: 3.2.2 20030222 (Red Hat Linux 3.2.2-5) track[1].ctts.entries = 880 [mov,mp4,m4a,3gp,3g2 @ 0x82c5730]mov: does not handle seeking in files that contain edit list (c:1) Campbells_Test_Default.mp4: could not seek to position 500.000 Input #0, mov,mp4,m4a,3gp,3g2, from 'Campbells_Test_Default.mp4': Duration: 00:05:40.3, start: 0.000000, bitrate: 35 kb/s Stream #0.0: Audio: 0x6134706d, 44100 Hz, stereo Stream #0.1: Video: h264, yuv420p, 320x240, 29.97 fps Output #0, image2, to 'test%d.ppm': Stream #0.0: Video: ppm, rgb24, 320x240, 29.97 fps, q=2-31, 200 kb/s Stream mapping: Stream #0.1 -> #0.0 Press [q] to stop encoding ffmpeg: h264.c:2313: mc_dir_part: Assertion `pic->data[0]' failed. Here is the output from gdb: ==================== (gdb) r -ss 500 -t .2 -i Campbells_Test_Default.mp4 test%d.ppm Starting program: /usr/local/src/ffmpeg_latest/ffmpeg_g -ss 500 -t .2 -i Campbells_Test_Default.mp4 test%d.ppm ffmpeg version 0.4.9-pre1, build 4754, Copyright (c) 2000-2004 Fabrice Bellard configuration: --disable-ffplay built on May 9 2005 15:23:23, gcc: 3.2.2 20030222 (Red Hat Linux 3.2.2-5) track[1].ctts.entries = 880 [mov,mp4,m4a,3gp,3g2 @ 0x82c5730]mov: does not handle seeking in files that contain edit list (c:1) Campbells_Test_Default.mp4: could not seek to position 500.000 Input #0, mov,mp4,m4a,3gp,3g2, from 'Campbells_Test_Default.mp4': Duration: 00:05:40.3, start: 0.000000, bitrate: 35 kb/s Stream #0.0: Audio: 0x6134706d, 44100 Hz, stereo Stream #0.1: Video: h264, yuv420p, 320x240, 29.97 fps Output #0, image2, to 'test%d.ppm': Stream #0.0: Video: ppm, rgb24, 320x240, 29.97 fps, q=2-31, 200 kb/s Stream mapping: Stream #0.1 -> #0.0 Press [q] to stop encoding ffmpeg_g: h264.c:2313: mc_dir_part: Assertion `pic->data[0]' failed. Program received signal SIGABRT, Aborted. 0xffffe002 in ?? () (gdb) bt #0 0xffffe002 in ?? () #1 0x42028a12 in abort () from /lib/tls/libc.so.6 #2 0x42020e05 in __assert_fail () from /lib/tls/libc.so.6 #3 0x081f743b in mc_dir_part (h=0x8398d20, pic=0x83aa948, n=1108544020, square=1, chroma_height=8, delta=0, list=0, dest_y=0x83df610 '\200' ..., dest_cb=0x83f5bc8 '\200' ..., dest_cr=0x83fb988 '\200' ..., src_x_offset=1108544020, src_y_offset=0, qpix_op=0x8399a84, chroma_op=0x80e16cc ) at h264.c:2329 #4 0x081f0da7 in hl_motion (h=0x8398d20, dest_y=0x83df610 '\200' ..., dest_cb=0x83f5bc8 '\200' ..., dest_cr=0x83fb988 '\200' ..., qpix_put=0x8399a84, chroma_put=0x8399a6c, qpix_avg=0x8399b44, chroma_avg=0x8399a78, weight_op=0x8399c04, weight_avg=0x8399c2c) at h264.c:2365 #5 0x081ed059 in hl_decode_mb (h=0x8398d20) at h264.c:3048 #6 0x081f4e37 in decode_slice (h=0x8398d20) at h264.c:6280 #7 0x081ed485 in decode_nal_units (h=0x8398d20, buf=0x83b8060 "", buf_size=23) at h264.c:6787 #8 0x081eb215 in decode_frame (avctx=0x83939e8, data=0xbfffea70, data_size=0xbfffe978, buf=0x83b8060 "", buf_size=23) at h264.c:6925 #9 0x080a4382 in avcodec_decode_video (avctx=0x83939e8, picture=0xbfffea70, got_picture_ptr=0xbfffe978, buf=0x83b8060 "", buf_size=23) at utils.c:612 #10 0x0805abb8 in output_packet (ist=0x8398a70, ist_index=1, ost_table=0x8398ac0, nb_ostreams=1, pkt=0xbfffec30) at ffmpeg.c:1170 #11 0x0805513f in av_encode (output_files=0x8331240, nb_output_files=1, input_files=0x8331140, nb_input_files=1, stream_maps=0x83312a0, nb_stream_maps=0) at ffmpeg.c:1949 #12 0x08054162 in main (argc=10000, argv=0xbffff144) at ffmpeg.c:4231 #13 0x42015504 in __libc_start_main () from /lib/tls/libc.so.6 (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0xffffdfe2 to 0xffffe022: 0xffffdfe2Cannot access memory at address 0xffffdfe2 (gdb) info all-registers eax 0x0 0 ecx 0x6 6 edx 0x42130a14 1108544020 ebx 0x6bea 27626 esp 0xbfffe240 0xbfffe240 ebp 0xbfffe248 0xbfffe248 esi 0xffffffff -1 edi 0x421295b5 1108514229 eip 0xffffe002 0xffffe002 eflags 0x200246 2097734 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x33 51 st0 0 (raw 0x00000000000000000000) st1 0 (raw 0x00000000000000000000) st2 0 (raw 0x00000000000000000000) st3 0 (raw 0x00000000000000000000) st4 1 (raw 0x3fff8000000000000000) st5 1.000000000000000015902891109759918e+100 (raw 0x414b924d692ca61be800) st6 0 (raw 0x00000000000000000000) st7 -0e+4922 (raw 0xffff0000000000000000) fctrl 0x37f 895 fstat 0x120 288 ftag 0x9055 36949 fiseg 0x23 35 fioff 0x8055040 134565952 foseg 0x2b 43 fooff 0xbfffeb88 -1073747064 fop 0x2e9 745 xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, ---Type to continue, or q to quit--- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} mxcsr 0x1f80 8064 mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} mm4 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, ---Type to continue, or q to quit--- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}} mm5 {uint64 = 0x924d692ca61be800, v2_int32 = {0xa61be800, 0x924d692c}, v4_int16 = {0xe800, 0xa61b, 0x692c, 0x924d}, v8_int8 = {0x0, 0xe8, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92}} mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}