summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* Remove Plan 9 supportDiego Biurrun2016-12-03
| | | | | | 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.
* arm: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32Martin Storsjö2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This work is sponsored by, and copyright, Google. Previously all subpartitions except the eob=1 (DC) case ran with the same runtime: Cortex A7 A8 A9 A53 vp9_inv_dct_dct_16x16_sub16_add_neon: 3188.1 2435.4 2499.0 1969.0 vp9_inv_dct_dct_32x32_sub32_add_neon: 18531.7 16582.3 14207.6 12000.3 By skipping individual 4x16 or 4x32 pixel slices in the first pass, we reduce the runtime of these functions like this: vp9_inv_dct_dct_16x16_sub1_add_neon: 274.6 189.5 211.7 235.8 vp9_inv_dct_dct_16x16_sub2_add_neon: 2064.0 1534.8 1719.4 1248.7 vp9_inv_dct_dct_16x16_sub4_add_neon: 2135.0 1477.2 1736.3 1249.5 vp9_inv_dct_dct_16x16_sub8_add_neon: 2446.7 1828.7 1993.6 1494.7 vp9_inv_dct_dct_16x16_sub12_add_neon: 2832.4 2118.3 2266.5 1735.1 vp9_inv_dct_dct_16x16_sub16_add_neon: 3211.7 2475.3 2523.5 1983.1 vp9_inv_dct_dct_32x32_sub1_add_neon: 756.2 456.7 862.0 553.9 vp9_inv_dct_dct_32x32_sub2_add_neon: 10682.2 8190.4 8539.2 6762.5 vp9_inv_dct_dct_32x32_sub4_add_neon: 10813.5 8014.9 8518.3 6762.8 vp9_inv_dct_dct_32x32_sub8_add_neon: 11859.6 9313.0 9347.4 7514.5 vp9_inv_dct_dct_32x32_sub12_add_neon: 12946.6 10752.4 10192.2 8280.2 vp9_inv_dct_dct_32x32_sub16_add_neon: 14074.6 11946.5 11001.4 9008.6 vp9_inv_dct_dct_32x32_sub20_add_neon: 15269.9 13662.7 11816.1 9762.6 vp9_inv_dct_dct_32x32_sub24_add_neon: 16327.9 14940.1 12626.7 10516.0 vp9_inv_dct_dct_32x32_sub28_add_neon: 17462.7 15776.1 13446.2 11264.7 vp9_inv_dct_dct_32x32_sub32_add_neon: 18575.5 17157.0 14249.3 12015.1 I.e. in general a very minor overhead for the full subpartition case due to the additional loads and cmps, but a significant speedup for the cases when we only need to process a small part of the actual input data. In common VP9 content in a few inspected clips, 70-90% of the non-dc-only 16x16 and 32x32 IDCTs only have nonzero coefficients in the upper left 8x8 or 16x16 subpartitions respectively. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST).Ronald S. Bultje2016-11-23
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Revert "checkasm: vp9dsp: Benchmark the dc-only version of idct_idct separately"Martin Storsjö2016-11-23
| | | | | | | | | This reverts commit 81d7f0bbca837afda1f7e60d3ae52ab1360ab44b. Instead of just benchmarking dc separately, test all relevant subparts (in the next commit). Signed-off-by: Martin Storsjö <martin@martin.st>
* fate.sh: Allow setting other make flags for running testsMartin Storsjö2016-11-23
| | | | | | | | | | | | If makeopts_fate is set, these makeopts are used for running the tests instead of the normal makeopts. If it isn't set, the normal makeopts variable is used as before. This is useful if remote testing on a lesser machine where a large number of parallel jobs might be undesireable, while wanting to speed up the build with many parallel processes. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: Add h264 and hevc extradata reload testsVittorio Giovara2016-11-16
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* checkasm: vp9dsp: Benchmark the dc-only version of idct_idct separatelyMartin Storsjö2016-11-16
| | | | | | | | The dc-only mode is already checked to work correctly above, but this allows benchmarking this mode for performance tuning, and allows making sure that it actually is correctly hooked up. Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: add vp9dsp.itxfm_add tests.Ronald S. Bultje2016-11-11
| | | | | | | | This includes fixes by Henrik Gramner. The forward transforms are derived from the reference encoder. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: checkasm: Split monolithic test into individual componentsDiego Biurrun2016-11-08
|
* checkasm: Add --test parameter to check only specific componentsDiego Biurrun2016-11-08
| | | | Inspired by a patch from Martin Storsjö <martin@martin.st>.
* swscale: Add GRAY12Luca Barbato2016-11-07
|
* vp9: Flip the order of arguments in MC functionsMartin Storsjö2016-11-03
| | | | | | | | | This makes it match the pattern already used for VP8 MC functions. This also makes the signature match ffmpeg's version of these functions, easing porting of code in both directions. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Evaluate the movie display matrixVittorio Giovara2016-11-01
| | | | | | | | | | | This matrix needs to be applied after all others have (currently only display matrix from trak), but cannot be handled in movie box, since streams are not allocated yet. So store it in main context, and apply it when appropriate, that is after parsing the tkhd one. Fate tests are updated accordingly. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* fate: Add tests for mov display matrixVittorio Giovara2016-11-01
| | | | | | Rotation, sample/display aspect ratio and pure matrix export. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* checkasm: Add a test for HEVC add_residualAlexandra Hájková2016-10-22
|
* Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|vDiego Biurrun2016-10-22
|
* fate: Update filter-pixfmts-scale gbrap12le hash missing from be9dba5c8aLuca Barbato2016-10-18
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* checkasm: aarch64: Don't clobber x29 in checkasm_stack_clobberMartin Storsjö2016-10-18
| | | | | | | | | | | x29 (FP) is a callee saved register and should be restored on return. Instead of backing up x29 and restoring it here, back up sp in a register that we are allowed to overwrite. This fixes crashes in checkasm on aarch64 since f1b3e1313851. For some reason, gcc builds didn't crash, but clang builds do. Signed-off-by: Martin Storsjö <martin@martin.st>
* swscale: Properly load alpha for planar rgbMichael Niedermayer2016-10-18
| | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* build: Drop arch-specific checkasm MakefilesDiego Biurrun2016-10-17
| | | | They only contain one line and will never contain more.
* build: Drop duplicate asm recipeDiego Biurrun2016-10-17
| | | | | And move the asm recipe to the top-level Makefile next to the other local pattern rules for .o files.
* 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>
* checkasm: aarch64: Clobber the stack before calling functionsMartin Storsjö2016-10-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: arm/aarch64: Fix the amount of space reserved for stack parametersMartin Storsjö2016-10-16
| | | | | | | | | Even if MAX_ARGS - 2 (for arm) or MAX_ARGS - 7 (for aarch64) parameters are passed on the stack to checkasm_checked_call, we actually only need to store MAX_ARGS - 4 (for arm) or MAX_ARGS - 8 (for aarch64) parameters on the stack when calling the tested function. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: use the new bitstream filter for extracting extradataAnton Khirnov2016-10-16
| | | | | | | | | This also fixes a minor bug introduced in the codecpar conversion, where the termination condition for extracting the extradata does not match the actual extradata setting code. As a result, the packet durations made up by lavf go back to their values before the codecpar conversion. That is of little consequence since that code should eventually be dropped completely.
* swscale: Add the GBRAP12 outputLuca Barbato2016-10-12
|
* swscale: Enable GBRP12 outputLuca Barbato2016-10-12
|
* swscale: Add missing yuv444p12 swappingVittorio Giovara2016-10-12
| | | | | | | Missing from 9bd6ea5695660529b2887292874a7b9e61fc301e. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* checkasm: add a test for HEVC IDCTAlexandra Hájková2016-10-11
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* checkasm: add VP9 loopfilter tests.Ronald S. Bultje2016-10-04
| | | | | | | | | | | The randomize_buffer() implementation assures that "most of the time", we'll do a good mix of wide16/wide8/hev/regular/no filters for complete code coverage. However, this is not mathematically assured because that would make the code either much more complex, or much less random. Some fixes and improvements by Rodger Combs <rodger.combs@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* fate: Add test for rscc paletteVittorio Giovara2016-10-02
|
* lavu: remove the custom atomic APIAnton Khirnov2016-10-02
| | | | It has been replaced by C11 stdatomic.h and is now unused.
* checkasm: Add test for huffyuvdsp add_bytesAlexandra Hájková2016-10-02
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Change type of array stride parameters to ptrdiff_tDiego Biurrun2016-09-29
| | | | ptrdiff_t is the correct type for array strides and similar.
* pixfmt: Add yuv444p12 pixel formatLuca Barbato2016-09-27
|
* pixfmt: Add yuv422p12 pixel formatLuca Barbato2016-09-27
|
* pixfmt: Add yuv420p12 pixel formatLuca Barbato2016-09-27
|
* audiodsp: reorder arguments for vector_clipfAnton Khirnov2016-09-22
| | | | | | | This will make the x86 asm simpler. ARM conversion by Martin Storsjö <martin@martin.st> and Janne Grunau <janne-libav@jannau.net>
* checkasm: add tests for audiodspAnton Khirnov2016-09-22
|
* checkasm: add a test for blockdspAnton Khirnov2016-09-22
|
* checkasm: Read the unsigned value as it shouldLuca Barbato2016-09-11
| | | | Reading a value larger than int using atoi() may give the wrong result.
* build: Fix directory dependencies of tests/pixfmts.mak targetDiego Biurrun2016-09-05
|
* vp8: Change type of stride parameters to ptrdiff_tDiego Biurrun2016-08-26
| | | | ptrdiff_t is the correct type for array strides and similar.
* checkasm: add vp9 MC tests.Ronald S. Bultje2016-08-03
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* checkasm: Cast unsigned to signedLuca Barbato2016-07-23
| | | | | Avoid a warning for passing an unsigned value to abs(), some compilers might optimize away abs().
* checkasm: add HEVC test for testing IDCT DCAlexandra Hájková2016-07-22
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* arm: Check for support for the .fpu directiveMartin Storsjö2016-07-21
| | | | | | | When targeting COFF (windows), clang doesn't support this directive (while binutils supports it for all targets). Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: arm: Ignore changes to bits 0-4 and 7 of FPSCRMartin Storsjö2016-07-17
| | | | | | | | | These bits are set by exceptions in NEON instructions. Also print the differing bits when FPSCR is clobbered, and use bic instead of lsl, for clearing the topmost bits. Signed-off-by: Martin Storsjö <martin@martin.st>
* cheackasm/arm: remove NEON instructions from checkasm_checked_call_vfpJanne Grunau2016-07-17
| | | | | | Fixes AS error on non NEON builds introduced in 71a04721145. Also set the fpu directly to vfp in checkasm.S to cause build errors on NEON builds.
* checkasm: arm: Don't start new const blocks for each stringMartin Storsjö2016-07-17
| | | | | | | | | | | | Each const block needs to be terminated by one endconst invocation so either call endconst after each, or just declare plain labels to the later strings. This fixes errors such as this, on some binutils versions: checkasm.S:38: Error: Macro `endconst' was already defined Signed-off-by: Martin Storsjö <martin@martin.st>