bwang30
3ab11dc5bb
libavfilter/x86/vf_convolution: add sobel filter optimization and unit test with intel AVX512 VNNI
...
This commit enabled assembly code with intel AVX512 VNNI and added unit test for sobel filter
sobel_c: 4537
sobel_avx512icl 2136
Signed-off-by: bwang30 <bin.wang@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years ago
Rémi Denis-Courmont
c962c78901
checkasm: RISC-V 64-bit assembler test harness
2 years ago
Lynne
3ade6a8644
x86/lpc: implement a new Welch windowing function
...
Old one was written with the assumption only even inputs would be given.
This very messy replacement supports even and odd inputs, and supports
AVX2 for extra speed. The buffers given are usually quite big (4k samples),
so the speedup is worth it.
The new SSE version is still faster than the old inline asm version by 33%.
Also checkasm is provided to make sure this monstrosity works.
This fixes some FATE tests.
2 years ago
James Almer
8f119b501e
tests/checkasm: add a test for VorbisDSPContext
...
Signed-off-by: James Almer <jamrial@gmail.com>
2 years ago
Andreas Rheinhardt
6c4595190e
avcodec/flacdsp: Split encoder-only parts into a ctx of its own
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Swinney, Jonathan
c471cc7474
lavc/aarch64: motion estimation functions in neon
...
- ff_pix_abs16_neon
- ff_pix_abs16_xy2_neon
In direct micro benchmarks of these ff functions verses their C implementations,
these functions performed as follows on AWS Graviton 3.
ff_pix_abs16_neon:
pix_abs_0_0_c: 141.1
pix_abs_0_0_neon: 19.6
ff_pix_abs16_xy2_neon:
pix_abs_0_3_c: 269.1
pix_abs_0_3_neon: 39.3
Tested with:
./tests/checkasm/checkasm --test=motion --bench --disable-linux-perf
Signed-off-by: Jonathan Swinney <jswinney@amazon.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2 years ago
Ben Avison
bd3615a81a
checkasm: Add idctdsp add/put-pixels-clamped tests
...
Signed-off-by: Ben Avison <bavison@riscosopen.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
3 years ago
Ben Avison
20cb43ea8b
checkasm: Add vc1dsp in-loop deblocking filter tests
...
Note that the benchmarking results for these functions are highly dependent
upon the input data. Therefore, each function is benchmarked twice,
corresponding to the best and worst case complexity of the reference C
implementation. The performance of a real stream decode will fall somewhere
between these two extremes.
Signed-off-by: Ben Avison <bavison@riscosopen.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
3 years ago
Mark Reid
9e445a5be2
swscale/x86/output.asm: add x86-optimized planer gbr yuv2anyX functions
...
changes since v2:
* fixed label
changes since v1:
* remove vex intruction on sse4 path
* some load/pack marcos use less intructions
* fixed some typos
yuv2gbrp_full_X_4_512_c: 12757.6
yuv2gbrp_full_X_4_512_sse2: 8946.6
yuv2gbrp_full_X_4_512_sse4: 5138.6
yuv2gbrp_full_X_4_512_avx2: 3889.6
yuv2gbrap_full_X_4_512_c: 15368.6
yuv2gbrap_full_X_4_512_sse2: 11916.1
yuv2gbrap_full_X_4_512_sse4: 6294.6
yuv2gbrap_full_X_4_512_avx2: 3477.1
yuv2gbrp9be_full_X_4_512_c: 14381.6
yuv2gbrp9be_full_X_4_512_sse2: 9139.1
yuv2gbrp9be_full_X_4_512_sse4: 5150.1
yuv2gbrp9be_full_X_4_512_avx2: 2834.6
yuv2gbrp9le_full_X_4_512_c: 12990.1
yuv2gbrp9le_full_X_4_512_sse2: 9118.1
yuv2gbrp9le_full_X_4_512_sse4: 5132.1
yuv2gbrp9le_full_X_4_512_avx2: 2833.1
yuv2gbrp10be_full_X_4_512_c: 14401.6
yuv2gbrp10be_full_X_4_512_sse2: 9133.1
yuv2gbrp10be_full_X_4_512_sse4: 5126.1
yuv2gbrp10be_full_X_4_512_avx2: 2837.6
yuv2gbrp10le_full_X_4_512_c: 12718.1
yuv2gbrp10le_full_X_4_512_sse2: 9106.1
yuv2gbrp10le_full_X_4_512_sse4: 5120.1
yuv2gbrp10le_full_X_4_512_avx2: 2826.1
yuv2gbrap10be_full_X_4_512_c: 18535.6
yuv2gbrap10be_full_X_4_512_sse2: 33617.6
yuv2gbrap10be_full_X_4_512_sse4: 6264.1
yuv2gbrap10be_full_X_4_512_avx2: 3422.1
yuv2gbrap10le_full_X_4_512_c: 16724.1
yuv2gbrap10le_full_X_4_512_sse2: 11787.1
yuv2gbrap10le_full_X_4_512_sse4: 6282.1
yuv2gbrap10le_full_X_4_512_avx2: 3441.6
yuv2gbrp12be_full_X_4_512_c: 13723.6
yuv2gbrp12be_full_X_4_512_sse2: 9128.1
yuv2gbrp12be_full_X_4_512_sse4: 7997.6
yuv2gbrp12be_full_X_4_512_avx2: 2844.1
yuv2gbrp12le_full_X_4_512_c: 12257.1
yuv2gbrp12le_full_X_4_512_sse2: 9107.6
yuv2gbrp12le_full_X_4_512_sse4: 5142.6
yuv2gbrp12le_full_X_4_512_avx2: 2837.6
yuv2gbrap12be_full_X_4_512_c: 18511.1
yuv2gbrap12be_full_X_4_512_sse2: 12156.6
yuv2gbrap12be_full_X_4_512_sse4: 6251.1
yuv2gbrap12be_full_X_4_512_avx2: 3444.6
yuv2gbrap12le_full_X_4_512_c: 16687.1
yuv2gbrap12le_full_X_4_512_sse2: 11785.1
yuv2gbrap12le_full_X_4_512_sse4: 6243.6
yuv2gbrap12le_full_X_4_512_avx2: 3446.1
yuv2gbrp14be_full_X_4_512_c: 13690.6
yuv2gbrp14be_full_X_4_512_sse2: 9120.6
yuv2gbrp14be_full_X_4_512_sse4: 5138.1
yuv2gbrp14be_full_X_4_512_avx2: 2843.1
yuv2gbrp14le_full_X_4_512_c: 14995.6
yuv2gbrp14le_full_X_4_512_sse2: 9119.1
yuv2gbrp14le_full_X_4_512_sse4: 5126.1
yuv2gbrp14le_full_X_4_512_avx2: 2843.1
yuv2gbrp16be_full_X_4_512_c: 12367.1
yuv2gbrp16be_full_X_4_512_sse2: 8233.6
yuv2gbrp16be_full_X_4_512_sse4: 4820.1
yuv2gbrp16be_full_X_4_512_avx2: 2666.6
yuv2gbrp16le_full_X_4_512_c: 10904.1
yuv2gbrp16le_full_X_4_512_sse2: 8214.1
yuv2gbrp16le_full_X_4_512_sse4: 4824.1
yuv2gbrp16le_full_X_4_512_avx2: 2629.1
yuv2gbrap16be_full_X_4_512_c: 26569.6
yuv2gbrap16be_full_X_4_512_sse2: 10884.1
yuv2gbrap16be_full_X_4_512_sse4: 5488.1
yuv2gbrap16be_full_X_4_512_avx2: 3272.1
yuv2gbrap16le_full_X_4_512_c: 14010.1
yuv2gbrap16le_full_X_4_512_sse2: 10562.1
yuv2gbrap16le_full_X_4_512_sse4: 5463.6
yuv2gbrap16le_full_X_4_512_avx2: 3255.1
yuv2gbrpf32be_full_X_4_512_c: 14524.1
yuv2gbrpf32be_full_X_4_512_sse2: 8552.6
yuv2gbrpf32be_full_X_4_512_sse4: 4636.1
yuv2gbrpf32be_full_X_4_512_avx2: 2474.6
yuv2gbrpf32le_full_X_4_512_c: 13060.6
yuv2gbrpf32le_full_X_4_512_sse2: 9682.6
yuv2gbrpf32le_full_X_4_512_sse4: 4298.1
yuv2gbrpf32le_full_X_4_512_avx2: 2453.1
yuv2gbrapf32be_full_X_4_512_c: 18629.6
yuv2gbrapf32be_full_X_4_512_sse2: 11363.1
yuv2gbrapf32be_full_X_4_512_sse4: 15201.6
yuv2gbrapf32be_full_X_4_512_avx2: 3727.1
yuv2gbrapf32le_full_X_4_512_c: 16677.6
yuv2gbrapf32le_full_X_4_512_sse2: 10221.6
yuv2gbrapf32le_full_X_4_512_sse4: 5693.6
yuv2gbrapf32le_full_X_4_512_avx2: 3656.6
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years ago
Lynne
1978b143eb
checkasm: add av_tx FFT SIMD testing code
...
This sadly required making changes to the code itself,
due to the same context needing to be reused for both versions.
The lookup table had to be duplicated for both versions.
4 years ago
Josh Dekker
9c513edb79
checkasm: add hevc_pel tests
...
Co-authored-by: Niklas Haas <git@haasn.xyz>
Signed-off-by: Josh Dekker <josh@itanimul.li>
4 years ago
Josh de Kock
5913cd4e6c
checkasm: add hscale test
...
This tests the hscale 8bpp to 14/18bpp functions with different filter
sizes.
Signed-off-by: Josh de Kock <josh@itanimul.li>
5 years ago
Ting Fu
9691e2a426
checkasm/vf_eq: add test for vf_eq
...
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
5 years ago
Lynne
4ce1e13b54
checkasm: add opusdsp tests
5 years ago
Ruiling Song
8f4963ad25
checkasm/vf_gblur: add test for horiz_slice simd
...
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
6 years ago
James Darnley
76c370af64
checkasm: add test for v210dec
6 years ago
Diego Biurrun
7e5bde93a1
build: Rename OBJDIRS variable to OUTDIRS
...
These directories are not just for object files.
6 years ago
James Almer
ba89dc27b5
checkasm: add an af_afir test
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years ago
Clément Bœsch
f679711c1b
checkasm: add vf_nlmeans test for ssd_integral_image
7 years ago
Josh de Kock
cda43940da
checkasm/Makefile: add EXTRALIBS-libavformat
...
Signed-off-by: Josh de Kock <josh@itanimul.li>
7 years ago
Martin Vignali
a9a7ed4f27
checkasm/swscale : add test for rgb shuffle_bytes func
7 years ago
Yingming Fan
80798e3857
checkasm/hevc_sao : add hevc_sao for checkasm
...
Signed-off-by: James Almer <jamrial@gmail.com>
7 years ago
Muhammad Faiz
81d6501be7
checkasm/Makefile: add EXTRALIBS-swresample
...
Should fix https://ffmpeg.org/pipermail/ffmpeg-devel/2018-February/225058.html
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
7 years ago
Martin Vignali
78b982d3b9
checkasm : add test for losslessvideoencdsp for diff bytes and sub_left_pred
7 years ago
James Almer
da03242778
Revert "checkasm/vf_interlace : add test for lowpass_line 8 and 16"
...
This reverts commit adff97be5e
.
It currently fails on Windows targets.
Signed-off-by: James Almer <jamrial@gmail.com>
7 years ago
Martin Vignali
adff97be5e
checkasm/vf_interlace : add test for lowpass_line 8 and 16
7 years ago
Martin Vignali
cefb7e0060
checkasm/vf_hflip : add test for vf_hflip byte and short simd
7 years ago
Martin Vignali
cfce442750
checkasm/vf_threshold : add checkasm test for threshold8
7 years ago
Martin Vignali
4a6aa6d1b2
checkasm : add test for huffyuvdsp add_int16
7 years ago
Martin Vignali
6a7eb65e1b
checkasm : add utvideodsp test
7 years ago
James Almer
7323c896b2
checkasm: add an exrdsp test
...
Signed-off-by: James Almer <jamrial@gmail.com>
7 years ago
James Almer
823cc7e25f
checkasm: add a g722dsp test
...
Signed-off-by: James Almer <jamrial@gmail.com>
7 years ago
Matthieu Bouron
7864e07f4a
checkasm: add sbrdsp tests
7 years ago
Clément Bœsch
edd041e64c
checkasm: add AAC PS tests
...
This includes various fixes and improvements from James Almer.
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
Diego Biurrun
fd502f4f5f
build: Generalize yasm/nasm-related variable names
...
None of them are specific to the YASM assembler.
(Cherry-picked from libav commit 39e208f4d4
)
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
James Almer
5b10f484e2
checkasm: add float_dsp tests
...
Ported from libavutil/tests/float_dsp.c
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
James Almer
7b3cb953f7
checkasm: add fixed_dsp tests
...
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
Diego Biurrun
39e208f4d4
build: Generalize yasm/nasm-related variable names
...
None of them are specific to the YASM assembler.
8 years ago
Diego Biurrun
7cb1d9e2db
build: Fine-grained link-time dependency settings
...
Previously, all link-time dependencies were added for all libraries,
resulting in bogus link-time dependencies since not all dependencies
are shared across libraries. Also, in some cases like libavutil, not
all dependencies were taken into account, resulting in some cases of
underlinking.
To address all this mess a machinery is added for tracking which
dependency belongs to which library component and then leveraged
to determine correct dependencies for all individual libraries.
8 years ago
Diego Biurrun
3794062ab1
Remove Plan 9 support
...
Supporting the system was a nice joke for the 9 release, but it has
run its course. Nowadays Plan 9 receives no testing and has no
practical usefulness.
8 years ago
Alexandra Hájková
ed48a9d814
checkasm: Add a test for HEVC add_residual
8 years ago
Diego Biurrun
2816f8a8bb
build: Drop arch-specific checkasm Makefiles
...
They only contain one line and will never contain more.
8 years ago
Alexandra Hájková
22c3ab1864
checkasm: Add test for huffyuvdsp add_bytes
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years ago
Anton Khirnov
e9ef617139
checkasm: add tests for audiodsp
8 years ago
Anton Khirnov
2eb97af66a
checkasm: add a test for blockdsp
8 years ago
Ronald S. Bultje
e99ecda550
checkasm: add vp9 MC tests.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years ago
Alexandra Hájková
9064777dbb
checkasm: add HEVC test for testing IDCT DC
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years ago
Matthieu Bouron
495a40cecb
tests/checkasm: reduce cosmetic diff with libav
...
Chunk was not merged in ca5ec2bf51
.
8 years ago
Martin Storsjö
f8d17d5395
checkasm: Add tests for vp8dsp
...
The tests are inspired by similar tests for vp9 by
Ronald Bultje.
Signed-off-by: Martin Storsjö <martin@martin.st>
8 years ago
Martin Storsjö
105998fb5c
checkasm: Add tests for h264 idct
...
The tests are inspired by similar tests for vp9 by
Ronald Bultje.
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago