Add unit tests for vertically restricted CLPF

Change-Id: I99bb8a849a632334359441f43705e93f8455f4cb
diff --git a/test/clpf_test.cc b/test/clpf_test.cc
index 484db62..a8a1ed6 100644
--- a/test/clpf_test.cc
+++ b/test/clpf_test.cc
@@ -223,11 +223,15 @@
 #if HAVE_SSE2
 INSTANTIATE_TEST_CASE_P(
     SSE2, ClpfBlockTest,
-    ::testing::Values(make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 8, 8),
-                      make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 8, 4),
-                      make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 4, 8),
-                      make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 4,
-                                 4)));
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 8, 8),
+        make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 8, 4),
+        make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 4, 8),
+        make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_sse2, &aom_clpf_hblock_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_sse2, &aom_clpf_hblock_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_sse2, &aom_clpf_hblock_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_sse2, &aom_clpf_hblock_c, 4, 4)));
 #endif
 
 #if HAVE_SSSE3
@@ -237,7 +241,11 @@
         make_tuple(&aom_clpf_block_ssse3, &aom_clpf_block_c, 8, 8),
         make_tuple(&aom_clpf_block_ssse3, &aom_clpf_block_c, 8, 4),
         make_tuple(&aom_clpf_block_ssse3, &aom_clpf_block_c, 4, 8),
-        make_tuple(&aom_clpf_block_ssse3, &aom_clpf_block_c, 4, 4)));
+        make_tuple(&aom_clpf_block_ssse3, &aom_clpf_block_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_ssse3, &aom_clpf_hblock_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_ssse3, &aom_clpf_hblock_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_ssse3, &aom_clpf_hblock_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_ssse3, &aom_clpf_hblock_c, 4, 4)));
 #endif
 
 #if HAVE_SSE4_1
@@ -247,17 +255,25 @@
         make_tuple(&aom_clpf_block_sse4_1, &aom_clpf_block_c, 8, 8),
         make_tuple(&aom_clpf_block_sse4_1, &aom_clpf_block_c, 8, 4),
         make_tuple(&aom_clpf_block_sse4_1, &aom_clpf_block_c, 4, 8),
-        make_tuple(&aom_clpf_block_sse4_1, &aom_clpf_block_c, 4, 4)));
+        make_tuple(&aom_clpf_block_sse4_1, &aom_clpf_block_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_sse4_1, &aom_clpf_hblock_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_sse4_1, &aom_clpf_hblock_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_sse4_1, &aom_clpf_hblock_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_sse4_1, &aom_clpf_hblock_c, 4, 4)));
 #endif
 
 #if HAVE_NEON
 INSTANTIATE_TEST_CASE_P(
     NEON, ClpfBlockTest,
-    ::testing::Values(make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 8, 8),
-                      make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 8, 4),
-                      make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 4, 8),
-                      make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 4,
-                                 4)));
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 8, 8),
+        make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 8, 4),
+        make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 4, 8),
+        make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_neon, &aom_clpf_hblock_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_neon, &aom_clpf_hblock_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_neon, &aom_clpf_hblock_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_neon, &aom_clpf_hblock_c, 4, 4)));
 #endif
 
 #if CONFIG_AOM_HIGHBITDEPTH
@@ -268,7 +284,11 @@
         make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 8, 8),
         make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 8, 4),
         make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 4, 8),
-        make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 4, 4)));
+        make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_hbd_sse2, &aom_clpf_hblock_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse2, &aom_clpf_hblock_hbd_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_hbd_sse2, &aom_clpf_hblock_hbd_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse2, &aom_clpf_hblock_hbd_c, 4, 4)));
 #endif
 
 #if HAVE_SSSE3
@@ -278,7 +298,11 @@
         make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 8, 8),
         make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 8, 4),
         make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 4, 8),
-        make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 4, 4)));
+        make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_hbd_ssse3, &aom_clpf_hblock_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_ssse3, &aom_clpf_hblock_hbd_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_hbd_ssse3, &aom_clpf_hblock_hbd_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_hbd_ssse3, &aom_clpf_hblock_hbd_c, 4, 4)));
 #endif
 
 #if HAVE_SSE4_1
@@ -288,7 +312,11 @@
         make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 8, 8),
         make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 8, 4),
         make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 4, 8),
-        make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 4, 4)));
+        make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_hbd_sse4_1, &aom_clpf_hblock_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse4_1, &aom_clpf_hblock_hbd_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_hbd_sse4_1, &aom_clpf_hblock_hbd_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse4_1, &aom_clpf_hblock_hbd_c, 4, 4)));
 #endif
 
 #if HAVE_NEON
@@ -298,62 +326,81 @@
         make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 8, 8),
         make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 8, 4),
         make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 4, 8),
