[FFmpeg-trac] #1900(undetermined:new): h264: huge memory allocation

FFmpeg trac at avcodec.org
Thu Nov 8 05:08:10 CET 2012


#1900: h264: huge memory allocation
-------------------------------------+-------------------------------------
               Reporter:  ami_stuff  |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  normal     |              Component:
                Version:             |  undetermined
  unspecified                        |               Keywords:
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 http://www.datafilehost.com/download-d3ea3b83.html

 {{{
 C:\>ffmpeg -i h264.avi
 ffmpeg version N-46283-g1475815 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Nov  2 2012 02:31:20 with gcc 4.5.0 (GCC) 20100414 (Fedora
 MinGW 4.5.
 0-1.fc14)
   configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build
 --arch=
 x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686
 -pc-min
 gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-
 cpudetect
 --enable-cross-compile --enable-static --disable-shared --extra-
 libs='-lws2_32 -
 lwinmm -lpthread' --extra-cflags='--static
 -I/var/www/users/research/ffmpeg/snap
 shots/build/include' --extra-ldflags='-static
 -L/var/www/users/research/ffmpeg/s
 napshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-
 version3
 --enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora
 --enable-
 libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb
 --enable-
 libopencore-amrwb --enable-libmp3lame --enable-libvpx --disable-
 decoder=libvpx
   libavutil      52.  1.100 / 52.  1.100
   libavcodec     54. 70.100 / 54. 70.100
   libavformat    54. 35.100 / 54. 35.100
   libavdevice    54.  3.100 / 54.  3.100
   libavfilter     3. 21.106 /  3. 21.106
   libswscale      2.  1.102 /  2.  1.102
   libswresample   0. 16.100 /  0. 16.100
   libpostproc    52.  1.100 / 52.  1.100
 [h264 @ 0x1edcac0] missing picture in access unit with size 1941
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 2377
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 2090
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 2305
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 3280
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 2963
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 2624
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] illegal log2_max_frame_num 50
 [h264 @ 0x1edcac0] missing picture in access unit with size 2937
 [h264 @ 0x1edcac0] illegal log2_max_frame_num 50
     Last message repeated 1 times
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] missing picture in access unit with size 4221
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 3 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 4270
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 3875
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] slice type too large (2) at 0 0
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 4394
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 4743
 [h264 @ 0x1edcac0] Partitioned H.264 support is incomplete
 [h264 @ 0x1edcac0] missing picture in access unit with size 5338
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 6106
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] sps_id (32) out of range
 [h264 @ 0x1edcac0] missing picture in access unit with size 5938
 [h264 @ 0x1edcac0] sps_id (32) out of range
     Last message repeated 1 times
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 5345
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 1 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] too many reference frames
     Last message repeated 1 times
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 5498
 [h264 @ 0x1edcac0] Partitioned H.264 support is incomplete
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 10 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] Partitioned H.264 support is incomplete
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] missing picture in access unit with size 5630
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 5714
 [h264 @ 0x1edcac0] non-existing PPS 2 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] sps_id out of range
     Last message repeated 1 times
 [h264 @ 0x1edcac0] missing picture in access unit with size 5525
 [h264 @ 0x1edcac0] sps_id out of range
     Last message repeated 1 times
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] slice type too large (2) at 0 0
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] missing picture in access unit with size 5623
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] FMO not supported
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] FMO not supported
 [h264 @ 0x1edcac0] non-existing PPS 227 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] get_buffer() failed (-12 0 0)
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] sps_id out of range
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] illegal POC type 7
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] illegal POC type 7
     Last message repeated 1 times
 [h264 @ 0x1edcac0] slice type too large (3) at 0 0
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 3 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 6 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 13 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 10 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] Partitioned H.264 support is incomplete
 [h264 @ 0x1edcac0] missing picture in access unit with size 5668
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] sps_id (32) out of range
 [h264 @ 0x1edcac0] missing picture in access unit with size 5753
 [h264 @ 0x1edcac0] sps_id (32) out of range
     Last message repeated 1 times
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 5903
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 6 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] non-existing PPS referenced
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] non-existing PPS 0 referenced
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] missing picture in access unit with size 5680
 [h264 @ 0x1edcac0] no frame!
 [h264 @ 0x1edcac0] get_buffer() failed (-12 0 0)
 [h264 @ 0x1edcac0] decode_slice_header error
 [h264 @ 0x1edcac0] no frame!
 Input #0, avi, from 'h264.avi':
   Duration: 00:00:12.64, start: 0.000000, bitrate: 788 kb/s
     Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p, 19968x3808,
 12.33 fps
 , 23.98 tbr, 23.97 tbn, 47.94 tbc
 At least one output file must be specified
 }}}

 if I block mem request from ffmpeg I get crash

 {{{
 (gdb) r -i h264.avi
 Starting program: d:\mingw\msys\1.0\ffmpeg-head-4f92d31\ffmpeg_g.exe -i
 h264.avi

 [New Thread 200.0x70c]
 ffmpeg version 0.11.1.git-4f92d31 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Aug 28 2012 14:56:41 with gcc 4.6.1 (GCC)
   configuration: --disable-ffprobe --disable-ffplay --enable-gpl
   libavutil      51. 70.100 / 51. 70.100
   libavcodec     54. 54.100 / 54. 54.100
   libavformat    54. 25.104 / 54. 25.104
   libavdevice    54.  2.100 / 54.  2.100
   libavfilter     3. 13.101 /  3. 13.101
   libswscale      2.  1.101 /  2.  1.101
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [h264 @ 04490920] missing picture in access unit with size 1941
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 2377
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 2090
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 2305
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 3280
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 2963
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 2624
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] illegal log2_max_frame_num 50
 [h264 @ 04490920] missing picture in access unit with size 2937
 [h264 @ 04490920] illegal log2_max_frame_num 50
     Last message repeated 1 times
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] missing picture in access unit with size 4221
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 3 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 4270
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 3875
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] slice type too large (2) at 0 0
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 4394
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 4743
 [h264 @ 04490920] Partitioned H.264 support is incomplete
 [h264 @ 04490920] missing picture in access unit with size 5338
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 6106
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] sps_id (32) out of range
 [h264 @ 04490920] missing picture in access unit with size 5938
 [h264 @ 04490920] sps_id (32) out of range
     Last message repeated 1 times
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 5345
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 1 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] too many reference frames
     Last message repeated 1 times
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 5498
 [h264 @ 04490920] Partitioned H.264 support is incomplete
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 10 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] Partitioned H.264 support is incomplete
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] missing picture in access unit with size 5630
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 5714
 [h264 @ 04490920] non-existing PPS 2 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] sps_id out of range
     Last message repeated 1 times
 [h264 @ 04490920] missing picture in access unit with size 5525
 [h264 @ 04490920] sps_id out of range
     Last message repeated 1 times
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] slice type too large (2) at 0 0
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] missing picture in access unit with size 5623
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] FMO not supported
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] FMO not supported
 [h264 @ 04490920] non-existing PPS 227 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] no frame!
 [h264 @ 04490920] non-existing PPS referenced
 [h264 @ 04490920] non-existing PPS 0 referenced
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] get_buffer() failed (-12 0 00000000)
 [h264 @ 04490920] decode_slice_header error
 [h264 @ 04490920] sps_id out of range
 [h264 @ 04490920] concealing 297024 DC, 297024 AC, 297024 MV errors in P
 frame

 Program received signal SIGSEGV, Segmentation fault.
 0x00b553a8 in guess_dc (s=0x44efe80, dc=0x4be13c4, w=2496, h=476,
     stride=2497, is_luma=1) at libavcodec/error_resilience.c:197
 197                 col [b_x + b_y*stride][1]= color;
 (gdb) bt
 #0  0x00b553a8 in guess_dc (s=0x44efe80, dc=0x4be13c4, w=2496, h=476,
     stride=2497, is_luma=1) at libavcodec/error_resilience.c:197
 #1  0x008ed659 in ff_er_frame_end (s=0x44efe80)
     at libavcodec/error_resilience.c:1249
 #2  0x0064818c in field_end (h=0x44efe80, in_setup=<optimized out>)
     at libavcodec/h264.c:2283
 #3  0x00664f26 in decode_frame (avctx=0x4490920, data=0x22f5e0,
     data_size=0x22f7d8, avpkt=0x22f558) at libavcodec/h264.c:4139
 #4  0x0055848b in avcodec_decode_video2 (avctx=0x4490920,
 picture=0x22f5e0,
     got_picture_ptr=0x22f7d8, avpkt=0x22f770) at libavcodec/utils.c:1512
 #5  0x0047bbf2 in try_decode_frame (st=0x43adb40, avpkt=<optimized out>,
     options=<optimized out>) at libavformat/utils.c:2377
 #6  0x004839c0 in avformat_find_stream_info (ic=0x43ad4e0,
 options=0x43a2740)
     at libavformat/utils.c:2749
 #7  0x004056d7 in opt_input_file (optctx=0x22fd68, opt=0x43a2924 "i",
     filename=<optimized out>) at ffmpeg_opt.c:770
 #8  0x00415467 in parse_option (optctx=0x22fd68, opt=<optimized out>,
     arg=0x43a2926 "h264.avi", options=0xb8caa0) at cmdutils.c:320
 #9  0x004156d6 in parse_options (optctx=0x22fd68, argc=3,
     argv=<optimized out>, options=0xb8caa0,
     parse_arg_function=0x40616c <opt_output_file>) at cmdutils.c:353
 #10 0x00b1a042 in main (argc=3, argv=<optimized out>) at ffmpeg.c:3126
 (gdb)
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1900>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list