diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc index c6333a2f4..98e9e3058 100644 --- a/test/vp9_end_to_end_test.cc +++ b/test/vp9_end_to_end_test.cc @@ -25,6 +25,20 @@ const unsigned int kFrames = 10; const int kBitrate = 500; // List of psnr thresholds for speed settings 0-7 and 5 encoding modes const double kPsnrThreshold[][5] = { +// Note: +// VP10 HBD average PSNR is slightly lower than VP9. +// We make two cases here to enable the testing and +// guard picture quality. +#if CONFIG_VP10_ENCODER && CONFIG_VP9_HIGHBITDEPTH + { 36.0, 37.0, 37.0, 37.0, 37.0 }, + { 31.0, 36.0, 36.0, 36.0, 36.0 }, + { 32.0, 35.0, 35.0, 35.0, 35.0 }, + { 32.0, 34.0, 34.0, 34.0, 34.0 }, + { 32.0, 33.0, 33.0, 33.0, 33.0 }, + { 31.0, 32.0, 32.0, 32.0, 32.0 }, + { 30.0, 31.0, 31.0, 31.0, 31.0 }, + { 29.0, 30.0, 30.0, 30.0, 30.0 }, +#else { 36.0, 37.0, 37.0, 37.0, 37.0 }, { 35.0, 36.0, 36.0, 36.0, 36.0 }, { 34.0, 35.0, 35.0, 35.0, 35.0 }, @@ -33,6 +47,7 @@ const double kPsnrThreshold[][5] = { { 31.0, 32.0, 32.0, 32.0, 32.0 }, { 30.0, 31.0, 31.0, 31.0, 31.0 }, { 29.0, 30.0, 30.0, 30.0, 30.0 }, +#endif // CONFIG_VP9_HIGHBITDEPTH && CONFIG_VP10_ENCODER }; typedef struct { @@ -194,21 +209,14 @@ VP9_INSTANTIATE_TEST_CASE( #if CONFIG_VP9_HIGHBITDEPTH # if CONFIG_VP10_ENCODER -// TODO(angiebird): many fail in high bitdepth mode. INSTANTIATE_TEST_CASE_P( - DISABLED_VP10, EndToEndTestLarge, + VP10, EndToEndTestLarge, ::testing::Combine( ::testing::Values(static_cast( &libvpx_test::kVP10)), ::testing::ValuesIn(kEncodingModeVectors), ::testing::ValuesIn(kTestVectors), ::testing::ValuesIn(kCpuUsedVectors))); -# endif // CONFIG_VP10_ENCODER -#else -VP10_INSTANTIATE_TEST_CASE( - EndToEndTestLarge, - ::testing::ValuesIn(kEncodingModeVectors), - ::testing::ValuesIn(kTestVectors), - ::testing::ValuesIn(kCpuUsedVectors)); +#endif // CONFIG_VP10_ENCODER #endif // CONFIG_VP9_HIGHBITDEPTH } // namespace