[FFmpeg-devel] [PATCH 17/21] avcodec/smacker: Use smaller types

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sat Aug 1 16:47:00 EEST 2020


This will mean that we will need less stack space lateron when these
arrays are no longer heap-allocated.

No discernible speed impact.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavcodec/smacker.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index f5193e1278..c1928e3908 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -69,8 +69,8 @@ typedef struct HuffContext {
     int length;
     int current;
     uint32_t *bits;
-    int *lengths;
-    int *values;
+    uint8_t *lengths;
+    uint8_t *values;
 } HuffContext;
 
 /* common parameters used for decode_bigtree */
@@ -78,7 +78,7 @@ typedef struct DBCtx {
     int current, length;
     int *values;
     VLC *v1, *v2;
-    int *recode1, *recode2;
+    const uint8_t *recode1, *recode2;
     int escapes[3];
     int *last;
 } DBCtx;
@@ -671,7 +671,7 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data,
         skip_bits1(&gb);
         if(h[i].current > 1) {
             ret = init_vlc(&vlc[i], SMKTREE_BITS, h[i].current,
-                    h[i].lengths, sizeof(int), sizeof(int),
+                           INIT_VLC_DEFAULT_SIZES(h[i].lengths),
                     h[i].bits, sizeof(uint32_t), sizeof(uint32_t), INIT_VLC_LE);
             if (ret < 0) {
                 av_log(avctx, AV_LOG_ERROR, "Cannot build VLC table\n");
-- 
2.20.1



More information about the ffmpeg-devel mailing list