[FFmpeg-devel] [PATCH v4 1/8] checkasm/sw_range_convert: test negative input values

Michael Niedermayer michael at niedermayer.cc
Tue Dec 3 04:02:50 EET 2024


Hi Ramiro

On Sun, Dec 01, 2024 at 07:20:03PM +0100, Ramiro Polla wrote:
> ---
>  tests/checkasm/sw_range_convert.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/tests/checkasm/sw_range_convert.c b/tests/checkasm/sw_range_convert.c
> index bf14209987..ba576ff08c 100644
> --- a/tests/checkasm/sw_range_convert.c
> +++ b/tests/checkasm/sw_range_convert.c
> @@ -65,6 +65,8 @@ static void check_lumConvertRange(int from)
>  
>      LOCAL_ALIGNED_32(int16_t, dst0, [LARGEST_INPUT_SIZE * 2]);
>      LOCAL_ALIGNED_32(int16_t, dst1, [LARGEST_INPUT_SIZE * 2]);
> +    int32_t *dst0_32 = (int32_t *) dst0;
> +    int32_t *dst1_32 = (int32_t *) dst1;
>  
>      declare_func(void, int16_t *dst, int width);
>  
> @@ -89,6 +91,11 @@ static void check_lumConvertRange(int from)
>              int width = input_sizes[dstWi];
>              if (check_func(c->lumConvertRange, "%s%d_%d", func_str, bit_depth, width)) {
>                  randomize_buffers(dst0, dst1, bit_depth, width);
> +                if (bit_depth == 16) {
> +                    dst1_32[2] = dst0_32[2] = -1;
> +                } else {
> +                    dst1[2] = dst0[2] = -1;
> +                }
>                  call_ref(dst0, width);
>                  call_new(dst1, width);
>                  if (memcmp(dst0, dst1, width * sample_size))
> @@ -115,6 +122,8 @@ static void check_chrConvertRange(int from)
>      LOCAL_ALIGNED_32(int16_t, dstV0, [LARGEST_INPUT_SIZE * 2]);
>      LOCAL_ALIGNED_32(int16_t, dstU1, [LARGEST_INPUT_SIZE * 2]);
>      LOCAL_ALIGNED_32(int16_t, dstV1, [LARGEST_INPUT_SIZE * 2]);
> +    int32_t *dstU0_32 = (int32_t *) dstU0;
> +    int32_t *dstU1_32 = (int32_t *) dstU1;
>  
>      declare_func(void, int16_t *dstU, int16_t *dstV, int width);
>  
> @@ -140,6 +149,11 @@ static void check_chrConvertRange(int from)
>              if (check_func(c->chrConvertRange, "%s%d_%d", func_str, bit_depth, width)) {
>                  randomize_buffers(dstU0, dstU1, bit_depth, width);
>                  randomize_buffers(dstV0, dstV1, bit_depth, width);
> +                if (bit_depth == 16) {
> +                    dstU1_32[2] = dstU0_32[2] = -1;
> +                } else {
> +                    dstU1[2] = dstU0[2] = -1;
> +                }
>                  call_ref(dstU0, dstV0, width);
>                  call_new(dstU1, dstV1, width);
>                  if (memcmp(dstU0, dstU1, width * sample_size) ||

should be ok

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241203/b2aa3d36/attachment.sig>


More information about the ffmpeg-devel mailing list