diff options
author | sunyuechi <sunyuechi@iscas.ac.cn> | 2023-12-18 22:47:29 +0800 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2023-12-21 22:42:34 +0200 |
commit | c064823b95fecc7ba48ede6b41f78bc6c8b291b5 (patch) | |
tree | 7ba6bb31da21e781e0407527a74b9c8d304e14c1 /tests/checkasm | |
parent | 3bdb0fe511bfad24a8a8987ade083186b55d9c20 (diff) | |
download | ffmpeg-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.c | 27 |
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); } |