[FFmpeg-cvslog] avcodec/utils: initialize pixel buffer pool

Michael Niedermayer git at videolan.org
Mon Mar 25 01:01:01 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Mar 24 02:31:20 2013 +0100| [01df2a13c32a28cd5a5b27098aa2b4b32a3d76e4] | committer: Michael Niedermayer

avcodec/utils: initialize pixel buffer pool

This should silence many valgrind warnings about use of uninitialized
data, all the warnings i looked at where false positives having their
uninitialized data not actually used.

The same effect could be achieved by listing all code that touches
the pixel buffer in the valgrind suppression file.
Note, valgrind also fails to trace the origins correctly.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=01df2a13c32a28cd5a5b27098aa2b4b32a3d76e4
---

 libavcodec/utils.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 70c6129..d1b977e 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -408,7 +408,10 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame)
             av_buffer_pool_uninit(&pool->pools[i]);
             pool->linesize[i] = picture.linesize[i];
             if (size[i]) {
-                pool->pools[i] = av_buffer_pool_init(size[i] + 16, NULL);
+                pool->pools[i] = av_buffer_pool_init(size[i] + 16,
+                                                     CONFIG_MEMORY_POISONING ?
+                                                        NULL :
+                                                        av_buffer_allocz);
                 if (!pool->pools[i]) {
                     ret = AVERROR(ENOMEM);
                     goto fail;



More information about the ffmpeg-cvslog mailing list