[FFmpeg-devel] [PATCH 02/48] avcodec/rl: Avoid branch in index lookup

Andreas Rheinhardt ffmpegagent at gmail.com
Mon Jun 23 16:36:02 EEST 2025


From: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

This uses the same logic as the MPEG-1/2 and SpeedHQ encoders.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/rl.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavcodec/rl.h b/libavcodec/rl.h
index c45d8659d1..2588de2440 100644
--- a/libavcodec/rl.h
+++ b/libavcodec/rl.h
@@ -100,13 +100,9 @@ do {                                                    \
 
 static inline int get_rl_index(const RLTable *rl, int last, int run, int level)
 {
-    int index;
-    index = rl->index_run[last][run];
-    if (index >= rl->n)
-        return rl->n;
     if (level > rl->max_level[last][run])
         return rl->n;
-    return index + level - 1;
+    return rl->index_run[last][run] + level - 1;
 }
 
 #endif /* AVCODEC_RL_H */
-- 
ffmpeg-codebot



More information about the ffmpeg-devel mailing list