summaryrefslogtreecommitdiff
path: root/tests/checkasm/checkasm.h
Commit message (Collapse)AuthorAge
* checkasm: aarch64: Check for stack overflowsMartin Storsjö2020-05-15
| | | | | | | | | Also fill x8-x17 with garbage before calling the function. Figure out the number of stack parameters and make sure that the value on the stack after those is untouched. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: arm: Check for stack overflowsMartin Storsjö2020-05-15
| | | | | | | Figure out the number of stack parameters and make sure that the value on the stack after those is untouched. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: add hscale testJosh de Kock2020-05-15
| | | | | | | This tests the hscale 8bpp to 14/18bpp functions with different filter sizes. Signed-off-by: Josh de Kock <josh@itanimul.li>
* checkasm: add function to check and diff memoryMartin Storsjö2020-05-15
| | | | | | This was ported from dav1d (c950e7101bdf5f7117bfca816984a21e550509f0). Signed-off-by: Josh de Kock <josh@itanimul.li>
* checkasm/vf_eq: add test for vf_eqTing Fu2019-09-26
| | | | | Signed-off-by: Ting Fu <ting.fu@intel.com> Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* checkasm: add opusdsp testsLynne2019-09-11
|
* checkasm/vf_gblur: add test for horiz_slice simdRuiling Song2019-06-12
| | | | Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* checkasm: add test for v210decJames Darnley2019-05-02
|
* checkasm: add an af_afir testJames Almer2019-01-03
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add vf_nlmeans test for ssd_integral_imageClément Bœsch2018-05-08
|
* checkasm/swscale : add test for rgb shuffle_bytes funcMartin Vignali2018-03-24
|
* checkasm/hevc_sao : add hevc_sao for checkasmYingming Fan2018-03-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm : add test for losslessvideoencdsp for diff bytes and sub_left_predMartin Vignali2018-01-28
|
* Revert "checkasm/vf_interlace : add test for lowpass_line 8 and 16"James Almer2017-12-19
| | | | | | | | This reverts commit adff97be5e2ff51c0bb66080c2f904ed40b6c571. It currently fails on Windows targets. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/vf_interlace : add test for lowpass_line 8 and 16Martin Vignali2017-12-19
|
* checkasm/vf_hflip : add test for vf_hflip byte and short simdMartin Vignali2017-12-13
|
* checkasm/vf_threshold : add checkasm test for threshold8Martin Vignali2017-12-03
|
* checkasm : add test for huffyuvdsp add_int16Martin Vignali2017-11-21
|
* checkasm : add utvideodsp testMartin Vignali2017-11-21
|
* checkasm: add an exrdsp testJames Almer2017-09-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: use perf API on Linux ARM*Clément Bœsch2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARM platforms, accessing the PMU registers requires special user access permissions. Since there is no other way to get accurate timers, the current implementation of timers in FFmpeg rely on these registers. Unfortunately, enabling user access to these registers on Linux is not trivial, and generally involve compiling a random and unreliable github kernel module, or patching somehow your kernel. Such module is very unlikely to reach the upstream anytime soon. Quoting Robin Murphin from ARM: > Say you do give userspace direct access to the PMU; now run two or more > programs at once that believe they can use the counters for their own > "minimal-overhead" profiling. Have fun interpreting those results... > > And that's not even getting into the implications of scheduling across > different CPUs, CPUidle, etc. where the PMU state is completely beyond > userspace's control. In general, the plan to provide userspace with > something which might happen to just about work in a few corner cases, > but is meaningless, misleading or downright broken in all others, is to > never do so. As a result, the alternative is to use the Performance Monitoring Linux API which makes use of these registers internally (assuming the PMU of your ARM board is supported in the kernel, which is definitely not a given...). While the Linux API is obviously cross platform, it does have a significant overhead which needs to be taken into account. As a result, that mode is only weakly enabled on ARM platforms exclusively. Note on the non flexibility of the implementation: the timers (native FFmpeg vs Linux API) are selected at compilation time to prevent the need of function calls, which would result in a negative impact on the cycle counters.
* checkasm: add a g722dsp testJames Almer2017-07-13
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add sbrdsp testsMatthieu Bouron2017-07-03
|
* checkasm: add AAC PS testsClément Bœsch2017-06-28
| | | | | | This includes various fixes and improvements from James Almer. Signed-off-by: James Almer <jamrial@gmail.com>
* build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-06-21
| | | | | | | | None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1) Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add float_dsp testsJames Almer2017-06-14
| | | | | | Ported from libavutil/tests/float_dsp.c Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add a checkasm_checked_call function that doesn't issue emmsJames Almer2017-06-14
| | | | | | | Meant for DSP functions returning a float or double, as they'd fail if emms is called after every run on x86_32. Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add fixed_dsp testsJames Almer2017-04-11
| | | | | Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'ed48a9d8143d2575a4458589cebde69ec326afd8'Clément Bœsch2017-03-24
|\ | | | | | | | | | | | | * commit 'ed48a9d8143d2575a4458589cebde69ec326afd8': checkasm: Add a test for HEVC add_residual Merged-by: Clément Bœsch <u@pkh.me>
| * checkasm: Add a test for HEVC add_residualAlexandra Hájková2016-10-22
| |
* | Merge commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f': checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Add filler args to make sure all parameters are passed on ↵Martin Storsjö2016-10-16
| | | | | | | | | | | | | | | | | | | | the stack This, combined with clobbering the stack space prior to the call, increases the chances of finding cases where 32 bit parameters are erroneously treated as 64 bit. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6': checkasm: aarch64: Clobber the stack before calling functions Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Clobber the stack before calling functionsMartin Storsjö2016-10-16
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '22c3ab18646924ce24dc6017a9e882ff69689e40'Clément Bœsch2017-03-22
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '22c3ab18646924ce24dc6017a9e882ff69689e40': checkasm: Add test for huffyuvdsp add_bytes huffyuvdsp is renamed to llviddsp to be consistent with our codebase. Note: af607b7e07 wasn't actually required for this test since this commit is not actually testing huffyuvdsp. Merged-by: Clément Bœsch <u@pkh.me>
| * checkasm: Add test for huffyuvdsp add_bytesAlexandra Hájková2016-10-02
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'e9ef6171396dc4106526aaa86b620c61ca3d1017'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit 'e9ef6171396dc4106526aaa86b620c61ca3d1017': checkasm: add tests for audiodsp Merged-by: Clément Bœsch <u@pkh.me>
| * checkasm: add tests for audiodspAnton Khirnov2016-09-22
| |
* | Merge commit '2eb97af66af90ca3978229da151f0b8b3a5d9370'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit '2eb97af66af90ca3978229da151f0b8b3a5d9370': checkasm: add a test for blockdsp Merged-by: Clément Bœsch <u@pkh.me>
| * checkasm: add a test for blockdspAnton Khirnov2016-09-22
| |
| * checkasm: add vp9 MC tests.Ronald S. Bultje2016-08-03
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc'Clément Bœsch2017-02-02
|\| | | | | | | | | | | | | * commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc': checkasm: add HEVC test for testing IDCT DC Merged-by: Clément Bœsch <cboesch@gopro.com>
| * checkasm: add HEVC test for testing IDCT DCAlexandra Hájková2016-07-22
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5'Hendrik Leppkes2016-11-14
|\| | | | | | | | | | | | | * commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5': checkasm: Add tests for vp8dsp Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Add tests for vp8dspMartin Storsjö2016-07-08
| | | | | | | | | | | | | | The tests are inspired by similar tests for vp9 by Ronald Bultje. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'dc7501e524dc3270335749302c7aa449973625f3'Hendrik Leppkes2016-10-07
|\| | | | | | | | | | | | | * commit 'dc7501e524dc3270335749302c7aa449973625f3': checkasm: Issue emms after benchmarking functions Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Issue emms after benchmarking functionsMartin Storsjö2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions may not clean up properly after using MMX registers. For the normal testing calls, the checkasm_checked_call functions will do the cleanup (and check that functions that should clean up do it as well), but when benchmarking functions that don't clean up, we don't currently properly clean up at all. This causes issues if a benchmarked function is followed by testing of a function that is supposed to not clobber the MMX/FPU state but doesn't touch it at all. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '105998fb5ca3c343f5c8cb39ce3197f87a5e4d36'Matthieu Bouron2016-07-13
|\| | | | | | | | | | | | | * commit '105998fb5ca3c343f5c8cb39ce3197f87a5e4d36': checkasm: Add tests for h264 idct Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
| * checkasm: Add tests for h264 idctMartin Storsjö2016-06-17
| | | | | | | | | | | | | | The tests are inspired by similar tests for vp9 by Ronald Bultje. Signed-off-by: Martin Storsjö <martin@martin.st>
* | vf_colorspace: x86-64 SIMD (SSE2) optimizations.Ronald S. Bultje2016-04-12
| |