aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-20 18:38:13 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-10-31 20:46:59 +0100
commitab8a8246c84463fa144ddc97eba7e65e07af202c (patch)
tree7ce28fa20f4925d74ca7b2b9c6515cf36dd7cfa7
parentbd4c778e19b94d048df793006058de18f91f1f6e (diff)
downloadffmpeg-ab8a8246c84463fa144ddc97eba7e65e07af202c.tar.gz
avcodec/h264_cavlc: Remove code duplication
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/h264_cavlc.c17
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?