[SCM] libav/experimental: dont pre allocate uselessly large buffer and dont ignore FF_INPUT_BUFFER_PADDING_SIZE

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:44:41 UTC 2013


The following commit has been merged in the experimental branch:
commit 4c1a012e9ceb0840688c547625208e7c4b81624a
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sun Jul 17 12:56:56 2005 +0000

    dont pre allocate uselessly large buffer and dont ignore FF_INPUT_BUFFER_PADDING_SIZE
    
    Originally committed as revision 4452 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/mjpeg.c b/libavcodec/mjpeg.c
index bfce40c..7aaf1e7 100644
--- a/libavcodec/mjpeg.c
+++ b/libavcodec/mjpeg.c
@@ -896,11 +896,8 @@ static int mjpeg_decode_init(AVCodecContext *avctx)
     s->idct_put= s2.dsp.idct_put;
 
     s->mpeg_enc_ctx_allocated = 0;
-    s->buffer_size = 102400; /* smaller buffer should be enough,
-				but photojpg files could ahive bigger sizes */
-    s->buffer = av_malloc(s->buffer_size);
-    if (!s->buffer)
-	return -1;
+    s->buffer_size = 0;
+    s->buffer = NULL;
     s->start_code = -1;
     s->first_picture = 1;
     s->org_height = avctx->coded_height;
@@ -1841,7 +1838,7 @@ static int mjpeg_decode_frame(AVCodecContext *avctx,
 		{
 		    av_free(s->buffer);
 		    s->buffer_size = buf_end-buf_ptr;
-		    s->buffer = av_malloc(s->buffer_size);
+                    s->buffer = av_malloc(s->buffer_size + FF_INPUT_BUFFER_PADDING_SIZE);
 		    dprintf("buffer too small, expanding to %d bytes\n",
 			s->buffer_size);
 		}

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list