diff options
-rw-r--r-- | libavcodec/vp3.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 66ac2f9a07..ad32cc9c1f 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2171,8 +2171,13 @@ static int theora_decode_tables(AVCodecContext *avctx, GetBitContext *gb) if (s->theora >= 0x030200) { n = get_bits(gb, 3); /* loop filter limit values table */ - for (i = 0; i < 64; i++) + for (i = 0; i < 64; i++) { s->filter_limit_values[i] = get_bits(gb, n); + if (s->filter_limit_values[i] > 127) { + av_log(avctx, AV_LOG_ERROR, "filter limit value too large (%i > 127), clamping\n", s->filter_limit_values[i]); + s->filter_limit_values[i] = 127; + } + } } if (s->theora >= 0x030200) |