shithub: libvpx

Download patch

ref: c2cc5598f5666fc67c9737c8c82804256b38d026
parent: 4a42047b4e8daa2265c2f82096b4c07834044ae2
author: Alex Converse <aconverse@google.com>
date: Thu Mar 27 10:58:43 EDT 2014

Automatically count test vectors and make the tables const.

Change-Id: I742b0f26b7d735e75c3653a3e52bd4f4fc198d3d

--- a/test/external_frame_buffer_test.cc
+++ b/test/external_frame_buffer_test.cc
@@ -462,5 +462,7 @@
 }
 
 VP9_INSTANTIATE_TEST_CASE(ExternalFrameBufferMD5Test,
-                          ::testing::ValuesIn(libvpx_test::kVP9TestVectors));
+                          ::testing::ValuesIn(libvpx_test::kVP9TestVectors,
+                                              libvpx_test::kVP9TestVectors +
+                                              libvpx_test::kNumVP9TestVectors));
 }  // namespace
--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -89,8 +89,12 @@
 }
 
 VP8_INSTANTIATE_TEST_CASE(TestVectorTest,
-                          ::testing::ValuesIn(libvpx_test::kVP8TestVectors));
+                          ::testing::ValuesIn(libvpx_test::kVP8TestVectors,
+                                              libvpx_test::kVP8TestVectors +
+                                              libvpx_test::kNumVP8TestVectors));
 VP9_INSTANTIATE_TEST_CASE(TestVectorTest,
-                          ::testing::ValuesIn(libvpx_test::kVP9TestVectors));
+                          ::testing::ValuesIn(libvpx_test::kVP9TestVectors,
+                                              libvpx_test::kVP9TestVectors +
+                                              libvpx_test::kNumVP9TestVectors));
 
 }  // namespace
--- a/test/test_vectors.cc
+++ b/test/test_vectors.cc
@@ -12,8 +12,10 @@
 
 namespace libvpx_test {
 
+#define NELEMENTS(x) static_cast<int>(sizeof(x) / sizeof(x[0]))
+
 #if CONFIG_VP8_DECODER
-const char *kVP8TestVectors[kNumVP8TestVectors] = {
+const char *const kVP8TestVectors[] = {
   "vp80-00-comprehensive-001.ivf",
   "vp80-00-comprehensive-002.ivf", "vp80-00-comprehensive-003.ivf",
   "vp80-00-comprehensive-004.ivf", "vp80-00-comprehensive-005.ivf",
@@ -47,9 +49,10 @@
   "vp80-05-sharpness-1440.ivf", "vp80-05-sharpness-1443.ivf",
   "vp80-06-smallsize.ivf"
 };
+const int kNumVP8TestVectors = NELEMENTS(kVP8TestVectors);
 #endif  // CONFIG_VP8_DECODER
 #if CONFIG_VP9_DECODER
-const char *kVP9TestVectors[kNumVP9TestVectors] = {
+const char *const kVP9TestVectors[] = {
   "vp90-2-00-quantizer-00.webm", "vp90-2-00-quantizer-01.webm",
   "vp90-2-00-quantizer-02.webm", "vp90-2-00-quantizer-03.webm",
   "vp90-2-00-quantizer-04.webm", "vp90-2-00-quantizer-05.webm",
@@ -163,6 +166,7 @@
   "vp90-2-12-droppable_2.ivf", "vp90-2-12-droppable_3.ivf",
   "vp91-2-04-yv444.webm"
 };
+const int kNumVP9TestVectors = NELEMENTS(kVP9TestVectors);
 #endif  // CONFIG_VP9_DECODER
 
 }  // namespace libvpx_test
--- a/test/test_vectors.h
+++ b/test/test_vectors.h
@@ -16,14 +16,13 @@
 namespace libvpx_test {
 
 #if CONFIG_VP8_DECODER
-const int kNumVP8TestVectors = 62;
-extern const char *kVP8TestVectors[kNumVP8TestVectors];
+extern const int kNumVP8TestVectors;
+extern const char *const kVP8TestVectors[];
 #endif
 
 #if CONFIG_VP9_DECODER
-const int kNumVP9TestVectors = 223;
-
-extern const char *kVP9TestVectors[kNumVP9TestVectors];
+extern const int kNumVP9TestVectors;
+extern const char *const kVP9TestVectors[];
 #endif  // CONFIG_VP9_DECODER
 
 }  // namespace libvpx_test