* [FFmpeg-devel] [PATCH] checkasm/hevc: add transform_luma test
@ 2023-04-13 6:46 xufuji456
2023-04-13 12:16 ` Martin Storsjö
0 siblings, 1 reply; 2+ messages in thread
From: xufuji456 @ 2023-04-13 6:46 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: xufuji456
Signed-off-by: xufuji456 <839789740@qq.com>
---
tests/checkasm/hevc_idct.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/tests/checkasm/hevc_idct.c b/tests/checkasm/hevc_idct.c
index 338b8a23e4..446d69f931 100644
--- a/tests/checkasm/hevc_idct.c
+++ b/tests/checkasm/hevc_idct.c
@@ -84,6 +84,27 @@ static void check_idct_dc(HEVCDSPContext h, int bit_depth)
}
}
+static void check_transform_luma(HEVCDSPContext *h, int bit_depth)
+{
+ LOCAL_ALIGNED(32, int16_t, coeffs0, [32 * 32]);
+ LOCAL_ALIGNED(32, int16_t, coeffs1, [32 * 32]);
+
+ int block_size = 4;
+ int size = block_size * block_size;
+ declare_func_emms(AV_CPU_FLAG_MMXEXT, void, int16_t *coeffs);
+
+ randomize_buffers(coeffs0, size);
+ memcpy(coeffs1, coeffs0, sizeof(*coeffs0) * size);
+
+ if (check_func(h->transform_4x4_luma, "hevc_transform_luma_4x4_%d", bit_depth)) {
+ call_ref(coeffs0);
+ call_new(coeffs1);
+ if (memcmp(coeffs0, coeffs1, sizeof(*coeffs0) * size))
+ fail();
+ bench_new(coeffs1);
+ }
+}
+
void checkasm_check_hevc_idct(void)
{
int bit_depth;
@@ -103,4 +124,12 @@ void checkasm_check_hevc_idct(void)
check_idct(h, bit_depth);
}
report("idct");
+
+ for (bit_depth = 8; bit_depth <= 12; bit_depth += 2) {
+ HEVCDSPContext h;
+
+ ff_hevc_dsp_init(&h, bit_depth);
+ check_transform_luma(&h, bit_depth);
+ }
+ report("transform_luma");
}
--
2.32.0 (Apple Git-132)
_______________________________________________
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] 2+ messages in thread
* Re: [FFmpeg-devel] [PATCH] checkasm/hevc: add transform_luma test
2023-04-13 6:46 [FFmpeg-devel] [PATCH] checkasm/hevc: add transform_luma test xufuji456
@ 2023-04-13 12:16 ` Martin Storsjö
0 siblings, 0 replies; 2+ messages in thread
From: Martin Storsjö @ 2023-04-13 12:16 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: xufuji456
On Thu, 13 Apr 2023, xufuji456 wrote:
> Signed-off-by: xufuji456 <839789740@qq.com>
> ---
> tests/checkasm/hevc_idct.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/tests/checkasm/hevc_idct.c b/tests/checkasm/hevc_idct.c
> index 338b8a23e4..446d69f931 100644
> --- a/tests/checkasm/hevc_idct.c
> +++ b/tests/checkasm/hevc_idct.c
> @@ -84,6 +84,27 @@ static void check_idct_dc(HEVCDSPContext h, int bit_depth)
> }
> }
>
> +static void check_transform_luma(HEVCDSPContext *h, int bit_depth)
> +{
> + LOCAL_ALIGNED(32, int16_t, coeffs0, [32 * 32]);
> + LOCAL_ALIGNED(32, int16_t, coeffs1, [32 * 32]);
> +
> + int block_size = 4;
> + int size = block_size * block_size;
> + declare_func_emms(AV_CPU_FLAG_MMXEXT, void, int16_t *coeffs);
> +
> + randomize_buffers(coeffs0, size);
> + memcpy(coeffs1, coeffs0, sizeof(*coeffs0) * size);
> +
> + if (check_func(h->transform_4x4_luma, "hevc_transform_luma_4x4_%d", bit_depth)) {
> + call_ref(coeffs0);
> + call_new(coeffs1);
> + if (memcmp(coeffs0, coeffs1, sizeof(*coeffs0) * size))
> + fail();
> + bench_new(coeffs1);
> + }
> +}
> +
> void checkasm_check_hevc_idct(void)
> {
> int bit_depth;
> @@ -103,4 +124,12 @@ void checkasm_check_hevc_idct(void)
> check_idct(h, bit_depth);
> }
> report("idct");
> +
> + for (bit_depth = 8; bit_depth <= 12; bit_depth += 2) {
> + HEVCDSPContext h;
> +
> + ff_hevc_dsp_init(&h, bit_depth);
> + check_transform_luma(&h, bit_depth);
> + }
> + report("transform_luma");
> }
> --
> 2.32.0 (Apple Git-132)
LGTM, thanks, will push in a moment.
// Martin
_______________________________________________
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] 2+ messages in thread
end of thread, other threads:[~2023-04-13 12:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-13 6:46 [FFmpeg-devel] [PATCH] checkasm/hevc: add transform_luma test xufuji456
2023-04-13 12:16 ` Martin Storsjö
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