diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-09-20 18:38:13 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-10-31 20:46:59 +0100 |
commit | ab8a8246c84463fa144ddc97eba7e65e07af202c (patch) | |
tree | 7ce28fa20f4925d74ca7b2b9c6515cf36dd7cfa7 | |
parent | bd4c778e19b94d048df793006058de18f91f1f6e (diff) | |
download | ffmpeg-ab8a8246c84463fa144ddc97eba7e65e07af202c.tar.gz |
avcodec/h264_cavlc: Remove code duplication
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/h264_cavlc.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c index f0c90dec16..75e5fb7483 100644 --- a/libavcodec/h264_cavlc.c +++ b/libavcodec/h264_cavlc.c @@ -419,20 +419,13 @@ static int decode_residual(const H264Context *h, H264SliceContext *sl, else coeff_token = get_vlc2(gb, chroma422_dc_coeff_token_vlc_table, CHROMA422_DC_COEFF_TOKEN_VLC_BITS, 1); - total_coeff= coeff_token>>2; }else{ - if(n >= LUMA_DC_BLOCK_INDEX){ - total_coeff= pred_non_zero_count(h, sl, (n - LUMA_DC_BLOCK_INDEX)*16); - coeff_token = get_vlc2(gb, coeff_token_vlc[total_coeff], - COEFF_TOKEN_VLC_BITS, 2); - total_coeff= coeff_token>>2; - }else{ - total_coeff= pred_non_zero_count(h, sl, n); - coeff_token = get_vlc2(gb, coeff_token_vlc[total_coeff], - COEFF_TOKEN_VLC_BITS, 2); - total_coeff= coeff_token>>2; - } + total_coeff = pred_non_zero_count(h, sl, n >= LUMA_DC_BLOCK_INDEX ? + (n - LUMA_DC_BLOCK_INDEX) * 16 : n); + coeff_token = get_vlc2(gb, coeff_token_vlc[total_coeff], + COEFF_TOKEN_VLC_BITS, 2); } + total_coeff = coeff_token >> 2; sl->non_zero_count_cache[scan8[n]] = total_coeff; //FIXME set last_non_zero? |