avcodec/smacker: Use smaller types

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

No discernible speed impact.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
pull/352/head
Andreas Rheinhardt 4 years ago
parent 71ed6a52ce
commit 45ffbb756b
  1. 8
      libavcodec/smacker.c

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

Loading…
Cancel
Save