[FFmpeg-devel] [PATCH 3/3] avcodec/escape124: Simplify unpack_codebook()

Michael Niedermayer michael at niedermayer.cc
Mon Mar 6 01:36:54 EET 2023


Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/escape124.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/libavcodec/escape124.c b/libavcodec/escape124.c
index 064a4e6bf5..e8a8395f4b 100644
--- a/libavcodec/escape124.c
+++ b/libavcodec/escape124.c
@@ -97,15 +97,12 @@ static CodeBook unpack_codebook(GetBitContext* gb, unsigned depth,
     cb.size = size;
     for (i = 0; i < size; i++) {
         unsigned mask_bits = get_bits(gb, 4);
-        unsigned color0 = get_bits(gb, 15);
-        unsigned color1 = get_bits(gb, 15);
-
-        for (j = 0; j < 4; j++) {
-            if (mask_bits & (1 << j))
-                cb.blocks[i].pixels[j] = color1;
-            else
-                cb.blocks[i].pixels[j] = color0;
-        }
+        unsigned color[2];
+        color[0] = get_bits(gb, 15);
+        color[1] = get_bits(gb, 15);
+
+        for (j = 0; j < 4; j++)
+            cb.blocks[i].pixels[j] = color[(mask_bits>>j) & 1];
     }
     return cb;
 }
-- 
2.17.1



More information about the ffmpeg-devel mailing list