From ec32574209f36467ef0d22c21a7e811ba98c15b6 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Sun, 10 Jul 2016 00:32:12 +0200 Subject: checkasm: vp8: mc: test unequal width/height for partitions --- tests/checkasm/vp8dsp.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c index 3fe09c5c92..9733ff7c8d 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); } } } -- cgit v1.2.3