[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