-        make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 4, 4)));
+        make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 4, 4),
+        make_tuple(&aom_clpf_hblock_hbd_neon, &aom_clpf_hblock_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_neon, &aom_clpf_hblock_hbd_c, 8, 4),
+        make_tuple(&aom_clpf_hblock_hbd_neon, &aom_clpf_hblock_hbd_c, 4, 8),
+        make_tuple(&aom_clpf_hblock_hbd_neon, &aom_clpf_hblock_hbd_c, 4, 4)));
 #endif
 #endif  // CONFIG_AOM_HIGHBITDEPTH
 
 // Test speed for all supported architectures
 #if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, ClpfSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_sse2,
-                                                     &aom_clpf_block_c, 8, 8)));
+INSTANTIATE_TEST_CASE_P(
+    SSE2, ClpfSpeedTest,
+    ::testing::Values(make_tuple(&aom_clpf_block_sse2, &aom_clpf_block_c, 8, 8),
+                      make_tuple(&aom_clpf_hblock_sse2, &aom_clpf_hblock_c, 8,
+                                 8)));
 #endif
 
 #if HAVE_SSSE3
 INSTANTIATE_TEST_CASE_P(SSSE3, ClpfSpeedTest,
                         ::testing::Values(make_tuple(&aom_clpf_block_ssse3,
-                                                     &aom_clpf_block_c, 8, 8)));
+                                                     &aom_clpf_block_c, 8, 8),
+                                          make_tuple(&aom_clpf_hblock_ssse3,
+                                                     &aom_clpf_hblock_c, 8,
+                                                     8)));
 #endif
 
 #if HAVE_SSE4_1
 INSTANTIATE_TEST_CASE_P(SSE4_1, ClpfSpeedTest,
                         ::testing::Values(make_tuple(&aom_clpf_block_sse4_1,
-                                                     &aom_clpf_block_c, 8, 8)));
+                                                     &aom_clpf_block_c, 8, 8),
+                                          make_tuple(&aom_clpf_hblock_sse4_1,
+                                                     &aom_clpf_hblock_c, 8,
+                                                     8)));
+
 #endif
 
 #if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, ClpfSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_neon,
-                                                     &aom_clpf_block_c, 8, 8)));
+INSTANTIATE_TEST_CASE_P(
+    NEON, ClpfSpeedTest,
+    ::testing::Values(make_tuple(&aom_clpf_block_neon, &aom_clpf_block_c, 8, 8),
+                      make_tuple(&aom_clpf_hblock_neon, &aom_clpf_hblock_c, 8,
+                                 8)));
 #endif
 
 #if CONFIG_AOM_HIGHBITDEPTH
 #if HAVE_SSE2
-INSTANTIATE_TEST_CASE_P(SSE2, ClpfHbdSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_hbd_sse2,
-                                                     &aom_clpf_block_hbd_c, 8,
-                                                     8)));
+INSTANTIATE_TEST_CASE_P(
+    SSE2, ClpfHbdSpeedTest,
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_hbd_sse2, &aom_clpf_block_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse2, &aom_clpf_hblock_hbd_c, 8, 8)));
 #endif
 
 #if HAVE_SSSE3
-INSTANTIATE_TEST_CASE_P(SSSE3, ClpfHbdSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_hbd_ssse3,
-                                                     &aom_clpf_block_hbd_c, 8,
-                                                     8)));
+INSTANTIATE_TEST_CASE_P(
+    SSSE3, ClpfHbdSpeedTest,
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_hbd_ssse3, &aom_clpf_block_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_ssse3, &aom_clpf_hblock_hbd_c, 8, 8)));
 #endif
 
 #if HAVE_SSE4_1
-INSTANTIATE_TEST_CASE_P(SSE4_1, ClpfHbdSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_hbd_sse4_1,
-                                                     &aom_clpf_block_hbd_c, 8,
-                                                     8)));
+INSTANTIATE_TEST_CASE_P(
+    SSE4_1, ClpfHbdSpeedTest,
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_hbd_sse4_1, &aom_clpf_block_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_sse4_1, &aom_clpf_hblock_hbd_c, 8, 8)));
 #endif
 
 #if HAVE_NEON
-INSTANTIATE_TEST_CASE_P(NEON, ClpfHbdSpeedTest,
-                        ::testing::Values(make_tuple(&aom_clpf_block_hbd_neon,
-                                                     &aom_clpf_block_hbd_c, 8,
-                                                     8)));
+INSTANTIATE_TEST_CASE_P(
+    NEON, ClpfHbdSpeedTest,
+    ::testing::Values(
+        make_tuple(&aom_clpf_block_hbd_neon, &aom_clpf_block_hbd_c, 8, 8),
+        make_tuple(&aom_clpf_hblock_hbd_neon, &aom_clpf_hblock_hbd_c, 8, 8)));
 #endif
 #endif  // CONFIG_AOM_HIGHBITDEPTH
 #endif  // defined(_WIN64) || !defined(_MSC_VER)