android_external_ffmpeg/tests/checkasm
Andreas Rheinhardt f4a87d8ca4 avcodec/x86/mpegvideoencdsp_init: Use xmm registers in SSSE3 functions
Improves performance and no longer breaks the ABI (by forgetting
to call emms).

Old benchmarks:
add_8x8basis_c:                                         43.6 ( 1.00x)
add_8x8basis_ssse3:                                     12.3 ( 3.55x)

New benchmarks:
add_8x8basis_c:                                         43.0 ( 1.00x)
add_8x8basis_ssse3:                                      6.3 ( 6.79x)

Notice that the output of try_8x8basis_ssse3 changes a bit:
Before this commit, it computes certain values and adds the values
for i,i+1,i+4 and i+5 before right shifting them; now it adds
the values for i,i+1,i+8,i+9. The second pair in these lists
could be avoided (by shifting xmm0 and xmm1 before adding both together
instead of only shifting xmm0 after adding them), but the former
i,i+1 is inherent in using pmaddwd. This is the reason that this
function is not bitexact.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-10-15 08:55:13 +02:00
..
aarch64
arm
riscv checkasm/riscv: preserve T1 whilst calling... 2024-08-01 18:44:01 +03:00
x86
.gitignore
aacencdsp.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
aacpsdsp.c
ac3dsp.c checkasm: ac3dsp: Increase the float tolerance for sum_square_butterfly_float 2025-08-10 02:27:44 +00:00
aes.c checkasm: add tests for AES 2025-04-06 11:02:10 -03:00
af_afir.c
alacdsp.c
apv_dsp.c lavc/apv: AVX2 transquant for x86-64 2025-04-27 15:52:30 +01:00
audiodsp.c
av_tx.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
blockdsp.c checkasm/blockdsp: use smallest allowed aligned buffers for fill_block_tab tests 2024-05-08 21:13:23 -03:00
bswapdsp.c
cavsdsp.c tests/checkasm: Add CAVS qpel test 2025-10-08 20:40:08 +02:00
checkasm.c tests/checkasm: Add VP3 loop filter test 2025-10-13 18:58:50 +02:00
checkasm.h tests/checkasm: Add VP3 loop filter test 2025-10-13 18:58:50 +02:00
dcadsp.c tests/checkasm: add a test for dcadsp 2025-10-05 10:09:04 -03:00
diracdsp.c tests/checkasm/diracdsp: fix alignment for src and ombc_weight buffers 2024-11-19 12:32:49 -03:00
exrdsp.c
fdctdsp.c checkasm: add test for fdct 2024-05-11 10:28:59 +02:00
fixed_dsp.c
flacdsp.c checkasm/flacdsp: add a test for lpc33 2024-05-24 09:23:00 -03:00
float_dsp.c checkasm/float_dsp: add double-precision scalar product 2024-05-31 22:22:43 +03:00
fmtconvert.c
g722dsp.c
h263dsp.c avcodec/x86/h263_loopfilter: Port loop filter to SSE2 2025-10-03 17:05:46 +00:00
h264chroma.c checkasm: Fix h264chroma test name 2024-05-11 11:36:20 +03:00
h264dsp.c checkasm/h264dsp: Fix stack-buffer-overflow, effective-type violations 2025-07-28 19:29:51 +02:00
h264pred.c
h264qpel.c avcodec/h264qpel: Move Snow-only code to snow.c 2025-10-07 18:06:40 +02:00
hevc_add_res.c lavc/hevc*: move to hevc/ subdir 2024-06-04 11:46:27 +02:00
hevc_deblock.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
hevc_idct.c lavc/hevc*: move to hevc/ subdir 2024-06-04 11:46:27 +02:00
hevc_pel.c checkasm: hevc_pel: Use helpers for checking for writes out of bounds 2025-04-10 13:30:18 +03:00
hevc_sao.c checkasm: hevc sao, use checkasm_check_padded 2025-05-14 20:55:39 +08:00
hpeldsp.c tests/checkasm/hpeldsp: Use instruction-set independent height 2025-10-04 07:06:32 +02:00
huffyuvdsp.c tests/checkasm/huffyuvdsp: Use correct function pointer type 2024-05-17 13:29:34 +02:00
idctdsp.c
jpeg2000dsp.c
llauddsp.c tests/checkasm/llauddsp: Avoid UB integer overflow 2024-05-17 13:16:58 +02:00
lls.c checkasm: lls: Use relative tolerances rather than absolute ones 2024-10-09 15:52:56 +03:00
llviddsp.c tests/checkasm/llviddsp: Use the same width for each cpuflag 2025-10-03 17:05:46 +00:00
llviddspenc.c
lpc.c checkasm/lpc: use fixed length to bench apply_welch_window 2024-05-31 17:06:08 -03:00
Makefile tests/checkasm: Add VP3 loop filter test 2025-10-13 18:58:50 +02:00
motion.c avcodec/mpegvideoenc: Add MPVEncContext 2025-03-26 04:08:33 +01:00
mpegvideoencdsp.c avcodec/x86/mpegvideoencdsp_init: Use xmm registers in SSSE3 functions 2025-10-15 08:55:13 +02:00
opusdsp.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
pixblockdsp.c avcodec/pixblockdsp: Pass bits_per_raw_sample directly 2025-05-31 01:27:09 +02:00
qpeldsp.c tests/checkasm: Add qpeldsp checkasm 2025-10-04 07:06:32 +02:00
rv34dsp.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
rv40dsp.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
sbrdsp.c
scene_sad.c tests/checkasm: add scene_sad checkasm test 2025-07-17 12:26:05 +02:00
svq1enc.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
sw_gbrp.c swscale: eliminate redundant SwsInternal accesses 2024-11-25 10:59:52 +01:00
sw_ops.c tests/checkasm/sw_ops: Avoid 1 << 32 2025-09-13 21:27:27 +02:00
sw_range_convert.c swscale/range_convert: fix mpeg ranges in yuv range conversion for non-8-bit pixel formats 2024-12-05 21:10:29 +01:00
sw_rgb.c checkasm/swscale: fix function prototypes 2025-07-17 00:28:21 +02:00
sw_scale.c checkasm/swscale: fix whitespace issues 2025-08-12 09:05:00 +00:00
sw_yuv2rgb.c checkasm/swscale: fix function prototypes 2025-07-17 00:28:21 +02:00
sw_yuv2yuv.c checkasm/swscale: fix function prototypes 2025-07-17 00:28:21 +02:00
synth_filter.c
takdsp.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
utvideodsp.c
v210dec.c
v210enc.c checkasm/v210enc.c: Use checkasm_check() 2025-04-01 18:31:58 +03:00
vc1dsp.c checkasm: vc1dsp: Align buffers sufficiently for the mspel tests 2024-04-30 23:13:47 +03:00
vf_blackdetect.c tests/checkasm: add test for vf_blackdetect 2025-07-18 10:47:31 +02:00
vf_blend.c tests/checkasm/vf_blend: Update function type 2024-05-17 13:35:33 +02:00
vf_bwdif.c tests/checkasm/vf_bwdif: Use correct function pointer type 2024-05-17 13:31:37 +02:00
vf_colordetect.c avfilter/vf_colordetect: Rename header to vf_colordetectdsp.h 2025-09-16 18:22:24 +02:00
vf_colorspace.c tests/checkasm/vf_colorspace: Use correct function pointer type 2024-05-17 13:31:23 +02:00
vf_convolution.c
vf_eq.c
vf_gblur.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
vf_hflip.c
vf_idet.c tests/checkasm: add vf_idet checkasm 2025-09-21 11:02:41 +00:00
vf_nlmeans.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
vf_threshold.c
videodsp.c tests/checkasm/videodsp: Don't use declare_func_emms 2025-03-22 03:45:03 +01:00
vorbisdsp.c
vp3dsp.c avcodec/vp3: Optimize alignment check away when possible 2025-10-13 18:59:49 +02:00
vp8dsp.c checkasm: vp8dsp: Use checkasm_check_padded in check_mc 2025-04-01 18:34:53 +03:00
vp9dsp.c vp9: Add AVX-512ICL asm for 8bpc subpel mc 2025-08-28 12:45:52 +00:00
vvc_alf.c checkasm: vvc: Use checkasm_check for printing failing output 2024-12-10 11:26:09 +02:00
vvc_mc.c checkasm: add vvc_bdof test 2024-08-31 14:08:54 +08:00
vvc_sao.c build: fix windows build issue introduced by 45bea45 2025-05-16 20:30:46 +08:00