diff options
author | Jerome Jiang <jianj@google.com> | 2018-06-19 02:37:32 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-06-19 02:37:32 +0000 |
commit | a3ccca3e0c82c9b4c41cd6d795d654ff9cdc9560 (patch) | |
tree | 784019339844b5f5fec192c1ccdcb404c2347e95 /test | |
parent | 649d372788bafdb6fe3cf4dcff0ba5f80a1db839 (diff) | |
parent | 59c41b7814f1a5a4ba63392313de03ae6c9cf802 (diff) | |
download | libvpx-a3ccca3e0c82c9b4c41cd6d795d654ff9cdc9560.tar libvpx-a3ccca3e0c82c9b4c41cd6d795d654ff9cdc9560.tar.gz libvpx-a3ccca3e0c82c9b4c41cd6d795d654ff9cdc9560.tar.bz2 libvpx-a3ccca3e0c82c9b4c41cd6d795d654ff9cdc9560.zip |
Merge "vp9: Enable cyclic refresh for HBD in real-time."
Diffstat (limited to 'test')
-rw-r--r-- | test/vp9_end_to_end_test.cc | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc index d0cbfbbda..90a60c2f3 100644 --- a/test/vp9_end_to_end_test.cc +++ b/test/vp9_end_to_end_test.cc @@ -63,7 +63,7 @@ const libvpx_test::TestMode kEncodingModeVectors[] = { }; // Speed settings tested -const int kCpuUsedVectors[] = { 1, 2, 3, 5, 6 }; +const int kCpuUsedVectors[] = { 1, 2, 3, 5, 6, 7 }; int is_extension_y4m(const char *filename) { const char *dot = strrchr(filename, '.'); @@ -82,7 +82,10 @@ class EndToEndTestLarge EndToEndTestLarge() : EncoderTest(GET_PARAM(0)), test_video_param_(GET_PARAM(2)), cpu_used_(GET_PARAM(3)), psnr_(0.0), nframes_(0), - encoding_mode_(GET_PARAM(1)) {} + encoding_mode_(GET_PARAM(1)) { + cyclic_refresh_ = 0; + denoiser_on_ = 0; + } virtual ~EndToEndTestLarge() {} @@ -123,6 +126,9 @@ class EndToEndTestLarge encoder->Control(VP8E_SET_ARNR_MAXFRAMES, 7); encoder->Control(VP8E_SET_ARNR_STRENGTH, 5); encoder->Control(VP8E_SET_ARNR_TYPE, 3); + } else { + encoder->Control(VP9E_SET_NOISE_SENSITIVITY, denoiser_on_); + encoder->Control(VP9E_SET_AQ_MODE, cyclic_refresh_); } } } @@ -138,6 +144,8 @@ class EndToEndTestLarge TestVideoParam test_video_param_; int cpu_used_; + int cyclic_refresh_; + int denoiser_on_; private: double psnr_; @@ -170,6 +178,33 @@ TEST_P(EndToEndTestLarge, EndtoEndPSNRTest) { EXPECT_GT(psnr, GetPsnrThreshold()); } +TEST_P(EndToEndTestLarge, EndtoEndPSNRDenoiserAQTest) { + 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; + cyclic_refresh_ = 3; + denoiser_on_ = 1; + if (cfg_.g_bit_depth > 8) init_flags_ |= VPX_CODEC_USE_HIGHBITDEPTH; + + testing::internal::scoped_ptr<libvpx_test::VideoSource> video; + if (is_extension_y4m(test_video_param_.filename)) { + video.reset(new libvpx_test::Y4mVideoSource(test_video_param_.filename, 0, + kFrames)); + } else { + video.reset(new libvpx_test::YUVVideoSource( + test_video_param_.filename, test_video_param_.fmt, kWidth, kHeight, + kFramerate, 1, 0, kFrames)); + } + ASSERT_TRUE(video.get() != NULL); + + ASSERT_NO_FATAL_FAILURE(RunLoop(video.get())); + const double psnr = GetAveragePsnr(); + EXPECT_GT(psnr, GetPsnrThreshold()); +} + VP9_INSTANTIATE_TEST_CASE(EndToEndTestLarge, ::testing::ValuesIn(kEncodingModeVectors), ::testing::ValuesIn(kTestVectors), |