shithub: libvpx

Download patch

ref: 121e161115d86c65101ec9f1ec1564cdd9e58598
parent: 7ba9d31e3f547128ea3eed9cddc94caf160f916a
author: Jim Bankoski <jimbankoski@google.com>
date: Fri Dec 9 10:05:59 EST 2016

vp8: adds multithread testing.

The test is disabled because of TSAN errors until we resolve
BUG=webm:851

Change-Id: I0b21c8d815bc1ea365da024b1e2ee5e1fc5715c2

--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -145,7 +145,7 @@
   ASSERT_NO_FATAL_FAILURE(RunLoop(video.get(), cfg));
 }
 
-// Test VP8 decode in serial mode with single thread.
+// Test VP8 decode in serial mode with single thread and with 8 threads.
 // NOTE: VP8 only support serial mode.
 #if CONFIG_VP8_DECODER
 VP8_INSTANTIATE_TEST_CASE(
@@ -152,10 +152,24 @@
     TestVectorTest,
     ::testing::Combine(
         ::testing::Values(0),  // Serial Mode.
-        ::testing::Values(1),  // Single thread.
+        ::testing::Values(1),  // Single thread and 8 threads.
         ::testing::ValuesIn(libvpx_test::kVP8TestVectors,
                             libvpx_test::kVP8TestVectors +
                                 libvpx_test::kNumVP8TestVectors)));
+
+// Test VP8 decode in with different numbers of threads.
+INSTANTIATE_TEST_CASE_P(
+    DISABLED_VP8MultiThreaded, TestVectorTest,
+    ::testing::Combine(
+        ::testing::Values(
+            static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP8)),
+        ::testing::Combine(
+            ::testing::Values(0),    // Serial Mode.
+            ::testing::Range(1, 8),  // With 1 ~ 8 threads.
+            ::testing::ValuesIn(libvpx_test::kVP8TestVectors,
+                                libvpx_test::kVP8TestVectors +
+                                    libvpx_test::kNumVP8TestVectors))));
+
 #endif  // CONFIG_VP8_DECODER
 
 // Test VP9 decode in serial mode with single thread.