aboutsummaryrefslogtreecommitdiffstats
path: root/tests/checkasm
diff options
context:
space:
mode:
authorsunyuechi <sunyuechi@iscas.ac.cn>2023-12-18 22:47:29 +0800
committerRémi Denis-Courmont <remi@remlab.net>2023-12-21 22:42:34 +0200
commitc064823b95fecc7ba48ede6b41f78bc6c8b291b5 (patch)
tree7ba6bb31da21e781e0407527a74b9c8d304e14c1 /tests/checkasm
parent3bdb0fe511bfad24a8a8987ade083186b55d9c20 (diff)
downloadffmpeg-c064823b95fecc7ba48ede6b41f78bc6c8b291b5.tar.gz
checkasm/takdsp: add decorrelate_sr test
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Diffstat (limited to 'tests/checkasm')
-rw-r--r--tests/checkasm/takdsp.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/checkasm/takdsp.c b/tests/checkasm/takdsp.c
index 4c7442f922..2fa639bfc1 100644
--- a/tests/checkasm/takdsp.c
+++ b/tests/checkasm/takdsp.c
@@ -59,10 +59,37 @@ static void test_decorrelate_ls(TAKDSPContext *s) {
report("decorrelate_ls");
}
+static void test_decorrelate_sr(TAKDSPContext *s) {
+#define BUF_SIZE 1024
+ declare_func(void, int32_t *, int32_t *, int);
+
+ if (check_func(s->decorrelate_sr, "decorrelate_sr")) {
+ LOCAL_ALIGNED_32(int32_t, p1, [BUF_SIZE]);
+ LOCAL_ALIGNED_32(int32_t, p2, [BUF_SIZE]);
+ LOCAL_ALIGNED_32(int32_t, p2_2, [BUF_SIZE]);
+
+ randomize(p1, BUF_SIZE);
+ randomize(p2, BUF_SIZE);
+ memcpy(p2_2, p2, BUF_SIZE);
+
+ call_ref(p1, p2, BUF_SIZE);
+ call_new(p1, p2_2, BUF_SIZE);
+
+ if (memcmp(p2, p2_2, BUF_SIZE) != 0){
+ fail();
+ }
+
+ bench_new(p1, p2, BUF_SIZE);
+ }
+
+ report("decorrelate_sr");
+}
+
void checkasm_check_takdsp(void)
{
TAKDSPContext s = { 0 };
ff_takdsp_init(&s);
test_decorrelate_ls(&s);
+ test_decorrelate_sr(&s);
}