[SCM] libav/experimental: Also check the location of the picture start code and picture coding extension a little.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:55:04 UTC 2013
The following commit has been merged in the experimental branch:
commit 88eba670fbd336cfdecb02f0293ebd6139d63235
Author: Michael Niedermayer <michaelni at gmx.at>
Date: Sat Nov 28 23:05:06 2009 +0000
Also check the location of the picture start code and picture coding
extension a little.
Originally committed as revision 20644 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 33ae18f..d5f1c69 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -2306,6 +2306,7 @@ static int decode_chunks(AVCodecContext *avctx,
break;
case PICTURE_START_CODE:
+ if(last_code == 0 || last_code == SLICE_MIN_START_CODE){
if(mpeg_decode_postinit(avctx) < 0){
av_log(avctx, AV_LOG_ERROR, "mpeg_decode_postinit() failure\n");
return -1;
@@ -2316,6 +2317,9 @@ static int decode_chunks(AVCodecContext *avctx,
buf_ptr, input_size) < 0)
s2->pict_type=0;
last_code= PICTURE_START_CODE;
+ }else{
+ av_log(avctx, AV_LOG_ERROR, "ignoring pic after %X\n", last_code);
+ }
break;
case EXT_START_CODE:
init_get_bits(&s2->gb, buf_ptr, input_size*8);
@@ -2338,8 +2342,11 @@ static int decode_chunks(AVCodecContext *avctx,
mpeg_decode_picture_display_extension(s);
break;
case 0x8:
+ if(last_code == PICTURE_START_CODE){
mpeg_decode_picture_coding_extension(s);
- last_code= PICTURE_START_CODE;
+ }else{
+ av_log(avctx, AV_LOG_ERROR, "ignoring pic cod ext after %X\n", last_code);
+ }
break;
}
break;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list