diff --git a/libavcodec/mjpeg.c b/libavcodec/mjpeg.c index 8c90022bc573e9189fef54905694084c330c2f1d..2fc870a61a69458c5ed1a230cafa69fbb6e0bc00 100644 --- a/libavcodec/mjpeg.c +++ b/libavcodec/mjpeg.c @@ -1286,8 +1286,9 @@ static int decode_block(MJpegDecodeContext *s, DCTELEM *block, } else { i += ((unsigned)code) >> 4; code &= 0xf; - - UPDATE_CACHE(re, &s->gb) + if(code > MIN_CACHE_BITS - 16){ + UPDATE_CACHE(re, &s->gb) + } { int cache=GET_CACHE(re,gb); int sign=(~cache)>>31;