[FFmpeg-cvslog] avcodec/h264_cavlc: Remove code duplication
Andreas Rheinhardt
git at videolan.org
Tue Oct 31 22:14:53 EET 2023
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Wed Sep 20 18:38:13 2023 +0200| [ab8a8246c84463fa144ddc97eba7e65e07af202c] | committer: Andreas Rheinhardt
avcodec/h264_cavlc: Remove code duplication
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab8a8246c84463fa144ddc97eba7e65e07af202c
---
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 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?
More information about the ffmpeg-cvslog
mailing list