Reapply this patch: ff0107f Amend and improve VP8 multithreading implementation Amended the patch to add a unit test, and fix an asan error. BUG=webm:851
Showing the changes to test (1 of 8 files). Show all
Unified · Split
| @@ -145,21 +145,21 @@ TEST_P(TestVectorTest, MD5Match) { · 144 unmodified lines | |||
| 145 | ASSERT_NO_FATAL_FAILURE(RunLoop(video.get(), cfg)); | 145 | ASSERT_NO_FATAL_FAILURE(RunLoop(video.get(), cfg)); |
| 146 | } | 146 | } |
| 147 | 147 | ||
| 148 | // Test VP8 decode in serial mode with single thread and with 8 threads. | 148 | // Test VP8 decode in serial mode with single thread. |
| 149 | // NOTE: VP8 only support serial mode. | 149 | // NOTE: VP8 only support serial mode. |
| 150 | #if CONFIG_VP8_DECODER | 150 | #if CONFIG_VP8_DECODER |
| 151 | VP8_INSTANTIATE_TEST_CASE( | 151 | VP8_INSTANTIATE_TEST_CASE( |
| 152 | TestVectorTest, | 152 | TestVectorTest, |
| 153 | ::testing::Combine( | 153 | ::testing::Combine( |
| 154 | ::testing::Values(0), // Serial Mode. | 154 | ::testing::Values(0), // Serial Mode. |
| 155 | ::testing::Values(1), // Single thread and 8 threads. | 155 | ::testing::Values(1), // Single thread. |
| 156 | ::testing::ValuesIn(libvpx_test::kVP8TestVectors, | 156 | ::testing::ValuesIn(libvpx_test::kVP8TestVectors, |
| 157 | libvpx_test::kVP8TestVectors + | 157 | libvpx_test::kVP8TestVectors + |
| 158 | libvpx_test::kNumVP8TestVectors))); | 158 | libvpx_test::kNumVP8TestVectors))); |
| 159 | 159 | ||
| 160 | // Test VP8 decode in with different numbers of threads. | 160 | // Test VP8 decode in with different numbers of threads. |
| 161 | INSTANTIATE_TEST_CASE_P( | 161 | INSTANTIATE_TEST_CASE_P( |
| 162 | DISABLED_VP8MultiThreaded, TestVectorTest, | 162 | VP8MultiThreaded, TestVectorTest, |
| 163 | ::testing::Combine( | 163 | ::testing::Combine( |
| 164 | ::testing::Values( | 164 | ::testing::Values( |
| 165 | static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP8)), | 165 | static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP8)), |