diff --git a/libavcodec/h264.c b/libavcodec/h264.c index c0129e2904..b979f36638 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -5291,12 +5291,10 @@ static int decode_cabac_mb_intra4x4_pred_mode( H264Context *h, int pred_mode ) { if( get_cabac( &h->cabac, &h->cabac_state[68] ) ) return pred_mode; - if( get_cabac( &h->cabac, &h->cabac_state[69] ) ) - mode += 1; - if( get_cabac( &h->cabac, &h->cabac_state[69] ) ) - mode += 2; - if( get_cabac( &h->cabac, &h->cabac_state[69] ) ) - mode += 4; + mode += 1 * get_cabac( &h->cabac, &h->cabac_state[69] ); + mode += 2 * get_cabac( &h->cabac, &h->cabac_state[69] ); + mode += 4 * get_cabac( &h->cabac, &h->cabac_state[69] ); + if( mode >= pred_mode ) return mode + 1; else