[FFmpeg-cvslog] checkasm: vp8: mc: test unequal width/height for partitions

Janne Grunau git at videolan.org
Thu Nov 17 16:05:59 EET 2016


ffmpeg | branch: master | Janne Grunau <janne-libav at jannau.net> | Sun Jul 10 00:32:12 2016 +0200| [ec32574209f36467ef0d22c21a7e811ba98c15b6] | committer: Janne Grunau

checkasm: vp8: mc: test unequal width/height for partitions

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ec32574209f36467ef0d22c21a7e811ba98c15b6
---

 tests/checkasm/vp8dsp.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c
index 3fe09c5..9733ff7 100644
--- a/tests/checkasm/vp8dsp.c
+++ b/tests/checkasm/vp8dsp.c
@@ -268,15 +268,17 @@ static void check_mc(void)
     LOCAL_ALIGNED_16(uint8_t, dst0, [16 * 16]);
     LOCAL_ALIGNED_16(uint8_t, dst1, [16 * 16]);
     VP8DSPContext d;
-    int type, hsize, dx, dy;
+    int type, k, dx, dy;
     declare_func_emms(AV_CPU_FLAG_MMX, void, uint8_t *, ptrdiff_t, uint8_t *, ptrdiff_t, int, int, int);
 
     ff_vp78dsp_init(&d);
 
     for (type = 0; type < 2; type++) {
         vp8_mc_func (*tab)[3][3] = type ? d.put_vp8_bilinear_pixels_tab : d.put_vp8_epel_pixels_tab;
-        for (hsize = 0; hsize < 3; hsize++) {
-            int size = 16 >> hsize;
+        for (k = 1; k < 8; k++) {
+            int hsize  = k / 3;
+            int size   = 16 >> hsize;
+            int height = (size << 1) >> (k % 3);
             for (dy = 0; dy < 3; dy++) {
                 for (dx = 0; dx < 3; dx++) {
                     char str[100];
@@ -309,11 +311,11 @@ static void check_mc(void)
                             src[i                 ] = val;
                             src[i * SRC_BUF_STRIDE] = val;
                         }
-                        call_ref(dst0, size, src, SRC_BUF_STRIDE, size, mx, my);
-                        call_new(dst1, size, src, SRC_BUF_STRIDE, size, mx, my);
-                        if (memcmp(dst0, dst1, size * size))
+                        call_ref(dst0, size, src, SRC_BUF_STRIDE, height, mx, my);
+                        call_new(dst1, size, src, SRC_BUF_STRIDE, height, mx, my);
+                        if (memcmp(dst0, dst1, size * height))
                             fail();
-                        bench_new(dst1, size, src, SRC_BUF_STRIDE, size, mx, my);
+                        bench_new(dst1, size, src, SRC_BUF_STRIDE, height, mx, my);
                     }
                 }
             }



More information about the ffmpeg-cvslog mailing list