X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=test%2Fpartial_idct_test.cc;h=c76308bbb7f12ba7ab0e9ee30db433df68df9944;hb=ff42e04f9cb60e63ca3fe12ac497f27c68555e1f;hp=86d78aaf5d5fd421fb271779d2e5a6ceafc4d42c;hpb=8f953897429f75ce9f44e80feaae810a6c9752bd;p=libvpx diff --git a/test/partial_idct_test.cc b/test/partial_idct_test.cc index 86d78aaf5..c76308bbb 100644 --- a/test/partial_idct_test.cc +++ b/test/partial_idct_test.cc @@ -43,9 +43,11 @@ void wrapper(const tran_low_t *in, uint8_t *out, int stride, int bd) { } #if CONFIG_VP9_HIGHBITDEPTH -template +typedef void (*InvTxfmHighbdFunc)(const tran_low_t *in, uint16_t *out, + int stride, int bd); +template void highbd_wrapper(const tran_low_t *in, uint8_t *out, int stride, int bd) { - fn(in, CONVERT_TO_BYTEPTR(out), stride, bd); + fn(in, CAST_TO_SHORTPTR(out), stride, bd); } #endif @@ -55,35 +57,6 @@ typedef std::tr1::tuple || - a == &wrapper) { - return 23625 - 1; - } -#else - (void)a; -#endif - return std::numeric_limits::max(); -} - -int16_t MinSupportedCoeff(InvTxfmWithBdFunc a) { -#if HAVE_SSSE3 && ARCH_X86_64 && !CONFIG_EMULATE_HARDWARE && \ - !CONFIG_VP9_HIGHBITDEPTH - if (a == &wrapper || - a == &wrapper) { - return -23625 + 1; - } -#else - (void)a; -#endif - return std::numeric_limits::min(); -} - class PartialIDctTest : public ::testing::TestWithParam { public: virtual ~PartialIDctTest() {} @@ -155,12 +128,12 @@ class PartialIDctTest : public ::testing::TestWithParam { } void InitInput() { - const int max_coeff = 32766 / 4; - int max_energy_leftover = max_coeff * max_coeff; + const int64_t max_coeff = (32766 << (bit_depth_ - 8)) / 4; + int64_t max_energy_leftover = max_coeff * max_coeff; for (int j = 0; j < last_nonzero_; ++j) { - int16_t coeff = static_cast(sqrt(1.0 * max_energy_leftover) * - (rnd_.Rand16() - 32768) / 65536); - max_energy_leftover -= coeff * coeff; + tran_low_t coeff = static_cast( + sqrt(1.0 * max_energy_leftover) * (rnd_.Rand16() - 32768) / 65536); + max_energy_leftover -= static_cast(coeff) * coeff; if (max_energy_leftover < 0) { max_energy_leftover = 0; coeff = 0; @@ -169,6 +142,36 @@ class PartialIDctTest : public ::testing::TestWithParam { } } + void PrintDiff() { + if (memcmp(output_block_ref_, output_block_, + pixel_size_ * output_block_size_)) { + uint16_t ref, opt; + for (int y = 0; y < size_; y++) { + for (int x = 0; x < size_; x++) { + if (pixel_size_ == 1) { + ref = output_block_ref_[y * stride_ + x]; + opt = output_block_[y * stride_ + x]; + } else { + ref = reinterpret_cast( + output_block_ref_)[y * stride_ + x]; + opt = reinterpret_cast(output_block_)[y * stride_ + x]; + } + if (ref != opt) { + printf("dest[%d][%d] diff:%6d (ref),%6d (opt)\n", y, x, ref, opt); + } + } + } + + printf("\ninput_block_:\n"); + for (int y = 0; y < size_; y++) { + for (int x = 0; x < size_; x++) { + printf("%6d,", input_block_[y * size_ + x]); + } + printf("\n"); + } + } + } + protected: int last_nonzero_; TX_SIZE tx_size_; @@ -189,23 +192,32 @@ class PartialIDctTest : public ::testing::TestWithParam { }; TEST_P(PartialIDctTest, RunQuantCheck) { + const int count_test_block = (size_ != 4) ? kCountTestBlock : 65536; DECLARE_ALIGNED(16, int16_t, input_extreme_block[kMaxNumCoeffs]); DECLARE_ALIGNED(16, tran_low_t, output_ref_block[kMaxNumCoeffs]); InitMem(); - for (int i = 0; i < kCountTestBlock; ++i) { + + for (int i = 0; i < count_test_block; ++i) { // Initialize a test block with input range [-mask_, mask_]. - if (i == 0) { - for (int k = 0; k < input_block_size_; ++k) { - input_extreme_block[k] = mask_; - } - } else if (i == 1) { - for (int k = 0; k < input_block_size_; ++k) { - input_extreme_block[k] = -mask_; + if (size_ != 4) { + if (i == 0) { + for (int k = 0; k < input_block_size_; ++k) { + input_extreme_block[k] = mask_; + } + } else if (i == 1) { + for (int k = 0; k < input_block_size_; ++k) { + input_extreme_block[k] = -mask_; + } + } else { + for (int k = 0; k < input_block_size_; ++k) { + input_extreme_block[k] = rnd_.Rand8() % 2 ? mask_ : -mask_; + } } } else { + // Try all possible combinations. for (int k = 0; k < input_block_size_; ++k) { - input_extreme_block[k] = rnd_.Rand8() % 2 ? mask_ : -mask_; + input_extreme_block[k] = (i & (1 << k)) ? mask_ : -mask_; } } @@ -261,8 +273,8 @@ TEST_P(PartialIDctTest, AddOutputBlock) { } TEST_P(PartialIDctTest, SingleExtremeCoeff) { - const int16_t max_coeff = MaxSupportedCoeff(partial_itxfm_); - const int16_t min_coeff = MinSupportedCoeff(partial_itxfm_); + const int16_t max_coeff = std::numeric_limits::max(); + const int16_t min_coeff = std::numeric_limits::min(); for (int i = 0; i < last_nonzero_; ++i) { memset(input_block_, 0, sizeof(*input_block_) * input_block_size_); // Run once for min and once for max. @@ -304,9 +316,9 @@ TEST_P(PartialIDctTest, DISABLED_Speed) { vpx_usec_timer_mark(&timer); const int elapsed_time = static_cast(vpx_usec_timer_elapsed(&timer) / 1000); - printf("idct%dx%d_%d (bitdepth %d) time: %5d ms ", size_, size_, - last_nonzero_, bit_depth_, elapsed_time); - + printf("idct%dx%d_%d (%s %d) time: %5d ms\n", size_, size_, last_nonzero_, + (pixel_size_ == 1) ? "bitdepth" : "high bitdepth", bit_depth_, + elapsed_time); ASSERT_EQ(0, memcmp(output_block_ref_, output_block_, pixel_size_ * output_block_size_)) << "Error: partial inverse transform produces different results"; @@ -325,6 +337,15 @@ const PartialInvTxfmParam c_partial_idct_tests[] = { make_tuple( &vpx_highbd_fdct32x32_c, &highbd_wrapper, &highbd_wrapper, TX_32X32, 1024, 12, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 8, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 10, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 12, 2), make_tuple( &vpx_highbd_fdct32x32_c, &highbd_wrapper, &highbd_wrapper, TX_32X32, 34, 8, 2), @@ -352,6 +373,15 @@ const PartialInvTxfmParam c_partial_idct_tests[] = { make_tuple( &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 256, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 12, 2), make_tuple( &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 10, 8, 2), @@ -426,6 +456,8 @@ const PartialInvTxfmParam c_partial_idct_tests[] = { &wrapper, TX_32X32, 1, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 256, 8, 1), + make_tuple(&vpx_fdct16x16_c, &wrapper, + &wrapper, TX_16X16, 38, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 10, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, @@ -448,6 +480,81 @@ INSTANTIATE_TEST_CASE_P(C, PartialIDctTest, #if HAVE_NEON && !CONFIG_EMULATE_HARDWARE const PartialInvTxfmParam neon_partial_idct_tests[] = { #if CONFIG_VP9_HIGHBITDEPTH + make_tuple(&vpx_highbd_fdct32x32_c, + &highbd_wrapper, + &highbd_wrapper, TX_32X32, + 1024, 8, 2), + make_tuple(&vpx_highbd_fdct32x32_c, + &highbd_wrapper, + &highbd_wrapper, TX_32X32, + 1024, 10, 2), + make_tuple(&vpx_highbd_fdct32x32_c, + &highbd_wrapper, + &highbd_wrapper, TX_32X32, + 1024, 12, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 8, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 10, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 135, 12, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 34, 8, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 34, 10, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 34, 12, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 1, 8, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 1, 10, 2), + make_tuple( + &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &highbd_wrapper, TX_32X32, 1, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 256, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 256, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 256, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 38, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 10, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 10, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 10, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 12, 2), make_tuple(&vpx_highbd_fdct8x8_c, &highbd_wrapper, &highbd_wrapper, TX_8X8, 64, 8, 2), @@ -490,27 +597,29 @@ const PartialInvTxfmParam neon_partial_idct_tests[] = { #endif // CONFIG_VP9_HIGHBITDEPTH make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1024, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 135, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 34, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 256, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, + &wrapper, TX_16X16, 38, 8, 1), + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 10, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 1, 8, 1), make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 64, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 12, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 1, 8, 1), make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 16, 8, 1), - make_tuple(&vpx_fdct4x4_c, &wrapper, + make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 1, 8, 1) }; @@ -523,13 +632,13 @@ INSTANTIATE_TEST_CASE_P(NEON, PartialIDctTest, const PartialInvTxfmParam sse2_partial_idct_tests[] = { #if CONFIG_VP9_HIGHBITDEPTH make_tuple( - &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &vpx_highbd_fdct32x32_c, &highbd_wrapper, &highbd_wrapper, TX_32X32, 1, 8, 2), make_tuple( - &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &vpx_highbd_fdct32x32_c, &highbd_wrapper, &highbd_wrapper, TX_32X32, 1, 10, 2), make_tuple( - &vpx_highbd_fdct32x32_c, &highbd_wrapper, + &vpx_highbd_fdct32x32_c, &highbd_wrapper, &highbd_wrapper, TX_32X32, 1, 12, 2), make_tuple( &vpx_highbd_fdct16x16_c, &highbd_wrapper, @@ -541,14 +650,23 @@ const PartialInvTxfmParam sse2_partial_idct_tests[] = { &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 256, 12, 2), make_tuple( - &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 10, 8, 2), make_tuple( - &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 10, 10, 2), make_tuple( - &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &vpx_highbd_fdct16x16_c, &highbd_wrapper, &highbd_wrapper, TX_16X16, 10, 12, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 8, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 10, 2), + make_tuple( + &vpx_highbd_fdct16x16_c, &highbd_wrapper, + &highbd_wrapper, TX_16X16, 1, 12, 2), make_tuple(&vpx_highbd_fdct8x8_c, &highbd_wrapper, &highbd_wrapper, TX_8X8, 64, 8, 2), @@ -559,14 +677,20 @@ const PartialInvTxfmParam sse2_partial_idct_tests[] = { &vpx_highbd_fdct8x8_c, &highbd_wrapper, &highbd_wrapper, TX_8X8, 64, 12, 2), make_tuple(&vpx_highbd_fdct8x8_c, - &highbd_wrapper, + &highbd_wrapper, &highbd_wrapper, TX_8X8, 12, 8, 2), make_tuple( - &vpx_highbd_fdct8x8_c, &highbd_wrapper, + &vpx_highbd_fdct8x8_c, &highbd_wrapper, &highbd_wrapper, TX_8X8, 12, 10, 2), make_tuple( - &vpx_highbd_fdct8x8_c, &highbd_wrapper, + &vpx_highbd_fdct8x8_c, &highbd_wrapper, &highbd_wrapper, TX_8X8, 12, 12, 2), + make_tuple(&vpx_highbd_fdct8x8_c, &highbd_wrapper, + &highbd_wrapper, TX_8X8, 1, 8, 2), + make_tuple(&vpx_highbd_fdct8x8_c, &highbd_wrapper, + &highbd_wrapper, TX_8X8, 1, 10, 2), + make_tuple(&vpx_highbd_fdct8x8_c, &highbd_wrapper, + &highbd_wrapper, TX_8X8, 1, 12, 2), make_tuple(&vpx_highbd_fdct4x4_c, &highbd_wrapper, &highbd_wrapper, TX_4X4, 16, 8, 2), @@ -576,30 +700,34 @@ const PartialInvTxfmParam sse2_partial_idct_tests[] = { make_tuple( &vpx_highbd_fdct4x4_c, &highbd_wrapper, &highbd_wrapper, TX_4X4, 16, 12, 2), + make_tuple(&vpx_highbd_fdct4x4_c, &highbd_wrapper, + &highbd_wrapper, TX_4X4, 1, 8, 2), + make_tuple(&vpx_highbd_fdct4x4_c, &highbd_wrapper, + &highbd_wrapper, TX_4X4, 1, 10, 2), + make_tuple(&vpx_highbd_fdct4x4_c, &highbd_wrapper, + &highbd_wrapper, TX_4X4, 1, 12, 2), #endif // CONFIG_VP9_HIGHBITDEPTH make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1024, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, - &wrapper, TX_32X32, 135, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 34, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 256, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 10, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 1, 8, 1), make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 64, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 12, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 1, 8, 1), make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 16, 8, 1), - make_tuple(&vpx_fdct4x4_c, &wrapper, + make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 1, 8, 1) }; @@ -608,18 +736,17 @@ INSTANTIATE_TEST_CASE_P(SSE2, PartialIDctTest, #endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE -#if HAVE_SSSE3 && ARCH_X86_64 && !CONFIG_EMULATE_HARDWARE && \ - !CONFIG_VP9_HIGHBITDEPTH +#if HAVE_SSSE3 && !CONFIG_EMULATE_HARDWARE const PartialInvTxfmParam ssse3_partial_idct_tests[] = { make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1024, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 135, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 34, 8, 1), make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 64, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 12, 8, 1) }; @@ -631,27 +758,25 @@ INSTANTIATE_TEST_CASE_P(SSSE3, PartialIDctTest, const PartialInvTxfmParam dspr2_partial_idct_tests[] = { make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1024, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, - &wrapper, TX_32X32, 135, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 34, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 256, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 10, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 1, 8, 1), make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 64, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 12, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 1, 8, 1), make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 16, 8, 1), - make_tuple(&vpx_fdct4x4_c, &wrapper, + make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 1, 8, 1) }; @@ -664,27 +789,25 @@ INSTANTIATE_TEST_CASE_P(DSPR2, PartialIDctTest, const PartialInvTxfmParam msa_partial_idct_tests[] = { make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1024, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, - &wrapper, TX_32X32, 135, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 34, 8, 1), - make_tuple(&vpx_fdct32x32_c, &wrapper, + make_tuple(&vpx_fdct32x32_c, &wrapper, &wrapper, TX_32X32, 1, 8, 1), make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 256, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 10, 8, 1), - make_tuple(&vpx_fdct16x16_c, &wrapper, + make_tuple(&vpx_fdct16x16_c, &wrapper, &wrapper, TX_16X16, 1, 8, 1), make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 64, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 12, 8, 1), - make_tuple(&vpx_fdct8x8_c, &wrapper, + make_tuple(&vpx_fdct8x8_c, &wrapper, &wrapper, TX_8X8, 1, 8, 1), make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 16, 8, 1), - make_tuple(&vpx_fdct4x4_c, &wrapper, + make_tuple(&vpx_fdct4x4_c, &wrapper, &wrapper, TX_4X4, 1, 8, 1) };