[FFmpeg-devel] [PATCH 10/22] avcodec/dnxhddec: Only keep what is used from ScanTable
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Thu Oct 20 11:45:28 EEST 2022
Namely ScanTable.permutated.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/dnxhddec.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index a44f95f044..ce738f3991 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 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->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->scantable[i];
level *= scale[i];
level += scale[i] >> 1;
if (level_bias < 32 || weight_matrix[i] != level_bias)
--
2.34.1
More information about the ffmpeg-devel
mailing list