[FFmpeg-cvslog] Fix internal buffer size for 2bpp and 4bpp raw video.
Carl Eugen Hoyos
git at videolan.org
Fri Jul 1 02:43:28 CEST 2011
ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Fri Jul 1 02:34:33 2011 +0200| [dec126a932c8dc0605054dc3be07791b629cc275] | committer: Carl Eugen Hoyos
Fix internal buffer size for 2bpp and 4bpp raw video.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dec126a932c8dc0605054dc3be07791b629cc275
---
libavcodec/rawdec.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 6644d6c..d48cbed 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -103,13 +103,15 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
}
ff_set_systematic_pal2(context->palette, avctx->pix_fmt);
- context->length = avpicture_get_size(avctx->pix_fmt, avctx->width, avctx->height);
if((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 2) &&
avctx->pix_fmt==PIX_FMT_PAL8 &&
(!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))){
+ context->length = avpicture_get_size(avctx->pix_fmt, (avctx->width+3)&~3, avctx->height);
context->buffer = av_malloc(context->length);
if (!context->buffer)
return -1;
+ } else {
+ context->length = avpicture_get_size(avctx->pix_fmt, avctx->width, avctx->height);
}
context->pic.pict_type = AV_PICTURE_TYPE_I;
context->pic.key_frame = 1;
More information about the ffmpeg-cvslog
mailing list