diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-10-20 04:42:21 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-10-24 00:47:02 +0200 |
commit | b1bcff3ac0885117024d64cd731b07146ea3f694 (patch) | |
tree | dada9499df1501db4432884b1bf40d7ec1b4054b | |
parent | 1da5da19b1863a8c1087ec34468983ba57c4b50c (diff) | |
download | ffmpeg-b1bcff3ac0885117024d64cd731b07146ea3f694.tar.gz |
avcodec/dnxhddec: Only keep what is used from ScanTable
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/dnxhddec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c index a44f95f044..7cc4f94c7f 100644 --- a/libavcodec/dnxhddec.c +++ b/libavcodec/dnxhddec.c @@ -65,7 +65,7 @@ typedef struct DNXHDContext { int cur_field; ///< current interlaced field VLC ac_vlc, dc_vlc, run_vlc; IDCTDSPContext idsp; - ScanTable scantable; + uint8_t permutated_scantable[64]; const CIDEntry *cid_table; int bit_depth; // 8, 10, 12 or 0 if not initialized at all. int is_444; @@ -275,8 +275,8 @@ static int dnxhd_decode_header(DNXHDContext *ctx, AVFrame *frame, if (ctx->bit_depth != old_bit_depth) { ff_blockdsp_init(&ctx->bdsp); ff_idctdsp_init(&ctx->idsp, ctx->avctx); - ff_init_scantable(ctx->idsp.idct_permutation, &ctx->scantable, - ff_zigzag_direct); + ff_permute_scantable(ctx->permutated_scantable, ff_zigzag_direct, + ctx->idsp.idct_permutation); } // make sure profile size constraints are respected @@ -436,7 +436,7 @@ static av_always_inline int dnxhd_decode_dct_block(const DNXHDContext *ctx, break; } - j = ctx->scantable.permutated[i]; + j = ctx->permutated_scantable[i]; level *= scale[i]; level += scale[i] >> 1; if (level_bias < 32 || weight_matrix[i] != level_bias) |