[FFmpeg-devel] [PATCH 2/2] avcodec/mv30: use aandcttables for quantizer scaling

Peter Ross pross at xvid.org
Sun Apr 12 05:33:50 EEST 2020


---
 configure         |  2 +-
 libavcodec/mv30.c | 22 ++--------------------
 2 files changed, 3 insertions(+), 21 deletions(-)

diff --git a/configure b/configure
index 4d4c429be9..f008559fd8 100755
--- a/configure
+++ b/configure
@@ -2790,7 +2790,7 @@ msmpeg4v3_decoder_select="h263_decoder"
 msmpeg4v3_encoder_select="h263_encoder"
 mss2_decoder_select="mpegvideo qpeldsp vc1_decoder"
 mts2_decoder_select="mss34dsp"
-mv30_decoder_select="blockdsp"
+mv30_decoder_select="aandcttables blockdsp"
 mvha_decoder_deps="zlib"
 mvha_decoder_select="llviddsp"
 mwsc_decoder_deps="zlib"
diff --git a/libavcodec/mv30.c b/libavcodec/mv30.c
index 6e25ed647b..fed9bcd1e8 100644
--- a/libavcodec/mv30.c
+++ b/libavcodec/mv30.c
@@ -33,6 +33,7 @@
 #include "blockdsp.h"
 #include "get_bits.h"
 #include "internal.h"
+#include "aandcttab.h"
 
 typedef struct MV30Context {
     GetBitContext  gb;
@@ -58,25 +59,6 @@ typedef struct MV30Context {
 
 static VLC cbp_tab;
 
-static const int16_t scale_tab[] = {
-    16384,  22725,  21407,  19266,
-    16384,  12873,   8867,   4520,
-    22725,  31521,  29692,  26722,
-    22725,  17855,  12299,   6270,
-    21407,  29692,  27969,  25172,
-    21407,  16819,  11585,   5906,
-    19266,  26722,  25172,  22654,
-    19266,  15137,  10426,   5315,
-    16384,  22725,  21407,  19266,
-    16384,  12873,   8867,   4520,
-    12873,  17855,  16819,  15137,
-    12873,  10114,   6967,   3552,
-     8867,  12299,  11585,  10426,
-     8867,   6967,   4799,   2446,
-     4520,   6270,   5906,   5315,
-     4520,   3552,   2446,   1247,
-};
-
 static const uint8_t luma_tab[] = {
     12, 12, 15, 19, 25, 34, 40, 48,
     12, 12, 18, 22, 27, 44, 47, 46,
@@ -116,7 +98,7 @@ static void get_qtable(int16_t *table, int quant, const uint8_t *quant_tab)
 
     for (int i = 0; i < 64; i++) {
         table[i] = av_clip((quant_tab[i] * factor + 0x32) / 100, 1, 0x7fff);
-        table[i] = ((int)scale_tab[i] * (int)table[i] + 0x800) >> 12;
+        table[i] = ((int)ff_aanscales[i] * (int)table[i] + 0x800) >> 12;
     }
 }
 
-- 
2.20.1

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200412/9dd0aa93/attachment.sig>


More information about the ffmpeg-devel mailing list