aboutsummaryrefslogtreecommitdiffstats
path: root/tests/checkasm
Commit message (Collapse)AuthorAgeFilesLines
* checkasm: add h263dsp.{h,v}_loop_filterRémi Denis-Courmont2024-05-274-0/+67
|
* tests/checkasm/vvc_alf: Don't use declare_func_emmsAndreas Rheinhardt2024-05-251-2/+2
| | | | | | | | | VVC does not have MMX code at all, so one can use the stricter declare_func to also check that the MMX state has not been clobbered with (which would be an ABI violation). Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* checkasm/riscv: test misaligned before VRémi Denis-Courmont2024-05-241-1/+1
| | | | Otherwise V functions mask scalar misaligned ones.
* checkasm/flacdsp: add a test for lpc33James Almer2024-05-241-0/+32
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* tests/checkasm: Add check_vvc_sad to vvc_mc.cStone Chen2024-05-221-1/+39
| | | | | | | | | | | | | | | | | | | Adds checkasm for DMVR SAD AVX2 implementation. Benchmarks ( AMD 7940HS ) vvc_sad_8x8_c: 50.3 vvc_sad_8x8_avx2: 0.3 vvc_sad_16x16_c: 250.3 vvc_sad_16x16_avx2: 10.3 vvc_sad_32x32_c: 1020.3 vvc_sad_32x32_avx2: 60.3 vvc_sad_64x64_c: 3850.3 vvc_sad_64x64_avx2: 220.3 vvc_sad_128x128_c: 14100.3 vvc_sad_128x128_avx2: 840.3 Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: h264dsp: Avoid out of buffer writes when benchmarkingMartin Storsjö2024-05-211-2/+2
| | | | | | | | | | The loop filters can write before the pointer given to them; the actual test invocations correctly used an offset, while the benchmark calls were lacking an offset. Therefore, when running with benchmarking, these tests could have spurious failures. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: print bench runs when benchmarkingLynne2024-05-211-0/+3
| | | | Helps make sense of the possible noise in the results.
* checkasm: add runs argument to adjust during benchJ. Dekker2024-05-212-4/+19
| | | | | | | | | | | | Some timers on certain device and test combinations can produce noisy results, affecting the reliability of performance measurements. One notable example of this is the Canaan K230 RISC-V development board. An option to adjust the number of samples by an exponent (--runs) has been added, allowing developers to increase the sample count for more reliable results. Signed-off-by: J. Dekker <jdek@itanimul.li>
* checkasm: vvc_alf: Limit benchmarking to a reasonable subset of functionsMartin Storsjö2024-05-211-3/+8
| | | | | | | | | | | Don't benchmark every single combination of widths and heights; only benchmark cases which are squares (like in vvc_mc.c). Contrary to vvc_mc, which increases sizes by doubling dimensions, vvc_alf tests all sizes in increments of 4. Limit benchmarking to the cases which are powers of two. This reduces the number of benchmarked cases from 3072 down to 18.
* avcodec/vvcdec: add vvc inter filters for RPRNuo Mi2024-05-211-6/+6
|
* checkasm/h264dsp: use int64_t scale valuesJames Almer2024-05-171-1/+1
| | | | | | | Fixes "signed integer overflow: [varies] * 104858 cannot be represented in type 'int'" errors under ubsan. Signed-off-by: James Almer <jamrial@gmail.com>
* tests/checkasm/sw_gbrp: Use correct function types for callsAndreas Rheinhardt2024-05-171-16/+18
| | | | | | | E.g. f2de911818fbd7e73343803626b697fd0c968121 forgot to add the unused void* here. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/vf_blend: Update function typeAndreas Rheinhardt2024-05-171-1/+1
| | | | | | | Forgotten in 5b8faaad6c71bbb90951ca1642391e11cf6f5f91, a69a0b689c3c4e1e0bbf4c17716a25e14332a250. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/vf_bwdif: Use correct function pointer typeAndreas Rheinhardt2024-05-171-3/+3
| | | | | | Forgotten in fa06f48371ba2b73c139810db5bb893dc27eda7a. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/vf_colorspace: Use correct function pointer typeAndreas Rheinhardt2024-05-171-4/+4
| | | | | | Forgotten in 9b26a8077f1c0139fdcc236d3de08cd2bdc4ec0f. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/vvc_mc: Use correct function pointer typeAndreas Rheinhardt2024-05-171-2/+4
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/vp8dsp: Use correct function pointer typeAndreas Rheinhardt2024-05-171-1/+2
| | | | | | Forgotten in a54e53a1c428299b19c7b4e2b66d01c0482c41dd. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/motion: Use correct function pointer typeAndreas Rheinhardt2024-05-171-2/+2
| | | | | | Forgotten in abb85429f3424375f21bdd135656c2d88357b3d5. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/llviddsp: Use correct function pointer typeAndreas Rheinhardt2024-05-171-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/huffyuvdsp: Use correct function pointer typeAndreas Rheinhardt2024-05-171-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/hevc_*: Fix funtion pointer typesAndreas Rheinhardt2024-05-174-21/+23
| | | | | | Forgotten in b3bbbb14d0685c8c1fbcf8455e59c7f444290c7c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/checkasm/llauddsp: Avoid UB integer overflowAndreas Rheinhardt2024-05-171-2/+2
| | | | | | | | | | | | | | The only multiplicators used in scalarproduct_and_madd_* are -1, 0 and +1. Yet it is of type int and the checkasm test uses the complete range of int for it, leading to overflows that don't happen for actual users. Fix this by using a more reasonable range for mul: Given that it is used in v1[i] += v3[i] * mul with v1 being a 16bit integer, it makes no sense to use values for mul that don't fit into 16bit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* checkasm/h264dsp: add missing pixel_mask valuesJames Almer2024-05-141-5/+5
| | | | | | | Fixes "runtime error: index 4 out of bounds for type 'uint32_t [3]'" errors after commit 4ced36744ee0bea5fb7a20d1b2926c588f89ea0b. Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/riscv: CPU flag for fast misaligned accessesRémi Denis-Courmont2024-05-141-0/+1
|
* checkasm/h264dsp: support checking more idct depthsJ. Dekker2024-05-141-2/+4
| | | | Signed-off-by: J. Dekker <jdek@itanimul.li>
* tests/checkasm/vvc_alf: add check_alf_classifyWu Jianhua2024-05-141-0/+47
| | | | | | | | | | Perforamnce Test (fps): clip before after delta Tango2_3840x2160_60_10_420_27_LD.266 56 115 105.36% RitualDance_1920x1080_60_10_420_32_LD.266 272 481 76.83% RitualDance_1920x1080_60_10_420_37_RA.266 303 426 40.59% Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
* tests/checkasm: add checkasm_check_vvc_alf and check_alf_filterWu Jianhua2024-05-144-2/+137
| | | | Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
* checkasm/flacdsp: add a test for wasted33James Almer2024-05-131-0/+21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/flacdsp: add a test for wasted32James Almer2024-05-121-0/+26
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/flacdsp: sanitize lpc argumentsJames Almer2024-05-121-5/+10
| | | | | | Fixes signed integer overflows as reported by ubsan. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/flacdsp: run lpc benchmarks with an unmodified bufferJames Almer2024-05-121-3/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* riscv: add Zvbb vector bit manipulation extensionRémi Denis-Courmont2024-05-111-0/+1
|
* checkasm: Fix h264chroma test namesunyuechi2024-05-111-17/+17
| | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* checkasm: add test for fdctRamiro Polla2024-05-114-0/+76
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Reviewed-by: Rémi Denis-Courmont <remi@remlab.net>
* tests/checkasm/svq1enc: Use proper range for inputAndreas Rheinhardt2024-05-091-2/+3
| | | | | | | | | | | | | | | | | ssd_int8_vs_int16 is only called from encode_block() in svq1enc.c; it calls it in stages: At stage 0, the int16_t array contains the difference of two uint16_t. At each of the following stages, the int16_t array is filled by subtracting an int8_t from the current stage's int16_t array. The maximum stage is five, so the int16_t are in the range (-255 - 5 * 127)..(255 + 5 * 128). This commit modifies the checkasm test to only use values from this range, fixing (undefined) integer overflow in the test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* checkasm/blockdsp: use smallest allowed aligned buffers for fill_block_tab testsJames Almer2024-05-081-14/+7
| | | | | | | The requirement is either 8 or 16 bytes alignment, not 32. This should help finding bugs in asm implementations. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/blockdsp: don't randomize the buffers for fill_block_tabJames Almer2024-05-081-1/+2
| | | | | | | It ignores and overwrites the previous values. Fixes running the test under ubsan. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/rv40dsp: add chroma_mc testsunyuechi2024-05-034-0/+80
| | | | | | This is similar to h264. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* checkasm/blockdsp: add fill_block testsunyuechi2024-05-031-0/+31
| | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* checkasm: vc1dsp: Align buffers sufficiently for the mspel testsMartin Storsjö2024-04-301-4/+4
| | | | | | This fixes crashes in the mspel tests on x86. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm/vc1dsp: add mspel_pixels testsunyuechi2024-04-291-0/+37
| | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* opusdsp: add ability to modify deemphasis constantLynne2024-04-271-4/+5
| | | | | | | | | | xHE-AAC relies on the same postfilter mechanism that Opus uses to improve clarity (albeit with a steeper deemphasis filter). The code to apply it is identical, it's still just a simple IIR low-pass filter. This commit makes it possible to use alternative constants.
* tests/checkasm: add exclude_guest for non-x86 linux perfJ. Dekker2024-04-101-0/+3
| | | | | | | | | | | The exclude_guest option only has an effect on x86. Omitting 'exclude_guest' defaults to zero which implies that you can count guest events should you run one. Some non-x86 kernels just ignore it, while others (e.g. the Asahi Linux kernels) require the user to explicitly set the option to 1, i.e. the only behaviour that makes sense when counting guest events isn't supported. Signed-off-by: J. Dekker <jdek@itanimul.li>
* avcodec/ac3: Implement sum_square_butterfly_float for aarch64 NEONGeoff Hill2024-04-081-0/+26
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement sum_square_butterfly_int32 for aarch64 NEONGeoff Hill2024-04-081-0/+27
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement ac3_extract_exponents for aarch64 NEONGeoff Hill2024-04-081-0/+38
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement ac3_exponent_min for aarch64 NEONGeoff Hill2024-04-081-0/+42
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/vvc: Rename vvc_?foo->fooAndreas Rheinhardt2024-04-041-3/+3
| | | | | | | | A namespace is unnecessary here given that all these files are already in the vvc subfolder. Reviewed-by: Nuo Mi <nuomi2021@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/common: Don't auto-include mem.hAndreas Rheinhardt2024-03-317-0/+7
| | | | | | | | | | | There are lots of files that don't need it: The number of object files that actually need it went down from 2011 to 884 here. Keep it for external users in order to not cause breakages. Also improve the other headers a bit while just at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Remove av_restrictAndreas Rheinhardt2024-03-154-8/+4
| | | | | | | | | All versions of MSVC that support C11 (namely >= v19.27) also support the restrict keyword, therefore av_restrict is no longer necessary since 75697836b1db3e0f0a3b7061be6be28d00c675a0. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>