[FFmpeg-devel] [FFmpeg-cvslog] checkasm: test for abs_pow34
Michael Niedermayer
michael at niedermayer.cc
Tue Jan 23 21:07:04 EET 2024
On Mon, Dec 11, 2023 at 04:42:26PM +0000, sunyuechi wrote:
> ffmpeg | branch: master | sunyuechi <sunyuechi at 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 <remi at 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
-------------- 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/20240123/442af7ab/attachment.sig>
More information about the ffmpeg-devel
mailing list