diff options
author | James Zern <jzern@google.com> | 2016-06-22 22:35:57 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-06-22 22:35:57 +0000 |
commit | 527a9fea767bf3c52d63096bdc5b6dd51615105b (patch) | |
tree | 7d493e250dad12939da6c72975e653fe9b59f3a7 /test | |
parent | 243029faff45872fa47d2053bf3375bcfee6dfd9 (diff) | |
parent | 67edc5e83be285004804c67c5348bbc81503a04d (diff) | |
download | libvpx-527a9fea767bf3c52d63096bdc5b6dd51615105b.tar.gz libvpx-527a9fea767bf3c52d63096bdc5b6dd51615105b.tar.bz2 libvpx-527a9fea767bf3c52d63096bdc5b6dd51615105b.zip |
Merge "remove vp10"
Diffstat (limited to 'test')
-rw-r--r-- | test/altref_test.cc | 11 | ||||
-rw-r--r-- | test/borders_test.cc | 3 | ||||
-rw-r--r-- | test/codec_factory.h | 97 | ||||
-rw-r--r-- | test/cpu_speed_test.cc | 5 | ||||
-rw-r--r-- | test/decode_api_test.cc | 3 | ||||
-rw-r--r-- | test/encode_api_test.cc | 3 | ||||
-rw-r--r-- | test/encode_test_driver.cc | 9 | ||||
-rw-r--r-- | test/encode_test_driver.h | 4 | ||||
-rw-r--r-- | test/error_resilience_test.cc | 3 | ||||
-rw-r--r-- | test/superframe_test.cc | 11 | ||||
-rw-r--r-- | test/test.mk | 13 | ||||
-rw-r--r-- | test/tile_independence_test.cc | 2 | ||||
-rw-r--r-- | test/vp10_dct_test.cc | 111 | ||||
-rw-r--r-- | test/vp10_inv_txfm_test.cc | 321 | ||||
-rw-r--r-- | test/vp9_arf_freq_test.cc | 20 | ||||
-rw-r--r-- | test/vp9_end_to_end_test.cc | 20 | ||||
-rw-r--r-- | test/vp9_ethread_test.cc | 5 | ||||
-rw-r--r-- | test/vp9_lossless_test.cc | 4 |
18 files changed, 6 insertions, 639 deletions
diff --git a/test/altref_test.cc b/test/altref_test.cc index 0799f42e7..d9f83d8cd 100644 --- a/test/altref_test.cc +++ b/test/altref_test.cc @@ -100,11 +100,6 @@ class AltRefForcedKeyTestLarge encoder->Control(VP9E_SET_TILE_COLUMNS, 6); } #endif -#if CONFIG_VP10_ENCODER - if (GET_PARAM(0) == &libvpx_test::kVP10) { - encoder->Control(VP9E_SET_TILE_COLUMNS, 6); - } -#endif } frame_flags_ = (video->frame() == forced_kf_frame_num_) ? VPX_EFLAG_FORCE_KF : 0; @@ -161,10 +156,4 @@ VP9_INSTANTIATE_TEST_CASE( AltRefForcedKeyTestLarge, ::testing::Values(::libvpx_test::kOnePassGood), ::testing::Range(0, 9)); - -VP10_INSTANTIATE_TEST_CASE( - AltRefForcedKeyTestLarge, - ::testing::Values(::libvpx_test::kOnePassGood), - ::testing::Range(0, 9)); - } // namespace diff --git a/test/borders_test.cc b/test/borders_test.cc index ff3812cb9..bd3ac39f8 100644 --- a/test/borders_test.cc +++ b/test/borders_test.cc @@ -80,7 +80,4 @@ TEST_P(BordersTest, TestLowBitrate) { VP9_INSTANTIATE_TEST_CASE(BordersTest, ::testing::Values( ::libvpx_test::kTwoPassGood)); - -VP10_INSTANTIATE_TEST_CASE(BordersTest, ::testing::Values( - ::libvpx_test::kTwoPassGood)); } // namespace diff --git a/test/codec_factory.h b/test/codec_factory.h index 09c9cf984..429d40d81 100644 --- a/test/codec_factory.h +++ b/test/codec_factory.h @@ -13,10 +13,10 @@ #include "./vpx_config.h" #include "vpx/vpx_decoder.h" #include "vpx/vpx_encoder.h" -#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER +#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER #include "vpx/vp8cx.h" #endif -#if CONFIG_VP8_DECODER || CONFIG_VP9_DECODER || CONFIG_VP10_DECODER +#if CONFIG_VP8_DECODER || CONFIG_VP9_DECODER #include "vpx/vp8dx.h" #endif @@ -233,8 +233,6 @@ class VP9CodecFactory : public CodecFactory { int usage) const { #if CONFIG_VP9_ENCODER return vpx_codec_enc_config_default(&vpx_codec_vp9_cx_algo, cfg, usage); -#elif CONFIG_VP10_ENCODER - return vpx_codec_enc_config_default(&vpx_codec_vp10_cx_algo, cfg, usage); #else return VPX_CODEC_INCAPABLE; #endif @@ -253,96 +251,5 @@ const libvpx_test::VP9CodecFactory kVP9; #define VP9_INSTANTIATE_TEST_CASE(test, ...) #endif // CONFIG_VP9 -/* - * VP10 Codec Definitions - */ -#if CONFIG_VP10 -class VP10Decoder : public Decoder { - public: - VP10Decoder(vpx_codec_dec_cfg_t cfg, unsigned long deadline) - : Decoder(cfg, deadline) {} - - VP10Decoder(vpx_codec_dec_cfg_t cfg, const vpx_codec_flags_t flag, - unsigned long deadline) // NOLINT - : Decoder(cfg, flag, deadline) {} - - protected: - virtual vpx_codec_iface_t* CodecInterface() const { -#if CONFIG_VP10_DECODER - return &vpx_codec_vp10_dx_algo; -#else - return NULL; -#endif - } -}; - -class VP10Encoder : public Encoder { - public: - VP10Encoder(vpx_codec_enc_cfg_t cfg, unsigned long deadline, - const unsigned long init_flags, TwopassStatsStore *stats) - : Encoder(cfg, deadline, init_flags, stats) {} - - protected: - virtual vpx_codec_iface_t* CodecInterface() const { -#if CONFIG_VP10_ENCODER - return &vpx_codec_vp10_cx_algo; -#else - return NULL; -#endif - } -}; - -class VP10CodecFactory : public CodecFactory { - public: - VP10CodecFactory() : CodecFactory() {} - - virtual Decoder* CreateDecoder(vpx_codec_dec_cfg_t cfg, - unsigned long deadline) const { - return CreateDecoder(cfg, 0, deadline); - } - - virtual Decoder* CreateDecoder(vpx_codec_dec_cfg_t cfg, - const vpx_codec_flags_t flags, - unsigned long deadline) const { // NOLINT -#if CONFIG_VP10_DECODER - return new VP10Decoder(cfg, flags, deadline); -#else - return NULL; -#endif - } - - virtual Encoder* CreateEncoder(vpx_codec_enc_cfg_t cfg, - unsigned long deadline, - const unsigned long init_flags, - TwopassStatsStore *stats) const { -#if CONFIG_VP10_ENCODER - return new VP10Encoder(cfg, deadline, init_flags, stats); -#else - return NULL; -#endif - } - - virtual vpx_codec_err_t DefaultEncoderConfig(vpx_codec_enc_cfg_t *cfg, - int usage) const { -#if CONFIG_VP10_ENCODER - return vpx_codec_enc_config_default(&vpx_codec_vp10_cx_algo, cfg, usage); -#else - return VPX_CODEC_INCAPABLE; -#endif - } -}; - -const libvpx_test::VP10CodecFactory kVP10; - -#define VP10_INSTANTIATE_TEST_CASE(test, ...)\ - INSTANTIATE_TEST_CASE_P(VP10, test, \ - ::testing::Combine( \ - ::testing::Values(static_cast<const libvpx_test::CodecFactory*>( \ - &libvpx_test::kVP10)), \ - __VA_ARGS__)) -#else -#define VP10_INSTANTIATE_TEST_CASE(test, ...) -#endif // CONFIG_VP10 - } // namespace libvpx_test #endif // TEST_CODEC_FACTORY_H_ diff --git a/test/cpu_speed_test.cc b/test/cpu_speed_test.cc index 572834c10..2cad30fbb 100644 --- a/test/cpu_speed_test.cc +++ b/test/cpu_speed_test.cc @@ -158,9 +158,4 @@ VP9_INSTANTIATE_TEST_CASE( ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood, ::libvpx_test::kRealTime), ::testing::Range(0, 9)); - -VP10_INSTANTIATE_TEST_CASE( - CpuSpeedTest, - ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood), - ::testing::Range(0, 3)); } // namespace diff --git a/test/decode_api_test.cc b/test/decode_api_test.cc index 318351b73..c10a44a33 100644 --- a/test/decode_api_test.cc +++ b/test/decode_api_test.cc @@ -27,9 +27,6 @@ TEST(DecodeAPI, InvalidParams) { #if CONFIG_VP9_DECODER &vpx_codec_vp9_dx_algo, #endif -#if CONFIG_VP10_DECODER - &vpx_codec_vp10_dx_algo, -#endif }; uint8_t buf[1] = {0}; vpx_codec_ctx_t dec; diff --git a/test/encode_api_test.cc b/test/encode_api_test.cc index a7200e653..94afddeb6 100644 --- a/test/encode_api_test.cc +++ b/test/encode_api_test.cc @@ -26,9 +26,6 @@ TEST(EncodeAPI, InvalidParams) { #if CONFIG_VP9_ENCODER &vpx_codec_vp9_cx_algo, #endif -#if CONFIG_VP10_ENCODER - &vpx_codec_vp10_cx_algo, -#endif }; uint8_t buf[1] = {0}; vpx_image_t img; diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc index 128436ee9..b8c737187 100644 --- a/test/encode_test_driver.cc +++ b/test/encode_test_driver.cc @@ -43,15 +43,6 @@ void Encoder::InitEncoder(VideoSource *video) { ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); } else #endif -#if CONFIG_VP10_ENCODER - if (CodecInterface() == &vpx_codec_vp10_cx_algo) { - // Default to 1 tile column for VP10. - const int log2_tile_columns = 0; - res = vpx_codec_control_(&encoder_, VP9E_SET_TILE_COLUMNS, - log2_tile_columns); - ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); - } else -#endif { #if CONFIG_VP8_ENCODER ASSERT_EQ(&vpx_codec_vp8_cx_algo, CodecInterface()) diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h index 6d0a72f98..d14ddc7d7 100644 --- a/test/encode_test_driver.h +++ b/test/encode_test_driver.h @@ -16,7 +16,7 @@ #include "third_party/googletest/src/include/gtest/gtest.h" #include "./vpx_config.h" -#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER +#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER #include "vpx/vp8cx.h" #endif #include "vpx/vpx_encoder.h" @@ -143,7 +143,7 @@ class Encoder { const vpx_codec_err_t res = vpx_codec_control_(&encoder_, ctrl_id, arg); ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); } -#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER +#if CONFIG_VP8_ENCODER || CONFIG_VP9_ENCODER void Control(int ctrl_id, vpx_active_map_t *arg) { const vpx_codec_err_t res = vpx_codec_control_(&encoder_, ctrl_id, arg); ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError(); diff --git a/test/error_resilience_test.cc b/test/error_resilience_test.cc index cd0dca235..00a095ce8 100644 --- a/test/error_resilience_test.cc +++ b/test/error_resilience_test.cc @@ -596,7 +596,4 @@ VP8_INSTANTIATE_TEST_CASE(ErrorResilienceTestLargeCodecControls, ONE_PASS_TEST_MODES); VP9_INSTANTIATE_TEST_CASE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES, ::testing::Values(true)); -// SVC-related tests don't run for VP10 since SVC is not supported. -VP10_INSTANTIATE_TEST_CASE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES, - ::testing::Values(false)); } // namespace diff --git a/test/superframe_test.cc b/test/superframe_test.cc index 90aa75b41..b07bcb284 100644 --- a/test/superframe_test.cc +++ b/test/superframe_test.cc @@ -17,7 +17,6 @@ namespace { const int kTestMode = 0; -const int kSuperframeSyntax = 1; typedef std::tr1::tuple<libvpx_test::TestMode,int> SuperframeTestParam; @@ -32,11 +31,9 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, InitializeConfig(); const SuperframeTestParam input = GET_PARAM(1); const libvpx_test::TestMode mode = std::tr1::get<kTestMode>(input); - const int syntax = std::tr1::get<kSuperframeSyntax>(input); SetMode(mode); sf_count_ = 0; sf_count_max_ = INT_MAX; - is_vp10_style_superframe_ = syntax; } virtual void TearDown() { @@ -59,8 +56,7 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, const uint8_t marker = buffer[pkt->data.frame.sz - 1]; const int frames = (marker & 0x7) + 1; const int mag = ((marker >> 3) & 3) + 1; - const unsigned int index_sz = - 2 + mag * (frames - is_vp10_style_superframe_); + const unsigned int index_sz = 2 + mag * frames; if ((marker & 0xe0) == 0xc0 && pkt->data.frame.sz >= index_sz && buffer[pkt->data.frame.sz - index_sz] == marker) { @@ -85,7 +81,6 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, return pkt; } - int is_vp10_style_superframe_; int sf_count_; int sf_count_max_; vpx_codec_cx_pkt_t modified_pkt_; @@ -106,8 +101,4 @@ TEST_P(SuperframeTest, TestSuperframeIndexIsOptional) { VP9_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Combine( ::testing::Values(::libvpx_test::kTwoPassGood), ::testing::Values(0))); - -VP10_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Combine( - ::testing::Values(::libvpx_test::kTwoPassGood), - ::testing::Values(CONFIG_MISC_FIXES))); } // namespace diff --git a/test/test.mk b/test/test.mk index 04acd9626..2d50ce813 100644 --- a/test/test.mk +++ b/test/test.mk @@ -142,6 +142,7 @@ LIBVPX_TEST_SRCS-yes += lpf_8_test.cc LIBVPX_TEST_SRCS-yes += vp9_intrapred_test.cc LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += vp9_decrypt_test.cc LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += vp9_thread_test.cc +LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += avg_test.cc LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct16x16_test.cc LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct32x32_test.cc LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += fdct4x4_test.cc @@ -166,20 +167,8 @@ LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_arf_freq_test.cc endif # VP9 -## VP10 -ifeq ($(CONFIG_VP10),yes) - -LIBVPX_TEST_SRCS-yes += vp10_inv_txfm_test.cc -LIBVPX_TEST_SRCS-$(CONFIG_VP10_ENCODER) += vp10_dct_test.cc - -endif # VP10 - ## Multi-codec / unconditional whitebox tests. -ifeq ($(findstring yes,$(CONFIG_VP9_ENCODER)$(CONFIG_VP10_ENCODER)),yes) -LIBVPX_TEST_SRCS-yes += avg_test.cc -endif - LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sad_test.cc TEST_INTRA_PRED_SPEED_SRCS-yes := test_intra_pred_speed.cc diff --git a/test/tile_independence_test.cc b/test/tile_independence_test.cc index 193bd4598..f15d94a0a 100644 --- a/test/tile_independence_test.cc +++ b/test/tile_independence_test.cc @@ -103,6 +103,4 @@ TEST_P(TileIndependenceTest, MD5Match) { } VP9_INSTANTIATE_TEST_CASE(TileIndependenceTest, ::testing::Range(0, 2, 1)); - -VP10_INSTANTIATE_TEST_CASE(TileIndependenceTest, ::testing::Range(0, 2, 1)); } // namespace diff --git a/test/vp10_dct_test.cc b/test/vp10_dct_test.cc deleted file mode 100644 index b2c301ae3..000000000 --- a/test/vp10_dct_test.cc +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2015 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include <math.h> -#include <stdlib.h> -#include <new> - -#include "third_party/googletest/src/include/gtest/gtest.h" -#include "test/acm_random.h" -#include "test/util.h" -#include "./vpx_config.h" -#include "vpx_ports/msvc.h" - -#undef CONFIG_COEFFICIENT_RANGE_CHECKING -#define CONFIG_COEFFICIENT_RANGE_CHECKING 1 -#include "vp10/encoder/dct.c" - -using libvpx_test::ACMRandom; - -namespace { -void reference_dct_1d(const double *in, double *out, int size) { - const double PI = 3.141592653589793238462643383279502884; - const double kInvSqrt2 = 0.707106781186547524400844362104; - for (int k = 0; k < size; ++k) { - out[k] = 0; - for (int n = 0; n < size; ++n) { - out[k] += in[n] * cos(PI * (2 * n + 1) * k / (2 * size)); - } - if (k == 0) - out[k] = out[k] * kInvSqrt2; - } -} - -typedef void (*FdctFuncRef)(const double *in, double *out, int size); -typedef void (*IdctFuncRef)(const double *in, double *out, int size); -typedef void (*FdctFunc)(const tran_low_t *in, tran_low_t *out); -typedef void (*IdctFunc)(const tran_low_t *in, tran_low_t *out); - -class TransTestBase { - public: - virtual ~TransTestBase() {} - - protected: - void RunFwdAccuracyCheck() { - tran_low_t *input = new tran_low_t[txfm_size_]; - tran_low_t *output = new tran_low_t[txfm_size_]; - double *ref_input = new double[txfm_size_]; - double *ref_output = new double[txfm_size_]; - - ACMRandom rnd(ACMRandom::DeterministicSeed()); - const int count_test_block = 5000; - for (int ti = 0; ti < count_test_block; ++ti) { - for (int ni = 0; ni < txfm_size_; ++ni) { - input[ni] = rnd.Rand8() - rnd.Rand8(); - ref_input[ni] = static_cast<double>(input[ni]); - } - - fwd_txfm_(input, output); - fwd_txfm_ref_(ref_input, ref_output, txfm_size_); - - for (int ni = 0; ni < txfm_size_; ++ni) { - EXPECT_LE( - abs(output[ni] - static_cast<tran_low_t>(round(ref_output[ni]))), - max_error_); - } - } - - delete[] input; - delete[] output; - delete[] ref_input; - delete[] ref_output; - } - - double max_error_; - int txfm_size_; - FdctFunc fwd_txfm_; - FdctFuncRef fwd_txfm_ref_; -}; - -typedef std::tr1::tuple<FdctFunc, FdctFuncRef, int, int> FdctParam; -class Vp10FwdTxfm - : public TransTestBase, - public ::testing::TestWithParam<FdctParam> { - public: - virtual void SetUp() { - fwd_txfm_ = GET_PARAM(0); - fwd_txfm_ref_ = GET_PARAM(1); - txfm_size_ = GET_PARAM(2); - max_error_ = GET_PARAM(3); - } - virtual void TearDown() {} -}; - -TEST_P(Vp10FwdTxfm, RunFwdAccuracyCheck) { - RunFwdAccuracyCheck(); -} - -INSTANTIATE_TEST_CASE_P( - C, Vp10FwdTxfm, - ::testing::Values( - FdctParam(&fdct4, &reference_dct_1d, 4, 1), - FdctParam(&fdct8, &reference_dct_1d, 8, 1), - FdctParam(&fdct16, &reference_dct_1d, 16, 2))); -} // namespace diff --git a/test/vp10_inv_txfm_test.cc b/test/vp10_inv_txfm_test.cc deleted file mode 100644 index c49081ef8..000000000 --- a/test/vp10_inv_txfm_test.cc +++ /dev/null @@ -1,321 +0,0 @@ -/* - * Copyright (c) 2013 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include <math.h> -#include <stdlib.h> -#include <string.h> - -#include "third_party/googletest/src/include/gtest/gtest.h" - -#include "./vp10_rtcd.h" -#include "./vpx_dsp_rtcd.h" -#include "test/acm_random.h" -#include "test/clear_system_state.h" -#include "test/register_state_check.h" -#include "test/util.h" -#include "vp10/common/blockd.h" -#include "vp10/common/scan.h" -#include "vpx/vpx_integer.h" -#include "vp10/common/vp10_inv_txfm.h" - -using libvpx_test::ACMRandom; - -namespace { -const double PI = 3.141592653589793238462643383279502884; -const double kInvSqrt2 = 0.707106781186547524400844362104; - -void reference_idct_1d(const double *in, double *out, int size) { - for (int n = 0; n < size; ++n) { - out[n] = 0; - for (int k = 0; k < size; ++k) { - if (k == 0) - out[n] += kInvSqrt2 * in[k] * cos(PI * (2 * n + 1) * k / (2 * size)); - else - out[n] += in[k] * cos(PI * (2 * n + 1) * k / (2 * size)); - } - } -} - -typedef void (*IdctFuncRef)(const double *in, double *out, int size); -typedef void (*IdctFunc)(const tran_low_t *in, tran_low_t *out); - -class TransTestBase { - public: - virtual ~TransTestBase() {} - - protected: - void RunInvAccuracyCheck() { - tran_low_t *input = new tran_low_t[txfm_size_]; - tran_low_t *output = new tran_low_t[txfm_size_]; - double *ref_input = new double[txfm_size_]; - double *ref_output = new double[txfm_size_]; - - ACMRandom rnd(ACMRandom::DeterministicSeed()); - const int count_test_block = 5000; - for (int ti = 0; ti < count_test_block; ++ti) { - for (int ni = 0; ni < txfm_size_; ++ni) { - input[ni] = rnd.Rand8() - rnd.Rand8(); - ref_input[ni] = static_cast<double>(input[ni]); - } - - fwd_txfm_(input, output); - fwd_txfm_ref_(ref_input, ref_output, txfm_size_); - - for (int ni = 0; ni < txfm_size_; ++ni) { - EXPECT_LE( - abs(output[ni] - static_cast<tran_low_t>(round(ref_output[ni]))), - max_error_); - } - } - - delete[] input; - delete[] output; - delete[] ref_input; - delete[] ref_output; - } - - double max_error_; - int txfm_size_; - IdctFunc fwd_txfm_; - IdctFuncRef fwd_txfm_ref_; -}; - -typedef std::tr1::tuple<IdctFunc, IdctFuncRef, int, int> IdctParam; -class Vp10InvTxfm - : public TransTestBase, - public ::testing::TestWithParam<IdctParam> { - public: - virtual void SetUp() { - fwd_txfm_ = GET_PARAM(0); - fwd_txfm_ref_ = GET_PARAM(1); - txfm_size_ = GET_PARAM(2); - max_error_ = GET_PARAM(3); - } - virtual void TearDown() {} -}; - -TEST_P(Vp10InvTxfm, RunInvAccuracyCheck) { - RunInvAccuracyCheck(); -} - -INSTANTIATE_TEST_CASE_P( - C, Vp10InvTxfm, - ::testing::Values( - IdctParam(&vp10_idct4_c, &reference_idct_1d, 4, 1), - IdctParam(&vp10_idct8_c, &reference_idct_1d, 8, 2), - IdctParam(&vp10_idct16_c, &reference_idct_1d, 16, 4), - IdctParam(&vp10_idct32_c, &reference_idct_1d, 32, 6)) -); - -typedef void (*FwdTxfmFunc)(const int16_t *in, tran_low_t *out, int stride); -typedef void (*InvTxfmFunc)(const tran_low_t *in, uint8_t *out, int stride); -typedef std::tr1::tuple<FwdTxfmFunc, - InvTxfmFunc, - InvTxfmFunc, - TX_SIZE, int> PartialInvTxfmParam; -const int kMaxNumCoeffs = 1024; -class Vp10PartialIDctTest - : public ::testing::TestWithParam<PartialInvTxfmParam> { - public: - virtual ~Vp10PartialIDctTest() {} - virtual void SetUp() { - ftxfm_ = GET_PARAM(0); - full_itxfm_ = GET_PARAM(1); - partial_itxfm_ = GET_PARAM(2); - tx_size_ = GET_PARAM(3); - last_nonzero_ = GET_PARAM(4); - } - - virtual void TearDown() { libvpx_test::ClearSystemState(); } - - protected: - int last_nonzero_; - TX_SIZE tx_size_; - FwdTxfmFunc ftxfm_; - InvTxfmFunc full_itxfm_; - InvTxfmFunc partial_itxfm_; -}; - -TEST_P(Vp10PartialIDctTest, RunQuantCheck) { - ACMRandom rnd(ACMRandom::DeterministicSeed()); - int size; - switch (tx_size_) { - case TX_4X4: - size = 4; - break; - case TX_8X8: - size = 8; - break; - case TX_16X16: - size = 16; - break; - case TX_32X32: - size = 32; - break; - default: - FAIL() << "Wrong Size!"; - break; - } - DECLARE_ALIGNED(16, tran_low_t, test_coef_block1[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, tran_low_t, test_coef_block2[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, uint8_t, dst1[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, uint8_t, dst2[kMaxNumCoeffs]); - - const int count_test_block = 1000; - const int block_size = size * size; - - DECLARE_ALIGNED(16, int16_t, input_extreme_block[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, tran_low_t, output_ref_block[kMaxNumCoeffs]); - - int max_error = 0; - for (int i = 0; i < count_test_block; ++i) { - // clear out destination buffer - memset(dst1, 0, sizeof(*dst1) * block_size); - memset(dst2, 0, sizeof(*dst2) * block_size); - memset(test_coef_block1, 0, sizeof(*test_coef_block1) * block_size); - memset(test_coef_block2, 0, sizeof(*test_coef_block2) * block_size); - - ACMRandom rnd(ACMRandom::DeterministicSeed()); - - for (int i = 0; i < count_test_block; ++i) { - // Initialize a test block with input range [-255, 255]. - if (i == 0) { - for (int j = 0; j < block_size; ++j) - input_extreme_block[j] = 255; - } else if (i == 1) { - for (int j = 0; j < block_size; ++j) - input_extreme_block[j] = -255; - } else { - for (int j = 0; j < block_size; ++j) { - input_extreme_block[j] = rnd.Rand8() % 2 ? 255 : -255; - } - } - - ftxfm_(input_extreme_block, output_ref_block, size); - - // quantization with maximum allowed step sizes - test_coef_block1[0] = (output_ref_block[0] / 1336) * 1336; - for (int j = 1; j < last_nonzero_; ++j) - test_coef_block1[vp10_default_scan_orders[tx_size_].scan[j]] - = (output_ref_block[j] / 1828) * 1828; - } - - ASM_REGISTER_STATE_CHECK(full_itxfm_(test_coef_block1, dst1, size)); - ASM_REGISTER_STATE_CHECK(partial_itxfm_(test_coef_block1, dst2, size)); - - for (int j = 0; j < block_size; ++j) { - const int diff = dst1[j] - dst2[j]; - const int error = diff * diff; - if (max_error < error) - max_error = error; - } - } - - EXPECT_EQ(0, max_error) - << "Error: partial inverse transform produces different results"; -} - -TEST_P(Vp10PartialIDctTest, ResultsMatch) { - ACMRandom rnd(ACMRandom::DeterministicSeed()); - int size; - switch (tx_size_) { - case TX_4X4: - size = 4; - break; - case TX_8X8: - size = 8; - break; - case TX_16X16: - size = 16; - break; - case TX_32X32: - size = 32; - break; - default: - FAIL() << "Wrong Size!"; - break; - } - DECLARE_ALIGNED(16, tran_low_t, test_coef_block1[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, tran_low_t, test_coef_block2[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, uint8_t, dst1[kMaxNumCoeffs]); - DECLARE_ALIGNED(16, uint8_t, dst2[kMaxNumCoeffs]); - const int count_test_block = 1000; - const int max_coeff = 32766 / 4; - const int block_size = size * size; - int max_error = 0; - for (int i = 0; i < count_test_block; ++i) { - // clear out destination buffer - memset(dst1, 0, sizeof(*dst1) * block_size); - memset(dst2, 0, sizeof(*dst2) * block_size); - memset(test_coef_block1, 0, sizeof(*test_coef_block1) * block_size); - memset(test_coef_block2, 0, sizeof(*test_coef_block2) * block_size); - int max_energy_leftover = max_coeff * max_coeff; - for (int j = 0; j < last_nonzero_; ++j) { - int16_t coef = static_cast<int16_t>(sqrt(1.0 * max_energy_leftover) * - (rnd.Rand16() - 32768) / 65536); - max_energy_leftover -= coef * coef; - if (max_energy_leftover < 0) { - max_energy_leftover = 0; - coef = 0; - } - test_coef_block1[vp10_default_scan_orders[tx_size_].scan[j]] = coef; - } - - memcpy(test_coef_block2, test_coef_block1, - sizeof(*test_coef_block2) * block_size); - - ASM_REGISTER_STATE_CHECK(full_itxfm_(test_coef_block1, dst1, size)); - ASM_REGISTER_STATE_CHECK(partial_itxfm_(test_coef_block2, dst2, size)); - - for (int j = 0; j < block_size; ++j) { - const int diff = dst1[j] - dst2[j]; - const int error = diff * diff; - if (max_error < error) - max_error = error; - } - } - - EXPECT_EQ(0, max_error) - << "Error: partial inverse transform produces different results"; -} -using std::tr1::make_tuple; - -INSTANTIATE_TEST_CASE_P( - C, Vp10PartialIDctTest, - ::testing::Values( - make_tuple(&vpx_fdct32x32_c, - &vp10_idct32x32_1024_add_c, - &vp10_idct32x32_34_add_c, - TX_32X32, 34), - make_tuple(&vpx_fdct32x32_c, - &vp10_idct32x32_1024_add_c, - &vp10_idct32x32_1_add_c, - TX_32X32, 1), - make_tuple(&vpx_fdct16x16_c, - &vp10_idct16x16_256_add_c, - &vp10_idct16x16_10_add_c, - TX_16X16, 10), - make_tuple(&vpx_fdct16x16_c, - &vp10_idct16x16_256_add_c, - &vp10_idct16x16_1_add_c, - TX_16X16, 1), - make_tuple(&vpx_fdct8x8_c, - &vp10_idct8x8_64_add_c, - &vp10_idct8x8_12_add_c, - TX_8X8, 12), - make_tuple(&vpx_fdct8x8_c, - &vp10_idct8x8_64_add_c, - &vp10_idct8x8_1_add_c, - TX_8X8, 1), - make_tuple(&vpx_fdct4x4_c, - &vp10_idct4x4_16_add_c, - &vp10_idct4x4_1_add_c, - TX_4X4, 1))); -} // namespace diff --git a/test/vp9_arf_freq_test.cc b/test/vp9_arf_freq_test.cc index 89200d408..aa3e34d62 100644 --- a/test/vp9_arf_freq_test.cc +++ b/test/vp9_arf_freq_test.cc @@ -229,24 +229,4 @@ VP9_INSTANTIATE_TEST_CASE( ::testing::ValuesIn(kTestVectors), ::testing::ValuesIn(kEncodeVectors), ::testing::ValuesIn(kMinArfVectors)); - -#if CONFIG_VP9_HIGHBITDEPTH -# if CONFIG_VP10_ENCODER -// TODO(angiebird): 25-29 fail in high bitdepth mode. -INSTANTIATE_TEST_CASE_P( - DISABLED_VP10, ArfFreqTest, - ::testing::Combine( - ::testing::Values(static_cast<const libvpx_test::CodecFactory *>( - &libvpx_test::kVP10)), - ::testing::ValuesIn(kTestVectors), - ::testing::ValuesIn(kEncodeVectors), - ::testing::ValuesIn(kMinArfVectors))); -# endif // CONFIG_VP10_ENCODER -#else -VP10_INSTANTIATE_TEST_CASE( - ArfFreqTest, - ::testing::ValuesIn(kTestVectors), - ::testing::ValuesIn(kEncodeVectors), - ::testing::ValuesIn(kMinArfVectors)); -#endif // CONFIG_VP9_HIGHBITDEPTH } // namespace diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc index be1fa68c0..666919f4a 100644 --- a/test/vp9_end_to_end_test.cc +++ b/test/vp9_end_to_end_test.cc @@ -186,24 +186,4 @@ VP9_INSTANTIATE_TEST_CASE( ::testing::ValuesIn(kEncodingModeVectors), ::testing::ValuesIn(kTestVectors), ::testing::ValuesIn(kCpuUsedVectors)); - -#if CONFIG_VP9_HIGHBITDEPTH -# if CONFIG_VP10_ENCODER -// TODO(angiebird): many fail in high bitdepth mode. -INSTANTIATE_TEST_CASE_P( - DISABLED_VP10, EndToEndTestLarge, - ::testing::Combine( - ::testing::Values(static_cast<const libvpx_test::CodecFactory *>( - &libvpx_test::kVP10)), - ::testing::ValuesIn(kEncodingModeVectors), - ::testing::ValuesIn(kTestVectors), - ::testing::ValuesIn(kCpuUsedVectors))); -# endif // CONFIG_VP10_ENCODER -#else -VP10_INSTANTIATE_TEST_CASE( - EndToEndTestLarge, - ::testing::ValuesIn(kEncodingModeVectors), - ::testing::ValuesIn(kTestVectors), - ::testing::ValuesIn(kCpuUsedVectors)); -#endif // CONFIG_VP9_HIGHBITDEPTH } // namespace diff --git a/test/vp9_ethread_test.cc b/test/vp9_ethread_test.cc index f0b8cef57..62b91094f 100644 --- a/test/vp9_ethread_test.cc +++ b/test/vp9_ethread_test.cc @@ -128,9 +128,4 @@ VP9_INSTANTIATE_TEST_CASE( ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood, ::libvpx_test::kRealTime), ::testing::Range(1, 9)); - -VP10_INSTANTIATE_TEST_CASE( - VPxEncoderThreadTest, - ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood), - ::testing::Range(1, 3)); } // namespace diff --git a/test/vp9_lossless_test.cc b/test/vp9_lossless_test.cc index 09c1070c6..417739315 100644 --- a/test/vp9_lossless_test.cc +++ b/test/vp9_lossless_test.cc @@ -127,8 +127,4 @@ VP9_INSTANTIATE_TEST_CASE(LosslessTest, ::testing::Values(::libvpx_test::kRealTime, ::libvpx_test::kOnePassGood, ::libvpx_test::kTwoPassGood)); - -VP10_INSTANTIATE_TEST_CASE(LosslessTest, - ::testing::Values(::libvpx_test::kOnePassGood, - ::libvpx_test::kTwoPassGood)); } // namespace |