summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-07-30 16:15:36 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-07-30 16:15:36 +0000
commitefbc614de0baf71ce2202580f4c9388ec1fe6bd6 (patch)
tree09be46ad062b96972b6995cd5c1eb4a9f97fe783
parent2f300f8965793c3bb9f9d753fcd4542f94f4c58a (diff)
check time_base.den for mpeg4
avoid zero time_base.* for h263 Originally committed as revision 4483 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/h263.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 63a6a1df63..dca360dd9e 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -5156,6 +5156,7 @@ int h263_decode_picture_header(MpegEncContext *s)
s->avctx->time_base.num*= get_bits(&s->gb, 7);
if(s->avctx->time_base.num == 0){
av_log(s, AV_LOG_ERROR, "zero framerate\n");
+ s->avctx->time_base= (AVRational){1001, 30000}; //prevent crash
return -1;
}
gcd= ff_gcd(s->avctx->time_base.den, s->avctx->time_base.num);
@@ -5538,6 +5539,10 @@ static int decode_vol_header(MpegEncContext *s, GetBitContext *gb){
check_marker(gb, "before time_increment_resolution");
s->avctx->time_base.den = get_bits(gb, 16);
+ if(!s->avctx->time_base.den){
+ av_log(s->avctx, AV_LOG_ERROR, "time_base.den==0\n");
+ return -1;
+ }
s->time_increment_bits = av_log2(s->avctx->time_base.den - 1) + 1;
if (s->time_increment_bits < 1)