Commit Graph

247 Commits

Author SHA1 Message Date
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>
2017-12-19 19:07:24 -03:00
Martin Vignali adff97be5e checkasm/vf_interlace : add test for lowpass_line 8 and 16 2017-12-19 20:59:51 +01:00
Martin Vignali cefb7e0060 checkasm/vf_hflip : add test for vf_hflip byte and short simd 2017-12-13 11:34:29 +01:00
James Almer 1215889bc1 checkasm/llviddsp: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:35 -03:00
Martin Vignali e1121f9723 checkasm/llviddsp : add test for add_gradient_pred 2017-12-09 15:19:07 +01:00
Martin Vignali 5bda11e70e checkasm/llviddsp : test return of add_left_pred(16) 2017-12-09 15:15:56 +01:00
Martin Vignali 179a2f04eb checkasm/vf_threshold : add test for threshold16 2017-12-09 14:47:13 +01:00
James Almer 1b324700e3 checkasm/vf_threshold: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-04 15:46:09 -03:00
Martin Vignali cfce442750 checkasm/vf_threshold : add checkasm test for threshold8 2017-12-03 19:17:15 +01:00
Martin Vignali 9bed17cd0f checkasm/utvideo : be more explicit to the WIDTH_PADDED define 2017-12-01 21:08:07 +01:00
Michael Niedermayer 38f966b222 tests/checkasm/float_dsp: Increase allowed difference for float_dsp.vector_dmul
Tested for 10000 iterations on x86-32

Fixes: Ticket6848

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-27 03:31:53 +01:00
James Almer bea8eeaa2c checkasm/utvideodsp: zero initialize the entire buffer
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-21 11:24:38 -03:00
James Almer 9a05c873cf checkasm/utvideodsp: fix mixed declarations and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-21 11:13:24 -03:00
Martin Vignali 4a6aa6d1b2 checkasm : add test for huffyuvdsp add_int16 2017-11-21 09:41:42 +01:00
Martin Vignali 6a7eb65e1b checkasm : add utvideodsp test 2017-11-21 09:00:27 +01:00
James Almer 501435e5e6 checkasm/jpeg2000dsp: add test for ict_float
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-20 18:33:57 -03:00
James Almer 20a93ea8d4 checkasm/jpeg2000dsp: refactor rct_int test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-20 18:33:57 -03:00
James Almer 0cef66c906 Merge commit '516c479172755c63063180b0c0953b68b670cdbd'
* commit '516c479172755c63063180b0c0953b68b670cdbd':
  checkasm: Test more h264 idct variants

See 2d263188ba

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:21:22 -03:00
James Almer 2d263188ba Merge commit '547db1eaecd597031165a2bf637acaaacde52788'
* commit '547db1eaecd597031165a2bf637acaaacde52788':
  checkasm: Test more h264 idct variants

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:18:55 -03:00
James Almer 4cfb46f94f checkasm/llviddsp: fix warnings about mixed declaration and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 14:54:15 -03:00
Martin Vignali fbe9148779 checkasm/llviddsp : add test for other dsp func
add_median_pred
add_left_pred : add two func one with acc 0, and one with random acc
add_left_pred16
2017-11-07 00:54:17 +01:00
James Almer 122a749dfc Merge commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf'
* commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf':
  checkasm: aarch64: Specify alignment for the register_init const array

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 21:03:50 -03:00
James Almer f568d9d0ba Merge commit 'e00db9f78bb475ed5103364f61892f4e75ef89ba'
* commit 'e00db9f78bb475ed5103364f61892f4e75ef89ba':
  checkasm: hevc: Add a hevc_ prefix to the add_residual functions

Merged-by: James Almer <jamrial@gmail.com>
2017-10-28 18:18:41 -03:00
James Almer 6dfcbd80ad Merge commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63'
* commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63':
  build: Fine-grained link-time dependency settings

