[FFmpeg-devel] [PATCH 1/2] tests/checkasm/sw_scale.c
James Almer
jamrial at gmail.com
Fri Feb 19 15:05:48 EET 2021
On 2/19/2021 7:00 AM, Alan Kelly wrote:
> Initialises each item in src and filter arrays to fix valgrind
> uninitialised value warning.
> ---
> tests/checkasm/sw_scale.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tests/checkasm/sw_scale.c b/tests/checkasm/sw_scale.c
> index 7504f8b45f..a4866723d7 100644
> --- a/tests/checkasm/sw_scale.c
> +++ b/tests/checkasm/sw_scale.c
> @@ -86,8 +86,10 @@ static void check_yuv2yuvX(void)
> uint16_t coeff[8];
> } *vFilterData;
> uint8_t d_val = rnd();
> - randomize_buffers(filter_coeff, LARGEST_FILTER);
> - randomize_buffers(src_pixels, LARGEST_FILTER * LARGEST_INPUT_SIZE);
> + for(i = 0; i < LARGEST_FILTER * LARGEST_INPUT_SIZE; ++i)
> + src_pixels[i] = rnd();
> + for(i = 0; i < LARGEST_FILTER; ++i)
> + filter_coeff[i] = rnd();
This is slow and wasteful (each random value is 32 bits, and you throw
away 24 bits).
Just cast the two pointers to uint8_t* and multiply the buffer size by
sizeof(uint16_t). That way the loop in randomize_buffers() will cover
the whole buffer.
More information about the ffmpeg-devel
mailing list