On Mon, Dec 11, 2023 at 04:42:26PM +0000, sunyuechi wrote:
> ffmpeg | branch: master | sunyuechi <sunyue...@iscas.ac.cn> | Tue Nov 28 
> 14:08:12 2023 +0800| [1c3620b2bbe73db9239fcf605e8f535b58f03b86] | committer: 
> Rémi Denis-Courmont
>
> checkasm: test for abs_pow34
>
> Signed-off-by: Rémi Denis-Courmont <r...@remlab.net>
>
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1c3620b2bbe73db9239fcf605e8f535b58f03b86
> ---
>
>  tests/checkasm/Makefile    |  1 +
>  tests/checkasm/aacencdsp.c | 70 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  tests/checkasm/checkasm.c  |  3 ++
>  tests/checkasm/checkasm.h  |  1 +
>  tests/fate/checkasm.mak    |  3 +-
>  5 files changed, 77 insertions(+), 1 deletion(-)
[...]
> +static void test_abs_pow34(AACEncContext *s) {
> +#define BUF_SIZE 1024
> +    LOCAL_ALIGNED_32(float, in, [BUF_SIZE]);
> +
> +    declare_func(void, float *, const float *, int);
> +
> +    randomize_float(in, BUF_SIZE);
> +
> +    if (check_func(s->abs_pow34, "abs_pow34")) {
> +        LOCAL_ALIGNED_32(float, out, [BUF_SIZE]);
> +        LOCAL_ALIGNED_32(float, out2, [BUF_SIZE]);
> +
> +        call_ref(out, in, BUF_SIZE);
> +        call_new(out2, in, BUF_SIZE);
> +
> +        if (memcmp(out, out2, BUF_SIZE * sizeof(float)) != 0)
> +            fail();

This is wrong if one of the functions is implemented in C
C does not specify float to give bitexact results. Any equality check with
float thats expected to end in a reproduceable outcome is generally wrong

it also fails in practice

TEST    checkasm-aacencdsp
Test checkasm-aacencdsp failed. Look at tests/data/fate/checkasm-aacencdsp.err 
for details.
src/tests/Makefile:308: recipe for target 'fate-checkasm-aacencdsp' failed
make: *** [fate-checkasm-aacencdsp] Error 1

checkasm: using random seed 2523748868
SSE:
   abs_pow34_sse (aacencdsp.c:55)
 - aacencdsp.abs_pow34 [FAILED]
checkasm: 1 of 1 tests have failed
threads=1

thats on plain simple x86-32


thx

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

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to