[FFmpeg-devel] [PATCH 06/61] avcodec/h264_cavlc: Remove code duplication
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Sep 27 01:16:37 EEST 2023
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/h264_cavlc.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c
index f17e30e853..19f067afb4 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?
--
2.34.1
More information about the ffmpeg-devel
mailing list