[FFmpeg-cvslog] avcodec/smc: use shorter way to access GetByteContext

Paul B Mahol git at videolan.org
Sat Aug 14 11:34:46 EEST 2021


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat Aug 14 10:15:40 2021 +0200| [f852490f722db269333068912d5413957cf1a94e] | committer: Paul B Mahol

avcodec/smc: use shorter way to access GetByteContext

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f852490f722db269333068912d5413957cf1a94e
---

 libavcodec/smc.c | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/libavcodec/smc.c b/libavcodec/smc.c
index a50c2b47f2..9cd86216a2 100644
--- a/libavcodec/smc.c
+++ b/libavcodec/smc.c
@@ -60,7 +60,7 @@ typedef struct SmcContext {
 } SmcContext;
 
 #define GET_BLOCK_COUNT() \
-  (opcode & 0x10) ? (1 + bytestream2_get_byte(&s->gb)) : 1 + (opcode & 0x0F);
+  (opcode & 0x10) ? (1 + bytestream2_get_byte(gb)) : 1 + (opcode & 0x0F);
 
 #define ADVANCE_BLOCK() \
 { \
@@ -80,12 +80,13 @@ typedef struct SmcContext {
 
 static int smc_decode_stream(SmcContext *s)
 {
+    GetByteContext *gb = &s->gb;
     int width = s->avctx->width;
     int height = s->avctx->height;
     int stride = s->frame->linesize[0];
     int i;
     int chunk_size;
-    int buf_size = bytestream2_size(&s->gb);
+    int buf_size = bytestream2_size(gb);
     uint8_t opcode;
     int n_blocks;
     unsigned int color_flags;
@@ -115,8 +116,8 @@ static int smc_decode_stream(SmcContext *s)
     /* make the palette available */
     memcpy(s->frame->data[1], s->pal, AVPALETTE_SIZE);
 
-    bytestream2_skip(&s->gb, 1);
-    chunk_size = bytestream2_get_be24(&s->gb);
+    bytestream2_skip(gb, 1);
+    chunk_size = bytestream2_get_be24(gb);
     if (chunk_size != buf_size)
         av_log(s->avctx, AV_LOG_WARNING, "MOV chunk size != encoded chunk size (%d != %d); using MOV chunk size\n",
             chunk_size, buf_size);
@@ -133,12 +134,12 @@ static int smc_decode_stream(SmcContext *s)
                 row_ptr, image_size);
             return AVERROR_INVALIDDATA;
         }
-        if (bytestream2_get_bytes_left(&s->gb) < 1) {
+        if (bytestream2_get_bytes_left(gb) < 1) {
             av_log(s->avctx, AV_LOG_ERROR, "input too small\n");
             return AVERROR_INVALIDDATA;
         }
 
-        opcode = bytestream2_get_byteu(&s->gb);
+        opcode = bytestream2_get_byteu(gb);
         switch (opcode & 0xF0) {
         /* skip n blocks */
         case 0x00:
@@ -233,7 +234,7 @@ static int smc_decode_stream(SmcContext *s)
         case 0x60:
         case 0x70:
             n_blocks = GET_BLOCK_COUNT();
-            pixel = bytestream2_get_byte(&s->gb);
+            pixel = bytestream2_get_byte(gb);
 
             while (n_blocks--) {
                 block_ptr = row_ptr + pixel_ptr;
@@ -257,7 +258,7 @@ static int smc_decode_stream(SmcContext *s)
                 /* fetch the next 2 colors from bytestream and store in next
                  * available entry in the color pair table */
                 for (i = 0; i < CPAIR; i++) {
-                    pixel = bytestream2_get_byte(&s->gb);
+                    pixel = bytestream2_get_byte(gb);
                     color_table_index = CPAIR * color_pair_index + i;
                     s->color_pairs[color_table_index] = pixel;
                 }
@@ -268,10 +269,10 @@ static int smc_decode_stream(SmcContext *s)
                 if (color_pair_index == COLORS_PER_TABLE)
                     color_pair_index = 0;
             } else
-                color_table_index = CPAIR * bytestream2_get_byte(&s->gb);
+                color_table_index = CPAIR * bytestream2_get_byte(gb);
 
             while (n_blocks--) {
-                color_flags = bytestream2_get_be16(&s->gb);
+                color_flags = bytestream2_get_be16(gb);
                 flag_mask = 0x8000;
                 block_ptr = row_ptr + pixel_ptr;
                 for (pixel_y = 0; pixel_y < 4; pixel_y++) {
@@ -299,7 +300,7 @@ static int smc_decode_stream(SmcContext *s)
                 /* fetch the next 4 colors from bytestream and store in next
                  * available entry in the color quad table */
                 for (i = 0; i < CQUAD; i++) {
-                    pixel = bytestream2_get_byte(&s->gb);
+                    pixel = bytestream2_get_byte(gb);
                     color_table_index = CQUAD * color_quad_index + i;
                     s->color_quads[color_table_index] = pixel;
                 }
@@ -310,10 +311,10 @@ static int smc_decode_stream(SmcContext *s)
                 if (color_quad_index == COLORS_PER_TABLE)
                     color_quad_index = 0;
             } else
-                color_table_index = CQUAD * bytestream2_get_byte(&s->gb);
+                color_table_index = CQUAD * bytestream2_get_byte(gb);
 
             while (n_blocks--) {
-                color_flags = bytestream2_get_be32(&s->gb);
+                color_flags = bytestream2_get_be32(gb);
                 /* flag mask actually acts as a bit shift count here */
                 flag_mask = 30;
                 block_ptr = row_ptr + pixel_ptr;
@@ -340,7 +341,7 @@ static int smc_decode_stream(SmcContext *s)
                 /* fetch the next 8 colors from bytestream and store in next
                  * available entry in the color octet table */
                 for (i = 0; i < COCTET; i++) {
-                    pixel = bytestream2_get_byte(&s->gb);
+                    pixel = bytestream2_get_byte(gb);
                     color_table_index = COCTET * color_octet_index + i;
                     s->color_octets[color_table_index] = pixel;
                 }
@@ -351,7 +352,7 @@ static int smc_decode_stream(SmcContext *s)
                 if (color_octet_index == COLORS_PER_TABLE)
                     color_octet_index = 0;
             } else
-                color_table_index = COCTET * bytestream2_get_byte(&s->gb);
+                color_table_index = COCTET * bytestream2_get_byte(gb);
 
             while (n_blocks--) {
                 /*
@@ -361,9 +362,9 @@ static int smc_decode_stream(SmcContext *s)
                     flags_a = xx012456, flags_b = xx89A37B
                 */
                 /* build the color flags */
-                int val1 = bytestream2_get_be16(&s->gb);
-                int val2 = bytestream2_get_be16(&s->gb);
-                int val3 = bytestream2_get_be16(&s->gb);
+                int val1 = bytestream2_get_be16(gb);
+                int val2 = bytestream2_get_be16(gb);
+                int val3 = bytestream2_get_be16(gb);
                 color_flags_a = ((val1 & 0xFFF0) << 8) | (val2 >> 4);
                 color_flags_b = ((val3 & 0xFFF0) << 8) |
                     ((val1 & 0x0F) << 8) | ((val2 & 0x0F) << 4) | (val3 & 0x0F);
@@ -399,7 +400,7 @@ static int smc_decode_stream(SmcContext *s)
                 block_ptr = row_ptr + pixel_ptr;
                 for (pixel_y = 0; pixel_y < 4; pixel_y++) {
                     for (pixel_x = 0; pixel_x < 4; pixel_x++) {
-                        pixels[block_ptr++] = bytestream2_get_byte(&s->gb);
+                        pixels[block_ptr++] = bytestream2_get_byte(gb);
                     }
                     block_ptr += row_inc;
                 }



More information about the ffmpeg-cvslog mailing list