[FFmpeg-trac] #2569(avcodec:closed): mszh: crash with yuv421

FFmpeg trac at avcodec.org
Sat Jun 22 14:44:13 CEST 2013


#2569: mszh: crash with yuv421
------------------------------------+-----------------------------------
             Reporter:  ami_stuff   |                    Owner:
                 Type:  defect      |                   Status:  closed
             Priority:  important   |                Component:  avcodec
              Version:  git-master  |               Resolution:  fixed
             Keywords:  regression  |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+-----------------------------------
Changes (by cehoyos):

 * status:  new => closed
 * reproduced:  0 => 1
 * component:  undetermined => avcodec
 * priority:  normal => important
 * version:  unspecified => git-master
 * keywords:  mszh => regression
 * resolution:   => fixed


Comment:

 {{{
 $ valgrind ./ffmpeg_g -i yuv421.avi out.avi
 ==11331== Memcheck, a memory error detector.
 ==11331== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
 ==11331== Using LibVEX rev 1854, a library for dynamic binary translation.
 ==11331== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
 ==11331== Using valgrind-3.3.1, a dynamic binary instrumentation
 framework.
 ==11331== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
 ==11331== For more details, rerun with: -v
 ==11331==
 ffmpeg version N-53956-g57655c6 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jun 22 2013 14:18:10 with gcc 4.3.4 (GCC)
   configuration: --disable-optimizations --cc=/usr/local/gcc-4.3.4/bin/gcc
   libavutil      52. 35.100 / 52. 35.100
   libavcodec     55. 15.100 / 55. 15.100
   libavformat    55.  8.102 / 55.  8.102
   libavdevice    55.  2.100 / 55.  2.100
   libavfilter     3. 75.101 /  3. 75.101
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
 Input #0, avi, from 'yuv421.avi':
   Duration: 00:00:00.10, start: 0.000000, bitrate: 128029 kb/s
     Stream #0:0: Video: mszh (MSZH / 0x485A534D), yuv422p, 1022x768, 10
 tbr, 10 tbn, 10 tbc
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf55.8.102
     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1022x768,
 q=2-31, 200 kb/s, 10 tbn, 10 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (mszh -> mpeg4)
 Press [q] to stop, [?] for help
 ==11331== Invalid write of size 8
 ==11331==    at 0x87072F0: ff_draw_edges_mmx (dsputil_mmx.c:389)
 ==11331==    by 0x85172B0: load_input_picture (mpegvideo_enc.c:1063)
 ==11331==    by 0x85188ED: ff_MPV_encode_picture (mpegvideo_enc.c:1448)
 ==11331==    by 0x861FC24: avcodec_encode_video2 (utils.c:1762)
 ==11331==    by 0x805C37E: do_video_out (ffmpeg.c:947)
 ==11331==    by 0x805CEAF: reap_filters (ffmpeg.c:1091)
 ==11331==    by 0x8066979: transcode_step (ffmpeg.c:3162)
 ==11331==    by 0x8066A3A: transcode (ffmpeg.c:3205)
 ==11331==    by 0x8066F4E: main (ffmpeg.c:3383)
 ==11331==  Address 0x50add50 is 0 bytes after a block of size 211,216
 alloc'd
 ==11331==    at 0x4025CFA: memalign (in
 /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
 ==11331==    by 0x4025DAE: posix_memalign (in
 /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
 ==11331==    by 0x89245B3: av_malloc (mem.c:93)
 ==11331==    by 0x8917F7A: av_buffer_alloc (buffer.c:70)
 ==11331==    by 0x8917FE7: av_buffer_allocz (buffer.c:83)
 ==11331==    by 0x89185E6: pool_alloc_buffer (buffer.c:305)
 ==11331==    by 0x8918734: av_buffer_pool_get (buffer.c:343)
 ==11331==    by 0x861BE59: video_get_buffer (utils.c:550)
 ==11331==    by 0x861C1E6: avcodec_default_get_buffer2 (utils.c:615)
 ==11331==    by 0x861CB61: get_buffer_internal (utils.c:830)
 ==11331==    by 0x861CBB9: ff_get_buffer (utils.c:842)
 ==11331==    by 0x85740BE: thread_get_buffer_internal (pthread.c:929)
 frame=    1 fps=0.3 q=6.7 Lsize=      65kB time=00:00:00.10
 bitrate=5348.2kbits/s
 video:60kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 9.331763%
 ==11331==
 ==11331== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 3 from 1)
 ==11331== malloc/free: in use at exit: 0 bytes in 0 blocks.
 ==11331== malloc/free: 2,732 allocs, 2,732 frees, 22,946,183 bytes
 allocated.
 ==11331== For counts of detected errors, rerun with: -v
 ==11331== All heap blocks were freed -- no leaks are possible.
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2569#comment:8>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list