[FFmpeg-cvslog] checkasm/vf_gblur: add a test for postscale_slice

James Almer git at videolan.org
Wed Feb 17 19:03:35 EET 2021


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Feb 17 12:05:12 2021 -0300| [bea7c513079a811512da378730366d80f8155f2d] | committer: James Almer

checkasm/vf_gblur: add a test for postscale_slice

Signed-off-by: James Almer <jamrial at gmail.com>

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

 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 <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);
 }



More information about the ffmpeg-cvslog mailing list