* [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
@ 2024-01-31 12:00 flow gg
2024-02-01 23:42 ` Michael Niedermayer
0 siblings, 1 reply; 8+ messages in thread
From: flow gg @ 2024-01-31 12:00 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch --]
[-- Type: text/x-patch, Size: 4969 bytes --]
From 46a81051f49f6b4032815d5f123be8ff614033e2 Mon Sep 17 00:00:00 2001
From: sunyuechi <sunyuechi@iscas.ac.cn>
Date: Wed, 31 Jan 2024 19:00:23 +0800
Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
---
tests/checkasm/Makefile | 1 +
tests/checkasm/checkasm.c | 3 ++
tests/checkasm/checkasm.h | 1 +
tests/checkasm/rv34dsp.c | 65 +++++++++++++++++++++++++++++++++++++++
tests/fate/checkasm.mak | 1 +
5 files changed, 71 insertions(+)
create mode 100644 tests/checkasm/rv34dsp.c
diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile
index f507e99993..e4c1ff7d79 100644
--- a/tests/checkasm/Makefile
+++ b/tests/checkasm/Makefile
@@ -34,6 +34,7 @@ AVCODECOBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dsp.o
AVCODECOBJS-$(CONFIG_OPUS_DECODER) += opusdsp.o
AVCODECOBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
AVCODECOBJS-$(CONFIG_HEVC_DECODER) += hevc_add_res.o hevc_deblock.o hevc_idct.o hevc_sao.o hevc_pel.o
+AVCODECOBJS-$(CONFIG_RV34DSP) += rv34dsp.o
AVCODECOBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o
AVCODECOBJS-$(CONFIG_TAK_DECODER) += takdsp.o
AVCODECOBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodsp.o
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index ed9f7f3d7b..ed9bd5e248 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -167,6 +167,9 @@ static const struct {
#if CONFIG_PIXBLOCKDSP
{ "pixblockdsp", checkasm_check_pixblockdsp },
#endif
+ #if CONFIG_RV34DSP
+ { "rv34dsp", checkasm_check_rv34dsp },
+ #endif
#if CONFIG_SVQ1_ENCODER
{ "svq1enc", checkasm_check_svq1enc },
#endif
diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h
index bb74c0cc4b..1022bbbac7 100644
--- a/tests/checkasm/checkasm.h
+++ b/tests/checkasm/checkasm.h
@@ -112,6 +112,7 @@ void checkasm_check_nlmeans(void);
void checkasm_check_opusdsp(void);
void checkasm_check_pixblockdsp(void);
void checkasm_check_sbrdsp(void);
+void checkasm_check_rv34dsp(void);
void checkasm_check_svq1enc(void);
void checkasm_check_synth_filter(void);
void checkasm_check_sw_gbrp(void);
diff --git a/tests/checkasm/rv34dsp.c b/tests/checkasm/rv34dsp.c
new file mode 100644
index 0000000000..56167d2569
--- /dev/null
+++ b/tests/checkasm/rv34dsp.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2024 Institue of Software Chinese Academy of Sciences (ISCAS).
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "libavutil/mem.h"
+#include "libavutil/mem_internal.h"
+
+#include "libavcodec/rv34dsp.h"
+
+#include "checkasm.h"
+
+#define BUF_SIZE 1024
+
+#define randomize(buf, len) \
+ do { \
+ for (int i = 0; i < len; i++) \
+ buf[i] = rnd(); \
+ } while (0)
+
+static void test_rv34_inv_transform_dc(RV34DSPContext *s) {
+ declare_func(void, int16_t *block);
+
+ if (check_func(s->rv34_inv_transform_dc, "rv34_inv_transform_dc")) {
+ LOCAL_ALIGNED_16(int16_t, p1, [BUF_SIZE]);
+ LOCAL_ALIGNED_16(int16_t, p2, [BUF_SIZE]);
+
+ randomize(p1, BUF_SIZE);
+ memcpy(p2, p1, BUF_SIZE * sizeof(*p1));
+
+ call_ref(p1);
+ call_new(p2);
+
+ if (memcmp(p1, p2, BUF_SIZE * sizeof (*p1)) != 0) {
+ fail();
+ }
+
+ bench_new(p1);
+ }
+
+ report("rv34_inv_transform_dc");
+}
+
+void checkasm_check_rv34dsp(void)
+{
+ RV34DSPContext s = { 0 };
+ ff_rv34dsp_init(&s);
+
+ test_rv34_inv_transform_dc(&s);
+}
diff --git a/tests/fate/checkasm.mak b/tests/fate/checkasm.mak
index 3d775549ee..086493c4bd 100644
--- a/tests/fate/checkasm.mak
+++ b/tests/fate/checkasm.mak
@@ -34,6 +34,7 @@ FATE_CHECKASM = fate-checkasm-aacencdsp \
fate-checkasm-opusdsp \
fate-checkasm-pixblockdsp \
fate-checkasm-sbrdsp \
+ fate-checkasm-rv34dsp \
fate-checkasm-svq1enc \
fate-checkasm-synth_filter \
fate-checkasm-sw_gbrp \
--
2.43.0
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-01-31 12:00 [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test flow gg
@ 2024-02-01 23:42 ` Michael Niedermayer
2024-02-02 0:47 ` flow gg
2024-02-02 12:08 ` Rémi Denis-Courmont
0 siblings, 2 replies; 8+ messages in thread
From: Michael Niedermayer @ 2024-02-01 23:42 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1183 bytes --]
On Wed, Jan 31, 2024 at 08:00:18PM +0800, flow gg wrote:
>
> checkasm/Makefile | 1
> checkasm/checkasm.c | 3 ++
> checkasm/checkasm.h | 1
> checkasm/rv34dsp.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> fate/checkasm.mak | 1
> 5 files changed, 71 insertions(+)
> e7eed6e25de9f313ddb3c0f3066f02f0671d3271 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch
> From 46a81051f49f6b4032815d5f123be8ff614033e2 Mon Sep 17 00:00:00 2001
> From: sunyuechi <sunyuechi@iscas.ac.cn>
> Date: Wed, 31 Jan 2024 19:00:23 +0800
> Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
seems to fail here
checkasm: using random seed 2653668129
MMXEXT:
rv34_inv_transform_dc_mmxext (failed to issue emms)
- rv34dsp.rv34_inv_transform_dc [FAILED]
checkasm: 1 of 1 tests have failed
threads=1
tests/Makefile:318: recipe for target 'fate-checkasm-rv34dsp' failed
make: *** [fate-checkasm-rv34dsp] Error 1
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-01 23:42 ` Michael Niedermayer
@ 2024-02-02 0:47 ` flow gg
2024-02-12 19:36 ` Rémi Denis-Courmont
2024-02-02 12:08 ` Rémi Denis-Courmont
1 sibling, 1 reply; 8+ messages in thread
From: flow gg @ 2024-02-02 0:47 UTC (permalink / raw)
To: FFmpeg development discussions and patches
It seems to be caused by movd m0, r1d in libavcodec/x86/rv34dsp.asm? I'm
not quite sure.
Michael Niedermayer <michael@niedermayer.cc> 于2024年2月2日周五 07:42写道:
> On Wed, Jan 31, 2024 at 08:00:18PM +0800, flow gg wrote:
> >
>
> > checkasm/Makefile | 1
> > checkasm/checkasm.c | 3 ++
> > checkasm/checkasm.h | 1
> > checkasm/rv34dsp.c | 65
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
> > fate/checkasm.mak | 1
> > 5 files changed, 71 insertions(+)
> > e7eed6e25de9f313ddb3c0f3066f02f0671d3271
> 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch
> > From 46a81051f49f6b4032815d5f123be8ff614033e2 Mon Sep 17 00:00:00 2001
> > From: sunyuechi <sunyuechi@iscas.ac.cn>
> > Date: Wed, 31 Jan 2024 19:00:23 +0800
> > Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
>
> seems to fail here
>
> checkasm: using random seed 2653668129
> MMXEXT:
> rv34_inv_transform_dc_mmxext (failed to issue emms)
> - rv34dsp.rv34_inv_transform_dc [FAILED]
> checkasm: 1 of 1 tests have failed
> threads=1
> tests/Makefile:318: recipe for target 'fate-checkasm-rv34dsp' failed
> make: *** [fate-checkasm-rv34dsp] Error 1
>
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> I do not agree with what you have to say, but I'll defend to the death your
> right to say it. -- Voltaire
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-01 23:42 ` Michael Niedermayer
2024-02-02 0:47 ` flow gg
@ 2024-02-02 12:08 ` Rémi Denis-Courmont
2024-02-02 13:26 ` Michael Niedermayer
1 sibling, 1 reply; 8+ messages in thread
From: Rémi Denis-Courmont @ 2024-02-02 12:08 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Le 2 février 2024 01:42:20 GMT+02:00, Michael Niedermayer <michael@niedermayer.cc> a écrit :
>On Wed, Jan 31, 2024 at 08:00:18PM +0800, flow gg wrote:
>>
>
>> checkasm/Makefile | 1
>> checkasm/checkasm.c | 3 ++
>> checkasm/checkasm.h | 1
>> checkasm/rv34dsp.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>> fate/checkasm.mak | 1
>> 5 files changed, 71 insertions(+)
>> e7eed6e25de9f313ddb3c0f3066f02f0671d3271 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch
>> From 46a81051f49f6b4032815d5f123be8ff614033e2 Mon Sep 17 00:00:00 2001
>> From: sunyuechi <sunyuechi@iscas.ac.cn>
>> Date: Wed, 31 Jan 2024 19:00:23 +0800
>> Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
>
>seems to fail here
Do you mean that the test is wrong or that it exposes a bug in the x86 optimisations (which wouldn't be the first occurrence)?
It's painful enough that RVV optimisations need to add checkasm tests for existing code. We can't be expected to fix x86 bugs on top.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-02 12:08 ` Rémi Denis-Courmont
@ 2024-02-02 13:26 ` Michael Niedermayer
0 siblings, 0 replies; 8+ messages in thread
From: Michael Niedermayer @ 2024-02-02 13:26 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1741 bytes --]
On Fri, Feb 02, 2024 at 02:08:29PM +0200, Rémi Denis-Courmont wrote:
>
>
> Le 2 février 2024 01:42:20 GMT+02:00, Michael Niedermayer <michael@niedermayer.cc> a écrit :
> >On Wed, Jan 31, 2024 at 08:00:18PM +0800, flow gg wrote:
> >>
> >
> >> checkasm/Makefile | 1
> >> checkasm/checkasm.c | 3 ++
> >> checkasm/checkasm.h | 1
> >> checkasm/rv34dsp.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> fate/checkasm.mak | 1
> >> 5 files changed, 71 insertions(+)
> >> e7eed6e25de9f313ddb3c0f3066f02f0671d3271 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch
> >> From 46a81051f49f6b4032815d5f123be8ff614033e2 Mon Sep 17 00:00:00 2001
> >> From: sunyuechi <sunyuechi@iscas.ac.cn>
> >> Date: Wed, 31 Jan 2024 19:00:23 +0800
> >> Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
> >
> >seems to fail here
>
> Do you mean that the test is wrong or that it exposes a bug in the x86 optimisations (which wouldn't be the first occurrence)?
>
> It's painful enough that RVV optimisations need to add checkasm tests for existing code. We can't be expected to fix x86 bugs on top.
i would assume theres some bug in the x86 side but i did not look
iam not suggesting flow gg needs to fix that just that before this test is
enabled on x86, the bug needs to be fixed
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Any man who breaks a law that conscience tells him is unjust and willingly
accepts the penalty by staying in jail in order to arouse the conscience of
the community on the injustice of the law is at that moment expressing the
very highest respect for law. - Martin Luther King Jr
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-02 0:47 ` flow gg
@ 2024-02-12 19:36 ` Rémi Denis-Courmont
2024-02-13 2:37 ` flow gg
0 siblings, 1 reply; 8+ messages in thread
From: Rémi Denis-Courmont @ 2024-02-12 19:36 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Le perjantaina 2. helmikuuta 2024, 2.47.16 EET flow gg a écrit :
> It seems to be caused by movd m0, r1d in libavcodec/x86/rv34dsp.asm? I'm
> not quite sure.
If it affects only MMX and neither SSE nor AVX, add a patch to remove the
offending code altogether.
It's ridiculous to hold checkasm tests off because of broken legacy code.
--
Rémi Denis-Courmont
http://www.remlab.net/
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-12 19:36 ` Rémi Denis-Courmont
@ 2024-02-13 2:37 ` flow gg
2024-02-13 9:58 ` flow gg
0 siblings, 1 reply; 8+ messages in thread
From: flow gg @ 2024-02-13 2:37 UTC (permalink / raw)
To: FFmpeg development discussions and patches
I sended "[FFmpeg-devel] [PATCH] x86: Remove MMX assembly
rv34_inv_transform_dc in rv34dsp"
Rémi Denis-Courmont <remi@remlab.net> 于2024年2月13日周二 03:37写道:
> Le perjantaina 2. helmikuuta 2024, 2.47.16 EET flow gg a écrit :
> > It seems to be caused by movd m0, r1d in libavcodec/x86/rv34dsp.asm? I'm
> > not quite sure.
>
> If it affects only MMX and neither SSE nor AVX, add a patch to remove the
> offending code altogether.
>
> It's ridiculous to hold checkasm tests off because of broken legacy code.
>
> --
> Rémi Denis-Courmont
> http://www.remlab.net/
>
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
2024-02-13 2:37 ` flow gg
@ 2024-02-13 9:58 ` flow gg
0 siblings, 0 replies; 8+ messages in thread
From: flow gg @ 2024-02-13 9:58 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 1052 bytes --]
it was due to a testing , not MMX. fixed it in this reply.
flow gg <hlefthleft@gmail.com> 于2024年2月13日周二 10:37写道:
> I sended "[FFmpeg-devel] [PATCH] x86: Remove MMX assembly
> rv34_inv_transform_dc in rv34dsp"
>
> Rémi Denis-Courmont <remi@remlab.net> 于2024年2月13日周二 03:37写道:
>
>> Le perjantaina 2. helmikuuta 2024, 2.47.16 EET flow gg a écrit :
>> > It seems to be caused by movd m0, r1d in libavcodec/x86/rv34dsp.asm? I'm
>> > not quite sure.
>>
>> If it affects only MMX and neither SSE nor AVX, add a patch to remove the
>> offending code altogether.
>>
>> It's ridiculous to hold checkasm tests off because of broken legacy code.
>>
>> --
>> Rémi Denis-Courmont
>> http://www.remlab.net/
>>
>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>>
>
[-- Attachment #2: 0001-checkasm-rv34dsp-add-rv34_inv_transform_dc-test.patch --]
[-- Type: text/x-patch, Size: 4991 bytes --]
From 0afcf0e6a177b3f0cd90dc4f0eab6f3c35a9d428 Mon Sep 17 00:00:00 2001
From: sunyuechi <sunyuechi@iscas.ac.cn>
Date: Wed, 31 Jan 2024 19:00:23 +0800
Subject: [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test
---
tests/checkasm/Makefile | 1 +
tests/checkasm/checkasm.c | 3 ++
tests/checkasm/checkasm.h | 1 +
tests/checkasm/rv34dsp.c | 65 +++++++++++++++++++++++++++++++++++++++
tests/fate/checkasm.mak | 1 +
5 files changed, 71 insertions(+)
create mode 100644 tests/checkasm/rv34dsp.c
diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile
index 56aba601d3..3947b9ea79 100644
--- a/tests/checkasm/Makefile
+++ b/tests/checkasm/Makefile
@@ -34,6 +34,7 @@ AVCODECOBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dsp.o
AVCODECOBJS-$(CONFIG_OPUS_DECODER) += opusdsp.o
AVCODECOBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
AVCODECOBJS-$(CONFIG_HEVC_DECODER) += hevc_add_res.o hevc_deblock.o hevc_idct.o hevc_sao.o hevc_pel.o
+AVCODECOBJS-$(CONFIG_RV34DSP) += rv34dsp.o
AVCODECOBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o
AVCODECOBJS-$(CONFIG_TAK_DECODER) += takdsp.o
AVCODECOBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodsp.o
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index b2f24b051b..ffc04f0623 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -167,6 +167,9 @@ static const struct {
#if CONFIG_PIXBLOCKDSP
{ "pixblockdsp", checkasm_check_pixblockdsp },
#endif
+ #if CONFIG_RV34DSP
+ { "rv34dsp", checkasm_check_rv34dsp },
+ #endif
#if CONFIG_SVQ1_ENCODER
{ "svq1enc", checkasm_check_svq1enc },
#endif
diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h
index 92f64a3014..1f31591ac0 100644
--- a/tests/checkasm/checkasm.h
+++ b/tests/checkasm/checkasm.h
@@ -112,6 +112,7 @@ void checkasm_check_nlmeans(void);
void checkasm_check_opusdsp(void);
void checkasm_check_pixblockdsp(void);
void checkasm_check_sbrdsp(void);
+void checkasm_check_rv34dsp(void);
void checkasm_check_svq1enc(void);
void checkasm_check_synth_filter(void);
void checkasm_check_sw_gbrp(void);
diff --git a/tests/checkasm/rv34dsp.c b/tests/checkasm/rv34dsp.c
new file mode 100644
index 0000000000..9f46a54877
--- /dev/null
+++ b/tests/checkasm/rv34dsp.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2024 Institue of Software Chinese Academy of Sciences (ISCAS).
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "libavutil/mem.h"
+#include "libavutil/mem_internal.h"
+
+#include "libavcodec/rv34dsp.h"
+
+#include "checkasm.h"
+
+#define BUF_SIZE 1024
+
+#define randomize(buf, len) \
+ do { \
+ for (int i = 0; i < len; i++) \
+ buf[i] = rnd(); \
+ } while (0)
+
+static void test_rv34_inv_transform_dc(RV34DSPContext *s) {
+ declare_func_emms(AV_CPU_FLAG_MMX, void, int16_t *block);
+
+ if (check_func(s->rv34_inv_transform_dc, "rv34_inv_transform_dc")) {
+ LOCAL_ALIGNED_16(int16_t, p1, [BUF_SIZE]);
+ LOCAL_ALIGNED_16(int16_t, p2, [BUF_SIZE]);
+
+ randomize(p1, BUF_SIZE);
+ memcpy(p2, p1, BUF_SIZE * sizeof(*p1));
+
+ call_ref(p1);
+ call_new(p2);
+
+ if (memcmp(p1, p2, BUF_SIZE * sizeof (*p1)) != 0) {
+ fail();
+ }
+
+ bench_new(p1);
+ }
+
+ report("rv34_inv_transform_dc");
+}
+
+void checkasm_check_rv34dsp(void)
+{
+ RV34DSPContext s = { 0 };
+ ff_rv34dsp_init(&s);
+
+ test_rv34_inv_transform_dc(&s);
+}
diff --git a/tests/fate/checkasm.mak b/tests/fate/checkasm.mak
index 647e263a30..bb4c8617f7 100644
--- a/tests/fate/checkasm.mak
+++ b/tests/fate/checkasm.mak
@@ -34,6 +34,7 @@ FATE_CHECKASM = fate-checkasm-aacencdsp \
fate-checkasm-opusdsp \
fate-checkasm-pixblockdsp \
fate-checkasm-sbrdsp \
+ fate-checkasm-rv34dsp \
fate-checkasm-svq1enc \
fate-checkasm-synth_filter \
fate-checkasm-sw_gbrp \
--
2.43.1
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-02-13 9:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-31 12:00 [FFmpeg-devel] [PATCH 1/4] checkasm/rv34dsp: add rv34_inv_transform_dc test flow gg
2024-02-01 23:42 ` Michael Niedermayer
2024-02-02 0:47 ` flow gg
2024-02-12 19:36 ` Rémi Denis-Courmont
2024-02-13 2:37 ` flow gg
2024-02-13 9:58 ` flow gg
2024-02-02 12:08 ` Rémi Denis-Courmont
2024-02-02 13:26 ` Michael Niedermayer
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git