aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsunyuechi <sunyuechi@iscas.ac.cn>2023-12-18 22:48:09 +0800
committerRémi Denis-Courmont <remi@remlab.net>2023-12-21 22:42:34 +0200
commit21e2b6b501b16b785f2a1d5f51d9e7d75923a07c (patch)
tree19c1e35ac768299b2c61f13a5cb26aeac8a891b7
parentc064823b95fecc7ba48ede6b41f78bc6c8b291b5 (diff)
downloadffmpeg-21e2b6b501b16b785f2a1d5f51d9e7d75923a07c.tar.gz
checkasm/takdsp: add decorrelate_sm test
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
-rw-r--r--tests/checkasm/takdsp.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/checkasm/takdsp.c b/tests/checkasm/takdsp.c
index 2fa639bfc1..495b7242c5 100644
--- a/tests/checkasm/takdsp.c
+++ b/tests/checkasm/takdsp.c
@@ -85,6 +85,34 @@ static void test_decorrelate_sr(TAKDSPContext *s) {
report("decorrelate_sr");
}
+static void test_decorrelate_sm(TAKDSPContext *s) {
+#define BUF_SIZE 1024
+ declare_func(void, int32_t *, int32_t *, int);
+
+ if (check_func(s->decorrelate_sm, "decorrelate_sm")) {
+ LOCAL_ALIGNED_32(int32_t, p1, [BUF_SIZE]);
+ LOCAL_ALIGNED_32(int32_t, p1_2, [BUF_SIZE]);
+ LOCAL_ALIGNED_32(int32_t, p2, [BUF_SIZE]);
+ LOCAL_ALIGNED_32(int32_t, p2_2, [BUF_SIZE]);
+
+ randomize(p1, BUF_SIZE);
+ memcpy(p1, p1_2, BUF_SIZE);
+ randomize(p2, BUF_SIZE);
+ memcpy(p2_2, p2, BUF_SIZE);
+
+ call_ref(p1, p2, BUF_SIZE);
+ call_new(p1_2, p2_2, BUF_SIZE);
+
+ if (memcmp(p2, p2_2, BUF_SIZE) != 0){
+ fail();
+ }
+
+ bench_new(p1, p2, BUF_SIZE);
+ }
+
+ report("decorrelate_sm");
+}
+
void checkasm_check_takdsp(void)
{
TAKDSPContext s = { 0 };
@@ -92,4 +120,5 @@ void checkasm_check_takdsp(void)
test_decorrelate_ls(&s);
test_decorrelate_sr(&s);
+ test_decorrelate_sm(&s);
}