[FFmpeg-devel] [PATCH 1/2] checkasm/lpc: test compute_autocorr
Rémi Denis-Courmont
remi at remlab.net
Thu Dec 14 18:56:59 EET 2023
Le torstaina 14. joulukuuta 2023, 18.41.24 EET Michael Niedermayer a écrit :
> SSE2:
> - lpc.apply_welch_window_even [OK]
> - lpc.apply_welch_window_odd [OK]
> 0: 976.228035341704 - 976.998462662304 = -0.7704273206
> autocorr_10_sse2 (lpc.c:81)
> - lpc.compute_autocorr_10 [FAILED]
> 0: 966.946397975397 - 967.716825295995 = -0.770427320599
> autocorr_30_sse2 (lpc.c:81)
> - lpc.compute_autocorr_30 [FAILED]
> 0: 968.085384693526 - 968.855812014127 = -0.770427320601
Right, it seems that the SSE optimisations craps out on odd length. The RVV
code seems to match the C code there, so I am not sure if this is exposing an
existing bug in the SSE code, or if odd length are illegal.
On a related note, we should probably test for odd lag values, as the C code
has special handling for them. But from a quick glance, it seems that the SSE
code also fails to deal with that case.
> autocorr_32_sse2 (lpc.c:81)
> - lpc.compute_autocorr_32 [FAILED]
> AVX2:
> - lpc.apply_welch_window_even [OK]
> - lpc.apply_welch_window_odd [OK]
> checkasm: 3 of 7 tests have failed
> $ ffmpeg/tests/checkasm/checkasm --test=lpc
> checkasm: using random seed 470640728
> SSE2:
> - lpc.apply_welch_window_even [OK]
> - lpc.apply_welch_window_odd [OK]
> - lpc.compute_autocorr_10 [OK]
> - lpc.compute_autocorr_30 [OK]
> - lpc.compute_autocorr_32 [OK]
> AVX2:
> - lpc.apply_welch_window_even [OK]
> - lpc.apply_welch_window_odd [OK]
> checkasm: all 7 tests passed
>
>
> [...]
--
雷米‧德尼-库尔蒙
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list