summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/active_map_refresh_test.cc8
-rw-r--r--test/active_map_test.cc8
-rw-r--r--test/add_noise_test.cc12
-rw-r--r--test/alt_ref_aq_segment_test.cc8
-rw-r--r--test/altref_test.cc16
-rw-r--r--test/android/README2
-rw-r--r--test/aq_segment_test.cc8
-rw-r--r--test/avg_test.cc125
-rw-r--r--test/blockiness_test.cc15
-rw-r--r--test/borders_test.cc4
-rw-r--r--test/byte_alignment_test.cc21
-rw-r--r--test/codec_factory.h12
-rw-r--r--test/comp_avg_pred_test.cc22
-rw-r--r--test/config_test.cc2
-rw-r--r--test/consistency_test.cc22
-rw-r--r--test/convolve_test.cc89
-rw-r--r--test/cpu_speed_test.cc10
-rw-r--r--test/cq_test.cc8
-rw-r--r--test/dct16x16_test.cc47
-rw-r--r--test/dct32x32_test.cc16
-rw-r--r--test/dct_partial_test.cc22
-rw-r--r--test/dct_test.cc90
-rw-r--r--test/decode_api_test.cc72
-rw-r--r--test/decode_corrupted.cc4
-rw-r--r--test/decode_perf_test.cc18
-rw-r--r--test/decode_svc_test.cc10
-rw-r--r--test/decode_test_driver.cc10
-rw-r--r--test/encode_api_test.cc26
-rw-r--r--test/encode_perf_test.cc4
-rw-r--r--test/encode_test_driver.cc10
-rw-r--r--test/encode_test_driver.h7
-rw-r--r--test/error_resilience_test.cc12
-rw-r--r--test/external_frame_buffer_test.cc62
-rw-r--r--test/fdct8x8_test.cc69
-rw-r--r--test/frame_size_tests.cc4
-rw-r--r--test/hadamard_test.cc18
-rw-r--r--test/idct_test.cc29
-rw-r--r--test/invalid_file_test.cc29
-rw-r--r--test/keyframe_test.cc2
-rw-r--r--test/level_test.cc8
-rw-r--r--test/lpf_test.cc36
-rw-r--r--test/minmax_test.cc14
-rw-r--r--test/non_greedy_mv_test.cc14
-rw-r--r--test/partial_idct_test.cc34
-rw-r--r--test/pp_filter_test.cc52
-rw-r--r--test/predict_test.cc40
-rw-r--r--test/quantize_test.cc26
-rw-r--r--test/ratectrl_rtc_test.cc8
-rw-r--r--test/realtime_test.cc27
-rw-r--r--test/resize_test.cc40
-rw-r--r--test/sad_test.cc73
-rw-r--r--test/simple_encode_test.cc353
-rwxr-xr-xtest/stress.sh2
-rw-r--r--test/sum_squares_test.cc7
-rw-r--r--test/superframe_test.cc4
-rw-r--r--test/svc_datarate_test.cc172
-rw-r--r--test/svc_end_to_end_test.cc183
-rw-r--r--test/svc_test.cc13
-rw-r--r--test/test-data.mk5
-rw-r--r--test/test-data.sha13
-rw-r--r--test/test.mk16
-rw-r--r--test/test_intra_pred_speed.cc198
-rw-r--r--test/test_vector_test.cc16
-rw-r--r--test/tile_independence_test.cc2
-rw-r--r--test/timestamp_test.cc8
-rw-r--r--test/user_priv_test.cc8
-rw-r--r--test/variance_test.cc186
-rw-r--r--test/vp8_datarate_test.cc32
-rw-r--r--test/vp8_denoiser_sse2_test.cc11
-rw-r--r--test/vp8_fdct4x4_test.cc18
-rw-r--r--test/vp9_arf_freq_test.cc6
-rw-r--r--test/vp9_block_error_test.cc7
-rw-r--r--test/vp9_boolcoder_test.cc2
-rw-r--r--test/vp9_datarate_test.cc26
-rw-r--r--test/vp9_denoiser_test.cc5
-rw-r--r--test/vp9_encoder_parms_get_to_decoder.cc8
-rw-r--r--test/vp9_end_to_end_test.cc50
-rw-r--r--test/vp9_ethread_test.cc8
-rw-r--r--test/vp9_ext_ratectrl_test.cc201
-rw-r--r--test/vp9_intrapred_test.cc42
-rw-r--r--test/vp9_lossless_test.cc8
-rw-r--r--test/vp9_motion_vector_test.cc10
-rw-r--r--test/vp9_quantize_test.cc44
-rw-r--r--test/vp9_scale_test.cc12
-rw-r--r--test/vp9_skip_loopfilter_test.cc35
-rw-r--r--test/vp9_subtract_test.cc24
-rw-r--r--test/vp9_thread_test.cc28
-rw-r--r--test/vpx_scale_test.cc8
-rw-r--r--test/y4m_test.cc71
-rw-r--r--test/yuv_temporal_filter_test.cc12
-rw-r--r--test/yuv_video_source.h1
91 files changed, 2024 insertions, 1146 deletions
diff --git a/test/active_map_refresh_test.cc b/test/active_map_refresh_test.cc
index a985ed4f1..68d8856ea 100644
--- a/test/active_map_refresh_test.cc
+++ b/test/active_map_refresh_test.cc
@@ -80,7 +80,7 @@ class ActiveMapRefreshTest
} else if (video->frame() >= 2 && video->img()) {
vpx_image_t *current = video->img();
vpx_image_t *previous = y4m_holder_->img();
- ASSERT_TRUE(previous != NULL);
+ ASSERT_NE(previous, nullptr);
vpx_active_map_t map = vpx_active_map_t();
const int width = static_cast<int>(current->d_w);
const int height = static_cast<int>(current->d_h);
@@ -122,7 +122,7 @@ TEST_P(ActiveMapRefreshTest, Test) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(ActiveMapRefreshTest,
- ::testing::Values(::libvpx_test::kRealTime),
- ::testing::Range(5, 6));
+VP9_INSTANTIATE_TEST_SUITE(ActiveMapRefreshTest,
+ ::testing::Values(::libvpx_test::kRealTime),
+ ::testing::Range(5, 6));
} // namespace
diff --git a/test/active_map_test.cc b/test/active_map_test.cc
index 03536c81e..9c55f9a8b 100644
--- a/test/active_map_test.cc
+++ b/test/active_map_test.cc
@@ -62,7 +62,7 @@ class ActiveMapTest
vpx_active_map_t map = vpx_active_map_t();
map.cols = (kWidth + 15) / 16;
map.rows = (kHeight + 15) / 16;
- map.active_map = NULL;
+ map.active_map = nullptr;
encoder->Control(VP8E_SET_ACTIVEMAP, &map);
}
}
@@ -85,7 +85,7 @@ TEST_P(ActiveMapTest, Test) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(ActiveMapTest,
- ::testing::Values(::libvpx_test::kRealTime),
- ::testing::Range(0, 9));
+VP9_INSTANTIATE_TEST_SUITE(ActiveMapTest,
+ ::testing::Values(::libvpx_test::kRealTime),
+ ::testing::Range(0, 9));
} // namespace
diff --git a/test/add_noise_test.cc b/test/add_noise_test.cc
index 0d1893c52..25de4279c 100644
--- a/test/add_noise_test.cc
+++ b/test/add_noise_test.cc
@@ -53,7 +53,7 @@ TEST_P(AddNoiseTest, CheckNoiseAdded) {
const int clamp = vpx_setup_noise(GET_PARAM(0), noise, kNoiseSize);
uint8_t *const s =
reinterpret_cast<uint8_t *>(vpx_calloc(image_size, sizeof(*s)));
- ASSERT_TRUE(s != NULL);
+ ASSERT_NE(s, nullptr);
memset(s, 99, image_size * sizeof(*s));
ASM_REGISTER_STATE_CHECK(
@@ -106,8 +106,8 @@ TEST_P(AddNoiseTest, CheckCvsAssembly) {
uint8_t *const s = reinterpret_cast<uint8_t *>(vpx_calloc(image_size, 1));
uint8_t *const d = reinterpret_cast<uint8_t *>(vpx_calloc(image_size, 1));
- ASSERT_TRUE(s != NULL);
- ASSERT_TRUE(d != NULL);
+ ASSERT_NE(s, nullptr);
+ ASSERT_NE(d, nullptr);
memset(s, 99, image_size);
memset(d, 99, image_size);
@@ -129,20 +129,20 @@ TEST_P(AddNoiseTest, CheckCvsAssembly) {
using std::make_tuple;
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, AddNoiseTest,
::testing::Values(make_tuple(3.25, vpx_plane_add_noise_c),
make_tuple(4.4, vpx_plane_add_noise_c)));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, AddNoiseTest,
::testing::Values(make_tuple(3.25, vpx_plane_add_noise_sse2),
make_tuple(4.4, vpx_plane_add_noise_sse2)));
#endif
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, AddNoiseTest,
::testing::Values(make_tuple(3.25, vpx_plane_add_noise_msa),
make_tuple(4.4, vpx_plane_add_noise_msa)));
diff --git a/test/alt_ref_aq_segment_test.cc b/test/alt_ref_aq_segment_test.cc
index 6e03a4785..00a00e27c 100644
--- a/test/alt_ref_aq_segment_test.cc
+++ b/test/alt_ref_aq_segment_test.cc
@@ -150,8 +150,8 @@ TEST_P(AltRefAqSegmentTest, TestNoMisMatchAltRefAQ4) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(AltRefAqSegmentTest,
- ::testing::Values(::libvpx_test::kOnePassGood,
- ::libvpx_test::kTwoPassGood),
- ::testing::Range(2, 5));
+VP9_INSTANTIATE_TEST_SUITE(AltRefAqSegmentTest,
+ ::testing::Values(::libvpx_test::kOnePassGood,
+ ::libvpx_test::kTwoPassGood),
+ ::testing::Range(2, 5));
} // namespace
diff --git a/test/altref_test.cc b/test/altref_test.cc
index 0119be4da..69bcef774 100644
--- a/test/altref_test.cc
+++ b/test/altref_test.cc
@@ -63,8 +63,8 @@ TEST_P(AltRefTest, MonotonicTimestamps) {
EXPECT_GE(altref_count(), 1);
}
-VP8_INSTANTIATE_TEST_CASE(AltRefTest,
- ::testing::Range(kLookAheadMin, kLookAheadMax));
+VP8_INSTANTIATE_TEST_SUITE(AltRefTest,
+ ::testing::Range(kLookAheadMin, kLookAheadMax));
#endif // CONFIG_VP8_ENCODER
@@ -142,11 +142,11 @@ TEST_P(AltRefForcedKeyTestLarge, ForcedFrameIsKey) {
}
}
-VP8_INSTANTIATE_TEST_CASE(AltRefForcedKeyTestLarge,
- ::testing::Values(::libvpx_test::kOnePassGood),
- ::testing::Range(0, 9));
+VP8_INSTANTIATE_TEST_SUITE(AltRefForcedKeyTestLarge,
+ ::testing::Values(::libvpx_test::kOnePassGood),
+ ::testing::Range(0, 9));
-VP9_INSTANTIATE_TEST_CASE(AltRefForcedKeyTestLarge,
- ::testing::Values(::libvpx_test::kOnePassGood),
- ::testing::Range(0, 9));
+VP9_INSTANTIATE_TEST_SUITE(AltRefForcedKeyTestLarge,
+ ::testing::Values(::libvpx_test::kOnePassGood),
+ ::testing::Range(0, 9));
} // namespace
diff --git a/test/android/README b/test/android/README
index f67fea50c..0cd30779d 100644
--- a/test/android/README
+++ b/test/android/README
@@ -16,7 +16,7 @@ Note: Both adb and ndk-build are available at:
3) Run get_files.py to download the test files:
python get_files.py -i /path/to/test-data.sha1 -o /path/to/put/files \
- -u http://downloads.webmproject.org/test_data/libvpx
+ -u https://storage.googleapis.com/downloads.webmproject.org/test_data/libvpx
4) Transfer files to device using adb. Ensure you have proper permissions for
the target
diff --git a/test/aq_segment_test.cc b/test/aq_segment_test.cc
index 3c4053be7..2cbc991d0 100644
--- a/test/aq_segment_test.cc
+++ b/test/aq_segment_test.cc
@@ -102,8 +102,8 @@ TEST_P(AqSegmentTest, TestNoMisMatchAQ3) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(AqSegmentTest,
- ::testing::Values(::libvpx_test::kRealTime,
- ::libvpx_test::kOnePassGood),
- ::testing::Range(3, 9));
+VP9_INSTANTIATE_TEST_SUITE(AqSegmentTest,
+ ::testing::Values(::libvpx_test::kRealTime,
+ ::libvpx_test::kOnePassGood),
+ ::testing::Range(3, 9));
} // namespace
diff --git a/test/avg_test.cc b/test/avg_test.cc
index 72e16f657..196522ce5 100644
--- a/test/avg_test.cc
+++ b/test/avg_test.cc
@@ -35,12 +35,12 @@ template <typename Pixel>
class AverageTestBase : public ::testing::Test {
public:
AverageTestBase(int width, int height)
- : width_(width), height_(height), source_data_(NULL), source_stride_(0),
- bit_depth_(8) {}
+ : width_(width), height_(height), source_data_(nullptr),
+ source_stride_(0), bit_depth_(8) {}
virtual void TearDown() {
vpx_free(source_data_);
- source_data_ = NULL;
+ source_data_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -52,7 +52,7 @@ class AverageTestBase : public ::testing::Test {
virtual void SetUp() {
source_data_ = reinterpret_cast<Pixel *>(
vpx_memalign(kDataAlignment, kDataBlockSize * sizeof(source_data_[0])));
- ASSERT_TRUE(source_data_ != NULL);
+ ASSERT_NE(source_data_, nullptr);
source_stride_ = (width_ + 31) & ~31;
bit_depth_ = 8;
rnd_.Reset(ACMRandom::DeterministicSeed());
@@ -152,6 +152,7 @@ class AverageTestHBD : public AverageTestBase<uint16_t>,
};
#endif // CONFIG_VP9_HIGHBITDEPTH
+#if HAVE_NEON || HAVE_SSE2 || HAVE_MSA
typedef void (*IntProRowFunc)(int16_t hbuf[16], uint8_t const *ref,
const int ref_stride, const int height);
@@ -161,7 +162,8 @@ class IntProRowTest : public AverageTestBase<uint8_t>,
public ::testing::WithParamInterface<IntProRowParam> {
public:
IntProRowTest()
- : AverageTestBase(16, GET_PARAM(0)), hbuf_asm_(NULL), hbuf_c_(NULL) {
+ : AverageTestBase(16, GET_PARAM(0)), hbuf_asm_(nullptr),
+ hbuf_c_(nullptr) {
asm_func_ = GET_PARAM(1);
c_func_ = GET_PARAM(2);
}
@@ -170,7 +172,7 @@ class IntProRowTest : public AverageTestBase<uint8_t>,
virtual void SetUp() {
source_data_ = reinterpret_cast<uint8_t *>(
vpx_memalign(kDataAlignment, kDataBlockSize * sizeof(source_data_[0])));
- ASSERT_TRUE(source_data_ != NULL);
+ ASSERT_NE(source_data_, nullptr);
hbuf_asm_ = reinterpret_cast<int16_t *>(
vpx_memalign(kDataAlignment, sizeof(*hbuf_asm_) * 16));
@@ -180,11 +182,11 @@ class IntProRowTest : public AverageTestBase<uint8_t>,
virtual void TearDown() {
vpx_free(source_data_);
- source_data_ = NULL;
+ source_data_ = nullptr;
vpx_free(hbuf_c_);
- hbuf_c_ = NULL;
+ hbuf_c_ = nullptr;
vpx_free(hbuf_asm_);
- hbuf_asm_ = NULL;
+ hbuf_asm_ = nullptr;
}
void RunComparison() {
@@ -200,6 +202,7 @@ class IntProRowTest : public AverageTestBase<uint8_t>,
int16_t *hbuf_asm_;
int16_t *hbuf_c_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(IntProRowTest);
typedef int16_t (*IntProColFunc)(uint8_t const *ref, const int width);
@@ -226,6 +229,8 @@ class IntProColTest : public AverageTestBase<uint8_t>,
int16_t sum_asm_;
int16_t sum_c_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(IntProColTest);
+#endif // HAVE_NEON || HAVE_SSE2 || HAVE_MSA
typedef int (*SatdFunc)(const tran_low_t *coeffs, int length);
typedef std::tuple<int, SatdFunc> SatdTestParam;
@@ -239,7 +244,7 @@ class SatdTest : public ::testing::Test,
rnd_.Reset(ACMRandom::DeterministicSeed());
src_ = reinterpret_cast<tran_low_t *>(
vpx_memalign(16, sizeof(*src_) * satd_size_));
- ASSERT_TRUE(src_ != NULL);
+ ASSERT_NE(src_, nullptr);
}
virtual void TearDown() {
@@ -295,8 +300,8 @@ class BlockErrorTestFP
vpx_memalign(16, sizeof(*coeff_) * txfm_size_));
dqcoeff_ = reinterpret_cast<tran_low_t *>(
vpx_memalign(16, sizeof(*dqcoeff_) * txfm_size_));
- ASSERT_TRUE(coeff_ != NULL);
- ASSERT_TRUE(dqcoeff_ != NULL);
+ ASSERT_NE(coeff_, nullptr);
+ ASSERT_NE(dqcoeff_, nullptr);
}
virtual void TearDown() {
@@ -378,6 +383,7 @@ TEST_P(AverageTestHBD, Random) {
}
#endif // CONFIG_VP9_HIGHBITDEPTH
+#if HAVE_NEON || HAVE_SSE2 || HAVE_MSA
TEST_P(IntProRowTest, MinValue) {
FillConstant(0);
RunComparison();
@@ -407,6 +413,7 @@ TEST_P(IntProColTest, Random) {
FillRandom();
RunComparison();
}
+#endif
TEST_P(SatdLowbdTest, MinValue) {
const int kMin = -32640;
@@ -557,38 +564,38 @@ TEST_P(BlockErrorTestFP, DISABLED_Speed) {
using std::make_tuple;
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, AverageTest,
::testing::Values(make_tuple(16, 16, 1, 8, &vpx_avg_8x8_c),
make_tuple(16, 16, 1, 4, &vpx_avg_4x4_c)));
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, AverageTestHBD,
::testing::Values(make_tuple(16, 16, 1, 8, &vpx_highbd_avg_8x8_c),
make_tuple(16, 16, 1, 4, &vpx_highbd_avg_4x4_c)));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, AverageTestHBD,
::testing::Values(make_tuple(16, 16, 1, 8, &vpx_highbd_avg_8x8_sse2),
make_tuple(16, 16, 1, 4, &vpx_highbd_avg_4x4_sse2)));
#endif // HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(C, SatdHighbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_c),
- make_tuple(64, &vpx_satd_c),
- make_tuple(256, &vpx_satd_c),
- make_tuple(1024, &vpx_satd_c)));
+INSTANTIATE_TEST_SUITE_P(C, SatdHighbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_c),
+ make_tuple(64, &vpx_satd_c),
+ make_tuple(256, &vpx_satd_c),
+ make_tuple(1024, &vpx_satd_c)));
#endif // CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(C, SatdLowbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_c),
- make_tuple(64, &vpx_satd_c),
- make_tuple(256, &vpx_satd_c),
- make_tuple(1024, &vpx_satd_c)));
+INSTANTIATE_TEST_SUITE_P(C, SatdLowbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_c),
+ make_tuple(64, &vpx_satd_c),
+ make_tuple(256, &vpx_satd_c),
+ make_tuple(1024, &vpx_satd_c)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, BlockErrorTestFP,
::testing::Values(make_tuple(16, &vp9_block_error_fp_c),
make_tuple(64, &vp9_block_error_fp_c),
@@ -596,7 +603,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(1024, &vp9_block_error_fp_c)));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, AverageTest,
::testing::Values(make_tuple(16, 16, 0, 8, &vpx_avg_8x8_sse2),
make_tuple(16, 16, 5, 8, &vpx_avg_8x8_sse2),
@@ -605,27 +612,27 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(16, 16, 5, 4, &vpx_avg_4x4_sse2),
make_tuple(32, 32, 15, 4, &vpx_avg_4x4_sse2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, IntProRowTest,
::testing::Values(make_tuple(16, &vpx_int_pro_row_sse2, &vpx_int_pro_row_c),
make_tuple(32, &vpx_int_pro_row_sse2, &vpx_int_pro_row_c),
make_tuple(64, &vpx_int_pro_row_sse2,
&vpx_int_pro_row_c)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, IntProColTest,
::testing::Values(make_tuple(16, &vpx_int_pro_col_sse2, &vpx_int_pro_col_c),
make_tuple(32, &vpx_int_pro_col_sse2, &vpx_int_pro_col_c),
make_tuple(64, &vpx_int_pro_col_sse2,
&vpx_int_pro_col_c)));
-INSTANTIATE_TEST_CASE_P(SSE2, SatdLowbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_sse2),
- make_tuple(64, &vpx_satd_sse2),
- make_tuple(256, &vpx_satd_sse2),
- make_tuple(1024, &vpx_satd_sse2)));
+INSTANTIATE_TEST_SUITE_P(SSE2, SatdLowbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_sse2),
+ make_tuple(64, &vpx_satd_sse2),
+ make_tuple(256, &vpx_satd_sse2),
+ make_tuple(1024, &vpx_satd_sse2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, BlockErrorTestFP,
::testing::Values(make_tuple(16, &vp9_block_error_fp_sse2),
make_tuple(64, &vp9_block_error_fp_sse2),
@@ -634,14 +641,14 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(AVX2, SatdLowbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_avx2),
- make_tuple(64, &vpx_satd_avx2),
- make_tuple(256, &vpx_satd_avx2),
- make_tuple(1024, &vpx_satd_avx2)));
+INSTANTIATE_TEST_SUITE_P(AVX2, SatdLowbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_avx2),
+ make_tuple(64, &vpx_satd_avx2),
+ make_tuple(256, &vpx_satd_avx2),
+ make_tuple(1024, &vpx_satd_avx2)));
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, SatdHighbdTest,
::testing::Values(make_tuple(16, &vpx_highbd_satd_avx2),
make_tuple(64, &vpx_highbd_satd_avx2),
@@ -649,7 +656,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(1024, &vpx_highbd_satd_avx2)));
#endif // CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, BlockErrorTestFP,
::testing::Values(make_tuple(16, &vp9_block_error_fp_avx2),
make_tuple(64, &vp9_block_error_fp_avx2),
@@ -658,7 +665,7 @@ INSTANTIATE_TEST_CASE_P(
#endif
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, AverageTest,
::testing::Values(make_tuple(16, 16, 0, 8, &vpx_avg_8x8_neon),
make_tuple(16, 16, 5, 8, &vpx_avg_8x8_neon),
@@ -667,30 +674,30 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(16, 16, 5, 4, &vpx_avg_4x4_neon),
make_tuple(32, 32, 15, 4, &vpx_avg_4x4_neon)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, IntProRowTest,
::testing::Values(make_tuple(16, &vpx_int_pro_row_neon, &vpx_int_pro_row_c),
make_tuple(32, &vpx_int_pro_row_neon, &vpx_int_pro_row_c),
make_tuple(64, &vpx_int_pro_row_neon,
&vpx_int_pro_row_c)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, IntProColTest,
::testing::Values(make_tuple(16, &vpx_int_pro_col_neon, &vpx_int_pro_col_c),
make_tuple(32, &vpx_int_pro_col_neon, &vpx_int_pro_col_c),
make_tuple(64, &vpx_int_pro_col_neon,
&vpx_int_pro_col_c)));
-INSTANTIATE_TEST_CASE_P(NEON, SatdLowbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_neon),
- make_tuple(64, &vpx_satd_neon),
- make_tuple(256, &vpx_satd_neon),
- make_tuple(1024, &vpx_satd_neon)));
+INSTANTIATE_TEST_SUITE_P(NEON, SatdLowbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_neon),
+ make_tuple(64, &vpx_satd_neon),
+ make_tuple(256, &vpx_satd_neon),
+ make_tuple(1024, &vpx_satd_neon)));
// TODO(jianj): Remove the highbitdepth flag once the SIMD functions are
// in place.
#if !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, BlockErrorTestFP,
::testing::Values(make_tuple(16, &vp9_block_error_fp_neon),
make_tuple(64, &vp9_block_error_fp_neon),
@@ -700,7 +707,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, AverageTest,
::testing::Values(make_tuple(16, 16, 0, 8, &vpx_avg_8x8_msa),
make_tuple(16, 16, 5, 8, &vpx_avg_8x8_msa),
@@ -709,14 +716,14 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(16, 16, 5, 4, &vpx_avg_4x4_msa),
make_tuple(32, 32, 15, 4, &vpx_avg_4x4_msa)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, IntProRowTest,
::testing::Values(make_tuple(16, &vpx_int_pro_row_msa, &vpx_int_pro_row_c),
make_tuple(32, &vpx_int_pro_row_msa, &vpx_int_pro_row_c),
make_tuple(64, &vpx_int_pro_row_msa,
&vpx_int_pro_row_c)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, IntProColTest,
::testing::Values(make_tuple(16, &vpx_int_pro_col_msa, &vpx_int_pro_col_c),
make_tuple(32, &vpx_int_pro_col_msa, &vpx_int_pro_col_c),
@@ -726,11 +733,11 @@ INSTANTIATE_TEST_CASE_P(
// TODO(jingning): Remove the highbitdepth flag once the SIMD functions are
// in place.
#if !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(MSA, SatdLowbdTest,
- ::testing::Values(make_tuple(16, &vpx_satd_msa),
- make_tuple(64, &vpx_satd_msa),
- make_tuple(256, &vpx_satd_msa),
- make_tuple(1024, &vpx_satd_msa)));
+INSTANTIATE_TEST_SUITE_P(MSA, SatdLowbdTest,
+ ::testing::Values(make_tuple(16, &vpx_satd_msa),
+ make_tuple(64, &vpx_satd_msa),
+ make_tuple(256, &vpx_satd_msa),
+ make_tuple(1024, &vpx_satd_msa)));
#endif // !CONFIG_VP9_HIGHBITDEPTH
#endif // HAVE_MSA
diff --git a/test/blockiness_test.cc b/test/blockiness_test.cc
index ced6e66c6..11b2a3f61 100644
--- a/test/blockiness_test.cc
+++ b/test/blockiness_test.cc
@@ -35,18 +35,18 @@ class BlockinessTestBase : public ::testing::Test {
public:
BlockinessTestBase(int width, int height) : width_(width), height_(height) {}
- static void SetUpTestCase() {
+ static void SetUpTestSuite() {
source_data_ = reinterpret_cast<uint8_t *>(
vpx_memalign(kDataAlignment, kDataBufferSize));
reference_data_ = reinterpret_cast<uint8_t *>(
vpx_memalign(kDataAlignment, kDataBufferSize));
}
- static void TearDownTestCase() {
+ static void TearDownTestSuite() {
vpx_free(source_data_);
- source_data_ = NULL;
+ source_data_ = nullptr;
vpx_free(reference_data_);
- reference_data_ = NULL;
+ reference_data_ = nullptr;
}
virtual void TearDown() { libvpx_test::ClearSystemState(); }
@@ -154,8 +154,8 @@ class BlockinessVP9Test
};
#endif // CONFIG_VP9_ENCODER
-uint8_t *BlockinessTestBase::source_data_ = NULL;
-uint8_t *BlockinessTestBase::reference_data_ = NULL;
+uint8_t *BlockinessTestBase::source_data_ = nullptr;
+uint8_t *BlockinessTestBase::reference_data_ = nullptr;
#if CONFIG_VP9_ENCODER
TEST_P(BlockinessVP9Test, SourceBlockierThanReference) {
@@ -215,7 +215,8 @@ using std::make_tuple;
const BlockinessParam c_vp9_tests[] = { make_tuple(320, 240),
make_tuple(318, 242),
make_tuple(318, 238) };
-INSTANTIATE_TEST_CASE_P(C, BlockinessVP9Test, ::testing::ValuesIn(c_vp9_tests));
+INSTANTIATE_TEST_SUITE_P(C, BlockinessVP9Test,
+ ::testing::ValuesIn(c_vp9_tests));
#endif
} // namespace
diff --git a/test/borders_test.cc b/test/borders_test.cc
index b91a15b80..3c1f69a92 100644
--- a/test/borders_test.cc
+++ b/test/borders_test.cc
@@ -79,6 +79,6 @@ TEST_P(BordersTest, TestLowBitrate) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(BordersTest,
- ::testing::Values(::libvpx_test::kTwoPassGood));
+VP9_INSTANTIATE_TEST_SUITE(BordersTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood));
} // namespace
diff --git a/test/byte_alignment_test.cc b/test/byte_alignment_test.cc
index 0ef6c4c51..1e0ffceb8 100644
--- a/test/byte_alignment_test.cc
+++ b/test/byte_alignment_test.cc
@@ -55,23 +55,24 @@ const ByteAlignmentTestParam kBaTestParams[] = {
class ByteAlignmentTest
: public ::testing::TestWithParam<ByteAlignmentTestParam> {
protected:
- ByteAlignmentTest() : video_(NULL), decoder_(NULL), md5_file_(NULL) {}
+ ByteAlignmentTest()
+ : video_(nullptr), decoder_(nullptr), md5_file_(nullptr) {}
virtual void SetUp() {
video_ = new libvpx_test::WebMVideoSource(kVP9TestFile);
- ASSERT_TRUE(video_ != NULL);
+ ASSERT_NE(video_, nullptr);
video_->Init();
video_->Begin();
const vpx_codec_dec_cfg_t cfg = vpx_codec_dec_cfg_t();
decoder_ = new libvpx_test::VP9Decoder(cfg, 0);
- ASSERT_TRUE(decoder_ != NULL);
+ ASSERT_NE(decoder_, nullptr);
OpenMd5File(kVP9Md5File);
}
virtual void TearDown() {
- if (md5_file_ != NULL) fclose(md5_file_);
+ if (md5_file_ != nullptr) fclose(md5_file_);
delete decoder_;
delete video_;
@@ -90,7 +91,7 @@ class ByteAlignmentTest
}
vpx_codec_err_t DecodeRemainingFrames(int byte_alignment_to_check) {
- for (; video_->cxdata() != NULL; video_->Next()) {
+ for (; video_->cxdata() != nullptr; video_->Next()) {
const vpx_codec_err_t res =
decoder_->DecodeFrame(video_->cxdata(), video_->frame_size());
if (res != VPX_CODEC_OK) return res;
@@ -113,7 +114,7 @@ class ByteAlignmentTest
const vpx_image_t *img;
// Get decompressed data
- while ((img = dec_iter.Next()) != NULL) {
+ while ((img = dec_iter.Next()) != nullptr) {
if (byte_alignment_to_check == kLegacyByteAlignment) {
CheckByteAlignment(img->planes[0], kLegacyYPlaneByteAlignment);
} else {
@@ -128,12 +129,12 @@ class ByteAlignmentTest
// TODO(fgalligan): Move the MD5 testing code into another class.
void OpenMd5File(const std::string &md5_file_name_) {
md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name_);
- ASSERT_TRUE(md5_file_ != NULL)
+ ASSERT_NE(md5_file_, nullptr)
<< "MD5 file open failed. Filename: " << md5_file_name_;
}
void CheckMd5(const vpx_image_t &img) {
- ASSERT_TRUE(md5_file_ != NULL);
+ ASSERT_NE(md5_file_, nullptr);
char expected_md5[33];
char junk[128];
@@ -176,8 +177,8 @@ TEST_P(ByteAlignmentTest, TestAlignment) {
}
}
-INSTANTIATE_TEST_CASE_P(Alignments, ByteAlignmentTest,
- ::testing::ValuesIn(kBaTestParams));
+INSTANTIATE_TEST_SUITE_P(Alignments, ByteAlignmentTest,
+ ::testing::ValuesIn(kBaTestParams));
#endif // CONFIG_WEBM_IO
diff --git a/test/codec_factory.h b/test/codec_factory.h
index 17c9512ca..77ce49de9 100644
--- a/test/codec_factory.h
+++ b/test/codec_factory.h
@@ -157,15 +157,15 @@ class VP8CodecFactory : public CodecFactory {
const libvpx_test::VP8CodecFactory kVP8;
-#define VP8_INSTANTIATE_TEST_CASE(test, ...) \
- INSTANTIATE_TEST_CASE_P( \
+#define VP8_INSTANTIATE_TEST_SUITE(test, ...) \
+ INSTANTIATE_TEST_SUITE_P( \
VP8, test, \
::testing::Combine( \
::testing::Values(static_cast<const libvpx_test::CodecFactory *>( \
&libvpx_test::kVP8)), \
__VA_ARGS__))
#else
-#define VP8_INSTANTIATE_TEST_CASE(test, ...)
+#define VP8_INSTANTIATE_TEST_SUITE(test, ...)
#endif // CONFIG_VP8
/*
@@ -253,15 +253,15 @@ class VP9CodecFactory : public CodecFactory {
const libvpx_test::VP9CodecFactory kVP9;
-#define VP9_INSTANTIATE_TEST_CASE(test, ...) \
- INSTANTIATE_TEST_CASE_P( \
+#define VP9_INSTANTIATE_TEST_SUITE(test, ...) \
+ INSTANTIATE_TEST_SUITE_P( \
VP9, test, \
::testing::Combine( \
::testing::Values(static_cast<const libvpx_test::CodecFactory *>( \
&libvpx_test::kVP9)), \
__VA_ARGS__))
#else
-#define VP9_INSTANTIATE_TEST_CASE(test, ...)
+#define VP9_INSTANTIATE_TEST_SUITE(test, ...)
#endif // CONFIG_VP9
} // namespace libvpx_test
diff --git a/test/comp_avg_pred_test.cc b/test/comp_avg_pred_test.cc
index 56e701e09..b9201a20f 100644
--- a/test/comp_avg_pred_test.cc
+++ b/test/comp_avg_pred_test.cc
@@ -29,9 +29,9 @@ uint8_t avg_with_rounding(uint8_t a, uint8_t b) { return (a + b + 1) >> 1; }
void reference_pred(const Buffer<uint8_t> &pred, const Buffer<uint8_t> &ref,
int width, int height, Buffer<uint8_t> *avg) {
- ASSERT_TRUE(avg->TopLeftPixel() != NULL);
- ASSERT_TRUE(pred.TopLeftPixel() != NULL);
- ASSERT_TRUE(ref.TopLeftPixel() != NULL);
+ ASSERT_NE(avg->TopLeftPixel(), nullptr);
+ ASSERT_NE(pred.TopLeftPixel(), nullptr);
+ ASSERT_NE(ref.TopLeftPixel(), nullptr);
for (int y = 0; y < height; ++y) {
for (int x = 0; x < width; ++x) {
@@ -166,21 +166,21 @@ TEST_P(AvgPredTest, DISABLED_Speed) {
}
}
-INSTANTIATE_TEST_CASE_P(C, AvgPredTest,
- ::testing::Values(&vpx_comp_avg_pred_c));
+INSTANTIATE_TEST_SUITE_P(C, AvgPredTest,
+ ::testing::Values(&vpx_comp_avg_pred_c));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, AvgPredTest,
- ::testing::Values(&vpx_comp_avg_pred_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, AvgPredTest,
+ ::testing::Values(&vpx_comp_avg_pred_sse2));
#endif // HAVE_SSE2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, AvgPredTest,
- ::testing::Values(&vpx_comp_avg_pred_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, AvgPredTest,
+ ::testing::Values(&vpx_comp_avg_pred_neon));
#endif // HAVE_NEON
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(VSX, AvgPredTest,
- ::testing::Values(&vpx_comp_avg_pred_vsx));
+INSTANTIATE_TEST_SUITE_P(VSX, AvgPredTest,
+ ::testing::Values(&vpx_comp_avg_pred_vsx));
#endif // HAVE_VSX
} // namespace
diff --git a/test/config_test.cc b/test/config_test.cc
index b2f8ea5ed..8f4c60e11 100644
--- a/test/config_test.cc
+++ b/test/config_test.cc
@@ -58,5 +58,5 @@ TEST_P(ConfigTest, LagIsDisabled) {
EXPECT_EQ(frame_count_in_, frame_count_out_);
}
-VP8_INSTANTIATE_TEST_CASE(ConfigTest, ONE_PASS_TEST_MODES);
+VP8_INSTANTIATE_TEST_SUITE(ConfigTest, ONE_PASS_TEST_MODES);
} // namespace
diff --git a/test/consistency_test.cc b/test/consistency_test.cc
index 875b06f4a..f0e2cb297 100644
--- a/test/consistency_test.cc
+++ b/test/consistency_test.cc
@@ -39,7 +39,7 @@ class ConsistencyTestBase : public ::testing::Test {
public:
ConsistencyTestBase(int width, int height) : width_(width), height_(height) {}
- static void SetUpTestCase() {
+ static void SetUpTestSuite() {
source_data_[0] = reinterpret_cast<uint8_t *>(
vpx_memalign(kDataAlignment, kDataBufferSize));
reference_data_[0] = reinterpret_cast<uint8_t *>(
@@ -52,15 +52,15 @@ class ConsistencyTestBase : public ::testing::Test {
}
static void ClearSsim() { memset(ssim_array_, 0, kDataBufferSize / 16); }
- static void TearDownTestCase() {
+ static void TearDownTestSuite() {
vpx_free(source_data_[0]);
- source_data_[0] = NULL;
+ source_data_[0] = nullptr;
vpx_free(reference_data_[0]);
- reference_data_[0] = NULL;
+ reference_data_[0] = nullptr;
vpx_free(source_data_[1]);
- source_data_[1] = NULL;
+ source_data_[1] = nullptr;
vpx_free(reference_data_[1]);
- reference_data_[1] = NULL;
+ reference_data_[1] = nullptr;
delete[] ssim_array_;
}
@@ -145,9 +145,9 @@ class ConsistencyVP9Test
};
#endif // CONFIG_VP9_ENCODER
-uint8_t *ConsistencyTestBase::source_data_[2] = { NULL, NULL };
-uint8_t *ConsistencyTestBase::reference_data_[2] = { NULL, NULL };
-Ssimv *ConsistencyTestBase::ssim_array_ = NULL;
+uint8_t *ConsistencyTestBase::source_data_[2] = { nullptr, nullptr };
+uint8_t *ConsistencyTestBase::reference_data_[2] = { nullptr, nullptr };
+Ssimv *ConsistencyTestBase::ssim_array_ = nullptr;
#if CONFIG_VP9_ENCODER
TEST_P(ConsistencyVP9Test, ConsistencyIsZero) {
@@ -208,8 +208,8 @@ using std::make_tuple;
const ConsistencyParam c_vp9_tests[] = { make_tuple(320, 240),
make_tuple(318, 242),
make_tuple(318, 238) };
-INSTANTIATE_TEST_CASE_P(C, ConsistencyVP9Test,
- ::testing::ValuesIn(c_vp9_tests));
+INSTANTIATE_TEST_SUITE_P(C, ConsistencyVP9Test,
+ ::testing::ValuesIn(c_vp9_tests));
#endif
} // namespace
diff --git a/test/convolve_test.cc b/test/convolve_test.cc
index d8d053df5..4b2dadefa 100644
--- a/test/convolve_test.cc
+++ b/test/convolve_test.cc
@@ -341,7 +341,7 @@ void wrapper_filter_block2d_8_c(const uint8_t *src_ptr,
class ConvolveTest : public ::testing::TestWithParam<ConvolveParam> {
public:
- static void SetUpTestCase() {
+ static void SetUpTestSuite() {
// Force input_ to be unaligned, output to be 16 byte aligned.
input_ = reinterpret_cast<uint8_t *>(
vpx_memalign(kDataAlignment, kInputBufferSize + 1)) +
@@ -363,20 +363,20 @@ class ConvolveTest : public ::testing::TestWithParam<ConvolveParam> {
virtual void TearDown() { libvpx_test::ClearSystemState(); }
- static void TearDownTestCase() {
+ static void TearDownTestSuite() {
vpx_free(input_ - 1);
- input_ = NULL;
+ input_ = nullptr;
vpx_free(output_);
- output_ = NULL;
+ output_ = nullptr;
vpx_free(output_ref_);
- output_ref_ = NULL;
+ output_ref_ = nullptr;
#if CONFIG_VP9_HIGHBITDEPTH
vpx_free(input16_ - 1);
- input16_ = NULL;
+ input16_ = nullptr;
vpx_free(output16_);
- output16_ = NULL;
+ output16_ = nullptr;
vpx_free(output16_ref_);
- output16_ref_ = NULL;
+ output16_ref_ = nullptr;
#endif
}
@@ -541,13 +541,13 @@ class ConvolveTest : public ::testing::TestWithParam<ConvolveParam> {
#endif
};
-uint8_t *ConvolveTest::input_ = NULL;
-uint8_t *ConvolveTest::output_ = NULL;
-uint8_t *ConvolveTest::output_ref_ = NULL;
+uint8_t *ConvolveTest::input_ = nullptr;
+uint8_t *ConvolveTest::output_ = nullptr;
+uint8_t *ConvolveTest::output_ref_ = nullptr;
#if CONFIG_VP9_HIGHBITDEPTH
-uint16_t *ConvolveTest::input16_ = NULL;
-uint16_t *ConvolveTest::output16_ = NULL;
-uint16_t *ConvolveTest::output16_ref_ = NULL;
+uint16_t *ConvolveTest::input16_ = nullptr;
+uint16_t *ConvolveTest::output16_ = nullptr;
+uint16_t *ConvolveTest::output16_ref_ = nullptr;
#endif
TEST_P(ConvolveTest, GuardBlocks) { CheckGuardBlocks(); }
@@ -562,7 +562,7 @@ TEST_P(ConvolveTest, DISABLED_Copy_Speed) {
vpx_usec_timer_start(&timer);
for (int n = 0; n < kNumTests; ++n) {
- UUT_->copy_[0](in, kInputStride, out, kOutputStride, NULL, 0, 0, 0, 0,
+ UUT_->copy_[0](in, kInputStride, out, kOutputStride, nullptr, 0, 0, 0, 0,
width, height);
}
vpx_usec_timer_mark(&timer);
@@ -582,7 +582,7 @@ TEST_P(ConvolveTest, DISABLED_Avg_Speed) {
vpx_usec_timer_start(&timer);
for (int n = 0; n < kNumTests; ++n) {
- UUT_->copy_[1](in, kInputStride, out, kOutputStride, NULL, 0, 0, 0, 0,
+ UUT_->copy_[1](in, kInputStride, out, kOutputStride, nullptr, 0, 0, 0, 0,
width, height);
}
vpx_usec_timer_mark(&timer);
@@ -780,7 +780,8 @@ TEST_P(ConvolveTest, Copy) {
uint8_t *const out = output();
ASM_REGISTER_STATE_CHECK(UUT_->copy_[0](in, kInputStride, out, kOutputStride,
- NULL, 0, 0, 0, 0, Width(), Height()));
+ nullptr, 0, 0, 0, 0, Width(),
+ Height()));
CheckGuardBlocks();
@@ -799,7 +800,8 @@ TEST_P(ConvolveTest, Avg) {
CopyOutputToRef();
ASM_REGISTER_STATE_CHECK(UUT_->copy_[1](in, kInputStride, out, kOutputStride,
- NULL, 0, 0, 0, 0, Width(), Height()));
+ nullptr, 0, 0, 0, 0, Width(),
+ Height()));
CheckGuardBlocks();
@@ -955,9 +957,9 @@ TEST_P(ConvolveTest, MatchesReferenceSubpixelFilter) {
UUT_->h8_[i](in, kInputStride, out, kOutputStride, filters,
filter_x, 16, 0, 16, Width(), Height()));
else
- ASM_REGISTER_STATE_CHECK(UUT_->copy_[i](in, kInputStride, out,
- kOutputStride, NULL, 0, 0,
- 0, 0, Width(), Height()));
+ ASM_REGISTER_STATE_CHECK(
+ UUT_->copy_[i](in, kInputStride, out, kOutputStride, nullptr, 0,
+ 0, 0, 0, Width(), Height()));
CheckGuardBlocks();
@@ -1053,9 +1055,9 @@ TEST_P(ConvolveTest, FilterExtremes) {
UUT_->h8_[0](in, kInputStride, out, kOutputStride, filters,
filter_x, 16, 0, 16, Width(), Height()));
else
- ASM_REGISTER_STATE_CHECK(UUT_->copy_[0](in, kInputStride, out,
- kOutputStride, NULL, 0, 0,
- 0, 0, Width(), Height()));
+ ASM_REGISTER_STATE_CHECK(
+ UUT_->copy_[0](in, kInputStride, out, kOutputStride, nullptr,
+ 0, 0, 0, 0, Width(), Height()));
for (int y = 0; y < Height(); ++y) {
for (int x = 0; x < Width(); ++x)
@@ -1276,7 +1278,8 @@ const ConvolveFunctions convolve8_c(
vpx_scaled_2d_c, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve_c[] = { ALL_SIZES(convolve8_c) };
#endif
-INSTANTIATE_TEST_CASE_P(C, ConvolveTest, ::testing::ValuesIn(kArrayConvolve_c));
+INSTANTIATE_TEST_SUITE_P(C, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve_c));
#if HAVE_SSE2 && VPX_ARCH_X86_64
#if CONFIG_VP9_HIGHBITDEPTH
@@ -1317,8 +1320,8 @@ const ConvolveFunctions convolve8_sse2(
const ConvolveParam kArrayConvolve_sse2[] = { ALL_SIZES(convolve8_sse2) };
#endif // CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(SSE2, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve_sse2));
#endif
#if HAVE_SSSE3
@@ -1330,8 +1333,8 @@ const ConvolveFunctions convolve8_ssse3(
vpx_scaled_avg_vert_c, vpx_scaled_2d_ssse3, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve8_ssse3[] = { ALL_SIZES(convolve8_ssse3) };
-INSTANTIATE_TEST_CASE_P(SSSE3, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve8_ssse3));
+INSTANTIATE_TEST_SUITE_P(SSSE3, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve8_ssse3));
#endif
#if HAVE_AVX2
@@ -1362,8 +1365,8 @@ const ConvolveFunctions convolve12_avx2(
const ConvolveParam kArrayConvolve8_avx2[] = { ALL_SIZES(convolve8_avx2),
ALL_SIZES(convolve10_avx2),
ALL_SIZES(convolve12_avx2) };
-INSTANTIATE_TEST_CASE_P(AVX2, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve8_avx2));
+INSTANTIATE_TEST_SUITE_P(AVX2, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve8_avx2));
#else // !CONFIG_VP9_HIGHBITDEPTH
const ConvolveFunctions convolve8_avx2(
vpx_convolve_copy_c, vpx_convolve_avg_c, vpx_convolve8_horiz_avx2,
@@ -1372,8 +1375,8 @@ const ConvolveFunctions convolve8_avx2(
vpx_scaled_horiz_c, vpx_scaled_avg_horiz_c, vpx_scaled_vert_c,
vpx_scaled_avg_vert_c, vpx_scaled_2d_c, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve8_avx2[] = { ALL_SIZES(convolve8_avx2) };
-INSTANTIATE_TEST_CASE_P(AVX2, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve8_avx2));
+INSTANTIATE_TEST_SUITE_P(AVX2, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve8_avx2));
#endif // CONFIG_VP9_HIGHBITDEPTH
#endif // HAVE_AVX2
@@ -1416,8 +1419,8 @@ const ConvolveFunctions convolve8_neon(
const ConvolveParam kArrayConvolve_neon[] = { ALL_SIZES(convolve8_neon) };
#endif // CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(NEON, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve_neon));
#endif // HAVE_NEON
#if HAVE_DSPR2
@@ -1429,8 +1432,8 @@ const ConvolveFunctions convolve8_dspr2(
vpx_scaled_avg_vert_c, vpx_scaled_2d_c, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve8_dspr2[] = { ALL_SIZES(convolve8_dspr2) };
-INSTANTIATE_TEST_CASE_P(DSPR2, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve8_dspr2));
+INSTANTIATE_TEST_SUITE_P(DSPR2, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve8_dspr2));
#endif // HAVE_DSPR2
#if HAVE_MSA
@@ -1442,8 +1445,8 @@ const ConvolveFunctions convolve8_msa(
vpx_scaled_avg_vert_c, vpx_scaled_2d_msa, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve8_msa[] = { ALL_SIZES(convolve8_msa) };
-INSTANTIATE_TEST_CASE_P(MSA, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve8_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve8_msa));
#endif // HAVE_MSA
#if HAVE_VSX
@@ -1454,8 +1457,8 @@ const ConvolveFunctions convolve8_vsx(
vpx_scaled_horiz_c, vpx_scaled_avg_horiz_c, vpx_scaled_vert_c,
vpx_scaled_avg_vert_c, vpx_scaled_2d_c, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve_vsx[] = { ALL_SIZES(convolve8_vsx) };
-INSTANTIATE_TEST_CASE_P(VSX, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve_vsx));
+INSTANTIATE_TEST_SUITE_P(VSX, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve_vsx));
#endif // HAVE_VSX
#if HAVE_MMI
@@ -1466,7 +1469,7 @@ const ConvolveFunctions convolve8_mmi(
vpx_scaled_horiz_c, vpx_scaled_avg_horiz_c, vpx_scaled_vert_c,
vpx_scaled_avg_vert_c, vpx_scaled_2d_c, vpx_scaled_avg_2d_c, 0);
const ConvolveParam kArrayConvolve_mmi[] = { ALL_SIZES(convolve8_mmi) };
-INSTANTIATE_TEST_CASE_P(MMI, ConvolveTest,
- ::testing::ValuesIn(kArrayConvolve_mmi));
+INSTANTIATE_TEST_SUITE_P(MMI, ConvolveTest,
+ ::testing::ValuesIn(kArrayConvolve_mmi));
#endif // HAVE_MMI
} // namespace
diff --git a/test/cpu_speed_test.cc b/test/cpu_speed_test.cc
index 2fb5c10ea..a7623f09a 100644
--- a/test/cpu_speed_test.cc
+++ b/test/cpu_speed_test.cc
@@ -148,9 +148,9 @@ TEST_P(CpuSpeedTest, TestLowBitrate) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP9_INSTANTIATE_TEST_CASE(CpuSpeedTest,
- ::testing::Values(::libvpx_test::kTwoPassGood,
- ::libvpx_test::kOnePassGood,
- ::libvpx_test::kRealTime),
- ::testing::Range(0, 10));
+VP9_INSTANTIATE_TEST_SUITE(CpuSpeedTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood,
+ ::libvpx_test::kOnePassGood,
+ ::libvpx_test::kRealTime),
+ ::testing::Range(0, 10));
} // namespace
diff --git a/test/cq_test.cc b/test/cq_test.cc
index 474b9d0fa..292adb0d0 100644
--- a/test/cq_test.cc
+++ b/test/cq_test.cc
@@ -29,9 +29,9 @@ class CQTest : public ::libvpx_test::EncoderTest,
// maps the cqlevel to the bitrate produced.
typedef std::map<int, uint32_t> BitrateMap;
- static void SetUpTestCase() { bitrates_.clear(); }
+ static void SetUpTestSuite() { bitrates_.clear(); }
- static void TearDownTestCase() {
+ static void TearDownTestSuite() {
ASSERT_TRUE(!HasFailure())
<< "skipping bitrate validation due to earlier failure.";
uint32_t prev_actual_bitrate = kCQTargetBitrate;
@@ -126,6 +126,6 @@ TEST_P(CQTest, LinearPSNRIsHigherForCQLevel) {
EXPECT_GE(cq_psnr_lin, vbr_psnr_lin);
}
-VP8_INSTANTIATE_TEST_CASE(CQTest, ::testing::Range(kCQLevelMin, kCQLevelMax,
- kCQLevelStep));
+VP8_INSTANTIATE_TEST_SUITE(CQTest, ::testing::Range(kCQLevelMin, kCQLevelMax,
+ kCQLevelStep));
} // namespace
diff --git a/test/dct16x16_test.cc b/test/dct16x16_test.cc
index 9ccf2b84f..c04880ec9 100644
--- a/test/dct16x16_test.cc
+++ b/test/dct16x16_test.cc
@@ -714,6 +714,7 @@ TEST_P(Trans16x16HT, QuantCheck) {
RunQuantCheck(429, 729);
}
+#if HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
class InvTrans16x16DCT : public Trans16x16TestBase,
public ::testing::TestWithParam<Idct16x16Param> {
public:
@@ -739,29 +740,31 @@ class InvTrans16x16DCT : public Trans16x16TestBase,
IdctFunc inv_txfm_;
int thresh_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(InvTrans16x16DCT);
TEST_P(InvTrans16x16DCT, CompareReference) {
CompareInvReference(ref_txfm_, thresh_);
}
+#endif // HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
using std::make_tuple;
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, Trans16x16DCT,
::testing::Values(
make_tuple(&vpx_highbd_fdct16x16_c, &idct16x16_10, 0, VPX_BITS_10),
make_tuple(&vpx_highbd_fdct16x16_c, &idct16x16_12, 0, VPX_BITS_12),
make_tuple(&vpx_fdct16x16_c, &vpx_idct16x16_256_add_c, 0, VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(C, Trans16x16DCT,
- ::testing::Values(make_tuple(&vpx_fdct16x16_c,
- &vpx_idct16x16_256_add_c,
- 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(C, Trans16x16DCT,
+ ::testing::Values(make_tuple(&vpx_fdct16x16_c,
+ &vpx_idct16x16_256_add_c,
+ 0, VPX_BITS_8)));
#endif // CONFIG_VP9_HIGHBITDEPTH
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, Trans16x16HT,
::testing::Values(
make_tuple(&vp9_highbd_fht16x16_c, &iht16x16_10, 0, VPX_BITS_10),
@@ -777,7 +780,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vp9_fht16x16_c, &vp9_iht16x16_256_add_c, 2, VPX_BITS_8),
make_tuple(&vp9_fht16x16_c, &vp9_iht16x16_256_add_c, 3, VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, Trans16x16HT,
::testing::Values(
make_tuple(&vp9_fht16x16_c, &vp9_iht16x16_256_add_c, 0, VPX_BITS_8),
@@ -787,18 +790,18 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP9_HIGHBITDEPTH
#if HAVE_NEON && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Trans16x16DCT,
::testing::Values(make_tuple(&vpx_fdct16x16_neon,
&vpx_idct16x16_256_add_neon, 0, VPX_BITS_8)));
#endif // HAVE_NEON && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans16x16DCT,
::testing::Values(make_tuple(&vpx_fdct16x16_sse2,
&vpx_idct16x16_256_add_sse2, 0, VPX_BITS_8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans16x16HT,
::testing::Values(make_tuple(&vp9_fht16x16_sse2, &vp9_iht16x16_256_add_sse2,
0, VPX_BITS_8),
@@ -811,7 +814,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans16x16DCT,
::testing::Values(
make_tuple(&vpx_highbd_fdct16x16_sse2, &idct16x16_10, 0, VPX_BITS_10),
@@ -822,7 +825,7 @@ INSTANTIATE_TEST_CASE_P(
VPX_BITS_12),
make_tuple(&vpx_fdct16x16_sse2, &vpx_idct16x16_256_add_c, 0,
VPX_BITS_8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans16x16HT,
::testing::Values(
make_tuple(&vp9_fht16x16_sse2, &vp9_iht16x16_256_add_c, 0, VPX_BITS_8),
@@ -832,7 +835,7 @@ INSTANTIATE_TEST_CASE_P(
VPX_BITS_8)));
// Optimizations take effect at a threshold of 3155, so we use a value close to
// that to test both branches.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, InvTrans16x16DCT,
::testing::Values(make_tuple(&idct16x16_10_add_10_c,
&idct16x16_10_add_10_sse2, 3167, VPX_BITS_10),
@@ -845,11 +848,11 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(MSA, Trans16x16DCT,
- ::testing::Values(make_tuple(&vpx_fdct16x16_msa,
- &vpx_idct16x16_256_add_msa,
- 0, VPX_BITS_8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
+ MSA, Trans16x16DCT,
+ ::testing::Values(make_tuple(&vpx_fdct16x16_msa, &vpx_idct16x16_256_add_msa,
+ 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
MSA, Trans16x16HT,
::testing::Values(
make_tuple(&vp9_fht16x16_msa, &vp9_iht16x16_256_add_msa, 0, VPX_BITS_8),
@@ -860,9 +863,9 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(VSX, Trans16x16DCT,
- ::testing::Values(make_tuple(&vpx_fdct16x16_c,
- &vpx_idct16x16_256_add_vsx,
- 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
+ VSX, Trans16x16DCT,
+ ::testing::Values(make_tuple(&vpx_fdct16x16_c, &vpx_idct16x16_256_add_vsx,
+ 0, VPX_BITS_8)));
#endif // HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
} // namespace
diff --git a/test/dct32x32_test.cc b/test/dct32x32_test.cc
index 94d6b37fa..8398e17e8 100644
--- a/test/dct32x32_test.cc
+++ b/test/dct32x32_test.cc
@@ -317,7 +317,7 @@ TEST_P(Trans32x32Test, InverseAccuracy) {
using std::make_tuple;
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, Trans32x32Test,
::testing::Values(
make_tuple(&vpx_highbd_fdct32x32_c, &idct32x32_10, 0, VPX_BITS_10),
@@ -328,7 +328,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_fdct32x32_rd_c, &vpx_idct32x32_1024_add_c, 1,
VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_c, &vpx_idct32x32_1024_add_c, 0,
VPX_BITS_8),
@@ -337,7 +337,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP9_HIGHBITDEPTH
#if HAVE_NEON && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_neon,
&vpx_idct32x32_1024_add_neon, 0, VPX_BITS_8),
@@ -346,7 +346,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_sse2,
&vpx_idct32x32_1024_add_sse2, 0, VPX_BITS_8),
@@ -355,7 +355,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Trans32x32Test,
::testing::Values(
make_tuple(&vpx_highbd_fdct32x32_sse2, &idct32x32_10, 0, VPX_BITS_10),
@@ -371,7 +371,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_AVX2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_avx2,
&vpx_idct32x32_1024_add_sse2, 0, VPX_BITS_8),
@@ -380,7 +380,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_AVX2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_msa,
&vpx_idct32x32_1024_add_msa, 0, VPX_BITS_8),
@@ -389,7 +389,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VSX, Trans32x32Test,
::testing::Values(make_tuple(&vpx_fdct32x32_c, &vpx_idct32x32_1024_add_vsx,
0, VPX_BITS_8),
diff --git a/test/dct_partial_test.cc b/test/dct_partial_test.cc
index c889e92d7..8d0e3a912 100644
--- a/test/dct_partial_test.cc
+++ b/test/dct_partial_test.cc
@@ -39,7 +39,7 @@ typedef tuple<PartialFdctFunc, int /* size */, vpx_bit_depth_t>
tran_low_t partial_fdct_ref(const Buffer<int16_t> &in, int size) {
int64_t sum = 0;
- if (in.TopLeftPixel() != NULL) {
+ if (in.TopLeftPixel() != nullptr) {
for (int y = 0; y < size; ++y) {
for (int x = 0; x < size; ++x) {
sum += in.TopLeftPixel()[y * in.stride() + x];
@@ -81,7 +81,7 @@ class PartialFdctTest : public ::testing::TestWithParam<PartialFdctParam> {
Buffer<tran_low_t> output_block = Buffer<tran_low_t>(size_, size_, 0, 16);
ASSERT_TRUE(output_block.Init());
- if (output_block.TopLeftPixel() != NULL) {
+ if (output_block.TopLeftPixel() != nullptr) {
for (int i = 0; i < 100; ++i) {
if (i == 0) {
input_block.Set(maxvalue);
@@ -111,7 +111,7 @@ class PartialFdctTest : public ::testing::TestWithParam<PartialFdctParam> {
TEST_P(PartialFdctTest, PartialFdctTest) { RunTest(); }
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, PartialFdctTest,
::testing::Values(make_tuple(&vpx_highbd_fdct32x32_1_c, 32, VPX_BITS_12),
make_tuple(&vpx_highbd_fdct32x32_1_c, 32, VPX_BITS_10),
@@ -124,7 +124,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_fdct8x8_1_c, 8, VPX_BITS_8),
make_tuple(&vpx_fdct4x4_1_c, 4, VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, PartialFdctTest,
::testing::Values(make_tuple(&vpx_fdct32x32_1_c, 32, VPX_BITS_8),
make_tuple(&vpx_fdct16x16_1_c, 16, VPX_BITS_8),
@@ -133,7 +133,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP9_HIGHBITDEPTH
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, PartialFdctTest,
::testing::Values(make_tuple(&vpx_fdct32x32_1_sse2, 32, VPX_BITS_8),
make_tuple(&vpx_fdct16x16_1_sse2, 16, VPX_BITS_8),
@@ -143,7 +143,7 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_NEON
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, PartialFdctTest,
::testing::Values(make_tuple(&vpx_fdct32x32_1_neon, 32, VPX_BITS_8),
make_tuple(&vpx_fdct16x16_1_neon, 16, VPX_BITS_8),
@@ -152,7 +152,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_fdct8x8_1_neon, 8, VPX_BITS_8),
make_tuple(&vpx_fdct4x4_1_neon, 4, VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, PartialFdctTest,
::testing::Values(make_tuple(&vpx_fdct32x32_1_neon, 32, VPX_BITS_8),
make_tuple(&vpx_fdct16x16_1_neon, 16, VPX_BITS_8),
@@ -163,11 +163,11 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_MSA
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(MSA, PartialFdctTest,
- ::testing::Values(make_tuple(&vpx_fdct8x8_1_msa, 8,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(MSA, PartialFdctTest,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_1_msa, 8,
+ VPX_BITS_8)));
#else // !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, PartialFdctTest,
::testing::Values(make_tuple(&vpx_fdct32x32_1_msa, 32, VPX_BITS_8),
make_tuple(&vpx_fdct16x16_1_msa, 16, VPX_BITS_8),
diff --git a/test/dct_test.cc b/test/dct_test.cc
index ed12f7756..954186953 100644
--- a/test/dct_test.cc
+++ b/test/dct_test.cc
@@ -160,17 +160,17 @@ class TransTestBase : public ::testing::TestWithParam<DctParam> {
src_ = reinterpret_cast<uint8_t *>(
vpx_memalign(16, pixel_size_ * block_size_));
- ASSERT_TRUE(src_ != NULL);
+ ASSERT_NE(src_, nullptr);
dst_ = reinterpret_cast<uint8_t *>(
vpx_memalign(16, pixel_size_ * block_size_));
- ASSERT_TRUE(dst_ != NULL);
+ ASSERT_NE(dst_, nullptr);
}
virtual void TearDown() {
vpx_free(src_);
- src_ = NULL;
+ src_ = nullptr;
vpx_free(dst_);
- dst_ = NULL;
+ dst_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -211,7 +211,7 @@ class TransTestBase : public ::testing::TestWithParam<DctParam> {
Buffer<int16_t> test_input_block =
Buffer<int16_t>(size_, size_, 8, size_ == 4 ? 0 : 16);
ASSERT_TRUE(test_input_block.Init());
- ASSERT_TRUE(test_input_block.TopLeftPixel() != NULL);
+ ASSERT_NE(test_input_block.TopLeftPixel(), nullptr);
Buffer<tran_low_t> test_temp_block =
Buffer<tran_low_t>(size_, size_, 0, 16);
ASSERT_TRUE(test_temp_block.Init());
@@ -316,7 +316,7 @@ class TransTestBase : public ::testing::TestWithParam<DctParam> {
} else if (i == 1) {
input_extreme_block.Set(-max_pixel_value_);
} else {
- ASSERT_TRUE(input_extreme_block.TopLeftPixel() != NULL);
+ ASSERT_NE(input_extreme_block.TopLeftPixel(), nullptr);
for (int h = 0; h < size_; ++h) {
for (int w = 0; w < size_; ++w) {
input_extreme_block
@@ -331,7 +331,7 @@ class TransTestBase : public ::testing::TestWithParam<DctParam> {
// The minimum quant value is 4.
EXPECT_TRUE(output_block.CheckValues(output_ref_block));
- ASSERT_TRUE(output_block.TopLeftPixel() != NULL);
+ ASSERT_NE(output_block.TopLeftPixel(), nullptr);
for (int h = 0; h < size_; ++h) {
for (int w = 0; w < size_; ++w) {
EXPECT_GE(
@@ -369,7 +369,7 @@ class TransTestBase : public ::testing::TestWithParam<DctParam> {
for (int i = 0; i < count_test_block; ++i) {
InitMem();
- ASSERT_TRUE(in.TopLeftPixel() != NULL);
+ ASSERT_NE(in.TopLeftPixel(), nullptr);
// Initialize a test block with input range [-max_pixel_value_,
// max_pixel_value_].
for (int h = 0; h < size_; ++h) {
@@ -473,7 +473,7 @@ static const FuncInfo dct_c_func_info[] = {
1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, TransDCT,
::testing::Combine(
::testing::Range(0, static_cast<int>(sizeof(dct_c_func_info) /
@@ -505,7 +505,7 @@ static const FuncInfo dct_sse2_func_info[] = {
&idct_wrapper<vpx_idct32x32_1024_add_sse2>, 32, 1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, TransDCT,
::testing::Combine(
::testing::Range(0, static_cast<int>(sizeof(dct_sse2_func_info) /
@@ -521,9 +521,9 @@ static const FuncInfo dct_ssse3_func_info = {
};
// TODO(johannkoenig): high bit depth fdct8x8.
-INSTANTIATE_TEST_CASE_P(SSSE3, TransDCT,
- ::testing::Values(make_tuple(0, &dct_ssse3_func_info, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(SSSE3, TransDCT,
+ ::testing::Values(make_tuple(0, &dct_ssse3_func_info,
+ 0, VPX_BITS_8)));
#endif // HAVE_SSSE3 && !CONFIG_VP9_HIGHBITDEPTH && VPX_ARCH_X86_64
#if HAVE_AVX2 && !CONFIG_VP9_HIGHBITDEPTH
@@ -533,9 +533,9 @@ static const FuncInfo dct_avx2_func_info = {
};
// TODO(johannkoenig): high bit depth fdct32x32.
-INSTANTIATE_TEST_CASE_P(AVX2, TransDCT,
- ::testing::Values(make_tuple(0, &dct_avx2_func_info, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(AVX2, TransDCT,
+ ::testing::Values(make_tuple(0, &dct_avx2_func_info, 0,
+ VPX_BITS_8)));
#endif // HAVE_AVX2 && !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_NEON
@@ -550,7 +550,7 @@ static const FuncInfo dct_neon_func_info[4] = {
&idct_wrapper<vpx_idct32x32_1024_add_neon>, 32, 1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, TransDCT,
::testing::Combine(::testing::Range(0, 4),
::testing::Values(dct_neon_func_info),
@@ -569,11 +569,11 @@ static const FuncInfo dct_msa_func_info[4] = {
32, 1 }
};
-INSTANTIATE_TEST_CASE_P(MSA, TransDCT,
- ::testing::Combine(::testing::Range(0, 4),
- ::testing::Values(dct_msa_func_info),
- ::testing::Values(0),
- ::testing::Values(VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
+ MSA, TransDCT,
+ ::testing::Combine(::testing::Range(0, 4),
+ ::testing::Values(dct_msa_func_info),
+ ::testing::Values(0), ::testing::Values(VPX_BITS_8)));
#endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH
@@ -581,9 +581,9 @@ static const FuncInfo dct_vsx_func_info = {
&fdct_wrapper<vpx_fdct4x4_c>, &idct_wrapper<vpx_idct4x4_16_add_vsx>, 4, 1
};
-INSTANTIATE_TEST_CASE_P(VSX, TransDCT,
- ::testing::Values(make_tuple(0, &dct_vsx_func_info, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(VSX, TransDCT,
+ ::testing::Values(make_tuple(0, &dct_vsx_func_info, 0,
+ VPX_BITS_8)));
#endif // HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH &&
#endif // !CONFIG_EMULATE_HARDWARE
@@ -619,7 +619,7 @@ static const FuncInfo ht_c_func_info[] = {
{ &vp9_fht16x16_c, &iht_wrapper<vp9_iht16x16_256_add_c>, 16, 1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, TransHT,
::testing::Combine(
::testing::Range(0, static_cast<int>(sizeof(ht_c_func_info) /
@@ -645,7 +645,7 @@ static const FuncInfo ht_neon_func_info[] = {
{ &vp9_fht16x16_c, &iht_wrapper<vp9_iht16x16_256_add_neon>, 16, 1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, TransHT,
::testing::Combine(
::testing::Range(0, static_cast<int>(sizeof(ht_neon_func_info) /
@@ -662,11 +662,11 @@ static const FuncInfo ht_sse2_func_info[3] = {
{ &vp9_fht16x16_sse2, &iht_wrapper<vp9_iht16x16_256_add_sse2>, 16, 1 }
};
-INSTANTIATE_TEST_CASE_P(SSE2, TransHT,
- ::testing::Combine(::testing::Range(0, 3),
- ::testing::Values(ht_sse2_func_info),
- ::testing::Range(0, 4),
- ::testing::Values(VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
+ SSE2, TransHT,
+ ::testing::Combine(::testing::Range(0, 3),
+ ::testing::Values(ht_sse2_func_info),
+ ::testing::Range(0, 4), ::testing::Values(VPX_BITS_8)));
#endif // HAVE_SSE2
#if HAVE_SSE4_1 && CONFIG_VP9_HIGHBITDEPTH
@@ -679,7 +679,7 @@ static const FuncInfo ht_sse4_1_func_info[3] = {
&highbd_iht_wrapper<vp9_highbd_iht16x16_256_add_sse4_1>, 16, 2 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE4_1, TransHT,
::testing::Combine(::testing::Range(0, 3),
::testing::Values(ht_sse4_1_func_info),
@@ -695,11 +695,11 @@ static const FuncInfo ht_vsx_func_info[3] = {
{ &vp9_fht16x16_c, &iht_wrapper<vp9_iht16x16_256_add_vsx>, 16, 1 }
};
-INSTANTIATE_TEST_CASE_P(VSX, TransHT,
- ::testing::Combine(::testing::Range(0, 3),
- ::testing::Values(ht_vsx_func_info),
- ::testing::Range(0, 4),
- ::testing::Values(VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(VSX, TransHT,
+ ::testing::Combine(::testing::Range(0, 3),
+ ::testing::Values(ht_vsx_func_info),
+ ::testing::Range(0, 4),
+ ::testing::Values(VPX_BITS_8)));
#endif // HAVE_VSX
#endif // !CONFIG_EMULATE_HARDWARE
@@ -726,7 +726,7 @@ static const FuncInfo wht_c_func_info[] = {
{ &fdct_wrapper<vp9_fwht4x4_c>, &idct_wrapper<vpx_iwht4x4_16_add_c>, 4, 1 }
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, TransWHT,
::testing::Combine(
::testing::Range(0, static_cast<int>(sizeof(wht_c_func_info) /
@@ -739,9 +739,9 @@ static const FuncInfo wht_sse2_func_info = {
&fdct_wrapper<vp9_fwht4x4_sse2>, &idct_wrapper<vpx_iwht4x4_16_add_sse2>, 4, 1
};
-INSTANTIATE_TEST_CASE_P(SSE2, TransWHT,
- ::testing::Values(make_tuple(0, &wht_sse2_func_info, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(SSE2, TransWHT,
+ ::testing::Values(make_tuple(0, &wht_sse2_func_info, 0,
+ VPX_BITS_8)));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_VSX && !CONFIG_EMULATE_HARDWARE && !CONFIG_VP9_HIGHBITDEPTH
@@ -749,8 +749,8 @@ static const FuncInfo wht_vsx_func_info = {
&fdct_wrapper<vp9_fwht4x4_c>, &idct_wrapper<vpx_iwht4x4_16_add_vsx>, 4, 1
};
-INSTANTIATE_TEST_CASE_P(VSX, TransWHT,
- ::testing::Values(make_tuple(0, &wht_vsx_func_info, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(VSX, TransWHT,
+ ::testing::Values(make_tuple(0, &wht_vsx_func_info, 0,
+ VPX_BITS_8)));
#endif // HAVE_VSX && !CONFIG_EMULATE_HARDWARE
} // namespace
diff --git a/test/decode_api_test.cc b/test/decode_api_test.cc
index ca7161b6b..9e82ace1b 100644
--- a/test/decode_api_test.cc
+++ b/test/decode_api_test.cc
@@ -31,28 +31,33 @@ TEST(DecodeAPI, InvalidParams) {
uint8_t buf[1] = { 0 };
vpx_codec_ctx_t dec;
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_dec_init(NULL, NULL, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_dec_init(&dec, NULL, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_decode(NULL, NULL, 0, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_decode(NULL, buf, 0, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_decode(NULL, buf, NELEMENTS(buf), NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_decode(NULL, NULL, NELEMENTS(buf), NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_destroy(NULL));
- EXPECT_TRUE(vpx_codec_error(NULL) != NULL);
- EXPECT_TRUE(vpx_codec_error_detail(NULL) == NULL);
+ EXPECT_EQ(vpx_codec_dec_init(nullptr, nullptr, nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_dec_init(&dec, nullptr, nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_decode(nullptr, nullptr, 0, nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_decode(nullptr, buf, 0, nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_decode(nullptr, buf, NELEMENTS(buf), nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_decode(nullptr, nullptr, NELEMENTS(buf), nullptr, 0),
+ VPX_CODEC_INVALID_PARAM);
+ EXPECT_EQ(vpx_codec_destroy(nullptr), VPX_CODEC_INVALID_PARAM);
+ EXPECT_NE(vpx_codec_error(nullptr), nullptr);
+ EXPECT_EQ(vpx_codec_error_detail(nullptr), nullptr);
for (int i = 0; i < NELEMENTS(kCodecs); ++i) {
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_dec_init(NULL, kCodecs[i], NULL, 0));
+ vpx_codec_dec_init(nullptr, kCodecs[i], nullptr, 0));
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, kCodecs[i], NULL, 0));
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, kCodecs[i], nullptr, 0));
EXPECT_EQ(VPX_CODEC_UNSUP_BITSTREAM,
- vpx_codec_decode(&dec, buf, NELEMENTS(buf), NULL, 0));
+ vpx_codec_decode(&dec, buf, NELEMENTS(buf), nullptr, 0));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_decode(&dec, NULL, NELEMENTS(buf), NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_decode(&dec, buf, 0, NULL, 0));
+ vpx_codec_decode(&dec, nullptr, NELEMENTS(buf), nullptr, 0));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
+ vpx_codec_decode(&dec, buf, 0, nullptr, 0));
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
}
@@ -63,11 +68,12 @@ TEST(DecodeAPI, OptionalParams) {
vpx_codec_ctx_t dec;
#if CONFIG_ERROR_CONCEALMENT
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, &vpx_codec_vp8_dx_algo, NULL,
- VPX_CODEC_USE_ERROR_CONCEALMENT));
+ EXPECT_EQ(VPX_CODEC_OK,
+ vpx_codec_dec_init(&dec, &vpx_codec_vp8_dx_algo, nullptr,
+ VPX_CODEC_USE_ERROR_CONCEALMENT));
#else
EXPECT_EQ(VPX_CODEC_INCAPABLE,
- vpx_codec_dec_init(&dec, &vpx_codec_vp8_dx_algo, NULL,
+ vpx_codec_dec_init(&dec, &vpx_codec_vp8_dx_algo, nullptr,
VPX_CODEC_USE_ERROR_CONCEALMENT));
#endif // CONFIG_ERROR_CONCEALMENT
}
@@ -91,25 +97,25 @@ void TestVp9Controls(vpx_codec_ctx_t *dec) {
default: EXPECT_EQ(VPX_CODEC_OK, res) << kControls[i]; break;
}
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_control_(dec, kControls[i], NULL));
+ vpx_codec_control_(dec, kControls[i], nullptr));
}
vp9_ref_frame_t ref;
ref.idx = 0;
EXPECT_EQ(VPX_CODEC_ERROR, vpx_codec_control(dec, VP9_GET_REFERENCE, &ref));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_control(dec, VP9_GET_REFERENCE, NULL));
+ vpx_codec_control(dec, VP9_GET_REFERENCE, nullptr));
vpx_ref_frame_t ref_copy;
const int width = 352;
const int height = 288;
- ASSERT_TRUE(
- vpx_img_alloc(&ref_copy.img, VPX_IMG_FMT_I420, width, height, 1) != NULL);
+ EXPECT_NE(vpx_img_alloc(&ref_copy.img, VPX_IMG_FMT_I420, width, height, 1),
+ nullptr);
ref_copy.frame_type = VP8_LAST_FRAME;
EXPECT_EQ(VPX_CODEC_ERROR,
vpx_codec_control(dec, VP8_COPY_REFERENCE, &ref_copy));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_control(dec, VP8_COPY_REFERENCE, NULL));
+ vpx_codec_control(dec, VP8_COPY_REFERENCE, nullptr));
vpx_img_free(&ref_copy.img);
}
@@ -123,17 +129,17 @@ TEST(DecodeAPI, Vp9InvalidDecode) {
ASSERT_TRUE(!HasFailure());
vpx_codec_ctx_t dec;
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, nullptr, 0));
const uint32_t frame_size = static_cast<uint32_t>(video.frame_size());
#if CONFIG_VP9_HIGHBITDEPTH
EXPECT_EQ(VPX_CODEC_MEM_ERROR,
- vpx_codec_decode(&dec, video.cxdata(), frame_size, NULL, 0));
+ vpx_codec_decode(&dec, video.cxdata(), frame_size, nullptr, 0));
#else
EXPECT_EQ(VPX_CODEC_UNSUP_BITSTREAM,
- vpx_codec_decode(&dec, video.cxdata(), frame_size, NULL, 0));
+ vpx_codec_decode(&dec, video.cxdata(), frame_size, nullptr, 0));
#endif
- vpx_codec_iter_t iter = NULL;
- EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
+ vpx_codec_iter_t iter = nullptr;
+ EXPECT_EQ(nullptr, vpx_codec_get_frame(&dec, &iter));
TestVp9Controls(&dec);
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
@@ -146,12 +152,12 @@ void TestPeekInfo(const uint8_t *const data, uint32_t data_sz,
// to decoder_peek_si_internal on frames of size < 8.
if (data_sz >= 8) {
vpx_codec_ctx_t dec;
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, nullptr, 0));
EXPECT_EQ((data_sz < peek_size) ? VPX_CODEC_UNSUP_BITSTREAM
: VPX_CODEC_CORRUPT_FRAME,
- vpx_codec_decode(&dec, data, data_sz, NULL, 0));
- vpx_codec_iter_t iter = NULL;
- EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
+ vpx_codec_decode(&dec, data, data_sz, nullptr, 0));
+ vpx_codec_iter_t iter = nullptr;
+ EXPECT_EQ(nullptr, vpx_codec_get_frame(&dec, &iter));
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
}
diff --git a/test/decode_corrupted.cc b/test/decode_corrupted.cc
index b1495ce89..31e1da69c 100644
--- a/test/decode_corrupted.cc
+++ b/test/decode_corrupted.cc
@@ -87,14 +87,14 @@ TEST_P(DecodeCorruptedFrameTest, DecodeCorruptedFrame) {
}
#if CONFIG_VP9
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9, DecodeCorruptedFrameTest,
::testing::Values(
static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP9)));
#endif // CONFIG_VP9
#if CONFIG_VP8
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP8, DecodeCorruptedFrameTest,
::testing::Values(
static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP8)));
diff --git a/test/decode_perf_test.cc b/test/decode_perf_test.cc
index aecdd3e99..e07a66744 100644
--- a/test/decode_perf_test.cc
+++ b/test/decode_perf_test.cc
@@ -87,7 +87,7 @@ TEST_P(DecodePerfTest, PerfTest) {
vpx_usec_timer t;
vpx_usec_timer_start(&t);
- for (video.Begin(); video.cxdata() != NULL; video.Next()) {
+ for (video.Begin(); video.cxdata() != nullptr; video.Next()) {
decoder.DecodeFrame(video.cxdata(), video.frame_size());
}
@@ -107,8 +107,8 @@ TEST_P(DecodePerfTest, PerfTest) {
printf("}\n");
}
-INSTANTIATE_TEST_CASE_P(VP9, DecodePerfTest,
- ::testing::ValuesIn(kVP9DecodePerfVectors));
+INSTANTIATE_TEST_SUITE_P(VP9, DecodePerfTest,
+ ::testing::ValuesIn(kVP9DecodePerfVectors));
class VP9NewEncodeDecodePerfTest
: public ::libvpx_test::EncoderTest,
@@ -150,16 +150,16 @@ class VP9NewEncodeDecodePerfTest
const std::string data_path = getenv("LIBVPX_TEST_DATA_PATH");
const std::string path_to_source = data_path + "/" + kNewEncodeOutputFile;
outfile_ = fopen(path_to_source.c_str(), "wb");
- ASSERT_TRUE(outfile_ != NULL);
+ ASSERT_NE(outfile_, nullptr);
}
virtual void EndPassHook() {
- if (outfile_ != NULL) {
+ if (outfile_ != nullptr) {
if (!fseek(outfile_, 0, SEEK_SET)) {
ivf_write_file_header(outfile_, &cfg_, VP9_FOURCC, out_frames_);
}
fclose(outfile_);
- outfile_ = NULL;
+ outfile_ = nullptr;
}
}
@@ -236,7 +236,7 @@ TEST_P(VP9NewEncodeDecodePerfTest, PerfTest) {
vpx_usec_timer t;
vpx_usec_timer_start(&t);
- for (decode_video.Begin(); decode_video.cxdata() != NULL;
+ for (decode_video.Begin(); decode_video.cxdata() != nullptr;
decode_video.Next()) {
decoder.DecodeFrame(decode_video.cxdata(), decode_video.frame_size());
}
@@ -258,6 +258,6 @@ TEST_P(VP9NewEncodeDecodePerfTest, PerfTest) {
printf("}\n");
}
-VP9_INSTANTIATE_TEST_CASE(VP9NewEncodeDecodePerfTest,
- ::testing::Values(::libvpx_test::kTwoPassGood));
+VP9_INSTANTIATE_TEST_SUITE(VP9NewEncodeDecodePerfTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood));
} // namespace
diff --git a/test/decode_svc_test.cc b/test/decode_svc_test.cc
index c6f0873f8..ec9935da7 100644
--- a/test/decode_svc_test.cc
+++ b/test/decode_svc_test.cc
@@ -56,7 +56,7 @@ TEST_P(DecodeSvcTest, DecodeSvcTestUpToSpatialLayer0) {
const std::string filename = GET_PARAM(1);
std::unique_ptr<libvpx_test::CompressedVideoSource> video;
video.reset(new libvpx_test::IVFVideoSource(filename));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
total_frames_ = 0;
spatial_layer_ = 0;
@@ -73,7 +73,7 @@ TEST_P(DecodeSvcTest, DecodeSvcTestUpToSpatialLayer1) {
const std::string filename = GET_PARAM(1);
std::unique_ptr<libvpx_test::CompressedVideoSource> video;
video.reset(new libvpx_test::IVFVideoSource(filename));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
total_frames_ = 0;
spatial_layer_ = 1;
@@ -90,7 +90,7 @@ TEST_P(DecodeSvcTest, DecodeSvcTestUpToSpatialLayer2) {
const std::string filename = GET_PARAM(1);
std::unique_ptr<libvpx_test::CompressedVideoSource> video;
video.reset(new libvpx_test::IVFVideoSource(filename));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
total_frames_ = 0;
spatial_layer_ = 2;
@@ -108,7 +108,7 @@ TEST_P(DecodeSvcTest, DecodeSvcTestUpToSpatialLayer10) {
const std::string filename = GET_PARAM(1);
std::unique_ptr<libvpx_test::CompressedVideoSource> video;
video.reset(new libvpx_test::IVFVideoSource(filename));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
total_frames_ = 0;
spatial_layer_ = 10;
@@ -118,7 +118,7 @@ TEST_P(DecodeSvcTest, DecodeSvcTestUpToSpatialLayer10) {
ASSERT_EQ(total_frames_, kNumFrames);
}
-VP9_INSTANTIATE_TEST_CASE(
+VP9_INSTANTIATE_TEST_SUITE(
DecodeSvcTest, ::testing::ValuesIn(libvpx_test::kVP9TestVectorsSvc,
libvpx_test::kVP9TestVectorsSvc +
libvpx_test::kNumVP9TestVectorsSvc));
diff --git a/test/decode_test_driver.cc b/test/decode_test_driver.cc
index ae2358775..773d673d3 100644
--- a/test/decode_test_driver.cc
+++ b/test/decode_test_driver.cc
@@ -26,7 +26,7 @@ vpx_codec_err_t Decoder::PeekStream(const uint8_t *cxdata, size_t size,
}
vpx_codec_err_t Decoder::DecodeFrame(const uint8_t *cxdata, size_t size) {
- return DecodeFrame(cxdata, size, NULL);
+ return DecodeFrame(cxdata, size, nullptr);
}
vpx_codec_err_t Decoder::DecodeFrame(const uint8_t *cxdata, size_t size,
@@ -67,7 +67,7 @@ void DecoderTest::HandlePeekResult(Decoder *const decoder,
void DecoderTest::RunLoop(CompressedVideoSource *video,
const vpx_codec_dec_cfg_t &dec_cfg) {
Decoder *const decoder = codec_->CreateDecoder(dec_cfg, flags_);
- ASSERT_TRUE(decoder != NULL);
+ ASSERT_NE(decoder, nullptr);
bool end_of_file = false;
// Decode frames.
@@ -78,7 +78,7 @@ void DecoderTest::RunLoop(CompressedVideoSource *video,
vpx_codec_stream_info_t stream_info;
stream_info.sz = sizeof(stream_info);
- if (video->cxdata() != NULL) {
+ if (video->cxdata() != nullptr) {
const vpx_codec_err_t res_peek = decoder->PeekStream(
video->cxdata(), video->frame_size(), &stream_info);
HandlePeekResult(decoder, video, res_peek);
@@ -89,13 +89,13 @@ void DecoderTest::RunLoop(CompressedVideoSource *video,
if (!HandleDecodeResult(res_dec, *video, decoder)) break;
} else {
// Signal end of the file to the decoder.
- const vpx_codec_err_t res_dec = decoder->DecodeFrame(NULL, 0);
+ const vpx_codec_err_t res_dec = decoder->DecodeFrame(nullptr, 0);
ASSERT_EQ(VPX_CODEC_OK, res_dec) << decoder->DecodeError();
end_of_file = true;
}
DxDataIterator dec_iter = decoder->GetDxData();
- const vpx_image_t *img = NULL;
+ const vpx_image_t *img = nullptr;
// Get decompressed data
while (!::testing::Test::HasFailure() && (img = dec_iter.Next())) {
diff --git a/test/encode_api_test.cc b/test/encode_api_test.cc
index 87e29b61d..6bd7e593d 100644
--- a/test/encode_api_test.cc
+++ b/test/encode_api_test.cc
@@ -34,29 +34,33 @@ TEST(EncodeAPI, InvalidParams) {
EXPECT_EQ(&img, vpx_img_wrap(&img, VPX_IMG_FMT_I420, 1, 1, 1, buf));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_init(NULL, NULL, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_init(&enc, NULL, NULL, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_encode(NULL, NULL, 0, 0, 0, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_encode(NULL, &img, 0, 0, 0, 0));
- EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_destroy(NULL));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_enc_config_default(NULL, NULL, 0));
+ vpx_codec_enc_init(nullptr, nullptr, nullptr, 0));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_enc_config_default(NULL, &cfg, 0));
- EXPECT_TRUE(vpx_codec_error(NULL) != NULL);
+ vpx_codec_enc_init(&enc, nullptr, nullptr, 0));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
+ vpx_codec_encode(nullptr, nullptr, 0, 0, 0, 0));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
+ vpx_codec_encode(nullptr, &img, 0, 0, 0, 0));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_destroy(nullptr));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
+ vpx_codec_enc_config_default(nullptr, nullptr, 0));
+ EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
+ vpx_codec_enc_config_default(nullptr, &cfg, 0));
+ EXPECT_NE(vpx_codec_error(nullptr), nullptr);
for (int i = 0; i < NELEMENTS(kCodecs); ++i) {
SCOPED_TRACE(vpx_codec_iface_name(kCodecs[i]));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_enc_init(NULL, kCodecs[i], NULL, 0));
+ vpx_codec_enc_init(nullptr, kCodecs[i], nullptr, 0));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
- vpx_codec_enc_init(&enc, kCodecs[i], NULL, 0));
+ vpx_codec_enc_init(&enc, kCodecs[i], nullptr, 0));
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
vpx_codec_enc_config_default(kCodecs[i], &cfg, 1));
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_enc_config_default(kCodecs[i], &cfg, 0));
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_enc_init(&enc, kCodecs[i], &cfg, 0));
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_encode(&enc, NULL, 0, 0, 0, 0));
+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_encode(&enc, nullptr, 0, 0, 0, 0));
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&enc));
}
diff --git a/test/encode_perf_test.cc b/test/encode_perf_test.cc
index 142d9e2da..142a55952 100644
--- a/test/encode_perf_test.cc
+++ b/test/encode_perf_test.cc
@@ -183,6 +183,6 @@ TEST_P(VP9EncodePerfTest, PerfTest) {
}
}
-VP9_INSTANTIATE_TEST_CASE(VP9EncodePerfTest,
- ::testing::Values(::libvpx_test::kRealTime));
+VP9_INSTANTIATE_TEST_SUITE(VP9EncodePerfTest,
+ ::testing::Values(::libvpx_test::kRealTime));
} // namespace
diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc
index 8fdbdb62a..1ce39eaef 100644
--- a/test/encode_test_driver.cc
+++ b/test/encode_test_driver.cc
@@ -91,7 +91,7 @@ void Encoder::EncodeFrameInternal(const VideoSource &video,
void Encoder::Flush() {
const vpx_codec_err_t res =
- vpx_codec_encode(&encoder_, NULL, 0, 0, 0, deadline_);
+ vpx_codec_encode(&encoder_, nullptr, 0, 0, 0, deadline_);
if (!encoder_.priv)
ASSERT_EQ(VPX_CODEC_ERROR, res) << EncoderError();
else
@@ -182,7 +182,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
BeginPassHook(pass);
std::unique_ptr<Encoder> encoder(
codec_->CreateEncoder(cfg_, deadline_, init_flags_, &stats_));
- ASSERT_TRUE(encoder.get() != NULL);
+ ASSERT_NE(encoder.get(), nullptr);
ASSERT_NO_FATAL_FAILURE(video->Begin());
encoder->InitEncoder(video);
@@ -198,7 +198,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
codec_->CreateDecoder(dec_cfg, dec_init_flags));
bool again;
for (again = true; again; video->Next()) {
- again = (video->img() != NULL);
+ again = (video->img() != nullptr);
PreEncodeFrameHook(video);
PreEncodeFrameHook(video, encoder.get());
@@ -216,7 +216,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
switch (pkt->kind) {
case VPX_CODEC_CX_FRAME_PKT:
has_cxdata = true;
- if (decoder.get() != NULL && DoDecode()) {
+ if (decoder != nullptr && DoDecode()) {
PreDecodeFrameHook(video, decoder.get());
vpx_codec_err_t res_dec = decoder->DecodeFrame(
(const uint8_t *)pkt->data.frame.buf, pkt->data.frame.sz);
@@ -240,7 +240,7 @@ void EncoderTest::RunLoop(VideoSource *video) {
// Flush the decoder when there are no more fragments.
if ((init_flags_ & VPX_CODEC_USE_OUTPUT_PARTITION) && has_dxdata) {
- const vpx_codec_err_t res_dec = decoder->DecodeFrame(NULL, 0);
+ const vpx_codec_err_t res_dec = decoder->DecodeFrame(nullptr, 0);
if (!HandleDecodeResult(res_dec, *video, decoder.get())) break;
}
diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h
index 3edba4b92..38c61952e 100644
--- a/test/encode_test_driver.h
+++ b/test/encode_test_driver.h
@@ -148,6 +148,13 @@ class Encoder {
ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
}
+#if CONFIG_VP9_ENCODER
+ void Control(int ctrl_id, vpx_rc_funcs_t *arg) {
+ const vpx_codec_err_t res = vpx_codec_control_(&encoder_, ctrl_id, arg);
+ ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
+ }
+#endif // CONFIG_VP9_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);
diff --git a/test/error_resilience_test.cc b/test/error_resilience_test.cc
index 030b67c57..45a327ec2 100644
--- a/test/error_resilience_test.cc
+++ b/test/error_resilience_test.cc
@@ -573,10 +573,10 @@ TEST_P(ErrorResilienceTestLargeCodecControls, CodecControl3TemporalLayers) {
}
}
-VP8_INSTANTIATE_TEST_CASE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES,
- ::testing::Values(true));
-VP8_INSTANTIATE_TEST_CASE(ErrorResilienceTestLargeCodecControls,
- ONE_PASS_TEST_MODES);
-VP9_INSTANTIATE_TEST_CASE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES,
- ::testing::Values(true));
+VP8_INSTANTIATE_TEST_SUITE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES,
+ ::testing::Values(true));
+VP8_INSTANTIATE_TEST_SUITE(ErrorResilienceTestLargeCodecControls,
+ ONE_PASS_TEST_MODES);
+VP9_INSTANTIATE_TEST_SUITE(ErrorResilienceTestLarge, ONE_PASS_TEST_MODES,
+ ::testing::Values(true));
} // namespace
diff --git a/test/external_frame_buffer_test.cc b/test/external_frame_buffer_test.cc
index 438eeb3ec..3bd4a1c47 100644
--- a/test/external_frame_buffer_test.cc
+++ b/test/external_frame_buffer_test.cc
@@ -36,7 +36,7 @@ struct ExternalFrameBuffer {
class ExternalFrameBufferList {
public:
ExternalFrameBufferList()
- : num_buffers_(0), num_used_buffers_(0), ext_fb_list_(NULL) {}
+ : num_buffers_(0), num_used_buffers_(0), ext_fb_list_(nullptr) {}
virtual ~ExternalFrameBufferList() {
for (int i = 0; i < num_buffers_; ++i) {
@@ -51,7 +51,7 @@ class ExternalFrameBufferList {
num_buffers_ = num_buffers;
ext_fb_list_ = new ExternalFrameBuffer[num_buffers_];
- EXPECT_TRUE(ext_fb_list_ != NULL);
+ EXPECT_NE(ext_fb_list_, nullptr);
memset(ext_fb_list_, 0, sizeof(ext_fb_list_[0]) * num_buffers_);
return true;
}
@@ -61,7 +61,7 @@ class ExternalFrameBufferList {
// frame buffer is in use by libvpx. Finally sets |fb| to point to the
// external frame buffer. Returns < 0 on an error.
int GetFreeFrameBuffer(size_t min_size, vpx_codec_frame_buffer_t *fb) {
- EXPECT_TRUE(fb != NULL);
+ EXPECT_NE(fb, nullptr);
const int idx = FindFreeBufferIndex();
if (idx == num_buffers_) return -1;
@@ -81,13 +81,13 @@ class ExternalFrameBufferList {
// Test function that will not allocate any data for the frame buffer.
// Returns < 0 on an error.
int GetZeroFrameBuffer(size_t min_size, vpx_codec_frame_buffer_t *fb) {
- EXPECT_TRUE(fb != NULL);
+ EXPECT_NE(fb, nullptr);
const int idx = FindFreeBufferIndex();
if (idx == num_buffers_) return -1;
if (ext_fb_list_[idx].size < min_size) {
delete[] ext_fb_list_[idx].data;
- ext_fb_list_[idx].data = NULL;
+ ext_fb_list_[idx].data = nullptr;
ext_fb_list_[idx].size = min_size;
}
@@ -98,14 +98,14 @@ class ExternalFrameBufferList {
// Marks the external frame buffer that |fb| is pointing to as free.
// Returns < 0 on an error.
int ReturnFrameBuffer(vpx_codec_frame_buffer_t *fb) {
- if (fb == NULL) {
- EXPECT_TRUE(fb != NULL);
+ if (fb == nullptr) {
+ EXPECT_NE(fb, nullptr);
return -1;
}
ExternalFrameBuffer *const ext_fb =
reinterpret_cast<ExternalFrameBuffer *>(fb->priv);
- if (ext_fb == NULL) {
- EXPECT_TRUE(ext_fb != NULL);
+ if (ext_fb == nullptr) {
+ EXPECT_NE(ext_fb, nullptr);
return -1;
}
EXPECT_EQ(1, ext_fb->in_use);
@@ -117,7 +117,7 @@ class ExternalFrameBufferList {
// Checks that the vpx_image_t data is contained within the external frame
// buffer private data passed back in the vpx_image_t.
void CheckImageFrameBuffer(const vpx_image_t *img) {
- if (img->fb_priv != NULL) {
+ if (img->fb_priv != nullptr) {
const struct ExternalFrameBuffer *const ext_fb =
reinterpret_cast<ExternalFrameBuffer *>(img->fb_priv);
@@ -143,7 +143,7 @@ class ExternalFrameBufferList {
// Sets |fb| to an external frame buffer. idx is the index into the frame
// buffer list.
void SetFrameBuffer(int idx, vpx_codec_frame_buffer_t *fb) {
- ASSERT_TRUE(fb != NULL);
+ ASSERT_NE(fb, nullptr);
fb->data = ext_fb_list_[idx].data;
fb->size = ext_fb_list_[idx].size;
ASSERT_EQ(0, ext_fb_list_[idx].in_use);
@@ -208,10 +208,10 @@ class ExternalFrameBufferMD5Test
protected:
ExternalFrameBufferMD5Test()
: DecoderTest(GET_PARAM(::libvpx_test::kCodecFactoryParam)),
- md5_file_(NULL), num_buffers_(0) {}
+ md5_file_(nullptr), num_buffers_(0) {}
virtual ~ExternalFrameBufferMD5Test() {
- if (md5_file_ != NULL) fclose(md5_file_);
+ if (md5_file_ != nullptr) fclose(md5_file_);
}
virtual void PreDecodeFrameHook(
@@ -228,13 +228,13 @@ class ExternalFrameBufferMD5Test
void OpenMD5File(const std::string &md5_file_name_) {
md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name_);
- ASSERT_TRUE(md5_file_ != NULL)
+ ASSERT_NE(md5_file_, nullptr)
<< "Md5 file open failed. Filename: " << md5_file_name_;
}
virtual void DecompressedFrameHook(const vpx_image_t &img,
const unsigned int frame_number) {
- ASSERT_TRUE(md5_file_ != NULL);
+ ASSERT_NE(md5_file_, nullptr);
char expected_md5[33];
char junk[128];
@@ -286,24 +286,25 @@ const char kVP9NonRefTestFile[] = "vp90-2-22-svc_1280x720_1.webm";
// Class for testing passing in external frame buffers to libvpx.
class ExternalFrameBufferTest : public ::testing::Test {
protected:
- ExternalFrameBufferTest() : video_(NULL), decoder_(NULL), num_buffers_(0) {}
+ ExternalFrameBufferTest()
+ : video_(nullptr), decoder_(nullptr), num_buffers_(0) {}
virtual void SetUp() {
video_ = new libvpx_test::WebMVideoSource(kVP9TestFile);
- ASSERT_TRUE(video_ != NULL);
+ ASSERT_NE(video_, nullptr);
video_->Init();
video_->Begin();
vpx_codec_dec_cfg_t cfg = vpx_codec_dec_cfg_t();
decoder_ = new libvpx_test::VP9Decoder(cfg, 0);
- ASSERT_TRUE(decoder_ != NULL);
+ ASSERT_NE(decoder_, nullptr);
}
virtual void TearDown() {
delete decoder_;
- decoder_ = NULL;
+ decoder_ = nullptr;
delete video_;
- video_ = NULL;
+ video_ = nullptr;
}
// Passes the external frame buffer information to libvpx.
@@ -327,7 +328,7 @@ class ExternalFrameBufferTest : public ::testing::Test {
}
vpx_codec_err_t DecodeRemainingFrames() {
- for (; video_->cxdata() != NULL; video_->Next()) {
+ for (; video_->cxdata() != nullptr; video_->Next()) {
const vpx_codec_err_t res =
decoder_->DecodeFrame(video_->cxdata(), video_->frame_size());
if (res != VPX_CODEC_OK) return res;
@@ -338,10 +339,10 @@ class ExternalFrameBufferTest : public ::testing::Test {
void CheckDecodedFrames() {
libvpx_test::DxDataIterator dec_iter = decoder_->GetDxData();
- const vpx_image_t *img = NULL;
+ const vpx_image_t *img = nullptr;
// Get decompressed data
- while ((img = dec_iter.Next()) != NULL) {
+ while ((img = dec_iter.Next()) != nullptr) {
fb_list_.CheckImageFrameBuffer(img);
}
}
@@ -356,13 +357,13 @@ class ExternalFrameBufferNonRefTest : public ExternalFrameBufferTest {
protected:
virtual void SetUp() {
video_ = new libvpx_test::WebMVideoSource(kVP9NonRefTestFile);
- ASSERT_TRUE(video_ != NULL);
+ ASSERT_NE(video_, nullptr);
video_->Init();
video_->Begin();
vpx_codec_dec_cfg_t cfg = vpx_codec_dec_cfg_t();
decoder_ = new libvpx_test::VP9Decoder(cfg, 0);
- ASSERT_TRUE(decoder_ != NULL);
+ ASSERT_NE(decoder_, nullptr);
}
virtual void CheckFrameBufferRelease() {
@@ -405,7 +406,7 @@ TEST_P(ExternalFrameBufferMD5Test, ExtFBMD5Match) {
return;
#endif
}
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
// Construct md5 file name.
@@ -482,13 +483,14 @@ TEST_F(ExternalFrameBufferTest, NullGetFunction) {
const int num_buffers = VP9_MAXIMUM_REF_BUFFERS + VPX_MAXIMUM_WORK_BUFFERS;
ASSERT_EQ(
VPX_CODEC_INVALID_PARAM,
- SetFrameBufferFunctions(num_buffers, NULL, release_vp9_frame_buffer));
+ SetFrameBufferFunctions(num_buffers, nullptr, release_vp9_frame_buffer));
}
TEST_F(ExternalFrameBufferTest, NullReleaseFunction) {
const int num_buffers = VP9_MAXIMUM_REF_BUFFERS + VPX_MAXIMUM_WORK_BUFFERS;
- ASSERT_EQ(VPX_CODEC_INVALID_PARAM,
- SetFrameBufferFunctions(num_buffers, get_vp9_frame_buffer, NULL));
+ ASSERT_EQ(
+ VPX_CODEC_INVALID_PARAM,
+ SetFrameBufferFunctions(num_buffers, get_vp9_frame_buffer, nullptr));
}
TEST_F(ExternalFrameBufferTest, SetAfterDecode) {
@@ -509,7 +511,7 @@ TEST_F(ExternalFrameBufferNonRefTest, ReleaseNonRefFrameBuffer) {
}
#endif // CONFIG_WEBM_IO
-VP9_INSTANTIATE_TEST_CASE(
+VP9_INSTANTIATE_TEST_SUITE(
ExternalFrameBufferMD5Test,
::testing::ValuesIn(libvpx_test::kVP9TestVectors,
libvpx_test::kVP9TestVectors +
diff --git a/test/fdct8x8_test.cc b/test/fdct8x8_test.cc
index 1d4f31871..0822666e7 100644
--- a/test/fdct8x8_test.cc
+++ b/test/fdct8x8_test.cc
@@ -598,6 +598,7 @@ TEST_P(FwdTrans8x8HT, RoundTripErrorCheck) { RunRoundTripErrorCheck(); }
TEST_P(FwdTrans8x8HT, ExtremalCheck) { RunExtremalCheck(); }
+#if HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
class InvTrans8x8DCT : public FwdTrans8x8TestBase,
public ::testing::TestWithParam<Idct8x8Param> {
public:
@@ -624,29 +625,31 @@ class InvTrans8x8DCT : public FwdTrans8x8TestBase,
IdctFunc inv_txfm_;
int thresh_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(InvTrans8x8DCT);
TEST_P(InvTrans8x8DCT, CompareReference) {
CompareInvReference(ref_txfm_, thresh_);
}
+#endif // HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
using std::make_tuple;
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, FwdTrans8x8DCT,
::testing::Values(
make_tuple(&vpx_fdct8x8_c, &vpx_idct8x8_64_add_c, 0, VPX_BITS_8),
make_tuple(&vpx_highbd_fdct8x8_c, &idct8x8_10, 0, VPX_BITS_10),
make_tuple(&vpx_highbd_fdct8x8_c, &idct8x8_12, 0, VPX_BITS_12)));
#else
-INSTANTIATE_TEST_CASE_P(C, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_c,
- &vpx_idct8x8_64_add_c, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(C, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_c,
+ &vpx_idct8x8_64_add_c, 0,
+ VPX_BITS_8)));
#endif // CONFIG_VP9_HIGHBITDEPTH
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_c, &vp9_iht8x8_64_add_c, 0, VPX_BITS_8),
@@ -662,7 +665,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vp9_fht8x8_c, &vp9_iht8x8_64_add_c, 2, VPX_BITS_8),
make_tuple(&vp9_fht8x8_c, &vp9_iht8x8_64_add_c, 3, VPX_BITS_8)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_c, &vp9_iht8x8_64_add_c, 0, VPX_BITS_8),
@@ -672,13 +675,13 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP9_HIGHBITDEPTH
#if HAVE_NEON && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(NEON, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_neon,
- &vpx_idct8x8_64_add_neon,
- 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(NEON, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_neon,
+ &vpx_idct8x8_64_add_neon,
+ 0, VPX_BITS_8)));
#if !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_c, &vp9_iht8x8_64_add_neon, 0, VPX_BITS_8),
@@ -689,11 +692,11 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(SSE2, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_sse2,
- &vpx_idct8x8_64_add_sse2,
- 0, VPX_BITS_8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(SSE2, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_sse2,
+ &vpx_idct8x8_64_add_sse2,
+ 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
SSE2, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_sse2, &vp9_iht8x8_64_add_sse2, 0, VPX_BITS_8),
@@ -703,7 +706,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, FwdTrans8x8DCT,
::testing::Values(make_tuple(&vpx_fdct8x8_sse2, &vpx_idct8x8_64_add_c, 0,
VPX_BITS_8),
@@ -716,7 +719,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_highbd_fdct8x8_sse2,
&idct8x8_64_add_12_sse2, 12, VPX_BITS_12)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_sse2, &vp9_iht8x8_64_add_c, 0, VPX_BITS_8),
@@ -726,7 +729,7 @@ INSTANTIATE_TEST_CASE_P(
// Optimizations take effect at a threshold of 6201, so we use a value close to
// that to test both branches.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, InvTrans8x8DCT,
::testing::Values(
make_tuple(&idct8x8_12_add_10_c, &idct8x8_12_add_10_sse2, 6225,
@@ -739,18 +742,18 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_SSSE3 && VPX_ARCH_X86_64 && !CONFIG_VP9_HIGHBITDEPTH && \
!CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(SSSE3, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_ssse3,
- &vpx_idct8x8_64_add_sse2,
- 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(SSSE3, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_ssse3,
+ &vpx_idct8x8_64_add_sse2,
+ 0, VPX_BITS_8)));
#endif
#if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(MSA, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_msa,
- &vpx_idct8x8_64_add_msa, 0,
- VPX_BITS_8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(MSA, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_msa,
+ &vpx_idct8x8_64_add_msa,
+ 0, VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(
MSA, FwdTrans8x8HT,
::testing::Values(
make_tuple(&vp9_fht8x8_msa, &vp9_iht8x8_64_add_msa, 0, VPX_BITS_8),
@@ -760,9 +763,9 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
-INSTANTIATE_TEST_CASE_P(VSX, FwdTrans8x8DCT,
- ::testing::Values(make_tuple(&vpx_fdct8x8_c,
- &vpx_idct8x8_64_add_vsx, 0,
- VPX_BITS_8)));
+INSTANTIATE_TEST_SUITE_P(VSX, FwdTrans8x8DCT,
+ ::testing::Values(make_tuple(&vpx_fdct8x8_c,
+ &vpx_idct8x8_64_add_vsx,
+ 0, VPX_BITS_8)));
#endif // HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
} // namespace
diff --git a/test/frame_size_tests.cc b/test/frame_size_tests.cc
index 9397af2b2..d85c193e0 100644
--- a/test/frame_size_tests.cc
+++ b/test/frame_size_tests.cc
@@ -69,7 +69,7 @@ class EncoderWithExpectedError : public ::libvpx_test::Encoder {
#if CONFIG_VP9_ENCODER
return &vpx_codec_vp9_cx_algo;
#else
- return NULL;
+ return nullptr;
#endif
}
};
@@ -130,7 +130,7 @@ class VP9FrameSizeTestsLarge : public ::libvpx_test::EncoderTest,
encoder->InitEncoder(video);
ASSERT_FALSE(::testing::Test::HasFatalFailure());
for (bool again = true; again; video->Next()) {
- again = (video->img() != NULL);
+ again = (video->img() != nullptr);
PreEncodeFrameHook(video, encoder.get());
encoder->EncodeFrame(video, frame_flags_, expected_err);
diff --git a/test/hadamard_test.cc b/test/hadamard_test.cc
index 6b7aae3d5..dab945a56 100644
--- a/test/hadamard_test.cc
+++ b/test/hadamard_test.cc
@@ -233,14 +233,14 @@ TEST_P(HadamardLowbdTest, DISABLED_Speed) {
SpeedTest(10000000);
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_c, 8),
HadamardFuncWithSize(&vpx_hadamard_16x16_c, 16),
HadamardFuncWithSize(&vpx_hadamard_32x32_c, 32)));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_sse2, 8),
HadamardFuncWithSize(&vpx_hadamard_16x16_sse2, 16),
@@ -248,20 +248,20 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_16x16_avx2, 16),
HadamardFuncWithSize(&vpx_hadamard_32x32_avx2, 32)));
#endif // HAVE_AVX2
#if HAVE_SSSE3 && VPX_ARCH_X86_64
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_ssse3, 8)));
#endif // HAVE_SSSE3 && VPX_ARCH_X86_64
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_neon, 8),
HadamardFuncWithSize(&vpx_hadamard_16x16_neon, 16)));
@@ -271,7 +271,7 @@ INSTANTIATE_TEST_CASE_P(
// in place and turn on the unit test.
#if !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_msa, 8),
HadamardFuncWithSize(&vpx_hadamard_16x16_msa, 16)));
@@ -279,7 +279,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VSX, HadamardLowbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_hadamard_8x8_vsx, 8),
HadamardFuncWithSize(&vpx_hadamard_16x16_vsx, 16)));
@@ -301,14 +301,14 @@ TEST_P(HadamardHighbdTest, DISABLED_Speed) {
SpeedTest(10000000);
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, HadamardHighbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_highbd_hadamard_8x8_c, 8),
HadamardFuncWithSize(&vpx_highbd_hadamard_16x16_c, 16),
HadamardFuncWithSize(&vpx_highbd_hadamard_32x32_c, 32)));
#if HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, HadamardHighbdTest,
::testing::Values(HadamardFuncWithSize(&vpx_highbd_hadamard_8x8_avx2, 8),
HadamardFuncWithSize(&vpx_highbd_hadamard_16x16_avx2, 16),
diff --git a/test/idct_test.cc b/test/idct_test.cc
index 3564c0bd5..1b9532e1c 100644
--- a/test/idct_test.cc
+++ b/test/idct_test.cc
@@ -31,13 +31,13 @@ class IDCTTest : public ::testing::TestWithParam<IdctFunc> {
UUT = GetParam();
input = new Buffer<int16_t>(4, 4, 0);
- ASSERT_TRUE(input != NULL);
+ ASSERT_NE(input, nullptr);
ASSERT_TRUE(input->Init());
predict = new Buffer<uint8_t>(4, 4, 3);
- ASSERT_TRUE(predict != NULL);
+ ASSERT_NE(predict, nullptr);
ASSERT_TRUE(predict->Init());
output = new Buffer<uint8_t>(4, 4, 3);
- ASSERT_TRUE(output != NULL);
+ ASSERT_NE(output, nullptr);
ASSERT_TRUE(output->Init());
}
@@ -72,7 +72,7 @@ TEST_P(IDCTTest, TestAllZeros) {
TEST_P(IDCTTest, TestAllOnes) {
input->Set(0);
- ASSERT_TRUE(input->TopLeftPixel() != NULL);
+ ASSERT_NE(input->TopLeftPixel(), nullptr);
// When the first element is '4' it will fill the output buffer with '1'.
input->TopLeftPixel()[0] = 4;
predict->Set(0);
@@ -90,7 +90,7 @@ TEST_P(IDCTTest, TestAddOne) {
// Set the transform output to '1' and make sure it gets added to the
// prediction buffer.
input->Set(0);
- ASSERT_TRUE(input->TopLeftPixel() != NULL);
+ ASSERT_NE(input->TopLeftPixel(), nullptr);
input->TopLeftPixel()[0] = 4;
output->Set(0);
@@ -155,25 +155,26 @@ TEST_P(IDCTTest, TestWithData) {
ASSERT_TRUE(output->CheckPadding());
}
-INSTANTIATE_TEST_CASE_P(C, IDCTTest, ::testing::Values(vp8_short_idct4x4llm_c));
+INSTANTIATE_TEST_SUITE_P(C, IDCTTest,
+ ::testing::Values(vp8_short_idct4x4llm_c));
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, IDCTTest,
- ::testing::Values(vp8_short_idct4x4llm_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, IDCTTest,
+ ::testing::Values(vp8_short_idct4x4llm_neon));
#endif // HAVE_NEON
#if HAVE_MMX
-INSTANTIATE_TEST_CASE_P(MMX, IDCTTest,
- ::testing::Values(vp8_short_idct4x4llm_mmx));
+INSTANTIATE_TEST_SUITE_P(MMX, IDCTTest,
+ ::testing::Values(vp8_short_idct4x4llm_mmx));
#endif // HAVE_MMX
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(MSA, IDCTTest,
- ::testing::Values(vp8_short_idct4x4llm_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, IDCTTest,
+ ::testing::Values(vp8_short_idct4x4llm_msa));
#endif // HAVE_MSA
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(MMI, IDCTTest,
- ::testing::Values(vp8_short_idct4x4llm_mmi));
+INSTANTIATE_TEST_SUITE_P(MMI, IDCTTest,
+ ::testing::Values(vp8_short_idct4x4llm_mmi));
#endif // HAVE_MMI
} // namespace
diff --git a/test/invalid_file_test.cc b/test/invalid_file_test.cc
index 8b1bc56c9..762d585f5 100644
--- a/test/invalid_file_test.cc
+++ b/test/invalid_file_test.cc
@@ -38,15 +38,15 @@ std::ostream &operator<<(std::ostream &os, const DecodeParam &dp) {
class InvalidFileTest : public ::libvpx_test::DecoderTest,
public ::libvpx_test::CodecTestWithParam<DecodeParam> {
protected:
- InvalidFileTest() : DecoderTest(GET_PARAM(0)), res_file_(NULL) {}
+ InvalidFileTest() : DecoderTest(GET_PARAM(0)), res_file_(nullptr) {}
virtual ~InvalidFileTest() {
- if (res_file_ != NULL) fclose(res_file_);
+ if (res_file_ != nullptr) fclose(res_file_);
}
void OpenResFile(const std::string &res_file_name_) {
res_file_ = libvpx_test::OpenTestDataFile(res_file_name_);
- ASSERT_TRUE(res_file_ != NULL)
+ ASSERT_NE(res_file_, nullptr)
<< "Result file open failed. Filename: " << res_file_name_;
}
@@ -54,7 +54,7 @@ class InvalidFileTest : public ::libvpx_test::DecoderTest,
const vpx_codec_err_t res_dec,
const libvpx_test::CompressedVideoSource &video,
libvpx_test::Decoder *decoder) {
- EXPECT_TRUE(res_file_ != NULL);
+ EXPECT_NE(res_file_, nullptr);
int expected_res_dec;
// Read integer result.
@@ -102,7 +102,7 @@ class InvalidFileTest : public ::libvpx_test::DecoderTest,
return;
#endif
}
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
// Construct result file name. The file holds a list of expected integer
@@ -129,8 +129,8 @@ const DecodeParam kVP8InvalidFileTests[] = {
{ 1, "invalid-vp80-00-comprehensive-s17661_r01-05_b6-.ivf" },
};
-VP8_INSTANTIATE_TEST_CASE(InvalidFileTest,
- ::testing::ValuesIn(kVP8InvalidFileTests));
+VP8_INSTANTIATE_TEST_SUITE(InvalidFileTest,
+ ::testing::ValuesIn(kVP8InvalidFileTests));
#endif // CONFIG_VP8_DECODER
#if CONFIG_VP9_DECODER
@@ -163,8 +163,8 @@ const DecodeParam kVP9InvalidFileTests[] = {
{ 1, "invalid-crbug-667044.webm" },
};
-VP9_INSTANTIATE_TEST_CASE(InvalidFileTest,
- ::testing::ValuesIn(kVP9InvalidFileTests));
+VP9_INSTANTIATE_TEST_SUITE(InvalidFileTest,
+ ::testing::ValuesIn(kVP9InvalidFileTests));
#endif // CONFIG_VP9_DECODER
// This class will include test vectors that are expected to fail
@@ -184,8 +184,8 @@ const DecodeParam kVP8InvalidPeekTests[] = {
{ 1, "invalid-vp80-00-comprehensive-018.ivf.2kf_0x6.ivf" },
};
-VP8_INSTANTIATE_TEST_CASE(InvalidFileInvalidPeekTest,
- ::testing::ValuesIn(kVP8InvalidPeekTests));
+VP8_INSTANTIATE_TEST_SUITE(InvalidFileInvalidPeekTest,
+ ::testing::ValuesIn(kVP8InvalidPeekTests));
#endif // CONFIG_VP8_DECODER
#if CONFIG_VP9_DECODER
@@ -193,8 +193,9 @@ const DecodeParam kVP9InvalidFileInvalidPeekTests[] = {
{ 1, "invalid-vp90-01-v3.webm" },
};
-VP9_INSTANTIATE_TEST_CASE(InvalidFileInvalidPeekTest,
- ::testing::ValuesIn(kVP9InvalidFileInvalidPeekTests));
+VP9_INSTANTIATE_TEST_SUITE(
+ InvalidFileInvalidPeekTest,
+ ::testing::ValuesIn(kVP9InvalidFileInvalidPeekTests));
const DecodeParam kMultiThreadedVP9InvalidFileTests[] = {
{ 4, "invalid-vp90-2-08-tile_1x4_frame_parallel_all_key.webm" },
@@ -210,7 +211,7 @@ const DecodeParam kMultiThreadedVP9InvalidFileTests[] = {
{ 4, "invalid-crbug-1562.ivf" },
};
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9MultiThreaded, InvalidFileTest,
::testing::Combine(
::testing::Values(
diff --git a/test/keyframe_test.cc b/test/keyframe_test.cc
index 582d44816..a13dec9ce 100644
--- a/test/keyframe_test.cc
+++ b/test/keyframe_test.cc
@@ -145,5 +145,5 @@ TEST_P(KeyframeTest, TestAutoKeyframe) {
}
}
-VP8_INSTANTIATE_TEST_CASE(KeyframeTest, ALL_TEST_MODES);
+VP8_INSTANTIATE_TEST_SUITE(KeyframeTest, ALL_TEST_MODES);
} // namespace
diff --git a/test/level_test.cc b/test/level_test.cc
index 26935a81b..038d75f44 100644
--- a/test/level_test.cc
+++ b/test/level_test.cc
@@ -140,8 +140,8 @@ TEST_P(LevelTest, TestTargetLevelApi) {
EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&enc));
}
-VP9_INSTANTIATE_TEST_CASE(LevelTest,
- ::testing::Values(::libvpx_test::kTwoPassGood,
- ::libvpx_test::kOnePassGood),
- ::testing::Range(0, 9));
+VP9_INSTANTIATE_TEST_SUITE(LevelTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood,
+ ::libvpx_test::kOnePassGood),
+ ::testing::Range(0, 9));
} // namespace
diff --git a/test/lpf_test.cc b/test/lpf_test.cc
index 9db1181c6..62c6f30a0 100644
--- a/test/lpf_test.cc
+++ b/test/lpf_test.cc
@@ -145,7 +145,10 @@ class Loop8Test6Param : public ::testing::TestWithParam<loop8_param_t> {
loop_op_t loopfilter_op_;
loop_op_t ref_loopfilter_op_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(Loop8Test6Param);
+#if HAVE_NEON || HAVE_SSE2 || \
+ (HAVE_DSPR2 || HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH)
class Loop8Test9Param : public ::testing::TestWithParam<dualloop8_param_t> {
public:
virtual ~Loop8Test9Param() {}
@@ -164,6 +167,9 @@ class Loop8Test9Param : public ::testing::TestWithParam<dualloop8_param_t> {
dual_loop_op_t loopfilter_op_;
dual_loop_op_t ref_loopfilter_op_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(Loop8Test9Param);
+#endif // HAVE_NEON || HAVE_SSE2 || (HAVE_DSPR2 || HAVE_MSA &&
+ // (!CONFIG_VP9_HIGHBITDEPTH))
TEST_P(Loop8Test6Param, OperationCheck) {
ACMRandom rnd(ACMRandom::DeterministicSeed());
@@ -275,6 +281,8 @@ TEST_P(Loop8Test6Param, ValueCheck) {
<< "First failed at test case " << first_failure;
}
+#if HAVE_NEON || HAVE_SSE2 || \
+ (HAVE_DSPR2 || HAVE_MSA && (!CONFIG_VP9_HIGHBITDEPTH))
TEST_P(Loop8Test9Param, OperationCheck) {
ACMRandom rnd(ACMRandom::DeterministicSeed());
const int count_test_block = number_of_iterations;
@@ -402,12 +410,14 @@ TEST_P(Loop8Test9Param, ValueCheck) {
"loopfilter output. "
<< "First failed at test case " << first_failure;
}
+#endif // HAVE_NEON || HAVE_SSE2 || (HAVE_DSPR2 || HAVE_MSA &&
+ // (!CONFIG_VP9_HIGHBITDEPTH))
using std::make_tuple;
#if HAVE_SSE2
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Loop8Test6Param,
::testing::Values(make_tuple(&vpx_highbd_lpf_horizontal_4_sse2,
&vpx_highbd_lpf_horizontal_4_c, 8),
@@ -458,7 +468,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_highbd_lpf_vertical_16_dual_sse2,
&vpx_highbd_lpf_vertical_16_dual_c, 12)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Loop8Test6Param,
::testing::Values(
make_tuple(&vpx_lpf_horizontal_4_sse2, &vpx_lpf_horizontal_4_c, 8),
@@ -475,7 +485,7 @@ INSTANTIATE_TEST_CASE_P(
#endif
#if HAVE_AVX2 && (!CONFIG_VP9_HIGHBITDEPTH)
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, Loop8Test6Param,
::testing::Values(make_tuple(&vpx_lpf_horizontal_16_avx2,
&vpx_lpf_horizontal_16_c, 8),
@@ -485,7 +495,7 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_SSE2
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_highbd_lpf_horizontal_4_dual_sse2,
&vpx_highbd_lpf_horizontal_4_dual_c, 8),
@@ -512,7 +522,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_highbd_lpf_vertical_8_dual_sse2,
&vpx_highbd_lpf_vertical_8_dual_c, 12)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_lpf_horizontal_4_dual_sse2,
&vpx_lpf_horizontal_4_dual_c, 8),
@@ -527,7 +537,7 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_NEON
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Loop8Test6Param,
::testing::Values(make_tuple(&vpx_highbd_lpf_horizontal_4_neon,
&vpx_highbd_lpf_horizontal_4_c, 8),
@@ -577,7 +587,7 @@ INSTANTIATE_TEST_CASE_P(
&vpx_highbd_lpf_vertical_16_dual_c, 10),
make_tuple(&vpx_highbd_lpf_vertical_16_dual_neon,
&vpx_highbd_lpf_vertical_16_dual_c, 12)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_highbd_lpf_horizontal_4_dual_neon,
&vpx_highbd_lpf_horizontal_4_dual_c, 8),
@@ -604,7 +614,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_highbd_lpf_vertical_8_dual_neon,
&vpx_highbd_lpf_vertical_8_dual_c, 12)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Loop8Test6Param,
::testing::Values(
make_tuple(&vpx_lpf_horizontal_16_neon, &vpx_lpf_horizontal_16_c, 8),
@@ -617,7 +627,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_lpf_vertical_8_neon, &vpx_lpf_vertical_8_c, 8),
make_tuple(&vpx_lpf_horizontal_4_neon, &vpx_lpf_horizontal_4_c, 8),
make_tuple(&vpx_lpf_vertical_4_neon, &vpx_lpf_vertical_4_c, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_lpf_horizontal_8_dual_neon,
&vpx_lpf_horizontal_8_dual_c, 8),
@@ -631,7 +641,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON
#if HAVE_DSPR2 && !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
DSPR2, Loop8Test6Param,
::testing::Values(
make_tuple(&vpx_lpf_horizontal_4_dspr2, &vpx_lpf_horizontal_4_c, 8),
@@ -645,7 +655,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_lpf_vertical_16_dual_dspr2, &vpx_lpf_vertical_16_dual_c,
8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
DSPR2, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_lpf_horizontal_4_dual_dspr2,
&vpx_lpf_horizontal_4_dual_c, 8),
@@ -658,7 +668,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_DSPR2 && !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_MSA && (!CONFIG_VP9_HIGHBITDEPTH)
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, Loop8Test6Param,
::testing::Values(
make_tuple(&vpx_lpf_horizontal_4_msa, &vpx_lpf_horizontal_4_c, 8),
@@ -670,7 +680,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(&vpx_lpf_vertical_8_msa, &vpx_lpf_vertical_8_c, 8),
make_tuple(&vpx_lpf_vertical_16_msa, &vpx_lpf_vertical_16_c, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, Loop8Test9Param,
::testing::Values(make_tuple(&vpx_lpf_horizontal_4_dual_msa,
&vpx_lpf_horizontal_4_dual_c, 8),
diff --git a/test/minmax_test.cc b/test/minmax_test.cc
index 9c119116a..12327bc18 100644
--- a/test/minmax_test.cc
+++ b/test/minmax_test.cc
@@ -115,21 +115,21 @@ TEST_P(MinMaxTest, CompareReferenceAndVaryStride) {
}
}
-INSTANTIATE_TEST_CASE_P(C, MinMaxTest, ::testing::Values(&vpx_minmax_8x8_c));
+INSTANTIATE_TEST_SUITE_P(C, MinMaxTest, ::testing::Values(&vpx_minmax_8x8_c));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, MinMaxTest,
- ::testing::Values(&vpx_minmax_8x8_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, MinMaxTest,
+ ::testing::Values(&vpx_minmax_8x8_sse2));
#endif
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, MinMaxTest,
- ::testing::Values(&vpx_minmax_8x8_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, MinMaxTest,
+ ::testing::Values(&vpx_minmax_8x8_neon));
#endif
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(MSA, MinMaxTest,
- ::testing::Values(&vpx_minmax_8x8_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, MinMaxTest,
+ ::testing::Values(&vpx_minmax_8x8_msa));
#endif
} // namespace
diff --git a/test/non_greedy_mv_test.cc b/test/non_greedy_mv_test.cc
index c78331b28..927029de4 100644
--- a/test/non_greedy_mv_test.cc
+++ b/test/non_greedy_mv_test.cc
@@ -129,11 +129,11 @@ TEST(non_greedy_mv, smooth_mf) {
const char *ground_truth_file =
"non_greedy_mv_test_files/ground_truth_16x16.txt";
BLOCK_SIZE bsize = BLOCK_32X32;
- MV *search_mf = NULL;
- MV *smooth_mf = NULL;
- MV *estimation = NULL;
- MV *ground_truth = NULL;
- int(*local_var)[MF_LOCAL_STRUCTURE_SIZE] = NULL;
+ MV *search_mf = nullptr;
+ MV *smooth_mf = nullptr;
+ MV *estimation = nullptr;
+ MV *ground_truth = nullptr;
+ int(*local_var)[MF_LOCAL_STRUCTURE_SIZE] = nullptr;
int rows = 0, cols = 0;
int alpha = 100, max_iter = 100;
@@ -169,8 +169,8 @@ TEST(non_greedy_mv, local_var) {
const char *gt_local_var_file = "non_greedy_mv_test_files/localVar_16x16.txt";
const char *search_mf_file = "non_greedy_mv_test_files/exhaust_16x16.txt";
BLOCK_SIZE bsize = BLOCK_16X16;
- int(*gt_local_var)[MF_LOCAL_STRUCTURE_SIZE] = NULL;
- int(*est_local_var)[MF_LOCAL_STRUCTURE_SIZE] = NULL;
+ int(*gt_local_var)[MF_LOCAL_STRUCTURE_SIZE] = nullptr;
+ int(*est_local_var)[MF_LOCAL_STRUCTURE_SIZE] = nullptr;
YV12_BUFFER_CONFIG ref_frame, cur_frame;
int rows, cols;
MV *search_mf;
diff --git a/test/partial_idct_test.cc b/test/partial_idct_test.cc
index e66a695eb..a160120de 100644
--- a/test/partial_idct_test.cc
+++ b/test/partial_idct_test.cc
@@ -102,11 +102,11 @@ class PartialIDctTest : public ::testing::TestWithParam<PartialInvTxfmParam> {
virtual void TearDown() {
vpx_free(input_block_);
- input_block_ = NULL;
+ input_block_ = nullptr;
vpx_free(output_block_);
- output_block_ = NULL;
+ output_block_ = nullptr;
vpx_free(output_block_ref_);
- output_block_ref_ = NULL;
+ output_block_ref_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -474,8 +474,8 @@ const PartialInvTxfmParam c_partial_idct_tests[] = {
&wrapper<vpx_idct4x4_1_add_c>, TX_4X4, 1, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(C, PartialIDctTest,
- ::testing::ValuesIn(c_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(C, PartialIDctTest,
+ ::testing::ValuesIn(c_partial_idct_tests));
#if !CONFIG_EMULATE_HARDWARE
@@ -625,8 +625,8 @@ const PartialInvTxfmParam neon_partial_idct_tests[] = {
&wrapper<vpx_idct4x4_1_add_neon>, TX_4X4, 1, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(NEON, PartialIDctTest,
- ::testing::ValuesIn(neon_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(NEON, PartialIDctTest,
+ ::testing::ValuesIn(neon_partial_idct_tests));
#endif // HAVE_NEON
#if HAVE_SSE2
@@ -776,8 +776,8 @@ const PartialInvTxfmParam sse2_partial_idct_tests[] = {
&wrapper<vpx_idct4x4_1_add_sse2>, TX_4X4, 1, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(SSE2, PartialIDctTest,
- ::testing::ValuesIn(sse2_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(SSE2, PartialIDctTest,
+ ::testing::ValuesIn(sse2_partial_idct_tests));
#endif // HAVE_SSE2
@@ -791,8 +791,8 @@ const PartialInvTxfmParam ssse3_partial_idct_tests[] = {
&wrapper<vpx_idct8x8_12_add_ssse3>, TX_8X8, 12, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(SSSE3, PartialIDctTest,
- ::testing::ValuesIn(ssse3_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(SSSE3, PartialIDctTest,
+ ::testing::ValuesIn(ssse3_partial_idct_tests));
#endif // HAVE_SSSE3
#if HAVE_SSE4_1 && CONFIG_VP9_HIGHBITDEPTH
@@ -889,8 +889,8 @@ const PartialInvTxfmParam sse4_1_partial_idct_tests[] = {
&highbd_wrapper<vpx_highbd_idct4x4_16_add_sse4_1>, TX_4X4, 16, 12, 2)
};
-INSTANTIATE_TEST_CASE_P(SSE4_1, PartialIDctTest,
- ::testing::ValuesIn(sse4_1_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(SSE4_1, PartialIDctTest,
+ ::testing::ValuesIn(sse4_1_partial_idct_tests));
#endif // HAVE_SSE4_1 && CONFIG_VP9_HIGHBITDEPTH
#if HAVE_DSPR2 && !CONFIG_VP9_HIGHBITDEPTH
@@ -919,8 +919,8 @@ const PartialInvTxfmParam dspr2_partial_idct_tests[] = {
&wrapper<vpx_idct4x4_1_add_dspr2>, TX_4X4, 1, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(DSPR2, PartialIDctTest,
- ::testing::ValuesIn(dspr2_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(DSPR2, PartialIDctTest,
+ ::testing::ValuesIn(dspr2_partial_idct_tests));
#endif // HAVE_DSPR2 && !CONFIG_VP9_HIGHBITDEPTH
#if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH
@@ -950,8 +950,8 @@ const PartialInvTxfmParam msa_partial_idct_tests[] = {
&wrapper<vpx_idct4x4_1_add_msa>, TX_4X4, 1, 8, 1)
};
-INSTANTIATE_TEST_CASE_P(MSA, PartialIDctTest,
- ::testing::ValuesIn(msa_partial_idct_tests));
+INSTANTIATE_TEST_SUITE_P(MSA, PartialIDctTest,
+ ::testing::ValuesIn(msa_partial_idct_tests));
#endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH
#endif // !CONFIG_EMULATE_HARDWARE
diff --git a/test/pp_filter_test.cc b/test/pp_filter_test.cc
index 1ed261bf9..a511ffbe9 100644
--- a/test/pp_filter_test.cc
+++ b/test/pp_filter_test.cc
@@ -459,7 +459,7 @@ TEST_P(VpxMbPostProcDownTest, CheckLowFilterOutput) {
SetRows(src_c_.TopLeftPixel(), rows_, cols_, src_c_.stride());
unsigned char *expected_output = new unsigned char[rows_ * cols_];
- ASSERT_TRUE(expected_output != NULL);
+ ASSERT_NE(expected_output, nullptr);
SetRows(expected_output, rows_, cols_, cols_);
RunFilterLevel(src_c_.TopLeftPixel(), rows_, cols_, src_c_.stride(), q2mbl(0),
@@ -511,62 +511,62 @@ TEST_P(VpxMbPostProcDownTest, DISABLED_Speed) {
PrintMedian("16x16");
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxPostProcDownAndAcrossMbRowTest,
::testing::Values(vpx_post_proc_down_and_across_mb_row_c));
-INSTANTIATE_TEST_CASE_P(C, VpxMbPostProcAcrossIpTest,
- ::testing::Values(vpx_mbpost_proc_across_ip_c));
+INSTANTIATE_TEST_SUITE_P(C, VpxMbPostProcAcrossIpTest,
+ ::testing::Values(vpx_mbpost_proc_across_ip_c));
-INSTANTIATE_TEST_CASE_P(C, VpxMbPostProcDownTest,
- ::testing::Values(vpx_mbpost_proc_down_c));
+INSTANTIATE_TEST_SUITE_P(C, VpxMbPostProcDownTest,
+ ::testing::Values(vpx_mbpost_proc_down_c));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxPostProcDownAndAcrossMbRowTest,
::testing::Values(vpx_post_proc_down_and_across_mb_row_sse2));
-INSTANTIATE_TEST_CASE_P(SSE2, VpxMbPostProcAcrossIpTest,
- ::testing::Values(vpx_mbpost_proc_across_ip_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, VpxMbPostProcAcrossIpTest,
+ ::testing::Values(vpx_mbpost_proc_across_ip_sse2));
-INSTANTIATE_TEST_CASE_P(SSE2, VpxMbPostProcDownTest,
- ::testing::Values(vpx_mbpost_proc_down_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, VpxMbPostProcDownTest,
+ ::testing::Values(vpx_mbpost_proc_down_sse2));
#endif // HAVE_SSE2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VpxPostProcDownAndAcrossMbRowTest,
::testing::Values(vpx_post_proc_down_and_across_mb_row_neon));
-INSTANTIATE_TEST_CASE_P(NEON, VpxMbPostProcAcrossIpTest,
- ::testing::Values(vpx_mbpost_proc_across_ip_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, VpxMbPostProcAcrossIpTest,
+ ::testing::Values(vpx_mbpost_proc_across_ip_neon));
-INSTANTIATE_TEST_CASE_P(NEON, VpxMbPostProcDownTest,
- ::testing::Values(vpx_mbpost_proc_down_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, VpxMbPostProcDownTest,
+ ::testing::Values(vpx_mbpost_proc_down_neon));
#endif // HAVE_NEON
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, VpxPostProcDownAndAcrossMbRowTest,
::testing::Values(vpx_post_proc_down_and_across_mb_row_msa));
-INSTANTIATE_TEST_CASE_P(MSA, VpxMbPostProcAcrossIpTest,
- ::testing::Values(vpx_mbpost_proc_across_ip_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, VpxMbPostProcAcrossIpTest,
+ ::testing::Values(vpx_mbpost_proc_across_ip_msa));
-INSTANTIATE_TEST_CASE_P(MSA, VpxMbPostProcDownTest,
- ::testing::Values(vpx_mbpost_proc_down_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, VpxMbPostProcDownTest,
+ ::testing::Values(vpx_mbpost_proc_down_msa));
#endif // HAVE_MSA
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VSX, VpxPostProcDownAndAcrossMbRowTest,
::testing::Values(vpx_post_proc_down_and_across_mb_row_vsx));
-INSTANTIATE_TEST_CASE_P(VSX, VpxMbPostProcAcrossIpTest,
- ::testing::Values(vpx_mbpost_proc_across_ip_vsx));
+INSTANTIATE_TEST_SUITE_P(VSX, VpxMbPostProcAcrossIpTest,
+ ::testing::Values(vpx_mbpost_proc_across_ip_vsx));
-INSTANTIATE_TEST_CASE_P(VSX, VpxMbPostProcDownTest,
- ::testing::Values(vpx_mbpost_proc_down_vsx));
+INSTANTIATE_TEST_SUITE_P(VSX, VpxMbPostProcDownTest,
+ ::testing::Values(vpx_mbpost_proc_down_vsx));
#endif // HAVE_VSX
} // namespace
diff --git a/test/predict_test.cc b/test/predict_test.cc
index d40d9c755..747297057 100644
--- a/test/predict_test.cc
+++ b/test/predict_test.cc
@@ -41,11 +41,11 @@ class PredictTestBase : public AbstractBench,
public:
PredictTestBase()
: width_(GET_PARAM(0)), height_(GET_PARAM(1)), predict_(GET_PARAM(2)),
- src_(NULL), padded_dst_(NULL), dst_(NULL), dst_c_(NULL) {}
+ src_(nullptr), padded_dst_(nullptr), dst_(nullptr), dst_c_(nullptr) {}
virtual void SetUp() {
src_ = new uint8_t[kSrcSize];
- ASSERT_TRUE(src_ != NULL);
+ ASSERT_NE(src_, nullptr);
// padded_dst_ provides a buffer of kBorderSize around the destination
// memory to facilitate detecting out of bounds writes.
@@ -53,11 +53,11 @@ class PredictTestBase : public AbstractBench,
padded_dst_size_ = dst_stride_ * (kBorderSize + height_ + kBorderSize);
padded_dst_ =
reinterpret_cast<uint8_t *>(vpx_memalign(16, padded_dst_size_));
- ASSERT_TRUE(padded_dst_ != NULL);
+ ASSERT_NE(padded_dst_, nullptr);
dst_ = padded_dst_ + (kBorderSize * dst_stride_) + kBorderSize;
dst_c_ = new uint8_t[16 * 16];
- ASSERT_TRUE(dst_c_ != NULL);
+ ASSERT_NE(dst_c_, nullptr);
memset(src_, 0, kSrcSize);
memset(padded_dst_, 128, padded_dst_size_);
@@ -66,12 +66,12 @@ class PredictTestBase : public AbstractBench,
virtual void TearDown() {
delete[] src_;
- src_ = NULL;
+ src_ = nullptr;
vpx_free(padded_dst_);
- padded_dst_ = NULL;
- dst_ = NULL;
+ padded_dst_ = nullptr;
+ dst_ = nullptr;
delete[] dst_c_;
- dst_c_ = NULL;
+ dst_c_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -298,14 +298,14 @@ TEST_P(SixtapPredictTest, TestWithPresetData) {
CompareBuffers(kExpectedDst, kExpectedDstStride, dst_, dst_stride_));
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_c),
make_tuple(8, 8, &vp8_sixtap_predict8x8_c),
make_tuple(8, 4, &vp8_sixtap_predict8x4_c),
make_tuple(4, 4, &vp8_sixtap_predict4x4_c)));
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_neon),
make_tuple(8, 8, &vp8_sixtap_predict8x8_neon),
@@ -313,19 +313,19 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(4, 4, &vp8_sixtap_predict4x4_neon)));
#endif
#if HAVE_MMX
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMX, SixtapPredictTest,
::testing::Values(make_tuple(4, 4, &vp8_sixtap_predict4x4_mmx)));
#endif
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_sse2),
make_tuple(8, 8, &vp8_sixtap_predict8x8_sse2),
make_tuple(8, 4, &vp8_sixtap_predict8x4_sse2)));
#endif
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_ssse3),
make_tuple(8, 8, &vp8_sixtap_predict8x8_ssse3),
@@ -333,7 +333,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(4, 4, &vp8_sixtap_predict4x4_ssse3)));
#endif
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_msa),
make_tuple(8, 8, &vp8_sixtap_predict8x8_msa),
@@ -342,7 +342,7 @@ INSTANTIATE_TEST_CASE_P(
#endif
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMI, SixtapPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_sixtap_predict16x16_mmi),
make_tuple(8, 8, &vp8_sixtap_predict8x8_mmi),
@@ -367,14 +367,14 @@ TEST_P(BilinearPredictTest, DISABLED_Speed) {
PrintMedian(title);
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, BilinearPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_bilinear_predict16x16_c),
make_tuple(8, 8, &vp8_bilinear_predict8x8_c),
make_tuple(8, 4, &vp8_bilinear_predict8x4_c),
make_tuple(4, 4, &vp8_bilinear_predict4x4_c)));
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, BilinearPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_bilinear_predict16x16_neon),
make_tuple(8, 8, &vp8_bilinear_predict8x8_neon),
@@ -382,7 +382,7 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(4, 4, &vp8_bilinear_predict4x4_neon)));
#endif
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, BilinearPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_bilinear_predict16x16_sse2),
make_tuple(8, 8, &vp8_bilinear_predict8x8_sse2),
@@ -390,13 +390,13 @@ INSTANTIATE_TEST_CASE_P(
make_tuple(4, 4, &vp8_bilinear_predict4x4_sse2)));
#endif
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, BilinearPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_bilinear_predict16x16_ssse3),
make_tuple(8, 8, &vp8_bilinear_predict8x8_ssse3)));
#endif
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, BilinearPredictTest,
::testing::Values(make_tuple(16, 16, &vp8_bilinear_predict16x16_msa),
make_tuple(8, 8, &vp8_bilinear_predict8x8_msa),
diff --git a/test/quantize_test.cc b/test/quantize_test.cc
index a7497742c..792b21432 100644
--- a/test/quantize_test.cc
+++ b/test/quantize_test.cc
@@ -46,9 +46,9 @@ class QuantizeTestBase {
public:
virtual ~QuantizeTestBase() {
vp8_remove_compressor(&vp8_comp_);
- vp8_comp_ = NULL;
+ vp8_comp_ = nullptr;
vpx_free(macroblockd_dst_);
- macroblockd_dst_ = NULL;
+ macroblockd_dst_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -146,6 +146,7 @@ class QuantizeTest : public QuantizeTestBase,
VP8Quantize asm_quant_;
VP8Quantize c_quant_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(QuantizeTest);
TEST_P(QuantizeTest, TestZeroInput) {
FillCoeffConstant(0);
@@ -181,7 +182,7 @@ TEST_P(QuantizeTest, DISABLED_Speed) {
}
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, QuantizeTest,
::testing::Values(
make_tuple(&vp8_fast_quantize_b_sse2, &vp8_fast_quantize_b_c),
@@ -189,26 +190,27 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(SSSE3, QuantizeTest,
- ::testing::Values(make_tuple(&vp8_fast_quantize_b_ssse3,
- &vp8_fast_quantize_b_c)));
+INSTANTIATE_TEST_SUITE_P(
+ SSSE3, QuantizeTest,
+ ::testing::Values(make_tuple(&vp8_fast_quantize_b_ssse3,
+ &vp8_fast_quantize_b_c)));
#endif // HAVE_SSSE3
#if HAVE_SSE4_1
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE4_1, QuantizeTest,
::testing::Values(make_tuple(&vp8_regular_quantize_b_sse4_1,
&vp8_regular_quantize_b_c)));
#endif // HAVE_SSE4_1
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, QuantizeTest,
- ::testing::Values(make_tuple(&vp8_fast_quantize_b_neon,
- &vp8_fast_quantize_b_c)));
+INSTANTIATE_TEST_SUITE_P(NEON, QuantizeTest,
+ ::testing::Values(make_tuple(&vp8_fast_quantize_b_neon,
+ &vp8_fast_quantize_b_c)));
#endif // HAVE_NEON
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, QuantizeTest,
::testing::Values(
make_tuple(&vp8_fast_quantize_b_msa, &vp8_fast_quantize_b_c),
@@ -216,7 +218,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_MSA
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMI, QuantizeTest,
::testing::Values(
make_tuple(&vp8_fast_quantize_b_mmi, &vp8_fast_quantize_b_c),
diff --git a/test/ratectrl_rtc_test.cc b/test/ratectrl_rtc_test.cc
index e044885e7..3a1c8469e 100644
--- a/test/ratectrl_rtc_test.cc
+++ b/test/ratectrl_rtc_test.cc
@@ -79,7 +79,7 @@ class RcInterfaceTest : public ::testing::Test {
protected:
void RunOneLayer() {
SetConfigOneLayer();
- rc_api_->Create(rc_cfg_);
+ rc_api_ = libvpx::VP9RateControlRTC::Create(rc_cfg_);
FrameInfo frame_info;
libvpx::VP9FrameParamsQpRTC frame_params;
frame_params.frame_type = KEY_FRAME;
@@ -88,7 +88,7 @@ class RcInterfaceTest : public ::testing::Test {
std::ifstream one_layer_file;
one_layer_file.open(libvpx_test::GetDataPath() +
"/rc_interface_test_one_layer");
- ASSERT_EQ(one_layer_file.rdstate() & std::ifstream::failbit, 0);
+ ASSERT_TRUE(one_layer_file.good());
for (size_t i = 0; i < kNumFrame; i++) {
one_layer_file >> frame_info;
if (frame_info.frame_id > 0) frame_params.frame_type = INTER_FRAME;
@@ -110,14 +110,14 @@ class RcInterfaceTest : public ::testing::Test {
void RunSVC() {
SetConfigSVC();
- rc_api_->Create(rc_cfg_);
+ rc_api_ = libvpx::VP9RateControlRTC::Create(rc_cfg_);
FrameInfo frame_info;
libvpx::VP9FrameParamsQpRTC frame_params;
frame_params.frame_type = KEY_FRAME;
std::ifstream svc_file;
svc_file.open(std::string(std::getenv("LIBVPX_TEST_DATA_PATH")) +
"/rc_interface_test_svc");
- ASSERT_EQ(svc_file.rdstate() & std::ifstream::failbit, 0);
+ ASSERT_TRUE(svc_file.good());
for (size_t i = 0; i < kNumFrame * rc_cfg_.ss_number_layers; i++) {
svc_file >> frame_info;
if (frame_info.frame_id > 0) frame_params.frame_type = INTER_FRAME;
diff --git a/test/realtime_test.cc b/test/realtime_test.cc
index 11b5cae70..63a5347d9 100644
--- a/test/realtime_test.cc
+++ b/test/realtime_test.cc
@@ -24,15 +24,15 @@ class RealtimeTest
public ::libvpx_test::CodecTestWithParam<libvpx_test::TestMode> {
protected:
RealtimeTest() : EncoderTest(GET_PARAM(0)), frame_packets_(0) {}
- virtual ~RealtimeTest() {}
+ ~RealtimeTest() override {}
- virtual void SetUp() {
+ void SetUp() override {
InitializeConfig();
cfg_.g_lag_in_frames = 0;
SetMode(::libvpx_test::kRealTime);
}
- virtual void BeginPassHook(unsigned int /*pass*/) {
+ void BeginPassHook(unsigned int /*pass*/) override {
// TODO(tomfinegan): We're changing the pass value here to make sure
// we get frames when real time mode is combined with |g_pass| set to
// VPX_RC_FIRST_PASS. This is necessary because EncoderTest::RunLoop() sets
@@ -41,14 +41,14 @@ class RealtimeTest
cfg_.g_pass = VPX_RC_FIRST_PASS;
}
- virtual void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
- ::libvpx_test::Encoder *encoder) {
+ void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
+ ::libvpx_test::Encoder *encoder) override {
if (video->frame() == 0) {
encoder->Control(VP8E_SET_CPUUSED, 8);
}
}
- virtual void FramePktHook(const vpx_codec_cx_pkt_t * /*pkt*/) {
+ void FramePktHook(const vpx_codec_cx_pkt_t * /*pkt*/) override {
frame_packets_++;
}
@@ -63,22 +63,17 @@ TEST_P(RealtimeTest, RealtimeFirstPassProducesFrames) {
EXPECT_EQ(kFramesToEncode, frame_packets_);
}
-// TODO(https://crbug.com/webm/1685): the following passes -fsanitize=undefined
-// with bitrate set to 140000000 for vp8 and 128000 for vp9. There are
-// additional failures with lower bitrates using -fsanitize=integer.
-TEST_P(RealtimeTest, DISABLED_IntegerOverflow) {
+TEST_P(RealtimeTest, IntegerOverflow) {
::libvpx_test::RandomVideoSource video;
video.SetSize(800, 480);
video.set_limit(20);
- // TODO(https://crbug.com/webm/1685): this should be silently capped
- // internally to the raw yuv rate or below.
cfg_.rc_target_bitrate = 140000000;
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP8_INSTANTIATE_TEST_CASE(RealtimeTest,
- ::testing::Values(::libvpx_test::kRealTime));
-VP9_INSTANTIATE_TEST_CASE(RealtimeTest,
- ::testing::Values(::libvpx_test::kRealTime));
+VP8_INSTANTIATE_TEST_SUITE(RealtimeTest,
+ ::testing::Values(::libvpx_test::kRealTime));
+VP9_INSTANTIATE_TEST_SUITE(RealtimeTest,
+ ::testing::Values(::libvpx_test::kRealTime));
} // namespace
diff --git a/test/resize_test.cc b/test/resize_test.cc
index d996cbe1b..c57170ff9 100644
--- a/test/resize_test.cc
+++ b/test/resize_test.cc
@@ -271,8 +271,8 @@ class ResizingVideoSource : public ::libvpx_test::DummyVideoSource {
protected:
virtual void Next() {
++frame_;
- unsigned int width;
- unsigned int height;
+ unsigned int width = 0;
+ unsigned int height = 0;
ScaleForFrameNumber(frame_, kInitialWidth, kInitialHeight, &width, &height,
flag_codec_, smaller_width_larger_size_);
SetSize(width, height);
@@ -350,7 +350,7 @@ class ResizeInternalTest : public ResizeTest {
protected:
#if WRITE_COMPRESSED_STREAM
ResizeInternalTest()
- : ResizeTest(), frame0_psnr_(0.0), outfile_(NULL), out_frames_(0) {}
+ : ResizeTest(), frame0_psnr_(0.0), outfile_(nullptr), out_frames_(0) {}
#else
ResizeInternalTest() : ResizeTest(), frame0_psnr_(0.0) {}
#endif
@@ -369,7 +369,7 @@ class ResizeInternalTest : public ResizeTest {
if (!fseek(outfile_, 0, SEEK_SET))
write_ivf_file_header(&cfg_, out_frames_, outfile_);
fclose(outfile_);
- outfile_ = NULL;
+ outfile_ = nullptr;
}
#endif
}
@@ -672,11 +672,11 @@ TEST_P(ResizeRealtimeTest, TestInternalResizeDownUpChangeBitRate) {
ASSERT_EQ(info->h, GetFrameHeight(idx));
if (info->w != last_w || info->h != last_h) {
resize_count++;
- if (resize_count == 1) {
+ if (resize_count <= 2) {
// Verify that resize down occurs.
ASSERT_LT(info->w, last_w);
ASSERT_LT(info->h, last_h);
- } else if (resize_count == 2) {
+ } else if (resize_count > 2) {
// Verify that resize up occurs.
ASSERT_GT(info->w, last_w);
ASSERT_GT(info->h, last_h);
@@ -687,8 +687,8 @@ TEST_P(ResizeRealtimeTest, TestInternalResizeDownUpChangeBitRate) {
}
#if CONFIG_VP9_DECODER
- // Verify that we get 2 resize events in this test.
- ASSERT_EQ(resize_count, 2) << "Resizing should occur twice.";
+ // Verify that we get 4 resize events in this test.
+ ASSERT_EQ(resize_count, 4) << "Resizing should occur twice.";
EXPECT_EQ(static_cast<unsigned int>(0), GetMismatchFrames());
#else
printf("Warning: VP9 decoder unavailable, unable to check resize count!\n");
@@ -705,7 +705,7 @@ class ResizeCspTest : public ResizeTest {
protected:
#if WRITE_COMPRESSED_STREAM
ResizeCspTest()
- : ResizeTest(), frame0_psnr_(0.0), outfile_(NULL), out_frames_(0) {}
+ : ResizeTest(), frame0_psnr_(0.0), outfile_(nullptr), out_frames_(0) {}
#else
ResizeCspTest() : ResizeTest(), frame0_psnr_(0.0) {}
#endif
@@ -724,7 +724,7 @@ class ResizeCspTest : public ResizeTest {
if (!fseek(outfile_, 0, SEEK_SET))
write_ivf_file_header(&cfg_, out_frames_, outfile_);
fclose(outfile_);
- outfile_ = NULL;
+ outfile_ = nullptr;
}
#endif
}
@@ -793,14 +793,14 @@ TEST_P(ResizeCspTest, TestResizeCspWorks) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP8_INSTANTIATE_TEST_CASE(ResizeTest, ONE_PASS_TEST_MODES);
-VP9_INSTANTIATE_TEST_CASE(ResizeTest,
- ::testing::Values(::libvpx_test::kRealTime));
-VP9_INSTANTIATE_TEST_CASE(ResizeInternalTest,
- ::testing::Values(::libvpx_test::kOnePassBest));
-VP9_INSTANTIATE_TEST_CASE(ResizeRealtimeTest,
- ::testing::Values(::libvpx_test::kRealTime),
- ::testing::Range(5, 9));
-VP9_INSTANTIATE_TEST_CASE(ResizeCspTest,
- ::testing::Values(::libvpx_test::kRealTime));
+VP8_INSTANTIATE_TEST_SUITE(ResizeTest, ONE_PASS_TEST_MODES);
+VP9_INSTANTIATE_TEST_SUITE(ResizeTest,
+ ::testing::Values(::libvpx_test::kRealTime));
+VP9_INSTANTIATE_TEST_SUITE(ResizeInternalTest,
+ ::testing::Values(::libvpx_test::kOnePassBest));
+VP9_INSTANTIATE_TEST_SUITE(ResizeRealtimeTest,
+ ::testing::Values(::libvpx_test::kRealTime),
+ ::testing::Range(5, 9));
+VP9_INSTANTIATE_TEST_SUITE(ResizeCspTest,
+ ::testing::Values(::libvpx_test::kRealTime));
} // namespace
diff --git a/test/sad_test.cc b/test/sad_test.cc
index e39775cc4..ee10a4638 100644
--- a/test/sad_test.cc
+++ b/test/sad_test.cc
@@ -26,6 +26,10 @@
#include "vpx_ports/msvc.h"
#include "vpx_ports/vpx_timer.h"
+// const[expr] should be sufficient for DECLARE_ALIGNED but early
+// implementations of c++11 appear to have some issues with it.
+#define kDataAlignment 32
+
template <typename Function>
struct TestParams {
TestParams(int w, int h, Function f, int bd = -1)
@@ -99,17 +103,17 @@ class SADTestBase : public ::testing::TestWithParam<ParamType> {
virtual void TearDown() {
vpx_free(source_data8_);
- source_data8_ = NULL;
+ source_data8_ = nullptr;
vpx_free(reference_data8_);
- reference_data8_ = NULL;
+ reference_data8_ = nullptr;
vpx_free(second_pred8_);
- second_pred8_ = NULL;
+ second_pred8_ = nullptr;
vpx_free(source_data16_);
- source_data16_ = NULL;
+ source_data16_ = nullptr;
vpx_free(reference_data16_);
- reference_data16_ = NULL;
+ reference_data16_ = nullptr;
vpx_free(second_pred16_);
- second_pred16_ = NULL;
+ second_pred16_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -117,9 +121,6 @@ class SADTestBase : public ::testing::TestWithParam<ParamType> {
protected:
// Handle blocks up to 4 blocks 64x64 with stride up to 128
// crbug.com/webm/1660
- // const[expr] should be sufficient for DECLARE_ALIGNED but early
- // implementations of c++11 appear to have some issues with it.
- enum { kDataAlignment = 32 };
static const int kDataBlockSize = 64 * 128;
static const int kDataBufferSize = 4 * kDataBlockSize;
@@ -628,7 +629,7 @@ const SadMxNParam c_tests[] = {
SadMxNParam(4, 4, &vpx_highbd_sad4x4_c, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(C, SADTest, ::testing::ValuesIn(c_tests));
+INSTANTIATE_TEST_SUITE_P(C, SADTest, ::testing::ValuesIn(c_tests));
const SadMxNAvgParam avg_c_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_c),
@@ -686,7 +687,7 @@ const SadMxNAvgParam avg_c_tests[] = {
SadMxNAvgParam(4, 4, &vpx_highbd_sad4x4_avg_c, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(C, SADavgTest, ::testing::ValuesIn(avg_c_tests));
+INSTANTIATE_TEST_SUITE_P(C, SADavgTest, ::testing::ValuesIn(avg_c_tests));
const SadMxNx4Param x4d_c_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_c),
@@ -744,7 +745,7 @@ const SadMxNx4Param x4d_c_tests[] = {
SadMxNx4Param(4, 4, &vpx_highbd_sad4x4x4d_c, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(C, SADx4Test, ::testing::ValuesIn(x4d_c_tests));
+INSTANTIATE_TEST_SUITE_P(C, SADx4Test, ::testing::ValuesIn(x4d_c_tests));
// TODO(angiebird): implement the marked-down sad functions
const SadMxNx8Param x8_c_tests[] = {
@@ -762,7 +763,7 @@ const SadMxNx8Param x8_c_tests[] = {
// SadMxNx8Param(4, 8, &vpx_sad4x8x8_c),
SadMxNx8Param(4, 4, &vpx_sad4x4x8_c),
};
-INSTANTIATE_TEST_CASE_P(C, SADx8Test, ::testing::ValuesIn(x8_c_tests));
+INSTANTIATE_TEST_SUITE_P(C, SADx8Test, ::testing::ValuesIn(x8_c_tests));
//------------------------------------------------------------------------------
// ARM functions
@@ -780,7 +781,7 @@ const SadMxNParam neon_tests[] = {
SadMxNParam(4, 8, &vpx_sad4x8_neon),
SadMxNParam(4, 4, &vpx_sad4x4_neon),
};
-INSTANTIATE_TEST_CASE_P(NEON, SADTest, ::testing::ValuesIn(neon_tests));
+INSTANTIATE_TEST_SUITE_P(NEON, SADTest, ::testing::ValuesIn(neon_tests));
const SadMxNAvgParam avg_neon_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_neon),
@@ -797,7 +798,7 @@ const SadMxNAvgParam avg_neon_tests[] = {
SadMxNAvgParam(4, 8, &vpx_sad4x8_avg_neon),
SadMxNAvgParam(4, 4, &vpx_sad4x4_avg_neon),
};
-INSTANTIATE_TEST_CASE_P(NEON, SADavgTest, ::testing::ValuesIn(avg_neon_tests));
+INSTANTIATE_TEST_SUITE_P(NEON, SADavgTest, ::testing::ValuesIn(avg_neon_tests));
const SadMxNx4Param x4d_neon_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_neon),
@@ -814,7 +815,7 @@ const SadMxNx4Param x4d_neon_tests[] = {
SadMxNx4Param(4, 8, &vpx_sad4x8x4d_neon),
SadMxNx4Param(4, 4, &vpx_sad4x4x4d_neon),
};
-INSTANTIATE_TEST_CASE_P(NEON, SADx4Test, ::testing::ValuesIn(x4d_neon_tests));
+INSTANTIATE_TEST_SUITE_P(NEON, SADx4Test, ::testing::ValuesIn(x4d_neon_tests));
#endif // HAVE_NEON
//------------------------------------------------------------------------------
@@ -870,7 +871,7 @@ const SadMxNParam sse2_tests[] = {
SadMxNParam(8, 4, &vpx_highbd_sad8x4_sse2, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(SSE2, SADTest, ::testing::ValuesIn(sse2_tests));
+INSTANTIATE_TEST_SUITE_P(SSE2, SADTest, ::testing::ValuesIn(sse2_tests));
const SadMxNAvgParam avg_sse2_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_sse2),
@@ -922,7 +923,7 @@ const SadMxNAvgParam avg_sse2_tests[] = {
SadMxNAvgParam(8, 4, &vpx_highbd_sad8x4_avg_sse2, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(SSE2, SADavgTest, ::testing::ValuesIn(avg_sse2_tests));
+INSTANTIATE_TEST_SUITE_P(SSE2, SADavgTest, ::testing::ValuesIn(avg_sse2_tests));
const SadMxNx4Param x4d_sse2_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_sse2),
@@ -980,7 +981,7 @@ const SadMxNx4Param x4d_sse2_tests[] = {
SadMxNx4Param(4, 4, &vpx_highbd_sad4x4x4d_sse2, 12),
#endif // CONFIG_VP9_HIGHBITDEPTH
};
-INSTANTIATE_TEST_CASE_P(SSE2, SADx4Test, ::testing::ValuesIn(x4d_sse2_tests));
+INSTANTIATE_TEST_SUITE_P(SSE2, SADx4Test, ::testing::ValuesIn(x4d_sse2_tests));
#endif // HAVE_SSE2
#if HAVE_SSE3
@@ -999,8 +1000,8 @@ const SadMxNx8Param x8_sse4_1_tests[] = {
SadMxNx8Param(8, 8, &vpx_sad8x8x8_sse4_1),
SadMxNx8Param(4, 4, &vpx_sad4x4x8_sse4_1),
};
-INSTANTIATE_TEST_CASE_P(SSE4_1, SADx8Test,
- ::testing::ValuesIn(x8_sse4_1_tests));
+INSTANTIATE_TEST_SUITE_P(SSE4_1, SADx8Test,
+ ::testing::ValuesIn(x8_sse4_1_tests));
#endif // HAVE_SSE4_1
#if HAVE_AVX2
@@ -1011,7 +1012,7 @@ const SadMxNParam avx2_tests[] = {
SadMxNParam(32, 32, &vpx_sad32x32_avx2),
SadMxNParam(32, 16, &vpx_sad32x16_avx2),
};
-INSTANTIATE_TEST_CASE_P(AVX2, SADTest, ::testing::ValuesIn(avx2_tests));
+INSTANTIATE_TEST_SUITE_P(AVX2, SADTest, ::testing::ValuesIn(avx2_tests));
const SadMxNAvgParam avg_avx2_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_avx2),
@@ -1020,27 +1021,27 @@ const SadMxNAvgParam avg_avx2_tests[] = {
SadMxNAvgParam(32, 32, &vpx_sad32x32_avg_avx2),
SadMxNAvgParam(32, 16, &vpx_sad32x16_avg_avx2),
};
-INSTANTIATE_TEST_CASE_P(AVX2, SADavgTest, ::testing::ValuesIn(avg_avx2_tests));
+INSTANTIATE_TEST_SUITE_P(AVX2, SADavgTest, ::testing::ValuesIn(avg_avx2_tests));
const SadMxNx4Param x4d_avx2_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_avx2),
SadMxNx4Param(32, 32, &vpx_sad32x32x4d_avx2),
};
-INSTANTIATE_TEST_CASE_P(AVX2, SADx4Test, ::testing::ValuesIn(x4d_avx2_tests));
+INSTANTIATE_TEST_SUITE_P(AVX2, SADx4Test, ::testing::ValuesIn(x4d_avx2_tests));
const SadMxNx8Param x8_avx2_tests[] = {
// SadMxNx8Param(64, 64, &vpx_sad64x64x8_c),
SadMxNx8Param(32, 32, &vpx_sad32x32x8_avx2),
};
-INSTANTIATE_TEST_CASE_P(AVX2, SADx8Test, ::testing::ValuesIn(x8_avx2_tests));
+INSTANTIATE_TEST_SUITE_P(AVX2, SADx8Test, ::testing::ValuesIn(x8_avx2_tests));
#endif // HAVE_AVX2
#if HAVE_AVX512
const SadMxNx4Param x4d_avx512_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_avx512),
};
-INSTANTIATE_TEST_CASE_P(AVX512, SADx4Test,
- ::testing::ValuesIn(x4d_avx512_tests));
+INSTANTIATE_TEST_SUITE_P(AVX512, SADx4Test,
+ ::testing::ValuesIn(x4d_avx512_tests));
#endif // HAVE_AVX512
//------------------------------------------------------------------------------
@@ -1061,7 +1062,7 @@ const SadMxNParam msa_tests[] = {
SadMxNParam(4, 8, &vpx_sad4x8_msa),
SadMxNParam(4, 4, &vpx_sad4x4_msa),
};
-INSTANTIATE_TEST_CASE_P(MSA, SADTest, ::testing::ValuesIn(msa_tests));
+INSTANTIATE_TEST_SUITE_P(MSA, SADTest, ::testing::ValuesIn(msa_tests));
const SadMxNAvgParam avg_msa_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_msa),
@@ -1078,7 +1079,7 @@ const SadMxNAvgParam avg_msa_tests[] = {
SadMxNAvgParam(4, 8, &vpx_sad4x8_avg_msa),
SadMxNAvgParam(4, 4, &vpx_sad4x4_avg_msa),
};
-INSTANTIATE_TEST_CASE_P(MSA, SADavgTest, ::testing::ValuesIn(avg_msa_tests));
+INSTANTIATE_TEST_SUITE_P(MSA, SADavgTest, ::testing::ValuesIn(avg_msa_tests));
const SadMxNx4Param x4d_msa_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_msa),
@@ -1095,7 +1096,7 @@ const SadMxNx4Param x4d_msa_tests[] = {
SadMxNx4Param(4, 8, &vpx_sad4x8x4d_msa),
SadMxNx4Param(4, 4, &vpx_sad4x4x4d_msa),
};
-INSTANTIATE_TEST_CASE_P(MSA, SADx4Test, ::testing::ValuesIn(x4d_msa_tests));
+INSTANTIATE_TEST_SUITE_P(MSA, SADx4Test, ::testing::ValuesIn(x4d_msa_tests));
#endif // HAVE_MSA
//------------------------------------------------------------------------------
@@ -1114,7 +1115,7 @@ const SadMxNParam vsx_tests[] = {
SadMxNParam(8, 8, &vpx_sad8x8_vsx),
SadMxNParam(8, 4, &vpx_sad8x4_vsx),
};
-INSTANTIATE_TEST_CASE_P(VSX, SADTest, ::testing::ValuesIn(vsx_tests));
+INSTANTIATE_TEST_SUITE_P(VSX, SADTest, ::testing::ValuesIn(vsx_tests));
const SadMxNAvgParam avg_vsx_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_vsx),
@@ -1126,7 +1127,7 @@ const SadMxNAvgParam avg_vsx_tests[] = {
SadMxNAvgParam(16, 16, &vpx_sad16x16_avg_vsx),
SadMxNAvgParam(16, 8, &vpx_sad16x8_avg_vsx),
};
-INSTANTIATE_TEST_CASE_P(VSX, SADavgTest, ::testing::ValuesIn(avg_vsx_tests));
+INSTANTIATE_TEST_SUITE_P(VSX, SADavgTest, ::testing::ValuesIn(avg_vsx_tests));
const SadMxNx4Param x4d_vsx_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_vsx),
@@ -1138,7 +1139,7 @@ const SadMxNx4Param x4d_vsx_tests[] = {
SadMxNx4Param(16, 16, &vpx_sad16x16x4d_vsx),
SadMxNx4Param(16, 8, &vpx_sad16x8x4d_vsx),
};
-INSTANTIATE_TEST_CASE_P(VSX, SADx4Test, ::testing::ValuesIn(x4d_vsx_tests));
+INSTANTIATE_TEST_SUITE_P(VSX, SADx4Test, ::testing::ValuesIn(x4d_vsx_tests));
#endif // HAVE_VSX
//------------------------------------------------------------------------------
@@ -1159,7 +1160,7 @@ const SadMxNParam mmi_tests[] = {
SadMxNParam(4, 8, &vpx_sad4x8_mmi),
SadMxNParam(4, 4, &vpx_sad4x4_mmi),
};
-INSTANTIATE_TEST_CASE_P(MMI, SADTest, ::testing::ValuesIn(mmi_tests));
+INSTANTIATE_TEST_SUITE_P(MMI, SADTest, ::testing::ValuesIn(mmi_tests));
const SadMxNAvgParam avg_mmi_tests[] = {
SadMxNAvgParam(64, 64, &vpx_sad64x64_avg_mmi),
@@ -1176,7 +1177,7 @@ const SadMxNAvgParam avg_mmi_tests[] = {
SadMxNAvgParam(4, 8, &vpx_sad4x8_avg_mmi),
SadMxNAvgParam(4, 4, &vpx_sad4x4_avg_mmi),
};
-INSTANTIATE_TEST_CASE_P(MMI, SADavgTest, ::testing::ValuesIn(avg_mmi_tests));
+INSTANTIATE_TEST_SUITE_P(MMI, SADavgTest, ::testing::ValuesIn(avg_mmi_tests));
const SadMxNx4Param x4d_mmi_tests[] = {
SadMxNx4Param(64, 64, &vpx_sad64x64x4d_mmi),
@@ -1193,6 +1194,6 @@ const SadMxNx4Param x4d_mmi_tests[] = {
SadMxNx4Param(4, 8, &vpx_sad4x8x4d_mmi),
SadMxNx4Param(4, 4, &vpx_sad4x4x4d_mmi),
};
-INSTANTIATE_TEST_CASE_P(MMI, SADx4Test, ::testing::ValuesIn(x4d_mmi_tests));
+INSTANTIATE_TEST_SUITE_P(MMI, SADx4Test, ::testing::ValuesIn(x4d_mmi_tests));
#endif // HAVE_MMI
} // namespace
diff --git a/test/simple_encode_test.cc b/test/simple_encode_test.cc
index 3dfc81265..ab893045d 100644
--- a/test/simple_encode_test.cc
+++ b/test/simple_encode_test.cc
@@ -10,6 +10,7 @@
#include <math.h>
#include <memory>
+#include <string>
#include <vector>
#include "third_party/googletest/src/include/gtest/gtest.h"
#include "vp9/simple_encode.h"
@@ -17,15 +18,6 @@
namespace vp9 {
namespace {
-// TODO(angirbid): Find a better way to construct encode info
-const int w = 352;
-const int h = 288;
-const int frame_rate_num = 30;
-const int frame_rate_den = 1;
-const int target_bitrate = 1000;
-const int num_frames = 17;
-const char infile_path[] = "bus_352x288_420_f20_b8.yuv";
-
double GetBitrateInKbps(size_t bit_size, int num_frames, int frame_rate_num,
int frame_rate_den) {
return static_cast<double>(bit_size) / num_frames * frame_rate_num /
@@ -36,14 +28,26 @@ double GetBitrateInKbps(size_t bit_size, int num_frames, int frame_rate_num,
// For example, if size is 7, return 2.
int GetNumUnit4x4(int size) { return (size + 3) >> 2; }
-TEST(SimpleEncode, ComputeFirstPassStats) {
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+class SimpleEncodeTest : public ::testing::Test {
+ protected:
+ const int width_ = 352;
+ const int height_ = 288;
+ const int frame_rate_num_ = 30;
+ const int frame_rate_den_ = 1;
+ const int target_bitrate_ = 1000;
+ const int num_frames_ = 17;
+ const std::string in_file_path_str_ = "bus_352x288_420_f20_b8.yuv";
+};
+
+TEST_F(SimpleEncodeTest, ComputeFirstPassStats) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
std::vector<std::vector<double>> frame_stats =
simple_encode.ObserveFirstPassStats();
- EXPECT_EQ(frame_stats.size(), static_cast<size_t>(num_frames));
- size_t data_num = frame_stats[0].size();
+ EXPECT_EQ(frame_stats.size(), static_cast<size_t>(num_frames_));
+ const size_t data_num = frame_stats[0].size();
// Read ObserveFirstPassStats before changing FIRSTPASS_STATS.
EXPECT_EQ(data_num, static_cast<size_t>(25));
for (size_t i = 0; i < frame_stats.size(); ++i) {
@@ -56,25 +60,49 @@ TEST(SimpleEncode, ComputeFirstPassStats) {
}
}
-TEST(SimpleEncode, GetCodingFrameNum) {
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+TEST_F(SimpleEncodeTest, ObserveFirstPassMotionVectors) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
- int num_coding_frames = simple_encode.GetCodingFrameNum();
+ std::vector<std::vector<MotionVectorInfo>> fps_motion_vectors =
+ simple_encode.ObserveFirstPassMotionVectors();
+ EXPECT_EQ(fps_motion_vectors.size(), static_cast<size_t>(num_frames_));
+ const size_t num_blocks = ((width_ + 15) >> 4) * ((height_ + 15) >> 4);
+ EXPECT_EQ(num_blocks, fps_motion_vectors[0].size());
+ for (size_t i = 0; i < fps_motion_vectors.size(); ++i) {
+ EXPECT_EQ(num_blocks, fps_motion_vectors[i].size());
+ for (size_t j = 0; j < num_blocks; ++j) {
+ const int mv_count = fps_motion_vectors[i][j].mv_count;
+ const int ref_count =
+ (fps_motion_vectors[i][j].ref_frame[0] != kRefFrameTypeNone) +
+ (fps_motion_vectors[i][j].ref_frame[1] != kRefFrameTypeNone);
+ EXPECT_EQ(mv_count, ref_count);
+ }
+ }
+}
+
+TEST_F(SimpleEncodeTest, GetCodingFrameNum) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
+ simple_encode.ComputeFirstPassStats();
+ const int num_coding_frames = simple_encode.GetCodingFrameNum();
EXPECT_EQ(num_coding_frames, 19);
}
-TEST(SimpleEncode, EncodeFrame) {
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+TEST_F(SimpleEncodeTest, EncodeFrame) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
int num_coding_frames = simple_encode.GetCodingFrameNum();
- EXPECT_GE(num_coding_frames, num_frames);
+ EXPECT_GE(num_coding_frames, num_frames_);
simple_encode.StartEncode();
size_t total_data_bit_size = 0;
int coded_show_frame_count = 0;
int frame_coding_index = 0;
- while (coded_show_frame_count < num_frames) {
+ while (coded_show_frame_count < num_frames_) {
const GroupOfPicture group_of_picture =
simple_encode.ObserveGroupOfPicture();
const std::vector<EncodeFrameInfo> &encode_frame_list =
@@ -99,18 +127,86 @@ TEST(SimpleEncode, EncodeFrame) {
}
coded_show_frame_count += group_of_picture.show_frame_count;
}
- const double bitrate = GetBitrateInKbps(total_data_bit_size, num_frames,
- frame_rate_num, frame_rate_den);
+ const double bitrate = GetBitrateInKbps(total_data_bit_size, num_frames_,
+ frame_rate_num_, frame_rate_den_);
const double off_target_threshold = 150;
- EXPECT_LE(fabs(target_bitrate - bitrate), off_target_threshold);
+ EXPECT_LE(fabs(target_bitrate_ - bitrate), off_target_threshold);
simple_encode.EndEncode();
}
-TEST(SimpleEncode, EncodeFrameWithQuantizeIndex) {
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+TEST_F(SimpleEncodeTest, ObserveKeyFrameMap) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
- int num_coding_frames = simple_encode.GetCodingFrameNum();
+ std::vector<int> key_frame_map = simple_encode.ObserveKeyFrameMap();
+ EXPECT_EQ(key_frame_map.size(), static_cast<size_t>(num_frames_));
+ simple_encode.StartEncode();
+ int coded_show_frame_count = 0;
+ while (coded_show_frame_count < num_frames_) {
+ const GroupOfPicture group_of_picture =
+ simple_encode.ObserveGroupOfPicture();
+ const std::vector<EncodeFrameInfo> &encode_frame_list =
+ group_of_picture.encode_frame_list;
+ for (size_t group_index = 0; group_index < encode_frame_list.size();
+ ++group_index) {
+ EncodeFrameResult encode_frame_result;
+ simple_encode.EncodeFrame(&encode_frame_result);
+ if (encode_frame_result.frame_type == kFrameTypeKey) {
+ EXPECT_EQ(key_frame_map[encode_frame_result.show_idx], 1);
+ } else {
+ EXPECT_EQ(key_frame_map[encode_frame_result.show_idx], 0);
+ }
+ }
+ coded_show_frame_count += group_of_picture.show_frame_count;
+ }
+ simple_encode.EndEncode();
+}
+
+TEST_F(SimpleEncodeTest, EncodeFrameWithTargetFrameBits) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
+ simple_encode.ComputeFirstPassStats();
+ const int num_coding_frames = simple_encode.GetCodingFrameNum();
+ simple_encode.StartEncode();
+ for (int i = 0; i < num_coding_frames; ++i) {
+ EncodeFrameInfo encode_frame_info = simple_encode.GetNextEncodeFrameInfo();
+ int target_frame_bits;
+ switch (encode_frame_info.frame_type) {
+ case kFrameTypeInter: target_frame_bits = 20000; break;
+ case kFrameTypeKey:
+ case kFrameTypeAltRef:
+ case kFrameTypeGolden: target_frame_bits = 100000; break;
+ case kFrameTypeOverlay: target_frame_bits = 2000; break;
+ default: target_frame_bits = 20000;
+ }
+
+ double percent_diff = 15;
+ if (encode_frame_info.frame_type == kFrameTypeOverlay) {
+ percent_diff = 100;
+ }
+ EncodeFrameResult encode_frame_result;
+ simple_encode.EncodeFrameWithTargetFrameBits(
+ &encode_frame_result, target_frame_bits, percent_diff);
+ const int recode_count = encode_frame_result.recode_count;
+ // TODO(angiebird): Replace 7 by RATE_CTRL_MAX_RECODE_NUM
+ EXPECT_LE(recode_count, 7);
+ EXPECT_GE(recode_count, 1);
+
+ const double diff = fabs((double)encode_frame_result.coding_data_bit_size -
+ target_frame_bits);
+ EXPECT_LE(diff * 100 / target_frame_bits, percent_diff);
+ }
+ simple_encode.EndEncode();
+}
+
+TEST_F(SimpleEncodeTest, EncodeFrameWithQuantizeIndex) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
+ simple_encode.ComputeFirstPassStats();
+ const int num_coding_frames = simple_encode.GetCodingFrameNum();
simple_encode.StartEncode();
for (int i = 0; i < num_coding_frames; ++i) {
const int assigned_quantize_index = 100 + i;
@@ -122,15 +218,24 @@ TEST(SimpleEncode, EncodeFrameWithQuantizeIndex) {
simple_encode.EndEncode();
}
-TEST(SimpleEncode, EncodeConsistencyTest) {
+// This test encodes the video using EncodeFrame(), where quantize indexes
+// are selected by vp9 rate control.
+// Encode stats and the quantize_indexes are collected.
+// Then the test encodes the video again using EncodeFrameWithQuantizeIndex()
+// using the quantize indexes collected from the first run.
+// Then test whether the encode stats of the two encoding runs match.
+TEST_F(SimpleEncodeTest, EncodeConsistencyTest) {
std::vector<int> quantize_index_list;
std::vector<uint64_t> ref_sse_list;
std::vector<double> ref_psnr_list;
std::vector<size_t> ref_bit_size_list;
+ std::vector<FrameType> ref_frame_type_list;
+ std::vector<int> ref_show_idx_list;
{
// The first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
const int num_coding_frames = simple_encode.GetCodingFrameNum();
simple_encode.StartEncode();
@@ -141,13 +246,16 @@ TEST(SimpleEncode, EncodeConsistencyTest) {
ref_sse_list.push_back(encode_frame_result.sse);
ref_psnr_list.push_back(encode_frame_result.psnr);
ref_bit_size_list.push_back(encode_frame_result.coding_data_bit_size);
+ ref_frame_type_list.push_back(encode_frame_result.frame_type);
+ ref_show_idx_list.push_back(encode_frame_result.show_idx);
}
simple_encode.EndEncode();
}
{
// The second encode with quantize index got from the first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
const int num_coding_frames = simple_encode.GetCodingFrameNum();
EXPECT_EQ(static_cast<size_t>(num_coding_frames),
@@ -161,6 +269,8 @@ TEST(SimpleEncode, EncodeConsistencyTest) {
EXPECT_EQ(encode_frame_result.sse, ref_sse_list[i]);
EXPECT_DOUBLE_EQ(encode_frame_result.psnr, ref_psnr_list[i]);
EXPECT_EQ(encode_frame_result.coding_data_bit_size, ref_bit_size_list[i]);
+ EXPECT_EQ(encode_frame_result.frame_type, ref_frame_type_list[i]);
+ EXPECT_EQ(encode_frame_result.show_idx, ref_show_idx_list[i]);
}
simple_encode.EndEncode();
}
@@ -168,13 +278,14 @@ TEST(SimpleEncode, EncodeConsistencyTest) {
// Test the information (partition info and motion vector info) stored in
// encoder is the same between two encode runs.
-TEST(SimpleEncode, EncodeConsistencyTest2) {
- const int num_rows_4x4 = GetNumUnit4x4(w);
- const int num_cols_4x4 = GetNumUnit4x4(h);
+TEST_F(SimpleEncodeTest, EncodeConsistencyTest2) {
+ const int num_rows_4x4 = GetNumUnit4x4(width_);
+ const int num_cols_4x4 = GetNumUnit4x4(height_);
const int num_units_4x4 = num_rows_4x4 * num_cols_4x4;
// The first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
const int num_coding_frames = simple_encode.GetCodingFrameNum();
std::vector<PartitionInfo> partition_info_list(num_units_4x4 *
@@ -194,8 +305,9 @@ TEST(SimpleEncode, EncodeConsistencyTest2) {
}
simple_encode.EndEncode();
// The second encode.
- SimpleEncode simple_encode_2(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode_2(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode_2.ComputeFirstPassStats();
const int num_coding_frames_2 = simple_encode_2.GetCodingFrameNum();
simple_encode_2.StartEncode();
@@ -236,14 +348,15 @@ TEST(SimpleEncode, EncodeConsistencyTest2) {
}
// Test the information stored in encoder is the same between two encode runs.
-TEST(SimpleEncode, EncodeConsistencyTest3) {
+TEST_F(SimpleEncodeTest, EncodeConsistencyTest3) {
std::vector<int> quantize_index_list;
- const int num_rows_4x4 = GetNumUnit4x4(w);
- const int num_cols_4x4 = GetNumUnit4x4(h);
+ const int num_rows_4x4 = GetNumUnit4x4(width_);
+ const int num_cols_4x4 = GetNumUnit4x4(height_);
const int num_units_4x4 = num_rows_4x4 * num_cols_4x4;
// The first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
const int num_coding_frames = simple_encode.GetCodingFrameNum();
std::vector<PartitionInfo> partition_info_list(num_units_4x4 *
@@ -260,8 +373,9 @@ TEST(SimpleEncode, EncodeConsistencyTest3) {
}
simple_encode.EndEncode();
// The second encode.
- SimpleEncode simple_encode_2(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode_2(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode_2.ComputeFirstPassStats();
const int num_coding_frames_2 = simple_encode_2.GetCodingFrameNum();
simple_encode_2.StartEncode();
@@ -291,45 +405,51 @@ TEST(SimpleEncode, EncodeConsistencyTest3) {
// Get QPs and arf locations from the first encode.
// Set external arfs and QPs for the second encode.
// Expect to get matched results.
-TEST(SimpleEncode, EncodeConsistencyTestUseExternalArfs) {
+TEST_F(SimpleEncodeTest, EncodeConsistencySetExternalGroupOfPicturesMap) {
std::vector<int> quantize_index_list;
std::vector<uint64_t> ref_sse_list;
std::vector<double> ref_psnr_list;
std::vector<size_t> ref_bit_size_list;
- std::vector<int> external_arf_indexes(num_frames, 0);
+ std::vector<int> gop_map(num_frames_, 0);
{
// The first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
- const int num_coding_frames = simple_encode.GetCodingFrameNum();
simple_encode.StartEncode();
- for (int i = 0; i < num_coding_frames; ++i) {
- EncodeFrameResult encode_frame_result;
- simple_encode.EncodeFrame(&encode_frame_result);
- quantize_index_list.push_back(encode_frame_result.quantize_index);
- ref_sse_list.push_back(encode_frame_result.sse);
- ref_psnr_list.push_back(encode_frame_result.psnr);
- ref_bit_size_list.push_back(encode_frame_result.coding_data_bit_size);
- if (encode_frame_result.frame_type == kFrameTypeKey) {
- external_arf_indexes[encode_frame_result.show_idx] = 0;
- } else if (encode_frame_result.frame_type == kFrameTypeAltRef) {
- external_arf_indexes[encode_frame_result.show_idx] = 1;
- } else {
- // This has to be |= because we can't let overlay overwrites the
- // arf type for the same frame.
- external_arf_indexes[encode_frame_result.show_idx] |= 0;
+
+ int coded_show_frame_count = 0;
+ while (coded_show_frame_count < num_frames_) {
+ const GroupOfPicture group_of_picture =
+ simple_encode.ObserveGroupOfPicture();
+ gop_map[coded_show_frame_count] |= kGopMapFlagStart;
+ if (group_of_picture.use_alt_ref) {
+ gop_map[coded_show_frame_count] |= kGopMapFlagUseAltRef;
}
+ const std::vector<EncodeFrameInfo> &encode_frame_list =
+ group_of_picture.encode_frame_list;
+ for (size_t group_index = 0; group_index < encode_frame_list.size();
+ ++group_index) {
+ EncodeFrameResult encode_frame_result;
+ simple_encode.EncodeFrame(&encode_frame_result);
+ quantize_index_list.push_back(encode_frame_result.quantize_index);
+ ref_sse_list.push_back(encode_frame_result.sse);
+ ref_psnr_list.push_back(encode_frame_result.psnr);
+ ref_bit_size_list.push_back(encode_frame_result.coding_data_bit_size);
+ }
+ coded_show_frame_count += group_of_picture.show_frame_count;
}
simple_encode.EndEncode();
}
{
// The second encode with quantize index got from the first encode.
// The external arfs are the same as the first encode.
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_,
+ frame_rate_den_, target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
- simple_encode.SetExternalGroupOfPicture(external_arf_indexes);
+ simple_encode.SetExternalGroupOfPicturesMap(gop_map.data(), gop_map.size());
const int num_coding_frames = simple_encode.GetCodingFrameNum();
EXPECT_EQ(static_cast<size_t>(num_coding_frames),
quantize_index_list.size());
@@ -347,11 +467,80 @@ TEST(SimpleEncode, EncodeConsistencyTestUseExternalArfs) {
}
}
-TEST(SimpleEncode, GetEncodeFrameInfo) {
+TEST_F(SimpleEncodeTest, SetExternalGroupOfPicturesMap) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
+ simple_encode.ComputeFirstPassStats();
+
+ std::vector<int> gop_map(num_frames_, 0);
+
+ // Should be the first gop group.
+ gop_map[0] = 0;
+
+ // Second gop group with an alt ref.
+ gop_map[5] |= kGopMapFlagStart | kGopMapFlagUseAltRef;
+
+ // Third gop group without an alt ref.
+ gop_map[10] |= kGopMapFlagStart;
+
+ // Last gop group.
+ gop_map[14] |= kGopMapFlagStart | kGopMapFlagUseAltRef;
+
+ simple_encode.SetExternalGroupOfPicturesMap(gop_map.data(), gop_map.size());
+
+ std::vector<int> observed_gop_map =
+ simple_encode.ObserveExternalGroupOfPicturesMap();
+
+ // First gop group.
+ // There is always a key frame at show_idx 0 and key frame should always be
+ // the start of a gop. We expect ObserveExternalGroupOfPicturesMap() will
+ // insert an extra gop start here.
+ EXPECT_EQ(observed_gop_map[0], kGopMapFlagStart | kGopMapFlagUseAltRef);
+
+ // Second gop group with an alt ref.
+ EXPECT_EQ(observed_gop_map[5], kGopMapFlagStart | kGopMapFlagUseAltRef);
+
+ // Third gop group without an alt ref.
+ EXPECT_EQ(observed_gop_map[10], kGopMapFlagStart);
+
+ // Last gop group. The last gop is not supposed to use an alt ref. We expect
+ // ObserveExternalGroupOfPicturesMap() will remove the alt ref flag here.
+ EXPECT_EQ(observed_gop_map[14], kGopMapFlagStart);
+
+ int ref_gop_show_frame_count_list[4] = { 5, 5, 4, 3 };
+ size_t ref_gop_coded_frame_count_list[4] = { 6, 6, 4, 3 };
+ int gop_count = 0;
+
+ simple_encode.StartEncode();
+ int coded_show_frame_count = 0;
+ while (coded_show_frame_count < num_frames_) {
+ const GroupOfPicture group_of_picture =
+ simple_encode.ObserveGroupOfPicture();
+ const std::vector<EncodeFrameInfo> &encode_frame_list =
+ group_of_picture.encode_frame_list;
+ EXPECT_EQ(encode_frame_list.size(),
+ ref_gop_coded_frame_count_list[gop_count]);
+ EXPECT_EQ(group_of_picture.show_frame_count,
+ ref_gop_show_frame_count_list[gop_count]);
+ for (size_t group_index = 0; group_index < encode_frame_list.size();
+ ++group_index) {
+ EncodeFrameResult encode_frame_result;
+ simple_encode.EncodeFrame(&encode_frame_result);
+ }
+ coded_show_frame_count += group_of_picture.show_frame_count;
+ ++gop_count;
+ }
+ EXPECT_EQ(gop_count, 4);
+ simple_encode.EndEncode();
+}
+
+TEST_F(SimpleEncodeTest, GetEncodeFrameInfo) {
// Makes sure that the encode_frame_info obtained from GetEncodeFrameInfo()
// matches the counterpart in encode_frame_result obtained from EncodeFrame()
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
simple_encode.ComputeFirstPassStats();
const int num_coding_frames = simple_encode.GetCodingFrameNum();
simple_encode.StartEncode();
@@ -365,12 +554,18 @@ TEST(SimpleEncode, GetEncodeFrameInfo) {
simple_encode.EndEncode();
}
-TEST(SimpleEncode, GetFramePixelCount) {
- SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den,
- target_bitrate, num_frames, infile_path);
+TEST_F(SimpleEncodeTest, GetFramePixelCount) {
+ SimpleEncode simple_encode(width_, height_, frame_rate_num_, frame_rate_den_,
+ target_bitrate_, num_frames_,
+ in_file_path_str_.c_str());
EXPECT_EQ(simple_encode.GetFramePixelCount(),
- static_cast<uint64_t>(w * h * 3 / 2));
+ static_cast<uint64_t>(width_ * height_ * 3 / 2));
}
} // namespace
} // namespace vp9
+
+int main(int argc, char **argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/test/stress.sh b/test/stress.sh
index b11c658a9..ba79a52ac 100755
--- a/test/stress.sh
+++ b/test/stress.sh
@@ -18,7 +18,7 @@
YUV="${LIBVPX_TEST_DATA_PATH}/niklas_1280_720_30.yuv"
VP8="${LIBVPX_TEST_DATA_PATH}/tos_vp8.webm"
VP9="${LIBVPX_TEST_DATA_PATH}/vp90-2-sintel_1920x818_tile_1x4_fpm_2279kbps.webm"
-DATA_URL="http://downloads.webmproject.org/test_data/libvpx/"
+DATA_URL="https://storage.googleapis.com/downloads.webmproject.org/test_data/libvpx/"
SHA1_FILE="$(dirname $0)/test-data.sha1"
# Set sha1sum to proper sha program (sha1sum, shasum, sha1). This code is
diff --git a/test/sum_squares_test.cc b/test/sum_squares_test.cc
index d2c70f4d4..df6da8403 100644
--- a/test/sum_squares_test.cc
+++ b/test/sum_squares_test.cc
@@ -45,6 +45,7 @@ class SumSquaresTest : public ::testing::TestWithParam<SumSquaresParam> {
SSI16Func ref_func_;
SSI16Func tst_func_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SumSquaresTest);
TEST_P(SumSquaresTest, OperationCheck) {
ACMRandom rnd(ACMRandom::DeterministicSeed());
@@ -106,21 +107,21 @@ TEST_P(SumSquaresTest, ExtremeValues) {
using std::make_tuple;
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, SumSquaresTest,
::testing::Values(make_tuple(&vpx_sum_squares_2d_i16_c,
&vpx_sum_squares_2d_i16_neon)));
#endif // HAVE_NEON
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, SumSquaresTest,
::testing::Values(make_tuple(&vpx_sum_squares_2d_i16_c,
&vpx_sum_squares_2d_i16_sse2)));
#endif // HAVE_SSE2
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, SumSquaresTest,
::testing::Values(make_tuple(&vpx_sum_squares_2d_i16_c,
&vpx_sum_squares_2d_i16_msa)));
diff --git a/test/superframe_test.cc b/test/superframe_test.cc
index 8c8d1ae29..a5c92e914 100644
--- a/test/superframe_test.cc
+++ b/test/superframe_test.cc
@@ -27,7 +27,7 @@ class SuperframeTest
public ::libvpx_test::CodecTestWithParam<SuperframeTestParam> {
protected:
SuperframeTest()
- : EncoderTest(GET_PARAM(0)), modified_buf_(NULL), last_sf_pts_(0) {}
+ : EncoderTest(GET_PARAM(0)), modified_buf_(nullptr), last_sf_pts_(0) {}
virtual ~SuperframeTest() {}
virtual void SetUp() {
@@ -95,7 +95,7 @@ TEST_P(SuperframeTest, TestSuperframeIndexIsOptional) {
EXPECT_EQ(sf_count_, 1);
}
-VP9_INSTANTIATE_TEST_CASE(
+VP9_INSTANTIATE_TEST_SUITE(
SuperframeTest,
::testing::Combine(::testing::Values(::libvpx_test::kTwoPassGood),
::testing::Values(0)));
diff --git a/test/svc_datarate_test.cc b/test/svc_datarate_test.cc
index 7260d8ec8..95d82ce54 100644
--- a/test/svc_datarate_test.cc
+++ b/test/svc_datarate_test.cc
@@ -84,6 +84,7 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
prev_frame_width[i] = 320;
prev_frame_height[i] = 240;
}
+ ksvc_flex_noupd_tlenh_ = false;
}
virtual void BeginPassHook(unsigned int /*pass*/) {}
@@ -91,9 +92,10 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
// bypass/flexible mode. The pattern corresponds to the pattern
// VP9E_TEMPORAL_LAYERING_MODE_0101 (temporal_layering_mode == 2) used in
// non-flexible mode, except that we disable inter-layer prediction.
- void set_frame_flags_bypass_mode(
- int tl, int num_spatial_layers, int is_key_frame,
- vpx_svc_ref_frame_config_t *ref_frame_config) {
+ void set_frame_flags_bypass_mode(int tl, int num_spatial_layers,
+ int is_key_frame,
+ vpx_svc_ref_frame_config_t *ref_frame_config,
+ int noupdate_tlenh) {
for (int sl = 0; sl < num_spatial_layers; ++sl)
ref_frame_config->update_buffer_slot[sl] = 0;
@@ -151,9 +153,12 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
ref_frame_config->reference_last[sl] = 1;
ref_frame_config->reference_golden[sl] = 0;
ref_frame_config->reference_alt_ref[sl] = 0;
- ref_frame_config->update_buffer_slot[sl] |=
- 1 << ref_frame_config->alt_fb_idx[sl];
+ // Non reference frame on top temporal top spatial.
+ ref_frame_config->update_buffer_slot[sl] = 0;
}
+ // Force no update on all spatial layers for temporal enhancement layer
+ // frames.
+ if (noupdate_tlenh) ref_frame_config->update_buffer_slot[sl] = 0;
}
}
}
@@ -244,6 +249,22 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
}
}
+ if (ksvc_flex_noupd_tlenh_) {
+ vpx_svc_layer_id_t layer_id;
+ layer_id.spatial_layer_id = 0;
+ layer_id.temporal_layer_id = (video->frame() % 2 != 0);
+ temporal_layer_id_ = layer_id.temporal_layer_id;
+ for (int i = 0; i < number_spatial_layers_; i++) {
+ layer_id.temporal_layer_id_per_spatial[i] = temporal_layer_id_;
+ ref_frame_config.duration[i] = 1;
+ }
+ encoder->Control(VP9E_SET_SVC_LAYER_ID, &layer_id);
+ set_frame_flags_bypass_mode(layer_id.temporal_layer_id,
+ number_spatial_layers_, 0, &ref_frame_config,
+ 1);
+ encoder->Control(VP9E_SET_SVC_REF_FRAME_CONFIG, &ref_frame_config);
+ }
+
if (update_pattern_ && video->frame() >= 100) {
vpx_svc_layer_id_t layer_id;
if (video->frame() == 100) {
@@ -254,11 +275,14 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
layer_id.spatial_layer_id = 0;
layer_id.temporal_layer_id = (video->frame() % 2 != 0);
temporal_layer_id_ = layer_id.temporal_layer_id;
- for (int i = 0; i < number_spatial_layers_; i++)
+ for (int i = 0; i < number_spatial_layers_; i++) {
layer_id.temporal_layer_id_per_spatial[i] = temporal_layer_id_;
+ ref_frame_config.duration[i] = 1;
+ }
encoder->Control(VP9E_SET_SVC_LAYER_ID, &layer_id);
set_frame_flags_bypass_mode(layer_id.temporal_layer_id,
- number_spatial_layers_, 0, &ref_frame_config);
+ number_spatial_layers_, 0, &ref_frame_config,
+ 0);
encoder->Control(VP9E_SET_SVC_REF_FRAME_CONFIG, &ref_frame_config);
}
@@ -354,6 +378,20 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
cfg_.rc_target_bitrate = cfg_.layer_target_bitrate[0];
encoder->Config(&cfg_);
}
+ } else if (!dynamic_drop_layer_ && single_layer_resize_) {
+ if (video->frame() == 2) {
+ cfg_.layer_target_bitrate[0] = 30;
+ cfg_.layer_target_bitrate[1] = 50;
+ cfg_.rc_target_bitrate =
+ (cfg_.layer_target_bitrate[0] + cfg_.layer_target_bitrate[1]);
+ encoder->Config(&cfg_);
+ } else if (video->frame() == 160) {
+ cfg_.layer_target_bitrate[0] = 1500;
+ cfg_.layer_target_bitrate[1] = 2000;
+ cfg_.rc_target_bitrate =
+ (cfg_.layer_target_bitrate[0] + cfg_.layer_target_bitrate[1]);
+ encoder->Config(&cfg_);
+ }
}
if (force_key_test_ && force_key_) frame_flags_ = VPX_EFLAG_FORCE_KF;
@@ -452,10 +490,12 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
parse_superframe_index(static_cast<const uint8_t *>(pkt->data.frame.buf),
pkt->data.frame.sz, sizes_parsed, &count);
// Count may be less than number of spatial layers because of frame drops.
- for (int sl = 0; sl < number_spatial_layers_; ++sl) {
- if (pkt->data.frame.spatial_layer_encoded[sl]) {
- sizes[sl] = sizes_parsed[num_layers_encoded];
- num_layers_encoded++;
+ if (number_spatial_layers_ > 1) {
+ for (int sl = 0; sl < number_spatial_layers_; ++sl) {
+ if (pkt->data.frame.spatial_layer_encoded[sl]) {
+ sizes[sl] = sizes_parsed[num_layers_encoded];
+ num_layers_encoded++;
+ }
}
}
// For superframe with Intra-only count will be +1 larger
@@ -541,9 +581,14 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
}
virtual void MismatchHook(const vpx_image_t *img1, const vpx_image_t *img2) {
- double mismatch_psnr = compute_psnr(img1, img2);
- mismatch_psnr_ += mismatch_psnr;
- ++mismatch_nframes_;
+ // TODO(marpan): Look into why an assert is triggered in compute_psnr
+ // for mismatch frames for the special test case: ksvc_flex_noupd_tlenh.
+ // Has to do with dropped frames in bypass/flexible svc mode.
+ if (!ksvc_flex_noupd_tlenh_) {
+ double mismatch_psnr = compute_psnr(img1, img2);
+ mismatch_psnr_ += mismatch_psnr;
+ ++mismatch_nframes_;
+ }
}
unsigned int GetMismatchFrames() { return mismatch_nframes_; }
@@ -588,6 +633,7 @@ class DatarateOnePassCbrSvc : public OnePassCbrSvc {
int num_resize_down_;
unsigned int prev_frame_width[VPX_MAX_LAYERS];
unsigned int prev_frame_height[VPX_MAX_LAYERS];
+ bool ksvc_flex_noupd_tlenh_;
private:
virtual void SetConfig(const int num_temporal_layer) {
@@ -706,14 +752,14 @@ TEST_P(DatarateOnePassCbrSvcSingleBR, OnePassCbrSvc3SL2TLDynamicPatternChange) {
cfg_.g_threads = 1;
cfg_.rc_dropframe_thresh = 30;
cfg_.kf_max_dist = 9999;
- // Change SVC pattern on the fly.
- update_pattern_ = 1;
::libvpx_test::I420VideoSource video("niklas_640_480_30.yuv", 640, 480, 30, 1,
0, 400);
top_sl_width_ = 640;
top_sl_height_ = 480;
cfg_.rc_target_bitrate = 800;
ResetModel();
+ // Change SVC pattern on the fly.
+ update_pattern_ = 1;
AssignLayerBitrates();
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
CheckLayerRateTargeting(number_spatial_layers_, number_temporal_layers_, 0.78,
@@ -875,6 +921,38 @@ TEST_P(DatarateOnePassCbrSvcSingleBR, OnePassCbrSvc2SL_SingleLayerResize) {
#endif
}
+// For pass CBR SVC with 1 spatial and 2 temporal layers with dynamic resize
+// and denoiser enabled. The resizer will resize the single layer down and back
+// up again, as the bitrate goes back up.
+TEST_P(DatarateOnePassCbrSvcSingleBR, OnePassCbrSvc1SL2TL_DenoiseResize) {
+ SetSvcConfig(1, 2);
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_buf_optimal_sz = 500;
+ cfg_.rc_buf_sz = 1000;
+ cfg_.rc_min_quantizer = 0;
+ cfg_.rc_max_quantizer = 63;
+ cfg_.g_threads = 1;
+ cfg_.temporal_layering_mode = 2;
+ cfg_.rc_dropframe_thresh = 30;
+ cfg_.kf_max_dist = 9999;
+ cfg_.rc_resize_allowed = 1;
+ ::libvpx_test::I420VideoSource video("desktop_office1.1280_720-020.yuv", 1280,
+ 720, 12, 1, 0, 300);
+ top_sl_width_ = 1280;
+ top_sl_height_ = 720;
+ cfg_.rc_target_bitrate = 800;
+ ResetModel();
+ dynamic_drop_layer_ = false;
+ single_layer_resize_ = true;
+ denoiser_on_ = 1;
+ base_speed_setting_ = speed_setting_;
+ AssignLayerBitrates();
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+ // Expect at least one resize down and at least one resize back up.
+ EXPECT_GE(num_resize_down_, 1);
+ EXPECT_GE(num_resize_up_, 1);
+}
+
// Run SVC encoder for 1 temporal layer, 2 spatial layers, with spatial
// downscale 5x5.
TEST_P(DatarateOnePassCbrSvcSingleBR, OnePassCbrSvc2SL1TL5x5MultipleRuns) {
@@ -1058,6 +1136,36 @@ TEST_P(DatarateOnePassCbrSvcFrameDropMultiBR, OnePassCbrSvc3SL3TL4Threads) {
#endif
}
+// Check basic rate targeting for 1 pass CBR SVC: 3 spatial layers and
+// 2 temporal layers, for KSVC in flexible mode with no update of reference
+// frames for all spatial layers on TL > 0 superframes.
+// Run HD clip with 4 threads.
+TEST_P(DatarateOnePassCbrSvcFrameDropMultiBR, OnePassCbrSvc3SL2TL4ThKSVCFlex) {
+ SetSvcConfig(3, 2);
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_buf_optimal_sz = 500;
+ cfg_.rc_buf_sz = 1000;
+ cfg_.rc_min_quantizer = 0;
+ cfg_.rc_max_quantizer = 63;
+ cfg_.g_threads = 4;
+ cfg_.rc_dropframe_thresh = 30;
+ cfg_.kf_max_dist = 9999;
+ ::libvpx_test::Y4mVideoSource video("niklas_1280_720_30.y4m", 0, 60);
+ top_sl_width_ = 1280;
+ top_sl_height_ = 720;
+ layer_framedrop_ = 0;
+ const int bitrates[3] = { 200, 400, 600 };
+ cfg_.rc_target_bitrate = bitrates[GET_PARAM(3)];
+ ResetModel();
+ layer_framedrop_ = GET_PARAM(2);
+ AssignLayerBitrates();
+ ksvc_flex_noupd_tlenh_ = true;
+ cfg_.temporal_layering_mode = VP9E_TEMPORAL_LAYERING_MODE_BYPASS;
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+ CheckLayerRateTargeting(number_spatial_layers_, number_temporal_layers_, 0.58,
+ 1.2);
+}
+
// Params: speed setting, inter-layer prediction mode.
class DatarateOnePassCbrSvcInterLayerPredSingleBR
: public DatarateOnePassCbrSvc,
@@ -1481,29 +1589,29 @@ TEST_P(DatarateOnePassCbrSvcPostencodeDrop, OnePassCbrSvc2QL1TLScreen) {
#endif
}
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcSingleBR,
- ::testing::Range(5, 10));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcSingleBR,
+ ::testing::Range(5, 10));
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcPostencodeDrop,
- ::testing::Range(5, 6));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcPostencodeDrop,
+ ::testing::Range(5, 6));
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcInterLayerPredSingleBR,
- ::testing::Range(5, 10), ::testing::Range(0, 3));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcInterLayerPredSingleBR,
+ ::testing::Range(5, 10), ::testing::Range(0, 3));
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcMultiBR, ::testing::Range(5, 10),
- ::testing::Range(0, 3));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcMultiBR,
+ ::testing::Range(5, 10), ::testing::Range(0, 3));
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcFrameDropMultiBR,
- ::testing::Range(5, 10), ::testing::Range(0, 2),
- ::testing::Range(0, 3));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcFrameDropMultiBR,
+ ::testing::Range(5, 10), ::testing::Range(0, 2),
+ ::testing::Range(0, 3));
#if CONFIG_VP9_TEMPORAL_DENOISING
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcDenoiser,
- ::testing::Range(5, 10), ::testing::Range(1, 3),
- ::testing::Range(0, 3), ::testing::Range(0, 4));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcDenoiser,
+ ::testing::Range(5, 10), ::testing::Range(1, 3),
+ ::testing::Range(0, 3), ::testing::Range(0, 4));
#endif
-VP9_INSTANTIATE_TEST_CASE(DatarateOnePassCbrSvcSmallKF, ::testing::Range(5, 10),
- ::testing::Range(32, 36));
+VP9_INSTANTIATE_TEST_SUITE(DatarateOnePassCbrSvcSmallKF,
+ ::testing::Range(5, 10), ::testing::Range(32, 36));
} // namespace
} // namespace svc_test
diff --git a/test/svc_end_to_end_test.cc b/test/svc_end_to_end_test.cc
index 82259ac30..518824d03 100644
--- a/test/svc_end_to_end_test.cc
+++ b/test/svc_end_to_end_test.cc
@@ -121,7 +121,8 @@ class SyncFrameOnePassCbrSvc : public OnePassCbrSvc,
frame_to_start_decode_(0), frame_to_sync_(0),
inter_layer_pred_mode_(GET_PARAM(1)), decode_to_layer_before_sync_(-1),
decode_to_layer_after_sync_(-1), denoiser_on_(0),
- intra_only_test_(false), mismatch_nframes_(0), num_nonref_frames_(0) {
+ intra_only_test_(false), loopfilter_off_(0), mismatch_nframes_(0),
+ num_nonref_frames_(0) {
SetMode(::libvpx_test::kRealTime);
memset(&svc_layer_sync_, 0, sizeof(svc_layer_sync_));
}
@@ -154,6 +155,8 @@ class SyncFrameOnePassCbrSvc : public OnePassCbrSvc,
// So set it here in these tess to avoid encoder-decoder
// mismatch check on color space setting.
encoder->Control(VP9E_SET_COLOR_SPACE, VPX_CS_BT_601);
+
+ encoder->Control(VP9E_SET_DISABLE_LOOPFILTER, loopfilter_off_);
}
if (video->frame() == frame_to_sync_) {
encoder->Control(VP9E_SET_SVC_SPATIAL_LAYER_SYNC, &svc_layer_sync_);
@@ -214,7 +217,10 @@ class SyncFrameOnePassCbrSvc : public OnePassCbrSvc,
int decode_to_layer_after_sync_;
int denoiser_on_;
bool intra_only_test_;
+ int loopfilter_off_;
vpx_svc_spatial_layer_sync_t svc_layer_sync_;
+ unsigned int mismatch_nframes_;
+ unsigned int num_nonref_frames_;
private:
virtual void SetConfig(const int num_temporal_layer) {
@@ -243,9 +249,6 @@ class SyncFrameOnePassCbrSvc : public OnePassCbrSvc,
cfg_.temporal_layering_mode = 1;
}
}
-
- unsigned int mismatch_nframes_;
- unsigned int num_nonref_frames_;
};
// Test for sync layer for 1 pass CBR SVC: 3 spatial layers and
@@ -470,9 +473,177 @@ TEST_P(SyncFrameOnePassCbrSvc, OnePassCbrSvc1SL3TLSyncFrameIntraOnlyQVGA) {
#endif
}
-VP9_INSTANTIATE_TEST_CASE(SyncFrameOnePassCbrSvc, ::testing::Range(0, 3));
+// Params: Loopfilter modes.
+class LoopfilterOnePassCbrSvc : public OnePassCbrSvc,
+ public ::libvpx_test::CodecTestWithParam<int> {
+ public:
+ LoopfilterOnePassCbrSvc()
+ : OnePassCbrSvc(GET_PARAM(0)), loopfilter_off_(GET_PARAM(1)),
+ mismatch_nframes_(0), num_nonref_frames_(0) {
+ SetMode(::libvpx_test::kRealTime);
+ }
+
+ protected:
+ virtual ~LoopfilterOnePassCbrSvc() {}
+
+ virtual void SetUp() {
+ InitializeConfig();
+ speed_setting_ = 7;
+ }
+
+ virtual void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
+ ::libvpx_test::Encoder *encoder) {
+ PreEncodeFrameHookSetup(video, encoder);
+ if (number_temporal_layers_ > 1 || number_spatial_layers_ > 1) {
+ // Consider 3 cases:
+ if (loopfilter_off_ == 0) {
+ // loopfilter is on for all spatial layers on every superrframe.
+ for (int i = 0; i < VPX_SS_MAX_LAYERS; ++i) {
+ svc_params_.loopfilter_ctrl[i] = 0;
+ }
+ } else if (loopfilter_off_ == 1) {
+ // loopfilter is off for non-reference frames for all spatial layers.
+ for (int i = 0; i < VPX_SS_MAX_LAYERS; ++i) {
+ svc_params_.loopfilter_ctrl[i] = 1;
+ }
+ } else {
+ // loopfilter is off for all SL0 frames, and off only for non-reference
+ // frames for SL > 0.
+ svc_params_.loopfilter_ctrl[0] = 2;
+ for (int i = 1; i < VPX_SS_MAX_LAYERS; ++i) {
+ svc_params_.loopfilter_ctrl[i] = 1;
+ }
+ }
+ encoder->Control(VP9E_SET_SVC_PARAMETERS, &svc_params_);
+ } else if (number_temporal_layers_ == 1 && number_spatial_layers_ == 1) {
+ // For non-SVC mode use the single layer control.
+ encoder->Control(VP9E_SET_DISABLE_LOOPFILTER, loopfilter_off_);
+ }
+ }
+
+ virtual void FramePktHook(const vpx_codec_cx_pkt_t *pkt) {
+ // Keep track of number of non-reference frames, needed for mismatch check.
+ // Non-reference frames are top spatial and temporal layer frames,
+ // for TL > 0.
+ if (temporal_layer_id_ == number_temporal_layers_ - 1 &&
+ temporal_layer_id_ > 0 &&
+ pkt->data.frame.spatial_layer_encoded[number_spatial_layers_ - 1])
+ num_nonref_frames_++;
+ }
+
+ virtual void MismatchHook(const vpx_image_t * /*img1*/,
+ const vpx_image_t * /*img2*/) {
+ ++mismatch_nframes_;
+ }
+
+ virtual void SetConfig(const int /*num_temporal_layer*/) {}
+
+ int GetMismatchFrames() const { return mismatch_nframes_; }
+ int GetNonRefFrames() const { return num_nonref_frames_; }
+
+ int loopfilter_off_;
+
+ private:
+ int mismatch_nframes_;
+ int num_nonref_frames_;
+};
+
+TEST_P(LoopfilterOnePassCbrSvc, OnePassCbrSvc1SL1TLLoopfilterOff) {
+ SetSvcConfig(1, 1);
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_buf_optimal_sz = 500;
+ cfg_.rc_buf_sz = 1000;
+ cfg_.rc_min_quantizer = 0;
+ cfg_.rc_max_quantizer = 63;
+ cfg_.g_threads = 1;
+ cfg_.rc_dropframe_thresh = 0;
+ cfg_.rc_target_bitrate = 800;
+ cfg_.kf_max_dist = 9999;
+ cfg_.rc_end_usage = VPX_CBR;
+ cfg_.g_lag_in_frames = 0;
+ cfg_.g_error_resilient = 1;
+ cfg_.ts_rate_decimator[0] = 1;
+ cfg_.temporal_layering_mode = 0;
+ ::libvpx_test::I420VideoSource video("niklas_640_480_30.yuv", 640, 480, 30, 1,
+ 0, 400);
+ cfg_.rc_target_bitrate = 600;
+ AssignLayerBitrates();
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+#if CONFIG_VP9_DECODER
+ if (loopfilter_off_ == 0)
+ EXPECT_EQ(GetNonRefFrames(), GetMismatchFrames());
+ else
+ EXPECT_EQ(GetMismatchFrames(), 0);
+#endif
+}
+
+TEST_P(LoopfilterOnePassCbrSvc, OnePassCbrSvc1SL3TLLoopfilterOff) {
+ SetSvcConfig(1, 3);
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_buf_optimal_sz = 500;
+ cfg_.rc_buf_sz = 1000;
+ cfg_.rc_min_quantizer = 0;
+ cfg_.rc_max_quantizer = 63;
+ cfg_.g_threads = 1;
+ cfg_.rc_dropframe_thresh = 0;
+ cfg_.rc_target_bitrate = 800;
+ cfg_.kf_max_dist = 9999;
+ cfg_.rc_end_usage = VPX_CBR;
+ cfg_.g_lag_in_frames = 0;
+ cfg_.g_error_resilient = 1;
+ cfg_.ts_rate_decimator[0] = 4;
+ cfg_.ts_rate_decimator[1] = 2;
+ cfg_.ts_rate_decimator[2] = 1;
+ cfg_.temporal_layering_mode = 3;
+ ::libvpx_test::I420VideoSource video("niklas_640_480_30.yuv", 640, 480, 30, 1,
+ 0, 400);
+ cfg_.rc_target_bitrate = 600;
+ AssignLayerBitrates();
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+#if CONFIG_VP9_DECODER
+ if (loopfilter_off_ == 0)
+ EXPECT_EQ(GetNonRefFrames(), GetMismatchFrames());
+ else
+ EXPECT_EQ(GetMismatchFrames(), 0);
+#endif
+}
+
+TEST_P(LoopfilterOnePassCbrSvc, OnePassCbrSvc3SL3TLLoopfilterOff) {
+ SetSvcConfig(3, 3);
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_buf_optimal_sz = 500;
+ cfg_.rc_buf_sz = 1000;
+ cfg_.rc_min_quantizer = 0;
+ cfg_.rc_max_quantizer = 63;
+ cfg_.g_threads = 1;
+ cfg_.rc_dropframe_thresh = 0;
+ cfg_.rc_target_bitrate = 800;
+ cfg_.kf_max_dist = 9999;
+ cfg_.rc_end_usage = VPX_CBR;
+ cfg_.g_lag_in_frames = 0;
+ cfg_.g_error_resilient = 1;
+ cfg_.ts_rate_decimator[0] = 4;
+ cfg_.ts_rate_decimator[1] = 2;
+ cfg_.ts_rate_decimator[2] = 1;
+ cfg_.temporal_layering_mode = 3;
+ ::libvpx_test::I420VideoSource video("niklas_640_480_30.yuv", 640, 480, 30, 1,
+ 0, 400);
+ cfg_.rc_target_bitrate = 600;
+ AssignLayerBitrates();
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+#if CONFIG_VP9_DECODER
+ if (loopfilter_off_ == 0)
+ EXPECT_EQ(GetNonRefFrames(), GetMismatchFrames());
+ else
+ EXPECT_EQ(GetMismatchFrames(), 0);
+#endif
+}
+
+VP9_INSTANTIATE_TEST_SUITE(SyncFrameOnePassCbrSvc, ::testing::Range(0, 3));
+
+VP9_INSTANTIATE_TEST_SUITE(LoopfilterOnePassCbrSvc, ::testing::Range(0, 3));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9, ScalePartitionOnePassCbrSvc,
::testing::Values(
static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP9)));
diff --git a/test/svc_test.cc b/test/svc_test.cc
index 4798c7718..cbc0abe03 100644
--- a/test/svc_test.cc
+++ b/test/svc_test.cc
@@ -43,13 +43,14 @@ void OnePassCbrSvc::PreEncodeFrameHookSetup(::libvpx_test::VideoSource *video,
svc_params_.max_quantizers[i] = 63;
svc_params_.min_quantizers[i] = 0;
}
- svc_params_.speed_per_layer[0] = base_speed_setting_;
- for (int i = 1; i < VPX_SS_MAX_LAYERS; ++i) {
- svc_params_.speed_per_layer[i] = speed_setting_;
+ if (number_temporal_layers_ > 1 || number_spatial_layers_ > 1) {
+ svc_params_.speed_per_layer[0] = base_speed_setting_;
+ for (int i = 1; i < VPX_SS_MAX_LAYERS; ++i) {
+ svc_params_.speed_per_layer[i] = speed_setting_;
+ }
+ encoder->Control(VP9E_SET_SVC, 1);
+ encoder->Control(VP9E_SET_SVC_PARAMETERS, &svc_params_);
}
-
- encoder->Control(VP9E_SET_SVC, 1);
- encoder->Control(VP9E_SET_SVC_PARAMETERS, &svc_params_);
encoder->Control(VP8E_SET_CPUUSED, speed_setting_);
encoder->Control(VP9E_SET_AQ_MODE, 3);
encoder->Control(VP8E_SET_MAX_INTRA_BITRATE_PCT, 300);
diff --git a/test/test-data.mk b/test/test-data.mk
index 81f035d83..744901b11 100644
--- a/test/test-data.mk
+++ b/test/test-data.mk
@@ -2,6 +2,7 @@ LIBVPX_TEST_SRCS-yes += test-data.mk
# Encoder test source
LIBVPX_TEST_DATA-$(CONFIG_ENCODERS) += hantro_collage_w352h288.yuv
+LIBVPX_TEST_DATA-$(CONFIG_ENCODERS) += hantro_collage_w352h288_nv12.yuv
LIBVPX_TEST_DATA-$(CONFIG_ENCODERS) += hantro_odd.yuv
LIBVPX_TEST_DATA-$(CONFIG_ENCODERS) += desktop_office1.1280_720-020.yuv
LIBVPX_TEST_DATA-$(CONFIG_ENCODERS) += slides_code_term_web_plot.1920_1080.yuv
@@ -26,7 +27,9 @@ LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += noisy_clip_640_360.y4m
LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += rush_hour_444.y4m
LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += screendata.y4m
LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += niklas_640_480_30.yuv
-LIBVPX_TEST_DATA-$(CONFIG_RATE_CTRL) += bus_352x288_420_f20_b8.yuv
+LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += rc_interface_test_one_layer
+LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += rc_interface_test_svc
+LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += bus_352x288_420_f20_b8.yuv
# Test vectors
LIBVPX_TEST_DATA-$(CONFIG_VP8_DECODER) += vp80-00-comprehensive-001.ivf
diff --git a/test/test-data.sha1 b/test/test-data.sha1
index dcaea2866..6f9021554 100644
--- a/test/test-data.sha1
+++ b/test/test-data.sha1
@@ -868,3 +868,6 @@ bac455906360b45338a16dd626ac5f19bc36a307 *desktop_office1.1280_720-020.yuv
094be4b80fa30bd227149ea16ab6476d549ea092 *slides_code_term_web_plot.1920_1080.yuv
518a0be998afece76d3df76047d51e256c591ff2 *invalid-bug-148271109.ivf
d3964f9dad9f60363c81b688324d95b4ec7c8038 *invalid-bug-148271109.ivf.res
+ad18ca16f0a249fb3b7c38de0d9b327fed273f96 *hantro_collage_w352h288_nv12.yuv
+03f827c0e36ff9a6e23c5cc11936924e4f1827ab *rc_interface_test_one_layer
+99e4f4c2961d46dc286db230090a39d78460b25d *rc_interface_test_svc
diff --git a/test/test.mk b/test/test.mk
index e289a7853..04902382d 100644
--- a/test/test.mk
+++ b/test/test.mk
@@ -58,7 +58,7 @@ LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.h
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_end_to_end_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += timestamp_test.cc
-LIBVPX_TEST_SRCS-$(CONFIG_RATE_CTRL) += simple_encode_test.cc
+LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_ext_ratectrl_test.cc
LIBVPX_TEST_SRCS-yes += decode_test_driver.cc
LIBVPX_TEST_SRCS-yes += decode_test_driver.h
@@ -122,11 +122,13 @@ ifeq ($(CONFIG_VP8_ENCODER)$(CONFIG_VP8_DECODER),yesyes)
LIBVPX_TEST_SRCS-yes += vp8_boolcoder_test.cc
LIBVPX_TEST_SRCS-yes += vp8_fragments_test.cc
endif
-
LIBVPX_TEST_SRCS-$(CONFIG_POSTPROC) += add_noise_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_POSTPROC) += pp_filter_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP8_DECODER) += vp8_decrypt_test.cc
+ifneq (, $(filter yes, $(HAVE_SSE2) $(HAVE_SSSE3) $(HAVE_SSE4_1) $(HAVE_NEON) \
+ $(HAVE_MSA) $(HAVE_MMI)))
LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += quantize_test.cc
+endif
LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += set_roi.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += variance_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += vp8_fdct4x4_test.cc
@@ -175,7 +177,9 @@ ifneq ($(CONFIG_REALTIME_ONLY),yes)
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += yuv_temporal_filter_test.cc
endif
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += variance_test.cc
+ifneq (, $(filter yes, $(HAVE_SSE2) $(HAVE_AVX2)))
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_block_error_test.cc
+endif
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_quantize_test.cc
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_subtract_test.cc
@@ -189,16 +193,24 @@ LIBVPX_TEST_SRCS-$(CONFIG_NON_GREEDY_MV) += non_greedy_mv_test.cc
endif
ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_VP9_TEMPORAL_DENOISING),yesyes)
+ifneq (, $(filter yes, $(HAVE_SSE2) $(HAVE_AVX2)))
LIBVPX_TEST_SRCS-yes += vp9_denoiser_test.cc
endif
+endif
LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_arf_freq_test.cc
+ifeq ($(CONFIG_VP9_ENCODER),yes)
+SIMPLE_ENCODE_TEST_SRCS-$(CONFIG_RATE_CTRL) := simple_encode_test.cc
+endif
+
endif # VP9
## Multi-codec / unconditional whitebox tests.
LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sad_test.cc
+ifneq (, $(filter yes, $(HAVE_NEON) $(HAVE_SSE2) $(HAVE_MSA)))
LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sum_squares_test.cc
+endif
TEST_INTRA_PRED_SPEED_SRCS-yes := test_intra_pred_speed.cc
TEST_INTRA_PRED_SPEED_SRCS-yes += ../md5_utils.h ../md5_utils.c
diff --git a/test/test_intra_pred_speed.cc b/test/test_intra_pred_speed.cc
index 0be9feefd..08100a146 100644
--- a/test/test_intra_pred_speed.cc
+++ b/test/test_intra_pred_speed.cc
@@ -85,7 +85,7 @@ void TestIntraPred(const char name[], VpxPredFunc const *pred_funcs,
intra_pred_test_mem.Init(block_size, 8);
for (int k = 0; k < kNumVp9IntraPredFuncs; ++k) {
- if (pred_funcs[k] == NULL) continue;
+ if (pred_funcs[k] == nullptr) continue;
memcpy(intra_pred_test_mem.src, intra_pred_test_mem.ref_src,
sizeof(intra_pred_test_mem.src));
vpx_usec_timer timer;
@@ -206,58 +206,64 @@ INTRA_PRED_TEST(C, TestIntraPred32, vpx_dc_predictor_32x32_c,
INTRA_PRED_TEST(SSE2, TestIntraPred4, vpx_dc_predictor_4x4_sse2,
vpx_dc_left_predictor_4x4_sse2, vpx_dc_top_predictor_4x4_sse2,
vpx_dc_128_predictor_4x4_sse2, vpx_v_predictor_4x4_sse2,
- vpx_h_predictor_4x4_sse2, vpx_d45_predictor_4x4_sse2, NULL,
- NULL, NULL, vpx_d207_predictor_4x4_sse2, NULL,
+ vpx_h_predictor_4x4_sse2, vpx_d45_predictor_4x4_sse2, nullptr,
+ nullptr, nullptr, vpx_d207_predictor_4x4_sse2, nullptr,
vpx_tm_predictor_4x4_sse2)
INTRA_PRED_TEST(SSE2, TestIntraPred8, vpx_dc_predictor_8x8_sse2,
vpx_dc_left_predictor_8x8_sse2, vpx_dc_top_predictor_8x8_sse2,
vpx_dc_128_predictor_8x8_sse2, vpx_v_predictor_8x8_sse2,
- vpx_h_predictor_8x8_sse2, vpx_d45_predictor_8x8_sse2, NULL,
- NULL, NULL, NULL, NULL, vpx_tm_predictor_8x8_sse2)
+ vpx_h_predictor_8x8_sse2, vpx_d45_predictor_8x8_sse2, nullptr,
+ nullptr, nullptr, nullptr, nullptr, vpx_tm_predictor_8x8_sse2)
INTRA_PRED_TEST(SSE2, TestIntraPred16, vpx_dc_predictor_16x16_sse2,
vpx_dc_left_predictor_16x16_sse2,
vpx_dc_top_predictor_16x16_sse2,
vpx_dc_128_predictor_16x16_sse2, vpx_v_predictor_16x16_sse2,
- vpx_h_predictor_16x16_sse2, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_16x16_sse2)
+ vpx_h_predictor_16x16_sse2, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_16x16_sse2)
INTRA_PRED_TEST(SSE2, TestIntraPred32, vpx_dc_predictor_32x32_sse2,
vpx_dc_left_predictor_32x32_sse2,
vpx_dc_top_predictor_32x32_sse2,
vpx_dc_128_predictor_32x32_sse2, vpx_v_predictor_32x32_sse2,
- vpx_h_predictor_32x32_sse2, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_32x32_sse2)
+ vpx_h_predictor_32x32_sse2, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_32x32_sse2)
#endif // HAVE_SSE2
#if HAVE_SSSE3
-INTRA_PRED_TEST(SSSE3, TestIntraPred4, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_d153_predictor_4x4_ssse3, NULL,
- vpx_d63_predictor_4x4_ssse3, NULL)
-INTRA_PRED_TEST(SSSE3, TestIntraPred8, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_d153_predictor_8x8_ssse3,
- vpx_d207_predictor_8x8_ssse3, vpx_d63_predictor_8x8_ssse3, NULL)
-INTRA_PRED_TEST(SSSE3, TestIntraPred16, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_d45_predictor_16x16_ssse3, NULL, NULL,
- vpx_d153_predictor_16x16_ssse3, vpx_d207_predictor_16x16_ssse3,
- vpx_d63_predictor_16x16_ssse3, NULL)
-INTRA_PRED_TEST(SSSE3, TestIntraPred32, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_d45_predictor_32x32_ssse3, NULL, NULL,
- vpx_d153_predictor_32x32_ssse3, vpx_d207_predictor_32x32_ssse3,
- vpx_d63_predictor_32x32_ssse3, NULL)
+INTRA_PRED_TEST(SSSE3, TestIntraPred4, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr,
+ vpx_d153_predictor_4x4_ssse3, nullptr,
+ vpx_d63_predictor_4x4_ssse3, nullptr)
+INTRA_PRED_TEST(SSSE3, TestIntraPred8, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr,
+ vpx_d153_predictor_8x8_ssse3, vpx_d207_predictor_8x8_ssse3,
+ vpx_d63_predictor_8x8_ssse3, nullptr)
+INTRA_PRED_TEST(SSSE3, TestIntraPred16, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_d45_predictor_16x16_ssse3, nullptr,
+ nullptr, vpx_d153_predictor_16x16_ssse3,
+ vpx_d207_predictor_16x16_ssse3, vpx_d63_predictor_16x16_ssse3,
+ nullptr)
+INTRA_PRED_TEST(SSSE3, TestIntraPred32, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_d45_predictor_32x32_ssse3, nullptr,
+ nullptr, vpx_d153_predictor_32x32_ssse3,
+ vpx_d207_predictor_32x32_ssse3, vpx_d63_predictor_32x32_ssse3,
+ nullptr)
#endif // HAVE_SSSE3
#if HAVE_DSPR2
-INTRA_PRED_TEST(DSPR2, TestIntraPred4, vpx_dc_predictor_4x4_dspr2, NULL, NULL,
- NULL, NULL, vpx_h_predictor_4x4_dspr2, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_tm_predictor_4x4_dspr2)
-INTRA_PRED_TEST(DSPR2, TestIntraPred8, vpx_dc_predictor_8x8_dspr2, NULL, NULL,
- NULL, NULL, vpx_h_predictor_8x8_dspr2, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_tm_predictor_8x8_c)
-INTRA_PRED_TEST(DSPR2, TestIntraPred16, vpx_dc_predictor_16x16_dspr2, NULL,
- NULL, NULL, NULL, vpx_h_predictor_16x16_dspr2, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL)
+INTRA_PRED_TEST(DSPR2, TestIntraPred4, vpx_dc_predictor_4x4_dspr2, nullptr,
+ nullptr, nullptr, nullptr, vpx_h_predictor_4x4_dspr2, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr,
+ vpx_tm_predictor_4x4_dspr2)
+INTRA_PRED_TEST(DSPR2, TestIntraPred8, vpx_dc_predictor_8x8_dspr2, nullptr,
+ nullptr, nullptr, nullptr, vpx_h_predictor_8x8_dspr2, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr,
+ vpx_tm_predictor_8x8_c)
+INTRA_PRED_TEST(DSPR2, TestIntraPred16, vpx_dc_predictor_16x16_dspr2, nullptr,
+ nullptr, nullptr, nullptr, vpx_h_predictor_16x16_dspr2, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr, nullptr)
#endif // HAVE_DSPR2
#if HAVE_NEON
@@ -265,78 +271,78 @@ INTRA_PRED_TEST(NEON, TestIntraPred4, vpx_dc_predictor_4x4_neon,
vpx_dc_left_predictor_4x4_neon, vpx_dc_top_predictor_4x4_neon,
vpx_dc_128_predictor_4x4_neon, vpx_v_predictor_4x4_neon,
vpx_h_predictor_4x4_neon, vpx_d45_predictor_4x4_neon,
- vpx_d135_predictor_4x4_neon, NULL, NULL, NULL, NULL,
+ vpx_d135_predictor_4x4_neon, nullptr, nullptr, nullptr, nullptr,
vpx_tm_predictor_4x4_neon)
INTRA_PRED_TEST(NEON, TestIntraPred8, vpx_dc_predictor_8x8_neon,
vpx_dc_left_predictor_8x8_neon, vpx_dc_top_predictor_8x8_neon,
vpx_dc_128_predictor_8x8_neon, vpx_v_predictor_8x8_neon,
vpx_h_predictor_8x8_neon, vpx_d45_predictor_8x8_neon,
- vpx_d135_predictor_8x8_neon, NULL, NULL, NULL, NULL,
+ vpx_d135_predictor_8x8_neon, nullptr, nullptr, nullptr, nullptr,
vpx_tm_predictor_8x8_neon)
INTRA_PRED_TEST(NEON, TestIntraPred16, vpx_dc_predictor_16x16_neon,
vpx_dc_left_predictor_16x16_neon,
vpx_dc_top_predictor_16x16_neon,
vpx_dc_128_predictor_16x16_neon, vpx_v_predictor_16x16_neon,
vpx_h_predictor_16x16_neon, vpx_d45_predictor_16x16_neon,
- vpx_d135_predictor_16x16_neon, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_16x16_neon)
+ vpx_d135_predictor_16x16_neon, nullptr, nullptr, nullptr,
+ nullptr, vpx_tm_predictor_16x16_neon)
INTRA_PRED_TEST(NEON, TestIntraPred32, vpx_dc_predictor_32x32_neon,
vpx_dc_left_predictor_32x32_neon,
vpx_dc_top_predictor_32x32_neon,
vpx_dc_128_predictor_32x32_neon, vpx_v_predictor_32x32_neon,
vpx_h_predictor_32x32_neon, vpx_d45_predictor_32x32_neon,
- vpx_d135_predictor_32x32_neon, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_32x32_neon)
+ vpx_d135_predictor_32x32_neon, nullptr, nullptr, nullptr,
+ nullptr, vpx_tm_predictor_32x32_neon)
#endif // HAVE_NEON
#if HAVE_MSA
INTRA_PRED_TEST(MSA, TestIntraPred4, vpx_dc_predictor_4x4_msa,
vpx_dc_left_predictor_4x4_msa, vpx_dc_top_predictor_4x4_msa,
vpx_dc_128_predictor_4x4_msa, vpx_v_predictor_4x4_msa,
- vpx_h_predictor_4x4_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_4x4_msa)
+ vpx_h_predictor_4x4_msa, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_4x4_msa)
INTRA_PRED_TEST(MSA, TestIntraPred8, vpx_dc_predictor_8x8_msa,
vpx_dc_left_predictor_8x8_msa, vpx_dc_top_predictor_8x8_msa,
vpx_dc_128_predictor_8x8_msa, vpx_v_predictor_8x8_msa,
- vpx_h_predictor_8x8_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_8x8_msa)
+ vpx_h_predictor_8x8_msa, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_8x8_msa)
INTRA_PRED_TEST(MSA, TestIntraPred16, vpx_dc_predictor_16x16_msa,
vpx_dc_left_predictor_16x16_msa, vpx_dc_top_predictor_16x16_msa,
vpx_dc_128_predictor_16x16_msa, vpx_v_predictor_16x16_msa,
- vpx_h_predictor_16x16_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_16x16_msa)
+ vpx_h_predictor_16x16_msa, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_16x16_msa)
INTRA_PRED_TEST(MSA, TestIntraPred32, vpx_dc_predictor_32x32_msa,
vpx_dc_left_predictor_32x32_msa, vpx_dc_top_predictor_32x32_msa,
vpx_dc_128_predictor_32x32_msa, vpx_v_predictor_32x32_msa,
- vpx_h_predictor_32x32_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_32x32_msa)
+ vpx_h_predictor_32x32_msa, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_tm_predictor_32x32_msa)
#endif // HAVE_MSA
#if HAVE_VSX
// TODO(crbug.com/webm/1522): Fix test failures.
#if 0
-INTRA_PRED_TEST(VSX, TestIntraPred4, NULL, NULL, NULL, NULL, NULL,
- vpx_h_predictor_4x4_vsx, NULL, NULL, NULL, NULL, NULL, NULL,
- vpx_tm_predictor_4x4_vsx)
-
-INTRA_PRED_TEST(VSX, TestIntraPred8, vpx_dc_predictor_8x8_vsx, NULL, NULL, NULL,
- NULL, vpx_h_predictor_8x8_vsx, vpx_d45_predictor_8x8_vsx, NULL,
- NULL, NULL, NULL, vpx_d63_predictor_8x8_vsx,
- vpx_tm_predictor_8x8_vsx)
+INTRA_PRED_TEST(VSX, TestIntraPred4, nullptr, nullptr, nullptr, nullptr,
+ nullptr, vpx_h_predictor_4x4_vsx, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, vpx_tm_predictor_4x4_vsx)
+
+INTRA_PRED_TEST(VSX, TestIntraPred8, vpx_dc_predictor_8x8_vsx, nullptr, nullptr,
+ nullptr, nullptr, vpx_h_predictor_8x8_vsx,
+ vpx_d45_predictor_8x8_vsx, nullptr, nullptr, nullptr, nullptr,
+ vpx_d63_predictor_8x8_vsx, vpx_tm_predictor_8x8_vsx)
#endif
INTRA_PRED_TEST(VSX, TestIntraPred16, vpx_dc_predictor_16x16_vsx,
vpx_dc_left_predictor_16x16_vsx, vpx_dc_top_predictor_16x16_vsx,
vpx_dc_128_predictor_16x16_vsx, vpx_v_predictor_16x16_vsx,
- vpx_h_predictor_16x16_vsx, vpx_d45_predictor_16x16_vsx, NULL,
- NULL, NULL, NULL, vpx_d63_predictor_16x16_vsx,
+ vpx_h_predictor_16x16_vsx, vpx_d45_predictor_16x16_vsx, nullptr,
+ nullptr, nullptr, nullptr, vpx_d63_predictor_16x16_vsx,
vpx_tm_predictor_16x16_vsx)
INTRA_PRED_TEST(VSX, TestIntraPred32, vpx_dc_predictor_32x32_vsx,
vpx_dc_left_predictor_32x32_vsx, vpx_dc_top_predictor_32x32_vsx,
vpx_dc_128_predictor_32x32_vsx, vpx_v_predictor_32x32_vsx,
- vpx_h_predictor_32x32_vsx, vpx_d45_predictor_32x32_vsx, NULL,
- NULL, NULL, NULL, vpx_d63_predictor_32x32_vsx,
+ vpx_h_predictor_32x32_vsx, vpx_d45_predictor_32x32_vsx, nullptr,
+ nullptr, nullptr, nullptr, vpx_d63_predictor_32x32_vsx,
vpx_tm_predictor_32x32_vsx)
#endif // HAVE_VSX
@@ -361,7 +367,7 @@ void TestHighbdIntraPred(const char name[], VpxHighbdPredFunc const *pred_funcs,
intra_pred_test_mem.Init(block_size, 12);
for (int k = 0; k < kNumVp9IntraPredFuncs; ++k) {
- if (pred_funcs[k] == NULL) continue;
+ if (pred_funcs[k] == nullptr) continue;
memcpy(intra_pred_test_mem.src, intra_pred_test_mem.ref_src,
sizeof(intra_pred_test_mem.src));
vpx_usec_timer timer;
@@ -487,19 +493,17 @@ HIGHBD_INTRA_PRED_TEST(
SSE2, TestHighbdIntraPred4, vpx_highbd_dc_predictor_4x4_sse2,
vpx_highbd_dc_left_predictor_4x4_sse2, vpx_highbd_dc_top_predictor_4x4_sse2,
vpx_highbd_dc_128_predictor_4x4_sse2, vpx_highbd_v_predictor_4x4_sse2,
- vpx_highbd_h_predictor_4x4_sse2, NULL, vpx_highbd_d135_predictor_4x4_sse2,
- vpx_highbd_d117_predictor_4x4_sse2, vpx_highbd_d153_predictor_4x4_sse2,
- vpx_highbd_d207_predictor_4x4_sse2, vpx_highbd_d63_predictor_4x4_sse2,
- vpx_highbd_tm_predictor_4x4_c)
-
-HIGHBD_INTRA_PRED_TEST(SSE2, TestHighbdIntraPred8,
- vpx_highbd_dc_predictor_8x8_sse2,
- vpx_highbd_dc_left_predictor_8x8_sse2,
- vpx_highbd_dc_top_predictor_8x8_sse2,
- vpx_highbd_dc_128_predictor_8x8_sse2,
- vpx_highbd_v_predictor_8x8_sse2,
- vpx_highbd_h_predictor_8x8_sse2, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_highbd_tm_predictor_8x8_sse2)
+ vpx_highbd_h_predictor_4x4_sse2, nullptr,
+ vpx_highbd_d135_predictor_4x4_sse2, vpx_highbd_d117_predictor_4x4_sse2,
+ vpx_highbd_d153_predictor_4x4_sse2, vpx_highbd_d207_predictor_4x4_sse2,
+ vpx_highbd_d63_predictor_4x4_sse2, vpx_highbd_tm_predictor_4x4_c)
+
+HIGHBD_INTRA_PRED_TEST(
+ SSE2, TestHighbdIntraPred8, vpx_highbd_dc_predictor_8x8_sse2,
+ vpx_highbd_dc_left_predictor_8x8_sse2, vpx_highbd_dc_top_predictor_8x8_sse2,
+ vpx_highbd_dc_128_predictor_8x8_sse2, vpx_highbd_v_predictor_8x8_sse2,
+ vpx_highbd_h_predictor_8x8_sse2, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, vpx_highbd_tm_predictor_8x8_sse2)
HIGHBD_INTRA_PRED_TEST(SSE2, TestHighbdIntraPred16,
vpx_highbd_dc_predictor_16x16_sse2,
@@ -507,8 +511,9 @@ HIGHBD_INTRA_PRED_TEST(SSE2, TestHighbdIntraPred16,
vpx_highbd_dc_top_predictor_16x16_sse2,
vpx_highbd_dc_128_predictor_16x16_sse2,
vpx_highbd_v_predictor_16x16_sse2,
- vpx_highbd_h_predictor_16x16_sse2, NULL, NULL, NULL,
- NULL, NULL, NULL, vpx_highbd_tm_predictor_16x16_sse2)
+ vpx_highbd_h_predictor_16x16_sse2, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr,
+ vpx_highbd_tm_predictor_16x16_sse2)
HIGHBD_INTRA_PRED_TEST(SSE2, TestHighbdIntraPred32,
vpx_highbd_dc_predictor_32x32_sse2,
@@ -516,35 +521,40 @@ HIGHBD_INTRA_PRED_TEST(SSE2, TestHighbdIntraPred32,
vpx_highbd_dc_top_predictor_32x32_sse2,
vpx_highbd_dc_128_predictor_32x32_sse2,
vpx_highbd_v_predictor_32x32_sse2,
- vpx_highbd_h_predictor_32x32_sse2, NULL, NULL, NULL,
- NULL, NULL, NULL, vpx_highbd_tm_predictor_32x32_sse2)
+ vpx_highbd_h_predictor_32x32_sse2, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr,
+ vpx_highbd_tm_predictor_32x32_sse2)
#endif // HAVE_SSE2
#if HAVE_SSSE3
-HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred4, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_highbd_d45_predictor_4x4_ssse3, NULL,
- NULL, NULL, NULL, NULL, NULL)
-HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred8, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_highbd_d45_predictor_8x8_ssse3,
+HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred4, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr,
+ vpx_highbd_d45_predictor_4x4_ssse3, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr)
+HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred8, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr,
+ vpx_highbd_d45_predictor_8x8_ssse3,
vpx_highbd_d135_predictor_8x8_ssse3,
vpx_highbd_d117_predictor_8x8_ssse3,
vpx_highbd_d153_predictor_8x8_ssse3,
vpx_highbd_d207_predictor_8x8_ssse3,
- vpx_highbd_d63_predictor_8x8_ssse3, NULL)
-HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred16, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_highbd_d45_predictor_16x16_ssse3,
+ vpx_highbd_d63_predictor_8x8_ssse3, nullptr)
+HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred16, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr,
+ vpx_highbd_d45_predictor_16x16_ssse3,
vpx_highbd_d135_predictor_16x16_ssse3,
vpx_highbd_d117_predictor_16x16_ssse3,
vpx_highbd_d153_predictor_16x16_ssse3,
vpx_highbd_d207_predictor_16x16_ssse3,
- vpx_highbd_d63_predictor_16x16_ssse3, NULL)
-HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred32, NULL, NULL, NULL, NULL,
- NULL, NULL, vpx_highbd_d45_predictor_32x32_ssse3,
+ vpx_highbd_d63_predictor_16x16_ssse3, nullptr)
+HIGHBD_INTRA_PRED_TEST(SSSE3, TestHighbdIntraPred32, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr,
+ vpx_highbd_d45_predictor_32x32_ssse3,
vpx_highbd_d135_predictor_32x32_ssse3,
vpx_highbd_d117_predictor_32x32_ssse3,
vpx_highbd_d153_predictor_32x32_ssse3,
vpx_highbd_d207_predictor_32x32_ssse3,
- vpx_highbd_d63_predictor_32x32_ssse3, NULL)
+ vpx_highbd_d63_predictor_32x32_ssse3, nullptr)
#endif // HAVE_SSSE3
#if HAVE_NEON
@@ -553,14 +563,14 @@ HIGHBD_INTRA_PRED_TEST(
vpx_highbd_dc_left_predictor_4x4_neon, vpx_highbd_dc_top_predictor_4x4_neon,
vpx_highbd_dc_128_predictor_4x4_neon, vpx_highbd_v_predictor_4x4_neon,
vpx_highbd_h_predictor_4x4_neon, vpx_highbd_d45_predictor_4x4_neon,
- vpx_highbd_d135_predictor_4x4_neon, NULL, NULL, NULL, NULL,
+ vpx_highbd_d135_predictor_4x4_neon, nullptr, nullptr, nullptr, nullptr,
vpx_highbd_tm_predictor_4x4_neon)
HIGHBD_INTRA_PRED_TEST(
NEON, TestHighbdIntraPred8, vpx_highbd_dc_predictor_8x8_neon,
vpx_highbd_dc_left_predictor_8x8_neon, vpx_highbd_dc_top_predictor_8x8_neon,
vpx_highbd_dc_128_predictor_8x8_neon, vpx_highbd_v_predictor_8x8_neon,
vpx_highbd_h_predictor_8x8_neon, vpx_highbd_d45_predictor_8x8_neon,
- vpx_highbd_d135_predictor_8x8_neon, NULL, NULL, NULL, NULL,
+ vpx_highbd_d135_predictor_8x8_neon, nullptr, nullptr, nullptr, nullptr,
vpx_highbd_tm_predictor_8x8_neon)
HIGHBD_INTRA_PRED_TEST(NEON, TestHighbdIntraPred16,
vpx_highbd_dc_predictor_16x16_neon,
@@ -570,8 +580,8 @@ HIGHBD_INTRA_PRED_TEST(NEON, TestHighbdIntraPred16,
vpx_highbd_v_predictor_16x16_neon,
vpx_highbd_h_predictor_16x16_neon,
vpx_highbd_d45_predictor_16x16_neon,
- vpx_highbd_d135_predictor_16x16_neon, NULL, NULL, NULL,
- NULL, vpx_highbd_tm_predictor_16x16_neon)
+ vpx_highbd_d135_predictor_16x16_neon, nullptr, nullptr,
+ nullptr, nullptr, vpx_highbd_tm_predictor_16x16_neon)
HIGHBD_INTRA_PRED_TEST(NEON, TestHighbdIntraPred32,
vpx_highbd_dc_predictor_32x32_neon,
vpx_highbd_dc_left_predictor_32x32_neon,
@@ -580,8 +590,8 @@ HIGHBD_INTRA_PRED_TEST(NEON, TestHighbdIntraPred32,
vpx_highbd_v_predictor_32x32_neon,
vpx_highbd_h_predictor_32x32_neon,
vpx_highbd_d45_predictor_32x32_neon,
- vpx_highbd_d135_predictor_32x32_neon, NULL, NULL, NULL,
- NULL, vpx_highbd_tm_predictor_32x32_neon)
+ vpx_highbd_d135_predictor_32x32_neon, nullptr, nullptr,
+ nullptr, nullptr, vpx_highbd_tm_predictor_32x32_neon)
#endif // HAVE_NEON
#endif // CONFIG_VP9_HIGHBITDEPTH
diff --git a/test/test_vector_test.cc b/test/test_vector_test.cc
index 5a9737122..ca990f4dd 100644
--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -40,7 +40,7 @@ typedef std::tuple<int, int, const char *> DecodeParam;
class TestVectorTest : public ::libvpx_test::DecoderTest,
public ::libvpx_test::CodecTestWithParam<DecodeParam> {
protected:
- TestVectorTest() : DecoderTest(GET_PARAM(0)), md5_file_(NULL) {
+ TestVectorTest() : DecoderTest(GET_PARAM(0)), md5_file_(nullptr) {
#if CONFIG_VP9_DECODER
resize_clips_.insert(::libvpx_test::kVP9TestVectorsResize,
::libvpx_test::kVP9TestVectorsResize +
@@ -54,7 +54,7 @@ class TestVectorTest : public ::libvpx_test::DecoderTest,
void OpenMD5File(const std::string &md5_file_name_) {
md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name_);
- ASSERT_TRUE(md5_file_ != NULL)
+ ASSERT_NE(md5_file_, nullptr)
<< "Md5 file open failed. Filename: " << md5_file_name_;
}
@@ -79,7 +79,7 @@ class TestVectorTest : public ::libvpx_test::DecoderTest,
virtual void DecompressedFrameHook(const vpx_image_t &img,
const unsigned int frame_number) {
- ASSERT_TRUE(md5_file_ != NULL);
+ ASSERT_NE(md5_file_, nullptr);
char expected_md5[33];
char junk[128];
@@ -137,7 +137,7 @@ TEST_P(TestVectorTest, MD5Match) {
return;
#endif
}
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
video->Init();
// Construct md5 file name.
@@ -153,7 +153,7 @@ TEST_P(TestVectorTest, MD5Match) {
}
#if CONFIG_VP8_DECODER
-VP8_INSTANTIATE_TEST_CASE(
+VP8_INSTANTIATE_TEST_SUITE(
TestVectorTest,
::testing::Combine(
::testing::Values(1), // Single thread.
@@ -163,7 +163,7 @@ VP8_INSTANTIATE_TEST_CASE(
libvpx_test::kNumVP8TestVectors)));
// Test VP8 decode in with different numbers of threads.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP8MultiThreaded, TestVectorTest,
::testing::Combine(
::testing::Values(
@@ -178,7 +178,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP8_DECODER
#if CONFIG_VP9_DECODER
-VP9_INSTANTIATE_TEST_CASE(
+VP9_INSTANTIATE_TEST_SUITE(
TestVectorTest,
::testing::Combine(
::testing::Values(1), // Single thread.
@@ -187,7 +187,7 @@ VP9_INSTANTIATE_TEST_CASE(
libvpx_test::kVP9TestVectors +
libvpx_test::kNumVP9TestVectors)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9MultiThreaded, TestVectorTest,
::testing::Combine(
::testing::Values(
diff --git a/test/tile_independence_test.cc b/test/tile_independence_test.cc
index 1d1020a9d..d92c13f88 100644
--- a/test/tile_independence_test.cc
+++ b/test/tile_independence_test.cc
@@ -100,5 +100,5 @@ TEST_P(TileIndependenceTest, MD5Match) {
ASSERT_STREQ(md5_fw_str, md5_inv_str);
}
-VP9_INSTANTIATE_TEST_CASE(TileIndependenceTest, ::testing::Range(0, 2, 1));
+VP9_INSTANTIATE_TEST_SUITE(TileIndependenceTest, ::testing::Range(0, 2, 1));
} // namespace
diff --git a/test/timestamp_test.cc b/test/timestamp_test.cc
index 41c192887..645a9f2ff 100644
--- a/test/timestamp_test.cc
+++ b/test/timestamp_test.cc
@@ -94,8 +94,8 @@ TEST_P(TimestampTest, TestVpxRollover) {
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
}
-VP8_INSTANTIATE_TEST_CASE(TimestampTest,
- ::testing::Values(::libvpx_test::kTwoPassGood));
-VP9_INSTANTIATE_TEST_CASE(TimestampTest,
- ::testing::Values(::libvpx_test::kTwoPassGood));
+VP8_INSTANTIATE_TEST_SUITE(TimestampTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood));
+VP9_INSTANTIATE_TEST_SUITE(TimestampTest,
+ ::testing::Values(::libvpx_test::kTwoPassGood));
} // namespace
diff --git a/test/user_priv_test.cc b/test/user_priv_test.cc
index 7bea76b0a..20741f826 100644
--- a/test/user_priv_test.cc
+++ b/test/user_priv_test.cc
@@ -57,18 +57,18 @@ string DecodeFile(const string &filename) {
void *user_priv = reinterpret_cast<void *>(&frame_num);
const vpx_codec_err_t res =
decoder.DecodeFrame(video.cxdata(), video.frame_size(),
- (frame_num == 0) ? NULL : user_priv);
+ (frame_num == 0) ? nullptr : user_priv);
if (res != VPX_CODEC_OK) {
EXPECT_EQ(VPX_CODEC_OK, res) << decoder.DecodeError();
break;
}
libvpx_test::DxDataIterator dec_iter = decoder.GetDxData();
- const vpx_image_t *img = NULL;
+ const vpx_image_t *img = nullptr;
// Get decompressed data.
while ((img = dec_iter.Next())) {
if (frame_num == 0) {
- CheckUserPrivateData(img->user_priv, NULL);
+ CheckUserPrivateData(img->user_priv, nullptr);
} else {
CheckUserPrivateData(img->user_priv, &frame_num);
@@ -78,7 +78,7 @@ string DecodeFile(const string &filename) {
ref.idx = rnd.Rand8() % 3;
decoder.Control(VP9_GET_REFERENCE, &ref);
- CheckUserPrivateData(ref.img.user_priv, NULL);
+ CheckUserPrivateData(ref.img.user_priv, nullptr);
}
md5.Add(img);
}
diff --git a/test/variance_test.cc b/test/variance_test.cc
index e9fa03c68..1b76b2041 100644
--- a/test/variance_test.cc
+++ b/test/variance_test.cc
@@ -253,7 +253,7 @@ void SumOfSquaresTest::RefTest() {
template <typename Func>
struct TestParams {
- TestParams(int log2w = 0, int log2h = 0, Func function = NULL,
+ TestParams(int log2w = 0, int log2h = 0, Func function = nullptr,
int bit_depth_value = 0)
: log2width(log2w), log2height(log2h), func(function) {
use_high_bit_depth = (bit_depth_value > 0);
@@ -297,8 +297,8 @@ class MainTestClass
use_high_bit_depth() ? sizeof(uint16_t) : sizeof(uint8_t);
src_ = reinterpret_cast<uint8_t *>(vpx_memalign(16, block_size() * unit));
ref_ = new uint8_t[block_size() * unit];
- ASSERT_TRUE(src_ != NULL);
- ASSERT_TRUE(ref_ != NULL);
+ ASSERT_NE(src_, nullptr);
+ ASSERT_NE(ref_, nullptr);
#if CONFIG_VP9_HIGHBITDEPTH
if (use_high_bit_depth()) {
// TODO(skal): remove!
@@ -319,8 +319,8 @@ class MainTestClass
vpx_free(src_);
delete[] ref_;
- src_ = NULL;
- ref_ = NULL;
+ src_ = nullptr;
+ ref_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -573,9 +573,9 @@ class SubpelVarianceTest
(block_size() + width() + height() + 1) * sizeof(uint16_t))));
#endif // CONFIG_VP9_HIGHBITDEPTH
}
- ASSERT_TRUE(src_ != NULL);
- ASSERT_TRUE(sec_ != NULL);
- ASSERT_TRUE(ref_ != NULL);
+ ASSERT_NE(src_, nullptr);
+ ASSERT_NE(sec_, nullptr);
+ ASSERT_NE(ref_, nullptr);
}
virtual void TearDown() {
@@ -738,23 +738,23 @@ TEST_P(VpxSubpelVarianceTest, Ref) { RefTest(); }
TEST_P(VpxSubpelVarianceTest, ExtremeRef) { ExtremeRefTest(); }
TEST_P(VpxSubpelAvgVarianceTest, Ref) { RefTest(); }
-INSTANTIATE_TEST_CASE_P(C, SumOfSquaresTest,
- ::testing::Values(vpx_get_mb_ss_c));
+INSTANTIATE_TEST_SUITE_P(C, SumOfSquaresTest,
+ ::testing::Values(vpx_get_mb_ss_c));
typedef TestParams<Get4x4SseFunc> SseParams;
-INSTANTIATE_TEST_CASE_P(C, VpxSseTest,
- ::testing::Values(SseParams(2, 2,
- &vpx_get4x4sse_cs_c)));
+INSTANTIATE_TEST_SUITE_P(C, VpxSseTest,
+ ::testing::Values(SseParams(2, 2,
+ &vpx_get4x4sse_cs_c)));
typedef TestParams<vpx_variance_fn_t> MseParams;
-INSTANTIATE_TEST_CASE_P(C, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_c),
- MseParams(4, 3, &vpx_mse16x8_c),
- MseParams(3, 4, &vpx_mse8x16_c),
- MseParams(3, 3, &vpx_mse8x8_c)));
+INSTANTIATE_TEST_SUITE_P(C, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_c),
+ MseParams(4, 3, &vpx_mse16x8_c),
+ MseParams(3, 4, &vpx_mse8x16_c),
+ MseParams(3, 3, &vpx_mse8x8_c)));
typedef TestParams<vpx_variance_fn_t> VarianceParams;
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_c),
VarianceParams(6, 5, &vpx_variance64x32_c),
@@ -771,7 +771,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 2, &vpx_variance4x4_c)));
typedef TestParams<vpx_subpixvariance_fn_t> SubpelVarianceParams;
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_c, 0),
@@ -789,7 +789,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_c, 0)));
typedef TestParams<vpx_subp_avg_variance_fn_t> SubpelAvgVarianceParams;
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_c, 0),
@@ -807,14 +807,11 @@ INSTANTIATE_TEST_CASE_P(
SubpelAvgVarianceParams(2, 2, &vpx_sub_pixel_avg_variance4x4_c, 0)));
#if CONFIG_VP9_HIGHBITDEPTH
-typedef MainTestClass<vpx_variance_fn_t> VpxHBDMseTest;
typedef MainTestClass<vpx_variance_fn_t> VpxHBDVarianceTest;
typedef SubpelVarianceTest<vpx_subpixvariance_fn_t> VpxHBDSubpelVarianceTest;
typedef SubpelVarianceTest<vpx_subp_avg_variance_fn_t>
VpxHBDSubpelAvgVarianceTest;
-TEST_P(VpxHBDMseTest, RefMse) { RefTestMse(); }
-TEST_P(VpxHBDMseTest, MaxMse) { MaxTestMse(); }
TEST_P(VpxHBDVarianceTest, Zero) { ZeroTest(); }
TEST_P(VpxHBDVarianceTest, Ref) { RefTest(); }
TEST_P(VpxHBDVarianceTest, RefStride) { RefStrideTest(); }
@@ -825,7 +822,10 @@ TEST_P(VpxHBDSubpelVarianceTest, ExtremeRef) { ExtremeRefTest(); }
TEST_P(VpxHBDSubpelAvgVarianceTest, Ref) { RefTest(); }
/* TODO(debargha): This test does not support the highbd version
-INSTANTIATE_TEST_CASE_P(
+typedef MainTestClass<vpx_variance_fn_t> VpxHBDMseTest;
+TEST_P(VpxHBDMseTest, RefMse) { RefTestMse(); }
+TEST_P(VpxHBDMseTest, MaxMse) { MaxTestMse(); }
+INSTANTIATE_TEST_SUITE_P(
C, VpxHBDMseTest,
::testing::Values(MseParams(4, 4, &vpx_highbd_12_mse16x16_c),
MseParams(4, 4, &vpx_highbd_12_mse16x8_c),
@@ -840,8 +840,9 @@ INSTANTIATE_TEST_CASE_P(
MseParams(4, 4, &vpx_highbd_8_mse8x16_c),
MseParams(4, 4, &vpx_highbd_8_mse8x8_c)));
*/
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(VpxHBDMseTest);
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxHBDVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_highbd_12_variance64x64_c, 12),
VarianceParams(6, 5, &vpx_highbd_12_variance64x32_c, 12),
@@ -883,7 +884,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 3, &vpx_highbd_8_variance4x8_c, 8),
VarianceParams(2, 2, &vpx_highbd_8_variance4x4_c, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxHBDSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_highbd_8_sub_pixel_variance64x64_c, 8),
@@ -941,7 +942,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 2, &vpx_highbd_12_sub_pixel_variance4x4_c,
12)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VpxHBDSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6,
@@ -1044,16 +1045,16 @@ INSTANTIATE_TEST_CASE_P(
#endif // CONFIG_VP9_HIGHBITDEPTH
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, SumOfSquaresTest,
- ::testing::Values(vpx_get_mb_ss_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, SumOfSquaresTest,
+ ::testing::Values(vpx_get_mb_ss_sse2));
-INSTANTIATE_TEST_CASE_P(SSE2, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_sse2),
- MseParams(4, 3, &vpx_mse16x8_sse2),
- MseParams(3, 4, &vpx_mse8x16_sse2),
- MseParams(3, 3, &vpx_mse8x8_sse2)));
+INSTANTIATE_TEST_SUITE_P(SSE2, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_sse2),
+ MseParams(4, 3, &vpx_mse16x8_sse2),
+ MseParams(3, 4, &vpx_mse8x16_sse2),
+ MseParams(3, 3, &vpx_mse8x8_sse2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_sse2),
VarianceParams(6, 5, &vpx_variance64x32_sse2),
@@ -1069,7 +1070,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 3, &vpx_variance4x8_sse2),
VarianceParams(2, 2, &vpx_variance4x4_sse2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_sse2, 0),
@@ -1086,7 +1087,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 3, &vpx_sub_pixel_variance4x8_sse2, 0),
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_sse2, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_sse2, 0),
@@ -1105,7 +1106,7 @@ INSTANTIATE_TEST_CASE_P(
#if CONFIG_VP9_HIGHBITDEPTH
/* TODO(debargha): This test does not support the highbd version
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxHBDMseTest,
::testing::Values(MseParams(4, 4, &vpx_highbd_12_mse16x16_sse2),
MseParams(4, 3, &vpx_highbd_12_mse16x8_sse2),
@@ -1121,7 +1122,7 @@ INSTANTIATE_TEST_CASE_P(
MseParams(3, 3, &vpx_highbd_8_mse8x8_sse2)));
*/
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxHBDVarianceTest,
::testing::Values(
VarianceParams(6, 6, &vpx_highbd_12_variance64x64_sse2, 12),
@@ -1155,7 +1156,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(3, 4, &vpx_highbd_8_variance8x16_sse2, 8),
VarianceParams(3, 3, &vpx_highbd_8_variance8x8_sse2, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxHBDSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_highbd_12_sub_pixel_variance64x64_sse2,
@@ -1224,7 +1225,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(3, 2, &vpx_highbd_8_sub_pixel_variance8x4_sse2,
8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VpxHBDSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6,
@@ -1330,7 +1331,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_ssse3, 0),
@@ -1347,7 +1348,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 3, &vpx_sub_pixel_variance4x8_ssse3, 0),
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_ssse3, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_ssse3,
@@ -1374,11 +1375,11 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSSE3
#if HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(AVX2, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_avx2),
- MseParams(4, 3, &vpx_mse16x8_avx2)));
+INSTANTIATE_TEST_SUITE_P(AVX2, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_avx2),
+ MseParams(4, 3, &vpx_mse16x8_avx2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_avx2),
VarianceParams(6, 5, &vpx_variance64x32_avx2),
@@ -1389,13 +1390,13 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(4, 4, &vpx_variance16x16_avx2),
VarianceParams(4, 3, &vpx_variance16x8_avx2)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_avx2, 0),
SubpelVarianceParams(5, 5, &vpx_sub_pixel_variance32x32_avx2, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_avx2, 0),
@@ -1404,14 +1405,15 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_AVX2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, VpxSseTest,
- ::testing::Values(SseParams(2, 2,
- &vpx_get4x4sse_cs_neon)));
+INSTANTIATE_TEST_SUITE_P(NEON, VpxSseTest,
+ ::testing::Values(SseParams(2, 2,
+ &vpx_get4x4sse_cs_neon)));
-INSTANTIATE_TEST_CASE_P(NEON, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_neon)));
+INSTANTIATE_TEST_SUITE_P(NEON, VpxMseTest,
+ ::testing::Values(MseParams(4, 4,
+ &vpx_mse16x16_neon)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_neon),
VarianceParams(6, 5, &vpx_variance64x32_neon),
@@ -1427,7 +1429,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 3, &vpx_variance4x8_neon),
VarianceParams(2, 2, &vpx_variance4x4_neon)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_neon, 0),
@@ -1444,7 +1446,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 3, &vpx_sub_pixel_variance4x8_neon, 0),
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_neon, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_neon, 0),
@@ -1463,20 +1465,20 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(MSA, SumOfSquaresTest,
- ::testing::Values(vpx_get_mb_ss_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, SumOfSquaresTest,
+ ::testing::Values(vpx_get_mb_ss_msa));
-INSTANTIATE_TEST_CASE_P(MSA, VpxSseTest,
- ::testing::Values(SseParams(2, 2,
- &vpx_get4x4sse_cs_msa)));
+INSTANTIATE_TEST_SUITE_P(MSA, VpxSseTest,
+ ::testing::Values(SseParams(2, 2,
+ &vpx_get4x4sse_cs_msa)));
-INSTANTIATE_TEST_CASE_P(MSA, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_msa),
- MseParams(4, 3, &vpx_mse16x8_msa),
- MseParams(3, 4, &vpx_mse8x16_msa),
- MseParams(3, 3, &vpx_mse8x8_msa)));
+INSTANTIATE_TEST_SUITE_P(MSA, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_msa),
+ MseParams(4, 3, &vpx_mse16x8_msa),
+ MseParams(3, 4, &vpx_mse8x16_msa),
+ MseParams(3, 3, &vpx_mse8x8_msa)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_msa),
VarianceParams(6, 5, &vpx_variance64x32_msa),
@@ -1492,7 +1494,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 3, &vpx_variance4x8_msa),
VarianceParams(2, 2, &vpx_variance4x4_msa)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_msa, 0),
@@ -1509,7 +1511,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(6, 5, &vpx_sub_pixel_variance64x32_msa, 0),
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_msa, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_msa, 0),
@@ -1528,19 +1530,19 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_MSA
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(VSX, SumOfSquaresTest,
- ::testing::Values(vpx_get_mb_ss_vsx));
-
-INSTANTIATE_TEST_CASE_P(VSX, VpxSseTest,
- ::testing::Values(SseParams(2, 2,
- &vpx_get4x4sse_cs_vsx)));
-INSTANTIATE_TEST_CASE_P(VSX, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_vsx),
- MseParams(4, 3, &vpx_mse16x8_vsx),
- MseParams(3, 4, &vpx_mse8x16_vsx),
- MseParams(3, 3, &vpx_mse8x8_vsx)));
-
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(VSX, SumOfSquaresTest,
+ ::testing::Values(vpx_get_mb_ss_vsx));
+
+INSTANTIATE_TEST_SUITE_P(VSX, VpxSseTest,
+ ::testing::Values(SseParams(2, 2,
+ &vpx_get4x4sse_cs_vsx)));
+INSTANTIATE_TEST_SUITE_P(VSX, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_vsx),
+ MseParams(4, 3, &vpx_mse16x8_vsx),
+ MseParams(3, 4, &vpx_mse8x16_vsx),
+ MseParams(3, 3, &vpx_mse8x8_vsx)));
+
+INSTANTIATE_TEST_SUITE_P(
VSX, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_vsx),
VarianceParams(6, 5, &vpx_variance64x32_vsx),
@@ -1558,13 +1560,13 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_VSX
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(MMI, VpxMseTest,
- ::testing::Values(MseParams(4, 4, &vpx_mse16x16_mmi),
- MseParams(4, 3, &vpx_mse16x8_mmi),
- MseParams(3, 4, &vpx_mse8x16_mmi),
- MseParams(3, 3, &vpx_mse8x8_mmi)));
+INSTANTIATE_TEST_SUITE_P(MMI, VpxMseTest,
+ ::testing::Values(MseParams(4, 4, &vpx_mse16x16_mmi),
+ MseParams(4, 3, &vpx_mse16x8_mmi),
+ MseParams(3, 4, &vpx_mse8x16_mmi),
+ MseParams(3, 3, &vpx_mse8x8_mmi)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMI, VpxVarianceTest,
::testing::Values(VarianceParams(6, 6, &vpx_variance64x64_mmi),
VarianceParams(6, 5, &vpx_variance64x32_mmi),
@@ -1580,7 +1582,7 @@ INSTANTIATE_TEST_CASE_P(
VarianceParams(2, 3, &vpx_variance4x8_mmi),
VarianceParams(2, 2, &vpx_variance4x4_mmi)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMI, VpxSubpelVarianceTest,
::testing::Values(
SubpelVarianceParams(6, 6, &vpx_sub_pixel_variance64x64_mmi, 0),
@@ -1597,7 +1599,7 @@ INSTANTIATE_TEST_CASE_P(
SubpelVarianceParams(2, 3, &vpx_sub_pixel_variance4x8_mmi, 0),
SubpelVarianceParams(2, 2, &vpx_sub_pixel_variance4x4_mmi, 0)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MMI, VpxSubpelAvgVarianceTest,
::testing::Values(
SubpelAvgVarianceParams(6, 6, &vpx_sub_pixel_avg_variance64x64_mmi, 0),
diff --git a/test/vp8_datarate_test.cc b/test/vp8_datarate_test.cc
index 95a1157f6..dcd68a2d4 100644
--- a/test/vp8_datarate_test.cc
+++ b/test/vp8_datarate_test.cc
@@ -408,9 +408,31 @@ TEST_P(DatarateTestRealTime, GFBoost) {
<< " The datarate for the file missed the target!";
}
-VP8_INSTANTIATE_TEST_CASE(DatarateTestLarge, ALL_TEST_MODES,
- ::testing::Values(0));
-VP8_INSTANTIATE_TEST_CASE(DatarateTestRealTime,
- ::testing::Values(::libvpx_test::kRealTime),
- ::testing::Values(-6, -12));
+TEST_P(DatarateTestRealTime, NV12) {
+ denoiser_on_ = 0;
+ cfg_.rc_buf_initial_sz = 500;
+ cfg_.rc_dropframe_thresh = 0;
+ cfg_.rc_max_quantizer = 56;
+ cfg_.rc_end_usage = VPX_CBR;
+ cfg_.g_error_resilient = 0;
+ ::libvpx_test::YUVVideoSource video("hantro_collage_w352h288_nv12.yuv",
+ VPX_IMG_FMT_NV12, 352, 288, 30, 1, 0,
+ 100);
+
+ cfg_.rc_target_bitrate = 200;
+ ResetModel();
+
+ ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
+ ASSERT_GE(cfg_.rc_target_bitrate, effective_datarate_ * 0.95)
+ << " The datarate for the file exceeds the target!";
+
+ ASSERT_LE(cfg_.rc_target_bitrate, file_datarate_ * 1.4)
+ << " The datarate for the file missed the target!";
+}
+
+VP8_INSTANTIATE_TEST_SUITE(DatarateTestLarge, ALL_TEST_MODES,
+ ::testing::Values(0));
+VP8_INSTANTIATE_TEST_SUITE(DatarateTestRealTime,
+ ::testing::Values(::libvpx_test::kRealTime),
+ ::testing::Values(-6, -12));
} // namespace
diff --git a/test/vp8_denoiser_sse2_test.cc b/test/vp8_denoiser_sse2_test.cc
index 2cbcf0414..8cb84ddd8 100644
--- a/test/vp8_denoiser_sse2_test.cc
+++ b/test/vp8_denoiser_sse2_test.cc
@@ -40,7 +40,12 @@ class VP8DenoiserTest : public ::testing::TestWithParam<int> {
int increase_denoising_;
};
+// TODO(https://crbug.com/webm/1718): This test fails with gcc 8-10.
+#if defined(__GNUC__) && __GNUC__ >= 8
+TEST_P(VP8DenoiserTest, DISABLED_BitexactCheck) {
+#else
TEST_P(VP8DenoiserTest, BitexactCheck) {
+#endif
ACMRandom rnd(ACMRandom::DeterministicSeed());
const int count_test_block = 4000;
const int stride = 16;
@@ -87,7 +92,7 @@ TEST_P(VP8DenoiserTest, BitexactCheck) {
// Check bitexactness.
for (int h = 0; h < 16; ++h) {
for (int w = 0; w < 16; ++w) {
- EXPECT_EQ(avg_block_c[h * stride + w], avg_block_sse2[h * stride + w]);
+ ASSERT_EQ(avg_block_c[h * stride + w], avg_block_sse2[h * stride + w]);
}
}
@@ -103,12 +108,12 @@ TEST_P(VP8DenoiserTest, BitexactCheck) {
// Check bitexactness.
for (int h = 0; h < 16; ++h) {
for (int w = 0; w < 16; ++w) {
- EXPECT_EQ(avg_block_c[h * stride + w], avg_block_sse2[h * stride + w]);
+ ASSERT_EQ(avg_block_c[h * stride + w], avg_block_sse2[h * stride + w]);
}
}
}
}
// Test for all block size.
-INSTANTIATE_TEST_CASE_P(SSE2, VP8DenoiserTest, ::testing::Values(0, 1));
+INSTANTIATE_TEST_SUITE_P(SSE2, VP8DenoiserTest, ::testing::Values(0, 1));
} // namespace
diff --git a/test/vp8_fdct4x4_test.cc b/test/vp8_fdct4x4_test.cc
index b7697d859..d5ac25300 100644
--- a/test/vp8_fdct4x4_test.cc
+++ b/test/vp8_fdct4x4_test.cc
@@ -183,24 +183,24 @@ TEST_P(FdctTest, RoundTripErrorCheck) {
<< "Error: FDCT/IDCT has average roundtrip error > 1 per block";
};
-INSTANTIATE_TEST_CASE_P(C, FdctTest, ::testing::Values(vp8_short_fdct4x4_c));
+INSTANTIATE_TEST_SUITE_P(C, FdctTest, ::testing::Values(vp8_short_fdct4x4_c));
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, FdctTest,
- ::testing::Values(vp8_short_fdct4x4_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, FdctTest,
+ ::testing::Values(vp8_short_fdct4x4_neon));
#endif // HAVE_NEON
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, FdctTest,
- ::testing::Values(vp8_short_fdct4x4_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, FdctTest,
+ ::testing::Values(vp8_short_fdct4x4_sse2));
#endif // HAVE_SSE2
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(MSA, FdctTest,
- ::testing::Values(vp8_short_fdct4x4_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, FdctTest,
+ ::testing::Values(vp8_short_fdct4x4_msa));
#endif // HAVE_MSA
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(MMI, FdctTest,
- ::testing::Values(vp8_short_fdct4x4_mmi));
+INSTANTIATE_TEST_SUITE_P(MMI, FdctTest,
+ ::testing::Values(vp8_short_fdct4x4_mmi));
#endif // HAVE_MMI
} // namespace
diff --git a/test/vp9_arf_freq_test.cc b/test/vp9_arf_freq_test.cc
index 9a3455b4a..c7e6f1af0 100644
--- a/test/vp9_arf_freq_test.cc
+++ b/test/vp9_arf_freq_test.cc
@@ -213,7 +213,7 @@ TEST_P(ArfFreqTest, MinArfFreqTest) {
}
}
-VP9_INSTANTIATE_TEST_CASE(ArfFreqTest, ::testing::ValuesIn(kTestVectors),
- ::testing::ValuesIn(kEncodeVectors),
- ::testing::ValuesIn(kMinArfVectors));
+VP9_INSTANTIATE_TEST_SUITE(ArfFreqTest, ::testing::ValuesIn(kTestVectors),
+ ::testing::ValuesIn(kEncodeVectors),
+ ::testing::ValuesIn(kMinArfVectors));
} // namespace
diff --git a/test/vp9_block_error_test.cc b/test/vp9_block_error_test.cc
index 71a0686d7..b93b014e6 100644
--- a/test/vp9_block_error_test.cc
+++ b/test/vp9_block_error_test.cc
@@ -67,6 +67,7 @@ class BlockErrorTest : public ::testing::TestWithParam<BlockErrorParam> {
HBDBlockErrorFunc error_block_op_;
HBDBlockErrorFunc ref_error_block_op_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BlockErrorTest);
TEST_P(BlockErrorTest, OperationCheck) {
ACMRandom rnd(ACMRandom::DeterministicSeed());
@@ -185,12 +186,12 @@ const BlockErrorParam sse2_block_error_tests[] = {
&BlockError8BitWrapper<vp9_block_error_c>, VPX_BITS_8)
};
-INSTANTIATE_TEST_CASE_P(SSE2, BlockErrorTest,
- ::testing::ValuesIn(sse2_block_error_tests));
+INSTANTIATE_TEST_SUITE_P(SSE2, BlockErrorTest,
+ ::testing::ValuesIn(sse2_block_error_tests));
#endif // HAVE_SSE2
#if HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, BlockErrorTest,
::testing::Values(make_tuple(&BlockError8BitWrapper<vp9_block_error_avx2>,
&BlockError8BitWrapper<vp9_block_error_c>,
diff --git a/test/vp9_boolcoder_test.cc b/test/vp9_boolcoder_test.cc
index 0cafa6730..6ba171a00 100644
--- a/test/vp9_boolcoder_test.cc
+++ b/test/vp9_boolcoder_test.cc
@@ -74,7 +74,7 @@ TEST(VP9, TestBitIO) {
GTEST_ASSERT_EQ(bw_buffer[0] & 0x80, 0);
vpx_reader br;
- vpx_reader_init(&br, bw_buffer, kBufferSize, NULL, NULL);
+ vpx_reader_init(&br, bw_buffer, kBufferSize, nullptr, nullptr);
bit_rnd.Reset(random_seed);
for (int i = 0; i < kBitsToTest; ++i) {
if (bit_method == 2) {
diff --git a/test/vp9_datarate_test.cc b/test/vp9_datarate_test.cc
index f9f2aaaff..9930c754c 100644
--- a/test/vp9_datarate_test.cc
+++ b/test/vp9_datarate_test.cc
@@ -701,7 +701,7 @@ TEST_P(DatarateTestVP9RealTime, RegionOfInterest) {
// Use 2 states: 1 is center square, 0 is the rest.
roi_.roi_map = reinterpret_cast<uint8_t *>(
calloc(roi_.rows * roi_.cols, sizeof(*roi_.roi_map)));
- ASSERT_TRUE(roi_.roi_map != NULL);
+ ASSERT_NE(roi_.roi_map, nullptr);
for (unsigned int i = 0; i < roi_.rows; ++i) {
for (unsigned int j = 0; j < roi_.cols; ++j) {
@@ -935,23 +935,23 @@ TEST_P(DatarateTestVP9RealTimeDenoiser, DenoiserOffOn) {
}
#endif // CONFIG_VP9_TEMPORAL_DENOISING
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9RealTimeMultiBR,
- ::testing::Range(5, 10), ::testing::Range(0, 4));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9RealTimeMultiBR,
+ ::testing::Range(5, 10), ::testing::Range(0, 4));
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9LargeVBR, ::testing::Range(5, 9),
- ::testing::Range(0, 2));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9LargeVBR, ::testing::Range(5, 9),
+ ::testing::Range(0, 2));
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9RealTime, ::testing::Range(5, 10));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9RealTime, ::testing::Range(5, 10));
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9RealTimeDeltaQUV,
- ::testing::Range(5, 10),
- ::testing::Values(-5, -10, -15));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9RealTimeDeltaQUV,
+ ::testing::Range(5, 10),
+ ::testing::Values(-5, -10, -15));
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9PostEncodeDrop,
- ::testing::Range(5, 6));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9PostEncodeDrop,
+ ::testing::Range(5, 6));
#if CONFIG_VP9_TEMPORAL_DENOISING
-VP9_INSTANTIATE_TEST_CASE(DatarateTestVP9RealTimeDenoiser,
- ::testing::Range(5, 10));
+VP9_INSTANTIATE_TEST_SUITE(DatarateTestVP9RealTimeDenoiser,
+ ::testing::Range(5, 10));
#endif
} // namespace
diff --git a/test/vp9_denoiser_test.cc b/test/vp9_denoiser_test.cc
index 47fa587fc..d884b7eb9 100644
--- a/test/vp9_denoiser_test.cc
+++ b/test/vp9_denoiser_test.cc
@@ -51,6 +51,7 @@ class VP9DenoiserTest
protected:
BLOCK_SIZE bs_;
};
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(VP9DenoiserTest);
TEST_P(VP9DenoiserTest, BitexactCheck) {
ACMRandom rnd(ACMRandom::DeterministicSeed());
@@ -104,7 +105,7 @@ using std::make_tuple;
// Test for all block size.
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VP9DenoiserTest,
::testing::Values(make_tuple(&vp9_denoiser_filter_sse2, BLOCK_8X8),
make_tuple(&vp9_denoiser_filter_sse2, BLOCK_8X16),
@@ -119,7 +120,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VP9DenoiserTest,
::testing::Values(make_tuple(&vp9_denoiser_filter_neon, BLOCK_8X8),
make_tuple(&vp9_denoiser_filter_neon, BLOCK_8X16),
diff --git a/test/vp9_encoder_parms_get_to_decoder.cc b/test/vp9_encoder_parms_get_to_decoder.cc
index fade08bbd..ce2198c59 100644
--- a/test/vp9_encoder_parms_get_to_decoder.cc
+++ b/test/vp9_encoder_parms_get_to_decoder.cc
@@ -142,12 +142,12 @@ TEST_P(VpxEncoderParmsGetToDecoder, BitstreamParms) {
std::unique_ptr<libvpx_test::VideoSource> video(
new libvpx_test::Y4mVideoSource(test_video_.name, 0, test_video_.frames));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
}
-VP9_INSTANTIATE_TEST_CASE(VpxEncoderParmsGetToDecoder,
- ::testing::ValuesIn(kVP9EncodeParameterSet),
- ::testing::ValuesIn(kVP9EncodePerfTestVectors));
+VP9_INSTANTIATE_TEST_SUITE(VpxEncoderParmsGetToDecoder,
+ ::testing::ValuesIn(kVP9EncodeParameterSet),
+ ::testing::ValuesIn(kVP9EncodePerfTestVectors));
} // namespace
diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc
index 7cb716f22..7cc126ea5 100644
--- a/test/vp9_end_to_end_test.cc
+++ b/test/vp9_end_to_end_test.cc
@@ -59,6 +59,10 @@ const TestVideoParam kTestVectors[] = {
#endif // CONFIG_VP9_HIGHBITDEPTH
};
+const TestVideoParam kTestVectorsNv12[] = {
+ { "hantro_collage_w352h288_nv12.yuv", 8, VPX_IMG_FMT_NV12, VPX_BITS_8, 0 },
+};
+
// Encoding modes tested
const libvpx_test::TestMode kEncodingModeVectors[] = {
::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood,
@@ -237,6 +241,27 @@ class EndToEndTestLoopFilterThreading
};
#endif // CONFIG_VP9_DECODER
+class EndToEndNV12 : public EndToEndTestLarge {};
+
+TEST_P(EndToEndNV12, EndtoEndNV12Test) {
+ cfg_.rc_target_bitrate = kBitrate;
+ cfg_.g_error_resilient = 0;
+ cfg_.g_profile = test_video_param_.profile;
+ cfg_.g_input_bit_depth = test_video_param_.input_bit_depth;
+ cfg_.g_bit_depth = test_video_param_.bit_depth;
+ init_flags_ = VPX_CODEC_USE_PSNR;
+ if (cfg_.g_bit_depth > 8) init_flags_ |= VPX_CODEC_USE_HIGHBITDEPTH;
+
+ std::unique_ptr<libvpx_test::VideoSource> video;
+
+ video.reset(new libvpx_test::YUVVideoSource(test_video_param_.filename,
+ test_video_param_.fmt, 352, 288,
+ 30, 1, 0, 100));
+ ASSERT_NE(video.get(), nullptr);
+
+ ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
+}
+
TEST_P(EndToEndTestLarge, EndtoEndPSNRTest) {
cfg_.rc_target_bitrate = kBitrate;
cfg_.g_error_resilient = 0;
@@ -255,7 +280,7 @@ TEST_P(EndToEndTestLarge, EndtoEndPSNRTest) {
test_video_param_.filename, test_video_param_.fmt, kWidth, kHeight,
kFramerate, 1, 0, kFrames));
}
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
const double psnr = GetAveragePsnr();
@@ -282,7 +307,7 @@ TEST_P(EndToEndTestLarge, EndtoEndPSNRDenoiserAQTest) {
test_video_param_.filename, test_video_param_.fmt, kWidth, kHeight,
kFramerate, 1, 0, kFrames));
}
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
const double psnr = GetAveragePsnr();
@@ -309,16 +334,21 @@ TEST_P(EndToEndTestLoopFilterThreading, TileCountChange) {
}
#endif // CONFIG_VP9_DECODER
-VP9_INSTANTIATE_TEST_CASE(EndToEndTestLarge,
- ::testing::ValuesIn(kEncodingModeVectors),
- ::testing::ValuesIn(kTestVectors),
- ::testing::ValuesIn(kCpuUsedVectors));
+VP9_INSTANTIATE_TEST_SUITE(EndToEndTestLarge,
+ ::testing::ValuesIn(kEncodingModeVectors),
+ ::testing::ValuesIn(kTestVectors),
+ ::testing::ValuesIn(kCpuUsedVectors));
+
+VP9_INSTANTIATE_TEST_SUITE(EndToEndNV12,
+ ::testing::Values(::libvpx_test::kRealTime),
+ ::testing::ValuesIn(kTestVectorsNv12),
+ ::testing::Values(6, 7, 8));
-VP9_INSTANTIATE_TEST_CASE(EndToEndTestAdaptiveRDThresh,
- ::testing::Values(5, 6, 7), ::testing::Values(8, 9));
+VP9_INSTANTIATE_TEST_SUITE(EndToEndTestAdaptiveRDThresh,
+ ::testing::Values(5, 6, 7), ::testing::Values(8, 9));
#if CONFIG_VP9_DECODER
-VP9_INSTANTIATE_TEST_CASE(EndToEndTestLoopFilterThreading, ::testing::Bool(),
- ::testing::Range(2, 6));
+VP9_INSTANTIATE_TEST_SUITE(EndToEndTestLoopFilterThreading, ::testing::Bool(),
+ ::testing::Range(2, 6));
#endif // CONFIG_VP9_DECODER
} // namespace
diff --git a/test/vp9_ethread_test.cc b/test/vp9_ethread_test.cc
index 6de76e9e5..21caf7918 100644
--- a/test/vp9_ethread_test.cc
+++ b/test/vp9_ethread_test.cc
@@ -41,7 +41,7 @@ class VPxFirstPassEncoderThreadTest
row_mt_mode_ = 1;
first_pass_only_ = true;
- firstpass_stats_.buf = NULL;
+ firstpass_stats_.buf = nullptr;
firstpass_stats_.sz = 0;
}
virtual ~VPxFirstPassEncoderThreadTest() { free(firstpass_stats_.buf); }
@@ -390,7 +390,7 @@ TEST_P(VPxEncoderThreadTest, EncoderResultTest) {
EXPECT_NEAR(single_thr_psnr, multi_thr_psnr, 0.2);
}
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9, VPxFirstPassEncoderThreadTest,
::testing::Combine(
::testing::Values(
@@ -401,7 +401,7 @@ INSTANTIATE_TEST_CASE_P(
// Split this into two instantiations so that we can distinguish
// between very slow runs ( ie cpu_speed 0 ) vs ones that can be
// run nightly by adding Large to the title.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9, VPxEncoderThreadTest,
::testing::Combine(
::testing::Values(
@@ -413,7 +413,7 @@ INSTANTIATE_TEST_CASE_P(
::testing::Range(0, 3), // tile_columns
::testing::Range(2, 5))); // threads
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VP9Large, VPxEncoderThreadTest,
::testing::Combine(
::testing::Values(
diff --git a/test/vp9_ext_ratectrl_test.cc b/test/vp9_ext_ratectrl_test.cc
new file mode 100644
index 000000000..b6b5b2eae
--- /dev/null
+++ b/test/vp9_ext_ratectrl_test.cc
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2020 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 <new>
+
+#include "test/codec_factory.h"
+#include "test/encode_test_driver.h"
+#include "test/util.h"
+#include "test/yuv_video_source.h"
+#include "third_party/googletest/src/include/gtest/gtest.h"
+#include "vpx/vpx_ext_ratectrl.h"
+
+namespace {
+
+constexpr int kModelMagicNumber = 51396;
+constexpr unsigned int PrivMagicNumber = 5566;
+constexpr int kFrameNum = 5;
+constexpr int kLosslessCodingIndex = 2;
+
+struct ToyRateCtrl {
+ int magic_number;
+ int coding_index;
+};
+
+vpx_rc_status_t rc_create_model(void *priv,
+ const vpx_rc_config_t *ratectrl_config,
+ vpx_rc_model_t *rate_ctrl_model_pt) {
+ ToyRateCtrl *toy_rate_ctrl = new (std::nothrow) ToyRateCtrl;
+ EXPECT_NE(toy_rate_ctrl, nullptr);
+ toy_rate_ctrl->magic_number = kModelMagicNumber;
+ toy_rate_ctrl->coding_index = -1;
+ *rate_ctrl_model_pt = toy_rate_ctrl;
+ EXPECT_EQ(priv, reinterpret_cast<void *>(PrivMagicNumber));
+ EXPECT_EQ(ratectrl_config->frame_width, 352);
+ EXPECT_EQ(ratectrl_config->frame_height, 288);
+ EXPECT_EQ(ratectrl_config->show_frame_count, kFrameNum);
+ EXPECT_EQ(ratectrl_config->target_bitrate_kbps, 24000);
+ EXPECT_EQ(ratectrl_config->frame_rate_num, 30);
+ EXPECT_EQ(ratectrl_config->frame_rate_den, 1);
+ return VPX_RC_OK;
+}
+
+vpx_rc_status_t rc_send_firstpass_stats(
+ vpx_rc_model_t rate_ctrl_model,
+ const vpx_rc_firstpass_stats_t *first_pass_stats) {
+ const ToyRateCtrl *toy_rate_ctrl =
+ static_cast<ToyRateCtrl *>(rate_ctrl_model);
+ EXPECT_EQ(toy_rate_ctrl->magic_number, kModelMagicNumber);
+ EXPECT_EQ(first_pass_stats->num_frames, kFrameNum);
+ for (int i = 0; i < first_pass_stats->num_frames; ++i) {
+ EXPECT_DOUBLE_EQ(first_pass_stats->frame_stats[i].frame, i);
+ }
+ return VPX_RC_OK;
+}
+
+vpx_rc_status_t rc_get_encodeframe_decision(
+ vpx_rc_model_t rate_ctrl_model,
+ const vpx_rc_encodeframe_info_t *encode_frame_info,
+ vpx_rc_encodeframe_decision_t *frame_decision) {
+ ToyRateCtrl *toy_rate_ctrl = static_cast<ToyRateCtrl *>(rate_ctrl_model);
+ toy_rate_ctrl->coding_index += 1;
+
+ EXPECT_EQ(toy_rate_ctrl->magic_number, kModelMagicNumber);
+
+ EXPECT_LT(encode_frame_info->show_index, kFrameNum);
+ EXPECT_EQ(encode_frame_info->coding_index, toy_rate_ctrl->coding_index);
+
+ if (encode_frame_info->coding_index == 0) {
+ EXPECT_EQ(encode_frame_info->show_index, 0);
+ EXPECT_EQ(encode_frame_info->gop_index, 0);
+ EXPECT_EQ(encode_frame_info->frame_type, 0 /*kFrameTypeKey*/);
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[0],
+ 0); // kRefFrameTypeLast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[1],
+ 0); // kRefFrameTypePast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[2],
+ 0); // kRefFrameTypeFuture
+ }
+
+ if (encode_frame_info->coding_index == 1) {
+ EXPECT_EQ(encode_frame_info->show_index, 4);
+ EXPECT_EQ(encode_frame_info->gop_index, 1);
+ EXPECT_EQ(encode_frame_info->frame_type, 2 /*kFrameTypeAltRef*/);
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[0],
+ 1); // kRefFrameTypeLast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[1],
+ 0); // kRefFrameTypePast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[2],
+ 0); // kRefFrameTypeFuture
+ EXPECT_EQ(encode_frame_info->ref_frame_coding_indexes[0],
+ 0); // kRefFrameTypeLast
+ }
+
+ if (encode_frame_info->coding_index >= 2 &&
+ encode_frame_info->coding_index < 5) {
+ // In the first group of pictures, coding_index and gop_index are equal.
+ EXPECT_EQ(encode_frame_info->gop_index, encode_frame_info->coding_index);
+ EXPECT_EQ(encode_frame_info->frame_type, 1 /*kFrameTypeInter*/);
+ }
+
+ if (encode_frame_info->coding_index == 5) {
+ EXPECT_EQ(encode_frame_info->show_index, 4);
+ EXPECT_EQ(encode_frame_info->gop_index, 0);
+ EXPECT_EQ(encode_frame_info->frame_type, 3 /*kFrameTypeOverlay*/);
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[0],
+ 1); // kRefFrameTypeLast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[1],
+ 1); // kRefFrameTypePast
+ EXPECT_EQ(encode_frame_info->ref_frame_valid_list[2],
+ 1); // kRefFrameTypeFuture
+ EXPECT_EQ(encode_frame_info->ref_frame_coding_indexes[0],
+ 4); // kRefFrameTypeLast
+ EXPECT_EQ(encode_frame_info->ref_frame_coding_indexes[1],
+ 0); // kRefFrameTypePast
+ EXPECT_EQ(encode_frame_info->ref_frame_coding_indexes[2],
+ 1); // kRefFrameTypeFuture
+ }
+ if (encode_frame_info->coding_index == kLosslessCodingIndex) {
+ // We should get sse == 0 at rc_update_encodeframe_result()
+ frame_decision->q_index = 0;
+ } else {
+ frame_decision->q_index = 100;
+ }
+ frame_decision->max_frame_size = 0;
+ return VPX_RC_OK;
+}
+
+vpx_rc_status_t rc_update_encodeframe_result(
+ vpx_rc_model_t rate_ctrl_model,
+ const vpx_rc_encodeframe_result_t *encode_frame_result) {
+ const ToyRateCtrl *toy_rate_ctrl =
+ static_cast<ToyRateCtrl *>(rate_ctrl_model);
+ EXPECT_EQ(toy_rate_ctrl->magic_number, kModelMagicNumber);
+
+ const int64_t ref_pixel_count = 352 * 288 * 3 / 2;
+ EXPECT_EQ(encode_frame_result->pixel_count, ref_pixel_count);
+ if (toy_rate_ctrl->coding_index == kLosslessCodingIndex) {
+ EXPECT_EQ(encode_frame_result->sse, 0);
+ }
+ if (toy_rate_ctrl->coding_index == kLosslessCodingIndex) {
+ EXPECT_EQ(encode_frame_result->actual_encoding_qindex, 0);
+ } else {
+ EXPECT_EQ(encode_frame_result->actual_encoding_qindex, 100);
+ }
+ return VPX_RC_OK;
+}
+
+vpx_rc_status_t rc_delete_model(vpx_rc_model_t rate_ctrl_model) {
+ ToyRateCtrl *toy_rate_ctrl = static_cast<ToyRateCtrl *>(rate_ctrl_model);
+ EXPECT_EQ(toy_rate_ctrl->magic_number, kModelMagicNumber);
+ delete toy_rate_ctrl;
+ return VPX_RC_OK;
+}
+
+class ExtRateCtrlTest : public ::libvpx_test::EncoderTest,
+ public ::testing::Test {
+ protected:
+ ExtRateCtrlTest() : EncoderTest(&::libvpx_test::kVP9) {}
+
+ ~ExtRateCtrlTest() override = default;
+
+ void SetUp() override {
+ InitializeConfig();
+ SetMode(::libvpx_test::kTwoPassGood);
+ }
+
+ void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
+ ::libvpx_test::Encoder *encoder) override {
+ if (video->frame() == 0) {
+ vpx_rc_funcs_t rc_funcs;
+ rc_funcs.create_model = rc_create_model;
+ rc_funcs.send_firstpass_stats = rc_send_firstpass_stats;
+ rc_funcs.get_encodeframe_decision = rc_get_encodeframe_decision;
+ rc_funcs.update_encodeframe_result = rc_update_encodeframe_result;
+ rc_funcs.delete_model = rc_delete_model;
+ rc_funcs.priv = reinterpret_cast<void *>(PrivMagicNumber);
+ encoder->Control(VP9E_SET_EXTERNAL_RATE_CONTROL, &rc_funcs);
+ }
+ }
+};
+
+TEST_F(ExtRateCtrlTest, EncodeTest) {
+ cfg_.rc_target_bitrate = 24000;
+
+ std::unique_ptr<libvpx_test::VideoSource> video;
+ video.reset(new (std::nothrow) libvpx_test::YUVVideoSource(
+ "bus_352x288_420_f20_b8.yuv", VPX_IMG_FMT_I420, 352, 288, 30, 1, 0,
+ kFrameNum));
+
+ ASSERT_NE(video.get(), nullptr);
+ ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
+}
+
+} // namespace
diff --git a/test/vp9_intrapred_test.cc b/test/vp9_intrapred_test.cc
index 58091f875..ccace719e 100644
--- a/test/vp9_intrapred_test.cc
+++ b/test/vp9_intrapred_test.cc
@@ -32,7 +32,7 @@ typedef void (*IntraPredFunc)(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left);
struct IntraPredParam {
- IntraPredParam(IntraPredFunc pred = NULL, IntraPredFunc ref = NULL,
+ IntraPredParam(IntraPredFunc pred = nullptr, IntraPredFunc ref = nullptr,
int block_size_value = 0, int bit_depth_value = 0)
: pred_fn(pred), ref_fn(ref), block_size(block_size_value),
bit_depth(bit_depth_value) {}
@@ -132,12 +132,12 @@ TEST_P(VP9IntraPredTest, IntraPredTests) {
// Instantiate a token test to avoid -Wuninitialized warnings when none of the
// other tests are enabled.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, VP9IntraPredTest,
::testing::Values(IntraPredParam(&vpx_d45_predictor_4x4_c,
&vpx_d45_predictor_4x4_c, 4, 8)));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VP9IntraPredTest,
::testing::Values(
IntraPredParam(&vpx_d45_predictor_4x4_sse2, &vpx_d45_predictor_4x4_c, 4,
@@ -201,7 +201,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, VP9IntraPredTest,
::testing::Values(IntraPredParam(&vpx_d45_predictor_16x16_ssse3,
&vpx_d45_predictor_16x16_c, 16, 8),
@@ -232,7 +232,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSSE3
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VP9IntraPredTest,
::testing::Values(
IntraPredParam(&vpx_d45_predictor_4x4_neon, &vpx_d45_predictor_4x4_c, 4,
@@ -306,7 +306,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON
#if HAVE_DSPR2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
DSPR2, VP9IntraPredTest,
::testing::Values(IntraPredParam(&vpx_dc_predictor_4x4_dspr2,
&vpx_dc_predictor_4x4_c, 4, 8),
@@ -327,7 +327,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_DSPR2
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
MSA, VP9IntraPredTest,
::testing::Values(
IntraPredParam(&vpx_dc_128_predictor_4x4_msa,
@@ -401,7 +401,7 @@ INSTANTIATE_TEST_CASE_P(
#endif
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VSX, VP9IntraPredTest,
::testing::Values(IntraPredParam(&vpx_d45_predictor_16x16_vsx,
&vpx_d45_predictor_16x16_c, 16, 8),
@@ -446,8 +446,9 @@ typedef void (*HighbdIntraPred)(uint16_t *dst, ptrdiff_t stride,
const uint16_t *above, const uint16_t *left,
int bps);
struct HighbdIntraPredParam {
- HighbdIntraPredParam(HighbdIntraPred pred = NULL, HighbdIntraPred ref = NULL,
- int block_size_value = 0, int bit_depth_value = 0)
+ HighbdIntraPredParam(HighbdIntraPred pred = nullptr,
+ HighbdIntraPred ref = nullptr, int block_size_value = 0,
+ int bit_depth_value = 0)
: pred_fn(pred), ref_fn(ref), block_size(block_size_value),
bit_depth(bit_depth_value) {}
@@ -457,6 +458,7 @@ struct HighbdIntraPredParam {
int bit_depth;
};
+#if HAVE_SSSE3 || HAVE_NEON || HAVE_SSE2
template <>
void IntraPredTest<uint16_t, HighbdIntraPredParam>::Predict() {
const int bit_depth = params_.bit_depth;
@@ -466,6 +468,7 @@ void IntraPredTest<uint16_t, HighbdIntraPredParam>::Predict() {
}
typedef IntraPredTest<uint16_t, HighbdIntraPredParam> VP9HighbdIntraPredTest;
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(VP9HighbdIntraPredTest);
TEST_P(VP9HighbdIntraPredTest, HighbdIntraPredTests) {
// max block size is 32
@@ -475,9 +478,10 @@ TEST_P(VP9HighbdIntraPredTest, HighbdIntraPredTests) {
DECLARE_ALIGNED(16, uint16_t, ref_dst[3 * 32 * 32]);
RunTest(left_col, above_data, dst, ref_dst);
}
+#endif
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3_TO_C_8, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_ssse3,
@@ -519,7 +523,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_d207_predictor_32x32_ssse3,
&vpx_highbd_d207_predictor_32x32_c, 32, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3_TO_C_10, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_ssse3,
@@ -561,7 +565,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_d207_predictor_32x32_ssse3,
&vpx_highbd_d207_predictor_32x32_c, 32, 10)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3_TO_C_12, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_ssse3,
@@ -605,7 +609,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSSE3
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2_TO_C_8, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_dc_128_predictor_4x4_sse2,
@@ -675,7 +679,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_v_predictor_32x32_sse2,
&vpx_highbd_v_predictor_32x32_c, 32, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2_TO_C_10, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_dc_128_predictor_4x4_sse2,
@@ -745,7 +749,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_v_predictor_32x32_sse2,
&vpx_highbd_v_predictor_32x32_c, 32, 10)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2_TO_C_12, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_dc_128_predictor_4x4_sse2,
@@ -817,7 +821,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSE2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON_TO_C_8, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_neon,
@@ -893,7 +897,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_v_predictor_32x32_neon,
&vpx_highbd_v_predictor_32x32_c, 32, 8)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON_TO_C_10, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_neon,
@@ -969,7 +973,7 @@ INSTANTIATE_TEST_CASE_P(
HighbdIntraPredParam(&vpx_highbd_v_predictor_32x32_neon,
&vpx_highbd_v_predictor_32x32_c, 32, 10)));
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON_TO_C_12, VP9HighbdIntraPredTest,
::testing::Values(
HighbdIntraPredParam(&vpx_highbd_d45_predictor_4x4_neon,
diff --git a/test/vp9_lossless_test.cc b/test/vp9_lossless_test.cc
index 5cf0a41da..931ac30a3 100644
--- a/test/vp9_lossless_test.cc
+++ b/test/vp9_lossless_test.cc
@@ -118,8 +118,8 @@ TEST_P(LosslessTest, TestLossLessEncodingCtrl) {
EXPECT_GE(psnr_lossless, kMaxPsnr);
}
-VP9_INSTANTIATE_TEST_CASE(LosslessTest,
- ::testing::Values(::libvpx_test::kRealTime,
- ::libvpx_test::kOnePassGood,
- ::libvpx_test::kTwoPassGood));
+VP9_INSTANTIATE_TEST_SUITE(LosslessTest,
+ ::testing::Values(::libvpx_test::kRealTime,
+ ::libvpx_test::kOnePassGood,
+ ::libvpx_test::kTwoPassGood));
} // namespace
diff --git a/test/vp9_motion_vector_test.cc b/test/vp9_motion_vector_test.cc
index b556a1c37..6b1082a10 100644
--- a/test/vp9_motion_vector_test.cc
+++ b/test/vp9_motion_vector_test.cc
@@ -88,12 +88,12 @@ TEST_P(MotionVectorTestLarge, OverallTest) {
"niklas_640_480_30.yuv", VPX_IMG_FMT_I420, 3840, 2160, // 2048, 1080,
30, 1, 0, 5));
- ASSERT_TRUE(video.get() != NULL);
+ ASSERT_NE(video.get(), nullptr);
ASSERT_NO_FATAL_FAILURE(RunLoop(video.get()));
}
-VP9_INSTANTIATE_TEST_CASE(MotionVectorTestLarge,
- ::testing::ValuesIn(kEncodingModeVectors),
- ::testing::ValuesIn(kCpuUsedVectors),
- ::testing::ValuesIn(kMVTestModes));
+VP9_INSTANTIATE_TEST_SUITE(MotionVectorTestLarge,
+ ::testing::ValuesIn(kEncodingModeVectors),
+ ::testing::ValuesIn(kCpuUsedVectors),
+ ::testing::ValuesIn(kMVTestModes));
} // namespace
diff --git a/test/vp9_quantize_test.cc b/test/vp9_quantize_test.cc
index 69c2c5a0b..cb4481b10 100644
--- a/test/vp9_quantize_test.cc
+++ b/test/vp9_quantize_test.cc
@@ -110,13 +110,13 @@ class VP9QuantizeBase : public AbstractBench {
vpx_free(quant_ptr_);
vpx_free(quant_shift_ptr_);
vpx_free(dequant_ptr_);
- zbin_ptr_ = NULL;
- round_fp_ptr_ = NULL;
- quant_fp_ptr_ = NULL;
- round_ptr_ = NULL;
- quant_ptr_ = NULL;
- quant_shift_ptr_ = NULL;
- dequant_ptr_ = NULL;
+ zbin_ptr_ = nullptr;
+ round_fp_ptr_ = nullptr;
+ quant_fp_ptr_ = nullptr;
+ round_ptr_ = nullptr;
+ quant_ptr_ = nullptr;
+ quant_shift_ptr_ = nullptr;
+ dequant_ptr_ = nullptr;
libvpx_test::ClearSystemState();
}
@@ -475,7 +475,7 @@ using std::make_tuple;
#if HAVE_SSE2
#if CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VP9QuantizeTest,
::testing::Values(
make_tuple(&vpx_quantize_b_sse2, &vpx_quantize_b_c, VPX_BITS_8, 16,
@@ -494,7 +494,7 @@ INSTANTIATE_TEST_CASE_P(
&vpx_highbd_quantize_b_32x32_c, VPX_BITS_12, 32, false)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE2, VP9QuantizeTest,
::testing::Values(make_tuple(&vpx_quantize_b_sse2, &vpx_quantize_b_c,
VPX_BITS_8, 16, false),
@@ -506,7 +506,7 @@ INSTANTIATE_TEST_CASE_P(
#if HAVE_SSSE3
#if VPX_ARCH_X86_64
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, VP9QuantizeTest,
::testing::Values(make_tuple(&vpx_quantize_b_ssse3, &vpx_quantize_b_c,
VPX_BITS_8, 16, false),
@@ -520,7 +520,7 @@ INSTANTIATE_TEST_CASE_P(
&QuantFPWrapper<quantize_fp_32x32_nz_c>,
VPX_BITS_8, 32, true)));
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSSE3, VP9QuantizeTest,
::testing::Values(make_tuple(&vpx_quantize_b_ssse3, &vpx_quantize_b_c,
VPX_BITS_8, 16, false),
@@ -532,17 +532,17 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_SSSE3
#if HAVE_AVX
-INSTANTIATE_TEST_CASE_P(AVX, VP9QuantizeTest,
- ::testing::Values(make_tuple(&vpx_quantize_b_avx,
- &vpx_quantize_b_c,
- VPX_BITS_8, 16, false),
- make_tuple(&vpx_quantize_b_32x32_avx,
- &vpx_quantize_b_32x32_c,
- VPX_BITS_8, 32, false)));
+INSTANTIATE_TEST_SUITE_P(AVX, VP9QuantizeTest,
+ ::testing::Values(make_tuple(&vpx_quantize_b_avx,
+ &vpx_quantize_b_c,
+ VPX_BITS_8, 16, false),
+ make_tuple(&vpx_quantize_b_32x32_avx,
+ &vpx_quantize_b_32x32_c,
+ VPX_BITS_8, 32, false)));
#endif // HAVE_AVX
#if VPX_ARCH_X86_64 && HAVE_AVX2
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
AVX2, VP9QuantizeTest,
::testing::Values(make_tuple(&QuantFPWrapper<vp9_quantize_fp_avx2>,
&QuantFPWrapper<quantize_fp_nz_c>, VPX_BITS_8,
@@ -550,7 +550,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_AVX2
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
NEON, VP9QuantizeTest,
::testing::Values(make_tuple(&vpx_quantize_b_neon, &vpx_quantize_b_c,
VPX_BITS_8, 16, false),
@@ -566,7 +566,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_NEON
#if HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
VSX, VP9QuantizeTest,
::testing::Values(make_tuple(&vpx_quantize_b_vsx, &vpx_quantize_b_c,
VPX_BITS_8, 16, false),
@@ -582,7 +582,7 @@ INSTANTIATE_TEST_CASE_P(
#endif // HAVE_VSX && !CONFIG_VP9_HIGHBITDEPTH
// Only useful to compare "Speed" test results.
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
DISABLED_C, VP9QuantizeTest,
::testing::Values(
make_tuple(&vpx_quantize_b_c, &vpx_quantize_b_c, VPX_BITS_8, 16, false),
diff --git a/test/vp9_scale_test.cc b/test/vp9_scale_test.cc
index f3e7f0a0e..2d1203fb8 100644
--- a/test/vp9_scale_test.cc
+++ b/test/vp9_scale_test.cc
@@ -199,17 +199,17 @@ TEST_P(ScaleTest, DISABLED_Speed) {
}
}
-INSTANTIATE_TEST_CASE_P(C, ScaleTest,
- ::testing::Values(vp9_scale_and_extend_frame_c));
+INSTANTIATE_TEST_SUITE_P(C, ScaleTest,
+ ::testing::Values(vp9_scale_and_extend_frame_c));
#if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(SSSE3, ScaleTest,
- ::testing::Values(vp9_scale_and_extend_frame_ssse3));
+INSTANTIATE_TEST_SUITE_P(SSSE3, ScaleTest,
+ ::testing::Values(vp9_scale_and_extend_frame_ssse3));
#endif // HAVE_SSSE3
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, ScaleTest,
- ::testing::Values(vp9_scale_and_extend_frame_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, ScaleTest,
+ ::testing::Values(vp9_scale_and_extend_frame_neon));
#endif // HAVE_NEON
} // namespace libvpx_test
diff --git a/test/vp9_skip_loopfilter_test.cc b/test/vp9_skip_loopfilter_test.cc
index d41a784a2..c080a2caa 100644
--- a/test/vp9_skip_loopfilter_test.cc
+++ b/test/vp9_skip_loopfilter_test.cc
@@ -24,33 +24,42 @@ const char kVp9Md5File[] = "vp90-2-08-tile_1x8_frame_parallel.webm.md5";
// Class for testing shutting off the loop filter.
class SkipLoopFilterTest {
public:
- SkipLoopFilterTest() : video_(NULL), decoder_(NULL), md5_file_(NULL) {}
+ SkipLoopFilterTest()
+ : video_(nullptr), decoder_(nullptr), md5_file_(nullptr) {}
~SkipLoopFilterTest() {
- if (md5_file_ != NULL) fclose(md5_file_);
+ if (md5_file_ != nullptr) fclose(md5_file_);
delete decoder_;
delete video_;
}
// If |threads| > 0 then set the decoder with that number of threads.
- void Init(int num_threads) {
+ bool Init(int num_threads) {
expected_md5_[0] = '\0';
junk_[0] = '\0';
video_ = new libvpx_test::WebMVideoSource(kVp9TestFile);
- ASSERT_TRUE(video_ != NULL);
+ if (video_ == nullptr) {
+ EXPECT_NE(video_, nullptr);
+ return false;
+ }
video_->Init();
video_->Begin();
vpx_codec_dec_cfg_t cfg = vpx_codec_dec_cfg_t();
if (num_threads > 0) cfg.threads = num_threads;
decoder_ = new libvpx_test::VP9Decoder(cfg, 0);
- ASSERT_TRUE(decoder_ != NULL);
+ if (decoder_ == nullptr) {
+ EXPECT_NE(decoder_, nullptr);
+ return false;
+ }
OpenMd5File(kVp9Md5File);
+ return !::testing::Test::HasFailure();
}
// Set the VP9 skipLoopFilter control value.
void SetSkipLoopFilter(int value, vpx_codec_err_t expected_value) {
+ ASSERT_NE(decoder_, nullptr);
decoder_->Control(VP9_SET_SKIP_LOOP_FILTER, value, expected_value);
}
@@ -65,7 +74,7 @@ class SkipLoopFilterTest {
}
vpx_codec_err_t DecodeRemainingFrames() {
- for (; video_->cxdata() != NULL; video_->Next()) {
+ for (; video_->cxdata() != nullptr; video_->Next()) {
const vpx_codec_err_t res =
decoder_->DecodeFrame(video_->cxdata(), video_->frame_size());
if (res != VPX_CODEC_OK) return res;
@@ -85,13 +94,13 @@ class SkipLoopFilterTest {
// TODO(fgalligan): Move the MD5 testing code into another class.
void OpenMd5File(const std::string &md5_file_name) {
md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name);
- ASSERT_TRUE(md5_file_ != NULL)
+ ASSERT_NE(md5_file_, nullptr)
<< "MD5 file open failed. Filename: " << md5_file_name;
}
// Reads the next line of the MD5 file.
void ReadMd5() {
- ASSERT_TRUE(md5_file_ != NULL);
+ ASSERT_NE(md5_file_, nullptr);
const int res = fscanf(md5_file_, "%s %s", expected_md5_, junk_);
ASSERT_NE(EOF, res) << "Read md5 data failed";
expected_md5_[32] = '\0';
@@ -121,7 +130,7 @@ TEST(SkipLoopFilterTest, ShutOffLoopFilter) {
const int non_zero_value = 1;
const int num_threads = 0;
SkipLoopFilterTest skip_loop_filter;
- skip_loop_filter.Init(num_threads);
+ ASSERT_TRUE(skip_loop_filter.Init(num_threads));
skip_loop_filter.SetSkipLoopFilter(non_zero_value, VPX_CODEC_OK);
ASSERT_EQ(VPX_CODEC_OK, skip_loop_filter.DecodeRemainingFrames());
skip_loop_filter.CheckMd5(false);
@@ -131,7 +140,7 @@ TEST(SkipLoopFilterTest, ShutOffLoopFilterSingleThread) {
const int non_zero_value = 1;
const int num_threads = 1;
SkipLoopFilterTest skip_loop_filter;
- skip_loop_filter.Init(num_threads);
+ ASSERT_TRUE(skip_loop_filter.Init(num_threads));
skip_loop_filter.SetSkipLoopFilter(non_zero_value, VPX_CODEC_OK);
ASSERT_EQ(VPX_CODEC_OK, skip_loop_filter.DecodeRemainingFrames());
skip_loop_filter.CheckMd5(false);
@@ -141,7 +150,7 @@ TEST(SkipLoopFilterTest, ShutOffLoopFilter8Threads) {
const int non_zero_value = 1;
const int num_threads = 8;
SkipLoopFilterTest skip_loop_filter;
- skip_loop_filter.Init(num_threads);
+ ASSERT_TRUE(skip_loop_filter.Init(num_threads));
skip_loop_filter.SetSkipLoopFilter(non_zero_value, VPX_CODEC_OK);
ASSERT_EQ(VPX_CODEC_OK, skip_loop_filter.DecodeRemainingFrames());
skip_loop_filter.CheckMd5(false);
@@ -151,7 +160,7 @@ TEST(SkipLoopFilterTest, WithLoopFilter) {
const int non_zero_value = 1;
const int num_threads = 0;
SkipLoopFilterTest skip_loop_filter;
- skip_loop_filter.Init(num_threads);
+ ASSERT_TRUE(skip_loop_filter.Init(num_threads));
skip_loop_filter.SetSkipLoopFilter(non_zero_value, VPX_CODEC_OK);
skip_loop_filter.SetSkipLoopFilter(0, VPX_CODEC_OK);
ASSERT_EQ(VPX_CODEC_OK, skip_loop_filter.DecodeRemainingFrames());
@@ -161,7 +170,7 @@ TEST(SkipLoopFilterTest, WithLoopFilter) {
TEST(SkipLoopFilterTest, ToggleLoopFilter) {
const int num_threads = 0;
SkipLoopFilterTest skip_loop_filter;
- skip_loop_filter.Init(num_threads);
+ ASSERT_TRUE(skip_loop_filter.Init(num_threads));
for (int i = 0; i < 10; ++i) {
skip_loop_filter.SetSkipLoopFilter(i % 2, VPX_CODEC_OK);
diff --git a/test/vp9_subtract_test.cc b/test/vp9_subtract_test.cc
index 67e8de6c7..ef8cc207d 100644
--- a/test/vp9_subtract_test.cc
+++ b/test/vp9_subtract_test.cc
@@ -126,30 +126,30 @@ TEST_P(VP9SubtractBlockTest, SimpleSubtract) {
}
}
-INSTANTIATE_TEST_CASE_P(C, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_c));
+INSTANTIATE_TEST_SUITE_P(C, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_c));
#if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_sse2));
+INSTANTIATE_TEST_SUITE_P(SSE2, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_sse2));
#endif
#if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_neon));
+INSTANTIATE_TEST_SUITE_P(NEON, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_neon));
#endif
#if HAVE_MSA
-INSTANTIATE_TEST_CASE_P(MSA, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_msa));
+INSTANTIATE_TEST_SUITE_P(MSA, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_msa));
#endif
#if HAVE_MMI
-INSTANTIATE_TEST_CASE_P(MMI, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_mmi));
+INSTANTIATE_TEST_SUITE_P(MMI, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_mmi));
#endif
#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(VSX, VP9SubtractBlockTest,
- ::testing::Values(vpx_subtract_block_vsx));
+INSTANTIATE_TEST_SUITE_P(VSX, VP9SubtractBlockTest,
+ ::testing::Values(vpx_subtract_block_vsx));
#endif
} // namespace vp9
diff --git a/test/vp9_thread_test.cc b/test/vp9_thread_test.cc
index 31b6fe57b..352ad71ec 100644
--- a/test/vp9_thread_test.cc
+++ b/test/vp9_thread_test.cc
@@ -128,18 +128,18 @@ TEST_P(VPxWorkerThreadTest, EndWithoutSync) {
}
TEST(VPxWorkerThreadTest, TestInterfaceAPI) {
- EXPECT_EQ(0, vpx_set_worker_interface(NULL));
- EXPECT_TRUE(vpx_get_worker_interface() != NULL);
+ EXPECT_EQ(0, vpx_set_worker_interface(nullptr));
+ EXPECT_NE(vpx_get_worker_interface(), nullptr);
for (int i = 0; i < 6; ++i) {
VPxWorkerInterface winterface = *vpx_get_worker_interface();
switch (i) {
default:
- case 0: winterface.init = NULL; break;
- case 1: winterface.reset = NULL; break;
- case 2: winterface.sync = NULL; break;
- case 3: winterface.launch = NULL; break;
- case 4: winterface.execute = NULL; break;
- case 5: winterface.end = NULL; break;
+ case 0: winterface.init = nullptr; break;
+ case 1: winterface.reset = nullptr; break;
+ case 2: winterface.sync = nullptr; break;
+ case 3: winterface.launch = nullptr; break;
+ case 4: winterface.execute = nullptr; break;
+ case 5: winterface.end = nullptr; break;
}
EXPECT_EQ(0, vpx_set_worker_interface(&winterface));
}
@@ -172,7 +172,7 @@ string DecodeFile(const string &filename, int num_threads) {
}
libvpx_test::DxDataIterator dec_iter = decoder.GetDxData();
- const vpx_image_t *img = NULL;
+ const vpx_image_t *img = nullptr;
// Get decompressed data
while ((img = dec_iter.Next())) {
@@ -183,7 +183,7 @@ string DecodeFile(const string &filename, int num_threads) {
}
void DecodeFiles(const FileList files[]) {
- for (const FileList *iter = files; iter->name != NULL; ++iter) {
+ for (const FileList *iter = files; iter->name != nullptr; ++iter) {
SCOPED_TRACE(iter->name);
for (int t = 1; t <= 8; ++t) {
EXPECT_EQ(iter->expected_md5, DecodeFile(iter->name, t))
@@ -245,7 +245,7 @@ TEST(VP9DecodeMultiThreadedTest, FrameParallel) {
"368ebc6ebf3a5e478d85b2c3149b2848" },
{ "vp90-2-08-tile_1x8_frame_parallel.webm",
"17e439da2388aff3a0f69cb22579c6c1" },
- { NULL, NULL } };
+ { nullptr, nullptr } };
DecodeFiles(files);
}
@@ -296,7 +296,7 @@ TEST(VP9DecodeMultiThreadedTest, FrameParallelResize) {
"ae96f21f21b6370cc0125621b441fc52" },
{ "vp90-2-14-resize-fp-tiles-8-4.webm",
"3eb4f24f10640d42218f7fd7b9fd30d4" },
- { NULL, NULL }
+ { nullptr, nullptr }
};
DecodeFiles(files);
@@ -309,13 +309,13 @@ TEST(VP9DecodeMultiThreadedTest, NonFrameParallel) {
{ "vp90-2-08-tile_1x8.webm", "0941902a52e9092cb010905eab16364c" },
{ "vp90-2-08-tile-4x1.webm", "06505aade6647c583c8e00a2f582266f" },
{ "vp90-2-08-tile-4x4.webm", "85c2299892460d76e2c600502d52bfe2" },
- { NULL, NULL }
+ { nullptr, nullptr }
};
DecodeFiles(files);
}
#endif // CONFIG_WEBM_IO
-INSTANTIATE_TEST_CASE_P(Synchronous, VPxWorkerThreadTest, ::testing::Bool());
+INSTANTIATE_TEST_SUITE_P(Synchronous, VPxWorkerThreadTest, ::testing::Bool());
} // namespace
diff --git a/test/vpx_scale_test.cc b/test/vpx_scale_test.cc
index 057a2a295..7eea437fc 100644
--- a/test/vpx_scale_test.cc
+++ b/test/vpx_scale_test.cc
@@ -62,8 +62,8 @@ class ExtendBorderTest
TEST_P(ExtendBorderTest, ExtendBorder) { ASSERT_NO_FATAL_FAILURE(RunTest()); }
-INSTANTIATE_TEST_CASE_P(C, ExtendBorderTest,
- ::testing::Values(vp8_yv12_extend_frame_borders_c));
+INSTANTIATE_TEST_SUITE_P(C, ExtendBorderTest,
+ ::testing::Values(vp8_yv12_extend_frame_borders_c));
class CopyFrameTest : public VpxScaleBase,
public ::testing::TestWithParam<CopyFrameFunc> {
@@ -94,8 +94,8 @@ class CopyFrameTest : public VpxScaleBase,
TEST_P(CopyFrameTest, CopyFrame) { ASSERT_NO_FATAL_FAILURE(RunTest()); }
-INSTANTIATE_TEST_CASE_P(C, CopyFrameTest,
- ::testing::Values(vp8_yv12_copy_frame_c));
+INSTANTIATE_TEST_SUITE_P(C, CopyFrameTest,
+ ::testing::Values(vp8_yv12_copy_frame_c));
} // namespace
} // namespace libvpx_test
diff --git a/test/y4m_test.cc b/test/y4m_test.cc
index 76d033d52..8272263f6 100644
--- a/test/y4m_test.cc
+++ b/test/y4m_test.cc
@@ -90,7 +90,7 @@ class Y4mVideoSourceTest : public ::testing::TestWithParam<Y4mTestParam>,
// Checks y4m header information
void HeaderChecks(unsigned int bit_depth, vpx_img_fmt_t fmt) {
- ASSERT_TRUE(input_file_ != NULL);
+ ASSERT_NE(input_file_, nullptr);
ASSERT_EQ(y4m_.pic_w, (int)kWidth);
ASSERT_EQ(y4m_.pic_h, (int)kHeight);
ASSERT_EQ(img()->d_w, kWidth);
@@ -116,7 +116,7 @@ class Y4mVideoSourceTest : public ::testing::TestWithParam<Y4mTestParam>,
// Checks MD5 of the raw frame data
void Md5Check(const string &expected_md5) {
- ASSERT_TRUE(input_file_ != NULL);
+ ASSERT_NE(input_file_, nullptr);
libvpx_test::MD5 md5;
for (unsigned int i = start_; i < limit_; i++) {
md5.Add(img());
@@ -133,16 +133,16 @@ TEST_P(Y4mVideoSourceTest, SourceTest) {
Md5Check(t.md5raw);
}
-INSTANTIATE_TEST_CASE_P(C, Y4mVideoSourceTest,
- ::testing::ValuesIn(kY4mTestVectors));
+INSTANTIATE_TEST_SUITE_P(C, Y4mVideoSourceTest,
+ ::testing::ValuesIn(kY4mTestVectors));
class Y4mVideoWriteTest : public Y4mVideoSourceTest {
protected:
- Y4mVideoWriteTest() : tmpfile_(NULL) {}
+ Y4mVideoWriteTest() : tmpfile_(nullptr) {}
virtual ~Y4mVideoWriteTest() {
delete tmpfile_;
- input_file_ = NULL;
+ input_file_ = nullptr;
}
void ReplaceInputFile(FILE *input_file) {
@@ -155,11 +155,11 @@ class Y4mVideoWriteTest : public Y4mVideoSourceTest {
// Writes out a y4m file and then reads it back
void WriteY4mAndReadBack() {
- ASSERT_TRUE(input_file_ != NULL);
+ ASSERT_NE(input_file_, nullptr);
char buf[Y4M_BUFFER_SIZE] = { 0 };
const struct VpxRational framerate = { y4m_.fps_n, y4m_.fps_d };
tmpfile_ = new libvpx_test::TempOutFile;
- ASSERT_TRUE(tmpfile_->file() != NULL);
+ ASSERT_NE(tmpfile_->file(), nullptr);
y4m_write_file_header(buf, sizeof(buf), kWidth, kHeight, &framerate,
y4m_.vpx_fmt, y4m_.bit_depth);
fputs(buf, tmpfile_->file());
@@ -186,6 +186,57 @@ TEST_P(Y4mVideoWriteTest, WriteTest) {
Md5Check(t.md5raw);
}
-INSTANTIATE_TEST_CASE_P(C, Y4mVideoWriteTest,
- ::testing::ValuesIn(kY4mTestVectors));
+INSTANTIATE_TEST_SUITE_P(C, Y4mVideoWriteTest,
+ ::testing::ValuesIn(kY4mTestVectors));
+
+static const char kY4MRegularHeader[] =
+ "YUV4MPEG2 W4 H4 F30:1 Ip A0:0 C420jpeg XYSCSS=420JPEG\n"
+ "FRAME\n"
+ "012345678912345601230123";
+
+TEST(Y4MHeaderTest, RegularHeader) {
+ libvpx_test::TempOutFile f;
+ fwrite(kY4MRegularHeader, 1, sizeof(kY4MRegularHeader), f.file());
+ fflush(f.file());
+ EXPECT_EQ(0, fseek(f.file(), 0, 0));
+
+ y4m_input y4m;
+ EXPECT_EQ(y4m_input_open(&y4m, f.file(), /*skip_buffer=*/NULL,
+ /*num_skip=*/0, /*only_420=*/0),
+ 0);
+ EXPECT_EQ(y4m.pic_w, 4);
+ EXPECT_EQ(y4m.pic_h, 4);
+ EXPECT_EQ(y4m.fps_n, 30);
+ EXPECT_EQ(y4m.fps_d, 1);
+ EXPECT_EQ(y4m.interlace, 'p');
+ EXPECT_EQ(strcmp("420jpeg", y4m.chroma_type), 0);
+ y4m_input_close(&y4m);
+}
+
+// Testing that headers over 100 characters can be parsed.
+static const char kY4MLongHeader[] =
+ "YUV4MPEG2 W4 H4 F30:1 Ip A0:0 C420jpeg XYSCSS=420JPEG "
+ "XCOLORRANGE=LIMITED XSOME_UNKNOWN_METADATA XOTHER_UNKNOWN_METADATA\n"
+ "FRAME\n"
+ "012345678912345601230123";
+
+TEST(Y4MHeaderTest, LongHeader) {
+ libvpx_test::TempOutFile f;
+ fwrite(kY4MLongHeader, 1, sizeof(kY4MLongHeader), f.file());
+ fflush(f.file());
+ EXPECT_EQ(fseek(f.file(), 0, 0), 0);
+
+ y4m_input y4m;
+ EXPECT_EQ(y4m_input_open(&y4m, f.file(), /*skip_buffer=*/NULL,
+ /*num_skip=*/0, /*only_420=*/0),
+ 0);
+ EXPECT_EQ(y4m.pic_w, 4);
+ EXPECT_EQ(y4m.pic_h, 4);
+ EXPECT_EQ(y4m.fps_n, 30);
+ EXPECT_EQ(y4m.fps_d, 1);
+ EXPECT_EQ(y4m.interlace, 'p');
+ EXPECT_EQ(strcmp("420jpeg", y4m.chroma_type), 0);
+ y4m_input_close(&y4m);
+}
+
} // namespace
diff --git a/test/yuv_temporal_filter_test.cc b/test/yuv_temporal_filter_test.cc
index 8f3c58b03..cfdc88d89 100644
--- a/test/yuv_temporal_filter_test.cc
+++ b/test/yuv_temporal_filter_test.cc
@@ -677,7 +677,7 @@ TEST_P(YUVTemporalFilterTest, DISABLED_Speed) {
WRAP_HIGHBD_FUNC(vp9_highbd_apply_temporal_filter_c, 10);
WRAP_HIGHBD_FUNC(vp9_highbd_apply_temporal_filter_c, 12);
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, YUVTemporalFilterTest,
::testing::Values(
TemporalFilterWithBd(&wrap_vp9_highbd_apply_temporal_filter_c_10, 10),
@@ -686,7 +686,7 @@ INSTANTIATE_TEST_CASE_P(
WRAP_HIGHBD_FUNC(vp9_highbd_apply_temporal_filter_sse4_1, 10);
WRAP_HIGHBD_FUNC(vp9_highbd_apply_temporal_filter_sse4_1, 12);
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
SSE4_1, YUVTemporalFilterTest,
::testing::Values(
TemporalFilterWithBd(&wrap_vp9_highbd_apply_temporal_filter_sse4_1_10,
@@ -695,14 +695,14 @@ INSTANTIATE_TEST_CASE_P(
12)));
#endif // HAVE_SSE4_1
#else
-INSTANTIATE_TEST_CASE_P(
+INSTANTIATE_TEST_SUITE_P(
C, YUVTemporalFilterTest,
::testing::Values(TemporalFilterWithBd(&vp9_apply_temporal_filter_c, 8)));
#if HAVE_SSE4_1
-INSTANTIATE_TEST_CASE_P(SSE4_1, YUVTemporalFilterTest,
- ::testing::Values(TemporalFilterWithBd(
- &vp9_apply_temporal_filter_sse4_1, 8)));
+INSTANTIATE_TEST_SUITE_P(SSE4_1, YUVTemporalFilterTest,
+ ::testing::Values(TemporalFilterWithBd(
+ &vp9_apply_temporal_filter_sse4_1, 8)));
#endif // HAVE_SSE4_1
#endif // CONFIG_VP9_HIGHBITDEPTH
} // namespace
diff --git a/test/yuv_video_source.h b/test/yuv_video_source.h
index 020ce801d..383ab8f1b 100644
--- a/test/yuv_video_source.h
+++ b/test/yuv_video_source.h
@@ -84,6 +84,7 @@ class YUVVideoSource : public VideoSource {
height_ = height;
format_ = format;
switch (format) {
+ case VPX_IMG_FMT_NV12:
case VPX_IMG_FMT_I420: raw_size_ = width * height * 3 / 2; break;
case VPX_IMG_FMT_I422: raw_size_ = width * height * 2; break;
case VPX_IMG_FMT_I440: raw_size_ = width * height * 2; break;