Also included are bug fix commits 5ff3b5cafc,
d9da7151ee and
5e27ef800b.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-11 17:55:25 -03:00
Martin Vignali cbbec68847 libavcodec/blockdsp : add AVX version
Also modify the required alignment, to 32 instead of 16
for several codecs

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-03 19:47:37 -03:00
Martin Vignali ac5908b13f libavcodec/exr : add x86 SIMD for predictor
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-01 17:35:30 -03:00
Martin Storsjö 516c479172 checkasm: Test more h264 idct variants
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-09-27 13:58:39 +03:00
James Almer 7323c896b2 checkasm: add an exrdsp test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-17 19:01:40 -03:00
Clément Bœsch e0d56f097f checkasm: use perf API on Linux ARM*
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.
2017-09-08 18:51:05 +02:00
Martin Storsjö e12f1cd616 Revert "checkasm: Test more h264 idct variants"
This reverts commit 547db1eaec.

This commit wasn't supposed to be pushed (yet) since it hasn't
been reviewed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-09-02 22:23:30 +03:00
Martin Storsjö 547db1eaec checkasm: Test more h264 idct variants 2017-08-31 14:55:34 +03:00
James Almer e51073fe00 checkasm/vf_blend: rename addition128 and difference128 to grainmerge and grainextract
This was missing from f8d0689d3f.
Fixes checkasm.
2017-08-24 23:39:09 -03:00
James Almer 6f205a42d7 checkasm: add hybrid_analysis_ileave and hybrid_synthesis_deint tests to aacpsdsp
Signed-off-by: James Almer <jamrial@gmail.com>
2017-07-13 17:03:28 -03:00
James Almer 823cc7e25f checkasm: add a g722dsp test
Signed-off-by: James Almer <jamrial@gmail.com>
2017-07-13 17:00:19 -03:00
James Almer 3d3243577c checkasm: use declare_func_float() in sbrdsp sum_square test
The function returns a float.

This fixes the test in x86_32 targets.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-07-04 23:02:57 -03:00
Matthieu Bouron 7864e07f4a checkasm: add sbrdsp tests 2017-07-03 14:28:17 +02:00
James Almer 0eb783eb06 checkasm: randomize the full input buffer in test_hybrid_analysis
Missed in the last commit.
2017-06-30 22:49:54 -03:00
James Almer fb7b477a91 checkasm: fix size of input buffer in test_hybrid_analysis 2017-06-30 20:37:06 -03:00
Clément Bœsch b12a36170b lavc/aacpsdsp: use ptrdiff_t for stride in hybrid_analysis 2017-06-28 12:22:39 +02:00
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>
2017-06-28 12:22:39 +02:00
James Almer fa50d9360b x86/vf_blend: add sse and ssse3 extremity functions
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-27 13:17:23 -03:00
James Almer a579dbb4f7 checkasm: add missing checks to float_dsp's butterflies_float test 2017-06-23 23:38:07 -03:00
Matthieu Bouron 067e42b851 checkasm/aarch64: fix tests returning a float
Avoids overriding the v0 register (which containins the result of the
tested function) in checkasm_call_checked.
2017-06-22 09:18:10 +02:00
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>
2017-06-21 17:00:29 -03:00
James Almer 5b10f484e2 checkasm: add float_dsp tests
Ported from libavutil/tests/float_dsp.c

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-14 19:20:10 -03:00
James Almer 37388b119c checkasm: add a checkasm_checked_call function that doesn't issue emms
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>
2017-06-14 19:18:56 -03:00
James Almer 93dc1c1221 checkasm: add _fixed suffix to fixed_dsp tests
Should prevents future conflicts with the similarly named floatdsp tests
2017-06-01 13:12:20 -03:00
Martin Storsjö d05c9cde0e checkasm: aarch64: Specify alignment for the register_init const array
Loads from this strictly doesn't require alignment, but specify it
just for consistency with the arm version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-05-15 10:19:46 +03:00
Martin Storsjö e00db9f78b checkasm: hevc: Add a hevc_ prefix to the add_residual functions
This makes it easier to group them with the rest when running e.g.
--bench=hevc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-04-21 13:32:44 +03:00
James Almer 7b3cb953f7 checkasm: add fixed_dsp tests
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-11 18:05:13 -03:00