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
This commit is contained in:
Michael Niedermayer 2005-07-17 12:56:56 +00:00
parent e33943728e
commit 4c1a012e9c

View File

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