summaryrefslogtreecommitdiff
path: root/tests/checkasm
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2021-02-17 12:05:12 -0300
committerJames Almer <jamrial@gmail.com>2021-02-17 13:39:31 -0300
commitbea7c513079a811512da378730366d80f8155f2d (patch)
treef310c88a3655b0af258a93086178daa927ba1396 /tests/checkasm
parent2df3c2ed9b3ea1f2912bb663a5e942ba56385d05 (diff)
checkasm/vf_gblur: add a test for postscale_slice
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'tests/checkasm')
-rw-r--r--tests/checkasm/vf_gblur.c22
1 files changed, 22 insertions, 0 deletions
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 <float.h>
#include <string.h>
#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);
}