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:
parent
e33943728e
commit
4c1a012e9c
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user