[FFmpeg-devel] [PATCH v2 04/24] avcodec/eatqi: Don't use IDCTDSP-API unnecessarily

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Oct 21 23:12:40 EEST 2022


The eatqi decoder uses a custom IDCT and actually does not
use the IDCTDSP API at all. Somehow it was nevertheless
used to simply apply the identity permutation on ff_zigzag_direct.
This commit stops doing so.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 configure          | 2 +-
 libavcodec/eatqi.c | 8 +-------
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/configure b/configure
index 84d7be8bfe..baaf61271f 100755
--- a/configure
+++ b/configure
@@ -2822,7 +2822,7 @@ eac3_decoder_select="ac3_decoder"
 eac3_encoder_select="ac3_encoder"
 eamad_decoder_select="aandcttables blockdsp bswapdsp"
 eatgq_decoder_select="aandcttables"
-eatqi_decoder_select="aandcttables blockdsp bswapdsp idctdsp"
+eatqi_decoder_select="aandcttables blockdsp bswapdsp"
 exr_decoder_deps="zlib"
 exr_encoder_deps="zlib"
 ffv1_decoder_select="rangecoder"
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index 324e6f1ced..e4f12b3db2 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -36,7 +36,6 @@
 #include "get_bits.h"
 #include "aandcttab.h"
 #include "eaidct.h"
-#include "idctdsp.h"
 #include "mpeg12data.h"
 #include "mpeg12dec.h"
 
@@ -45,8 +44,6 @@ typedef struct TqiContext {
     GetBitContext gb;
     BlockDSPContext bdsp;
     BswapDSPContext bsdsp;
-    IDCTDSPContext idsp;
-    ScanTable intra_scantable;
 
     void *bitstream_buf;
     unsigned int bitstream_buf_size;
@@ -64,9 +61,6 @@ static av_cold int tqi_decode_init(AVCodecContext *avctx)
 
     ff_blockdsp_init(&t->bdsp);
     ff_bswapdsp_init(&t->bsdsp);
-    ff_idctdsp_init(&t->idsp, avctx);
-    ff_init_scantable_permutation(t->idsp.idct_permutation, FF_IDCT_PERM_NONE);
-    ff_init_scantable(t->idsp.idct_permutation, &t->intra_scantable, ff_zigzag_direct);
 
     avctx->framerate = (AVRational){ 15, 1 };
     avctx->pix_fmt = AV_PIX_FMT_YUV420P;
@@ -82,7 +76,7 @@ static int tqi_decode_mb(TqiContext *t, int16_t (*block)[64])
     for (n = 0; n < 6; n++) {
         int ret = ff_mpeg1_decode_block_intra(&t->gb,
                                               t->intra_matrix,
-                                              t->intra_scantable.permutated,
+                                              ff_zigzag_direct,
                                               t->last_dc, block[n], n, 1);
         if (ret < 0) {
             av_log(t->avctx, AV_LOG_ERROR, "ac-tex damaged at %d %d\n",
-- 
2.34.1



More information about the ffmpeg-devel mailing list