From bea7c513079a811512da378730366d80f8155f2d Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 17 Feb 2021 12:05:12 -0300 Subject: [PATCH] checkasm/vf_gblur: add a test for postscale_slice Signed-off-by: James Almer --- tests/checkasm/vf_gblur.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/checkasm/vf_gblur.c b/tests/checkasm/vf_gblur.c index 8ff47a338f..b9fe2f9a36 100644 --- a/tests/checkasm/vf_gblur.c +++ b/tests/checkasm/vf_gblur.c @@ -16,6 +16,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include #include #include "checkasm.h" #include "libavfilter/gblur.h" @@ -48,6 +49,19 @@ static void check_horiz_slice(float *dst_ref, float *dst_new) bench_new(dst_new, WIDTH, HEIGHT, 1, nu, bscale); } +static void check_postscale_slice(float *dst_ref, float *dst_new) +{ + float postscale = 0.0603f; + + declare_func(void, float *dst, int len, float postscale, float min, float max); + call_ref(dst_ref, PIXELS, postscale, -FLT_MAX, FLT_MAX); + call_new(dst_new, PIXELS, postscale, -FLT_MAX, FLT_MAX); + if (!float_near_abs_eps_array(dst_ref, dst_new, FLT_EPSILON, PIXELS)) { + fail(); + } + bench_new(dst_new, PIXELS, postscale, -FLT_MAX, FLT_MAX); +} + void checkasm_check_vf_gblur(void) { float *dst_ref = av_malloc(BUF_SIZE); @@ -63,6 +77,14 @@ void checkasm_check_vf_gblur(void) check_horiz_slice(dst_ref, dst_new); } report("horiz_slice"); + + randomize_buffers(dst_ref, PIXELS); + memcpy(dst_new, dst_ref, BUF_SIZE); + if (check_func(s.postscale_slice, "postscale_slice")) { + check_postscale_slice(dst_ref, dst_new); + } + report("postscale_slice"); + av_freep(&dst_ref); av_freep(&dst_new); }