aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-09-25 09:59:36 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-09-25 09:59:36 +0000
commit5cbb0e70a0a2ee99eb3cb09e837b9a1f7355b9bc (patch)
tree794b95854b0aa8258d931fcde3ea660c0fc60f11
parent15c5fa7b7f63c81e6c7cd987ab10d9bc8b1fb557 (diff)
downloadffmpeg-5cbb0e70a0a2ee99eb3cb09e837b9a1f7355b9bc.tar.gz
H.264 max reference pictures fix by (Loren Merritt <lorenm at u dot washington dot edu>)
Originally committed as revision 3504 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/h264.c3
-rw-r--r--libavcodec/mpegvideo.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index cb026badc4..d90fefc7df 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -5430,6 +5430,9 @@ static inline int decode_seq_parameter_set(H264Context *h){
}
sps->ref_frame_count= get_ue_golomb(&s->gb);
+ if(sps->ref_frame_count > MAX_PICTURE_COUNT-2){
+ av_log(h->s.avctx, AV_LOG_ERROR, "too many reference frames\n");
+ }
sps->gaps_in_frame_num_allowed_flag= get_bits1(&s->gb);
sps->mb_width= get_ue_golomb(&s->gb) + 1;
sps->mb_height= get_ue_golomb(&s->gb) + 1;
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index d0ad4f066b..0c317202c1 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -50,7 +50,7 @@ enum OutputFormat {
#define MAX_THREADS 8
-#define MAX_PICTURE_COUNT 15
+#define MAX_PICTURE_COUNT 32
#define ME_MAP_SIZE 64
#define ME_MAP_SHIFT 3