Commit 2e10feaee3 for aom
commit 2e10feaee3ecf043150541f68308b1ea96c53666
Author: Frank Galligan <fgalligan@google.com>
Date: Tue Nov 3 12:43:05 2026 -0800
test: Add TX_4X4 and TX_8X8 QM quantize AVX2 tests
Add TX_4X4 (n_coeffs = 16, exercising a single AC loop iteration)
and TX_8X8 (n_coeffs = 64) test instantiations for quan_b_qm_wrapper
and quan_fp_qm_wrapper in FullPrecisionQuantizeTest, since
av1_quantize_b_facade and av1_quantize_fp_facade dispatch all
transform sizes to the QM quantization kernels when qm_ptr != NULL.
TAG=agy
CONV=b929a630-a6cd-45a0-979c-1767c30178ee
Change-Id: I037c65069b28796ce9dacd9de2a4c46e051c205e
diff --git a/test/quantize_func_test.cc b/test/quantize_func_test.cc
index 8c89af2293..7e13313f74 100644
--- a/test/quantize_func_test.cc
+++ b/test/quantize_func_test.cc
@@ -554,6 +554,12 @@ const QuantizeParam<QuantizeFunc> kQParamArrayAvx2[] = {
make_tuple(&av1_quantize_fp_64x64_c, &av1_quantize_fp_64x64_avx2,
static_cast<TX_SIZE>(TX_64X64), TYPE_FP, AOM_BITS_8),
#if CONFIG_QUANT_MATRIX || CONFIG_AV1_DECODER
+ make_tuple(&quan_fp_qm_wrapper<av1_quantize_fp_qm_c, TX_4X4>,
+ &quan_fp_qm_wrapper<av1_quantize_fp_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_FP, AOM_BITS_8),
+ make_tuple(&quan_fp_qm_wrapper<av1_quantize_fp_qm_c, TX_8X8>,
+ &quan_fp_qm_wrapper<av1_quantize_fp_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_FP, AOM_BITS_8),
make_tuple(&quan_fp_qm_wrapper<av1_quantize_fp_qm_c, TX_16X16>,
&quan_fp_qm_wrapper<av1_quantize_fp_qm_avx2, TX_16X16>,
static_cast<TX_SIZE>(TX_16X16), TYPE_FP, AOM_BITS_8),
@@ -593,6 +599,24 @@ const QuantizeParam<QuantizeFunc> kQParamArrayAvx2[] = {
&highbd_quan64x64_wrapper<av1_highbd_quantize_fp_avx2>,
static_cast<TX_SIZE>(TX_64X64), TYPE_FP, AOM_BITS_12),
#if CONFIG_QUANT_MATRIX || CONFIG_AV1_DECODER
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_4X4>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_FP, AOM_BITS_8),
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_4X4>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_FP, AOM_BITS_10),
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_4X4>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_FP, AOM_BITS_12),
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_8X8>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_FP, AOM_BITS_8),
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_8X8>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_FP, AOM_BITS_10),
+ make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_8X8>,
+ &quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_FP, AOM_BITS_12),
make_tuple(&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_c, TX_16X16>,
&quan_fp_qm_wrapper<av1_highbd_quantize_fp_qm_avx2, TX_16X16>,
static_cast<TX_SIZE>(TX_16X16), TYPE_FP, AOM_BITS_8),
@@ -632,6 +656,24 @@ const QuantizeParam<QuantizeFunc> kQParamArrayAvx2[] = {
make_tuple(&aom_highbd_quantize_b_64x64_c, &aom_highbd_quantize_b_64x64_avx2,
static_cast<TX_SIZE>(TX_64X64), TYPE_B, AOM_BITS_12),
#if CONFIG_QUANT_MATRIX || CONFIG_AV1_DECODER
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_4X4>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_B, AOM_BITS_8),
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_4X4>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_B, AOM_BITS_10),
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_4X4>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_B, AOM_BITS_12),
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_8X8>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_B, AOM_BITS_8),
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_8X8>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_B, AOM_BITS_10),
+ make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_8X8>,
+ &quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_B, AOM_BITS_12),
make_tuple(&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_c, TX_16X16>,
&quan_b_qm_wrapper<av1_highbd_quantize_b_qm_avx2, TX_16X16>,
static_cast<TX_SIZE>(TX_16X16), TYPE_B, AOM_BITS_8),
@@ -696,6 +738,12 @@ const QuantizeParam<QuantizeFunc> kQParamArrayAvx2[] = {
make_tuple(&aom_quantize_b_64x64_c, &aom_quantize_b_64x64_avx2,
static_cast<TX_SIZE>(TX_64X64), TYPE_B, AOM_BITS_8),
#if CONFIG_QUANT_MATRIX || CONFIG_AV1_DECODER
+ make_tuple(&quan_b_qm_wrapper<av1_quantize_b_qm_c, TX_4X4>,
+ &quan_b_qm_wrapper<av1_quantize_b_qm_avx2, TX_4X4>,
+ static_cast<TX_SIZE>(TX_4X4), TYPE_B, AOM_BITS_8),
+ make_tuple(&quan_b_qm_wrapper<av1_quantize_b_qm_c, TX_8X8>,
+ &quan_b_qm_wrapper<av1_quantize_b_qm_avx2, TX_8X8>,
+ static_cast<TX_SIZE>(TX_8X8), TYPE_B, AOM_BITS_8),
make_tuple(&quan_b_qm_wrapper<av1_quantize_b_qm_c, TX_16X16>,
&quan_b_qm_wrapper<av1_quantize_b_qm_avx2, TX_16X16>,
static_cast<TX_SIZE>(TX_16X16), TYPE_B, AOM_BITS_8),