Add testing for subsampling in warping function

Change-Id: Ia5b2c851d43e889b753933590f36dae61cf236d8
diff --git a/test/warp_filter_test.cc b/test/warp_filter_test.cc
index 9dfee61..73d9fcb 100644
--- a/test/warp_filter_test.cc
+++ b/test/warp_filter_test.cc
@@ -89,7 +89,7 @@
     const int stride = w + 2 * border;
     const int out_w = GET_PARAM(0), out_h = GET_PARAM(1);
     const int num_iters = GET_PARAM(2);
-    int i, j;
+    int i, j, sub_x, sub_y;
 
     uint8_t *input_ = new uint8_t[h * stride];
     uint8_t *input = input_ + border;
@@ -107,16 +107,21 @@
 
     /* Try different sizes of prediction block */
     for (i = 0; i < num_iters; ++i) {
-      generate_model(mat, &alpha, &beta, &gamma, &delta);
-      av1_warp_affine_c(mat, input, w, h, stride, output, 32, 32, out_w, out_h,
-                        out_w, 0, 0, 0, alpha, beta, gamma, delta);
-      av1_warp_affine_sse2(mat, input, w, h, stride, output2, 32, 32, out_w,
-                           out_h, out_w, 0, 0, 0, alpha, beta, gamma, delta);
+      for (sub_x = 0; sub_x < 2; ++sub_x)
+        for (sub_y = 0; sub_y < 2; ++sub_y) {
+          generate_model(mat, &alpha, &beta, &gamma, &delta);
+          av1_warp_affine_c(mat, input, w, h, stride, output, 32, 32, out_w,
+                            out_h, out_w, sub_x, sub_y, 0, alpha, beta, gamma,
+                            delta);
+          av1_warp_affine_sse2(mat, input, w, h, stride, output2, 32, 32, out_w,
+                               out_h, out_w, sub_x, sub_y, 0, alpha, beta,
+                               gamma, delta);
 
-      for (j = 0; j < out_w * out_h; ++j)
-        ASSERT_EQ(output[j], output2[j])
-            << "Pixel mismatch at index " << j << " = (" << (j % out_w) << ", "
-            << (j / out_w) << ") on iteration " << i;
+          for (j = 0; j < out_w * out_h; ++j)
+            ASSERT_EQ(output[j], output2[j])
+                << "Pixel mismatch at index " << j << " = (" << (j % out_w)
+                << ", " << (j / out_w) << ") on iteration " << i;
+        }
     }
 
     delete[] input_;