[FFmpeg-cvslog] mpeg12: Support decoding dimensions that are a multiple of 4096
Michael Niedermayer
git at videolan.org
Sun Jan 20 04:39:53 CET 2013
ffmpeg | branch: release/1.0 | Michael Niedermayer <michaelni at gmx.at> | Mon Jan 7 15:31:00 2013 +0100| [3e36cba430f787170a382855d190e3e360cace9c] | committer: Michael Niedermayer
mpeg12: Support decoding dimensions that are a multiple of 4096
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 878e5bd6f555ad6167abacb30d66e47aabcdd745)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3e36cba430f787170a382855d190e3e360cace9c
---
libavcodec/mpeg12.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 1e7ff9c..29bee1d 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1989,8 +1989,6 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx,
width = get_bits(&s->gb, 12);
height = get_bits(&s->gb, 12);
- if (width <= 0 || height <= 0)
- return -1;
s->aspect_ratio_info = get_bits(&s->gb, 4);
if (s->aspect_ratio_info == 0) {
av_log(avctx, AV_LOG_ERROR, "aspect ratio has forbidden 0 value\n");
@@ -2356,6 +2354,11 @@ static int decode_chunks(AVCodecContext *avctx,
break;
case PICTURE_START_CODE:
+ if (s2->width <= 0 || s2->height <= 0) {
+ av_log(avctx, AV_LOG_ERROR, "%dx%d is invalid\n", s2->width, s2->height);
+ return AVERROR_INVALIDDATA;
+ }
+
if(s->tmpgexs){
s2->intra_dc_precision= 3;
s2->intra_matrix[0]= 1;
More information about the ffmpeg-cvslog
mailing list