[FFmpeg-cvslog] r22603 - trunk/libavcodec/error_resilience.c

Vitor Sessak vitor1001
Sun Mar 21 18:07:03 CET 2010


michael wrote:
> Author: michael
> Date: Sat Mar 20 01:52:08 2010
> New Revision: 22603
> 
> Log:
> Error concealment of h264 with multiple references.
> 
> Modified:
>    trunk/libavcodec/error_resilience.c

This commit introduced a valgrind error (caught by Michael Kostylev's 
FATE+valgrind config):

vitor at vitor-laptop:~/ffmpeg/ffmpeg.3$ valgrind --leak-check=full 
--suppressions=/home/vitor/ffmpeg/fate/sup.txt --error-exitcode=1 
--malloc-fill=0xff /home/vitor/ffmpeg/ffmpeg.3/ffmpeg_g -v 0 -y -flags 
+bitexact -dct fastint -idct simple -sws_flags +accurate_rnd+bitexact -i 
/home/vitor/ffmpeg/ffmpeg.3/./tests/data/vsynth1/error-mpeg4-adv.avi -f 
rawvideo /home/vitor/ffmpeg/ffmpeg.3/./tests/data/error.vsynth1.out.yuv
==17827== Memcheck, a memory error detector
==17827== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==17827== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for 
copyright info
==17827== Command: /home/vitor/ffmpeg/ffmpeg.3/ffmpeg_g -v 0 -y -flags 
+bitexact -dct fastint -idct simple -sws_flags +accurate_rnd+bitexact -i 
/home/vitor/ffmpeg/ffmpeg.3/./tests/data/vsynth1/error-mpeg4-adv.avi -f 
rawvideo /home/vitor/ffmpeg/ffmpeg.3/./tests/data/error.vsynth1.out.yuv
==17827==
FFmpeg version SVN-r22614, Copyright (c) 2000-2010 the FFmpeg developers
   built on Mar 21 2010 16:32:08 with gcc 4.4.1
   configuration: --cc='ccache gcc' --cpu=host --disable-yasm 
--samples=/home/vitor/ffmpeg/fate/fate-suite --target-exec='valgrind 
--leak-check=full --suppressions=/home/vitor/ffmpeg/fate/sup.txt 
--error-exitcode=1 --malloc-fill=0xff'
   libavutil     50.12. 0 / 50.12. 0
   libavcodec    52.59. 0 / 52.59. 0
   libavformat   52.56. 1 / 52.56. 1
   libavdevice   52. 2. 0 / 52. 2. 0
   libswscale     0.10. 0 /  0.10. 0
Input #0, avi, from 
'/home/vitor/ffmpeg/ffmpeg.3/./tests/data/vsynth1/error-mpeg4-adv.avi':
   Duration: 00:00:02.00, start: 0.000000, bitrate: 3027 kb/s
     Stream #0.0: Video: mpeg4, yuv420p, 352x288 [PAR 1:1 DAR 11:9], 25 
tbr, 25 tbn, 25 tbc
Output #0, rawvideo, to 
'/home/vitor/ffmpeg/ffmpeg.3/./tests/data/error.vsynth1.out.yuv':
     Stream #0.0: Video: rawvideo, yuv420p, 352x288 [PAR 1:1 DAR 11:9], 
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
   Stream #0.0 -> #0.0
Press [q] to stop encoding
[mpeg4 @ 0x4478070]concealing 36 DC, 36 AC, 36 MV errors
[mpeg4 @ 0x4478070]concealing 93 DC, 93 AC, 93 MV errors
[mpeg4 @ 0x4478070]concealing 88 DC, 88 AC, 88 MV errors
==17827== Invalid read of size 1
==17827==    at 0x847BC08: guess_mv (error_resilience.c:476)
==17827==    by 0x847E2A5: ff_er_frame_end (error_resilience.c:1014)
==17827==  Address 0x45b7c24 is 0 bytes after a block of size 1,620 alloc'd
==17827==    at 0x4023E2E: memalign (vg_replace_malloc.c:532)
==17827==    by 0x4023E8B: posix_memalign (vg_replace_malloc.c:660)
==17827==    by 0x8565C3F: av_mallocz (mem.c:83)
==17827==
[mpeg4 @ 0x4478070]concealing 93 DC, 93 AC, 93 MV errors
[mpeg4 @ 0x4478070]concealing 44 DC, 44 AC, 44 MV errors
==17827== Invalid read of size 1
==17827==    at 0x847BB38: guess_mv (error_resilience.c:464)
==17827==    by 0x847E2A5: ff_er_frame_end (error_resilience.c:1014)
==17827==  Address 0x45b7c3c is not stack'd, malloc'd or (recently) free'd
==17827==
==17827== Invalid read of size 1
==17827==    at 0x847BE39: guess_mv (error_resilience.c:532)
==17827==    by 0x847E2A5: ff_er_frame_end (error_resilience.c:1014)
==17827==  Address 0x45b7c38 is not stack'd, malloc'd or (recently) free'd
==17827==
==17827== Invalid read of size 1
==17827==    at 0x847BA8D: guess_mv (error_resilience.c:458)
==17827==    by 0x847E2A5: ff_er_frame_end (error_resilience.c:1014)
==17827==  Address 0x45b7c28 is 4 bytes after a block of size 1,620 alloc'd
==17827==    at 0x4023E2E: memalign (vg_replace_malloc.c:532)
==17827==    by 0x4023E8B: posix_memalign (vg_replace_malloc.c:660)
==17827==    by 0x8565C3F: av_mallocz (mem.c:83)
==17827==
[mpeg4 @ 0x4478070]concealing 120 DC, 120 AC, 120 MV errors
[mpeg4 @ 0x4478070]concealing 118 DC, 118 AC, 118 MV errors
[mpeg4 @ 0x4478070]concealing 113 DC, 113 AC, 113 MV errors
[mpeg4 @ 0x4478070]concealing 106 DC, 106 AC, 106 MV errors
[mpeg4 @ 0x4478070]concealing 114 DC, 114 AC, 114 MV errors
[mpeg4 @ 0x4478070]concealing 118 DC, 118 AC, 118 MV errors
[mpeg4 @ 0x4478070]concealing 41 DC, 41 AC, 41 MV errors
frame=   50 fps= 12 q=0.0 Lsize=    7425kB time=2.00 
bitrate=30412.8kbits/s
video:7425kB audio:0kB global headers:0kB muxing overhead 0.000000%
==17827==
==17827== HEAP SUMMARY:
==17827==     in use at exit: 0 bytes in 0 blocks
==17827==   total heap usage: 308 allocs, 308 frees, 9,931,661 bytes 
allocated
==17827==
==17827== All heap blocks were freed -- no leaks are possible
==17827==
==17827== For counts of detected and suppressed errors, rerun with: -v
==17827== ERROR SUMMARY: 90 errors from 4 contexts (suppressed: 33 from 8)

-Vitor



More information about the ffmpeg-cvslog mailing list