aboutsummaryrefslogtreecommitdiffstats
path: root/tests/checkasm/checkasm.h
Commit message (Collapse)AuthorAgeFilesLines
...
* checkasm/vf_hflip : add test for vf_hflip byte and short simdMartin Vignali2017-12-131-0/+1
|
* checkasm/vf_threshold : add checkasm test for threshold8Martin Vignali2017-12-031-0/+1
|
* checkasm : add test for huffyuvdsp add_int16Martin Vignali2017-11-211-0/+1
|
* checkasm : add utvideodsp testMartin Vignali2017-11-211-0/+1
|
* checkasm: add an exrdsp testJames Almer2017-09-171-0/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: use perf API on Linux ARM*Clément Bœsch2017-09-081-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-131-0/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: add sbrdsp testsMatthieu Bouron2017-07-031-0/+1
|
* checkasm: add AAC PS testsClément Bœsch2017-06-281-0/+1
| | | | | | 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-211-1/+1
| | | | | | | | 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-141-0/+4
| | | | | | 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-141-0/+11
| | | | | | | 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-111-0/+1
| | | | | Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'ed48a9d8143d2575a4458589cebde69ec326afd8'Clément Bœsch2017-03-241-0/+1
|\ | | | | | | | | | | | | * 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-221-0/+1
| |
* | Merge commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f'James Almer2017-03-231-2/+3
|\| | | | | | | | | | | | | * 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-161-2/+3
| | | | | | | | | | | | | | | | | | | | 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-231-1/+5
|\| | | | | | | | | | | | | * 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-161-1/+5
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '22c3ab18646924ce24dc6017a9e882ff69689e40'Clément Bœsch2017-03-221-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | * 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-021-0/+1
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'e9ef6171396dc4106526aaa86b620c61ca3d1017'Clément Bœsch2017-03-201-0/+1
|\| | | | | | | | | | | | | * commit 'e9ef6171396dc4106526aaa86b620c61ca3d1017': checkasm: add tests for audiodsp Merged-by: Clément Bœsch <u@pkh.me>
| * checkasm: add tests for audiodspAnton Khirnov2016-09-221-0/+1
| |
* | Merge commit '2eb97af66af90ca3978229da151f0b8b3a5d9370'Clément Bœsch2017-03-201-0/+1
|\| | | | | | | | | | | | | * 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-221-0/+1
| |
| * checkasm: add vp9 MC tests.Ronald S. Bultje2016-08-031-0/+1
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc'Clément Bœsch2017-02-021-0/+1
|\| | | | | | | | | | | | | * 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-221-0/+1
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5'Hendrik Leppkes2016-11-141-0/+1
|\| | | | | | | | | | | | | * commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5': checkasm: Add tests for vp8dsp Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Add tests for vp8dspMartin Storsjö2016-07-081-0/+1
| | | | | | | | | | | | | | 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-071-0/+2
|\| | | | | | | | | | | | | * 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-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-131-0/+1
|\| | | | | | | | | | | | | * 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-171-0/+1
| | | | | | | | | | | | | | 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-121-0/+1
| |
* | Merge commit '7c82d31cbe9fc5d5a321ad49c14a472bd629b50f'Derek Buitenhuis2016-02-241-1/+1
|\| | | | | | | | | | | | | * commit '7c82d31cbe9fc5d5a321ad49c14a472bd629b50f': checkasm: Use standard multiple inclusion guards Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * checkasm: Use standard multiple inclusion guardsDiego Biurrun2016-02-181-3/+3
| |
* | checkasm: Add vf_blend testsTimothy Gu2016-02-141-0/+1
| |
* | all: Make header guard names consistentTimothy Gu2016-01-311-2/+2
| |
* | avcodec/dca: remove old decoderfoo862016-01-311-1/+0
| | | | | | | | | | Remove all files and functions which are not going to be reused, and disable all functions and FATE tests temporarily which will be.
* | checkasm: add videodsp emulated_edge_mc test.Ronald S. Bultje2016-01-211-0/+1
| |
* | Merge commit 'fec76cd430f3c865183a6e5b4caec0743e055605'Hendrik Leppkes2016-01-191-0/+4
|\| | | | | | | | | | | | | * commit 'fec76cd430f3c865183a6e5b4caec0743e055605': checkasm: Check register clobbering on aarch64 Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Check register clobbering on aarch64Martin Storsjö2016-01-071-0/+4
| | | | | | | | | | | | | | This is disabled on iOS, since iOS uses a slightly different ABI for vararg parameters. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '26ec75aec3576daea691dee53a78ec67c0dc4040'Hendrik Leppkes2016-01-191-0/+13
|\| | | | | | | | | | | | | * commit '26ec75aec3576daea691dee53a78ec67c0dc4040': checkasm: Check register clobbering on arm Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Check register clobbering on armMartin Storsjö2016-01-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | Use two separate functions, depending on whether VFP/NEON is available. This is set to require armv5te - it uses blx, which is only available since armv5t, but we don't have a separate configure item for that. (It also uses ldrd, which requires armv5te, but this could be avoided if necessary.) Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '489e6add4478b0f5717dbf644234c6f3a3baf02c'Hendrik Leppkes2016-01-021-0/+1
|\| | | | | | | | | | | | | * commit '489e6add4478b0f5717dbf644234c6f3a3baf02c': checkasm: add fmtconvert tests Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: add fmtconvert testsJanne Grunau2015-12-211-0/+1
| |
* | Merge commit '568a4323fbde03665b2b23a98068d02b39121812'Hendrik Leppkes2016-01-021-0/+1
|\| | | | | | | | | | | | | * commit '568a4323fbde03665b2b23a98068d02b39121812': checkasm: add synth_filter test Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: add synth_filter testJanne Grunau2015-12-211-0/+1
| |
* | Merge commit 'e71b747e9dc56cb84f8a06ec8214d5f3bd98bb6d'Hendrik Leppkes2016-01-021-0/+1
|\| | | | | | | | | | | | | * commit 'e71b747e9dc56cb84f8a06ec8214d5f3bd98bb6d': checkasm: add tests for dcadsp Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>