Commit Graph

170 Commits

Author SHA1 Message Date
Janne Grunau
c9f8cfb6d9 fate: add checkasm target 2015-07-18 01:06:45 +02:00
Henrik Gramner
8bc67ec2c0 Checkasm: assembly testing and benchmarking tool
It provides the following features:
 * verify correctness by comparing output to the C version.
 * detect failure to save and restore clobbered callee-saved registers.
 * detect 32-bit parameters being used as if they were 64-bit in x86-64
   (the upper halves are not guaranteed to be zero - but in practice
   they very often are, which makes those bugs hard to spot otherwise).
 * easy benchmarking.

Compile by running 'make checkasm'.
Execute by running 'tests/checkasm/checkasm'.

Optional arguments are '--bench' to run benchmarks for all functions,
'--bench=<pattern>' to run benchmarks for all functions that starts with
<pattern>, and '<integer>' to seed the PRNG for reproducible results.

Contains unit tests for most h264pred functions to get started, more tests
can be added afterwards using those as a reference.

Loosely based on code from x264. Currently only supports x86 and x86-64,
but additional architectures shouldn't be too much of an obstacle to add.

Note that functions with floating point parameters or floating point
return values are not supported. Some compiler-specific features or
preprocessor hacks would likely be required to add support for that.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-07-12 16:39:07 +02:00
Anton Khirnov
96a06dbaf2 FATE: add support for testing hwaccels 2015-03-10 07:40:11 +01:00
Reinhard Tartler
8895bf7b78 Replace lena.pnm
The new reference.pnm is a freely licensed replacement. The photo has
been taken by Reinhard Tartler on August 28 2014, and is licensed under
the expat license as stated at http://www.jclark.com/xml/copying.txt
2014-11-28 17:55:27 -05:00
Janne Grunau
f29c226af0 fate: add mpeg4 tests for frame size changes 2014-10-17 09:58:31 +02:00
Janne Grunau
23dfa00b88 fate: explicitly set the default THREADS value
This makes the default of '1' more explicit than defaulting to '1' in
fate-run.sh and regression-funcs.sh if THREADS is not set.
Fixes the reported thread count in fate-cpu if THREADS is not set.
2014-08-04 12:20:56 +02:00
Diego Biurrun
706208ef47 fate: Split fate-pixdesc tests and dispatch them through Make
This allows running all the tests individually and/or in parallel.
2014-08-01 01:18:30 -07:00
Anton Khirnov
b70d7a4ac7 lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2014-05-15 06:49:34 +02:00
Janne Grunau
04ffd22030 fate: add xvid test for custom matrices
Test sample is made from the sample in Bug-Id: videolan/7411
2014-01-31 11:12:31 +01:00
Anton Khirnov
a8cc88b1a2 tests/Makefile: allow FILTER* to be called with lists of filter names 2014-01-03 16:43:41 +01:00
Vittorio Giovara
eddff165b4 fate: add utility function to test parser, demuxer, and decoder 2013-12-17 09:34:08 +01:00
Guillaume Martres
e1c058dba9 FATE: Add HEVC tests
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:20:16 +01:00
Anton Khirnov
9ab5f7107d FATE: add lavr mixing tests 2013-10-12 15:07:26 +02:00
Diego Biurrun
c47037c7a1 fate: Add timefilter test 2013-07-29 19:20:27 +02:00
Diego Biurrun
37063714c0 build: Only check FATE dependencies when running FATE tests
Only check dependencies if invoking the make targets 'check'
or anything matching 'fate%' except 'fate-rsync'.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-27 16:50:21 +03:00
Anton Khirnov
01656fd476 matroskaenc: support muxing WavPack 2013-05-28 18:18:57 +02:00
Martin Storsjö
4a27a52a1f fate: Don't use files from SRC_PATH in the actual tests
If building out of tree, make sure the filter scripts are copied
into the build tree before running tests. This makes sure that
SRC_PATH doesn't need to exist on the remote system (or doesn't
need to exist at the same path).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 17:14:18 +03:00
Kostya Shishkov
e9e5a1bdc7 Monkey's Audio old versions FATE tests 2013-05-24 09:04:18 +02:00
Reinhard Tartler
95e8ac60f8 build: normalize coverage.info
Without this, lcov sometimes misses to normalize paths that contain "/./".
Also, ignore uninteresting hits in system headers.
2013-05-04 09:34:58 +02:00
Reinhard Tartler
768e44d044 build: tune down the output of lcov/gcov
In the default settings, both tools produce a lot of unhelpful noise.
2013-05-04 09:34:58 +02:00
Diego Biurrun
b963f021b6 fate: Invoke pixfmts lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Diego Biurrun
a77aed142c fate: Rename video filters file and add separate video filters target 2013-04-19 18:07:48 +02:00
Diego Biurrun
b357f1d1d3 fate: Split audio filters into their own separate file 2013-04-19 18:07:48 +02:00
Diego Biurrun
3eec1d41b4 fate: Reuse VREF and AREF variables where appropriate 2013-04-19 18:07:48 +02:00
Reinhard Tartler
a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Luca Barbato
b01b60a29d fate: add an option to generate the references
Useful to add or update fate tests.
2013-03-29 15:41:26 +01:00
Diego Biurrun
47e7fb8815 fate: Do not unconditionally run libavutil tests
Now that libavutil can be disabled, this should be conditional.
2012-11-28 19:36:13 +01:00
Mans Rullgard
a1f6ad69c7 fate: check that dependencies actually exist
This causes make to exit with an error message if a nonexistent
dependency is specified rather than silently dropping the test.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 11:12:24 +01:00
Mans Rullgard
6f9018fc5e fate: fix ENCMUX macro
This matches how it is actually being called.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 11:12:24 +01:00
Diego Biurrun
71f3eb4536 fate: cosmetics: Group idct8x8 test together with all other libavcodec tests 2012-10-23 10:52:15 +02:00
Diego Biurrun
8b8899ac32 fate: Declare avcodec/avformat deps in the respective Makefile snippets 2012-10-23 10:28:40 +02:00
Diego Biurrun
8860878291 fate: Introduce ENCMUX macro for tests that require encoders and a muxer 2012-10-20 21:10:21 +02:00
Mans Rullgard
eccd0671cc fate: dependencies for demux tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
c0329748b0 fate: add a dependency helper macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
206a070dce fate: list lavfi tests in a makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
36ac9a16a1 fate: dependencies for seek tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
fa26335003 fate: handle lavf test dependencies entirely in make
This makes the lavf tests depend on all codecs and formats they use.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
21fed588cb fate: add macros useful for conditionally enabling things
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Martin Storsjö
7bc433b36d fate: Add tests of the ff_make_absolute_url function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:34 +03:00
Justin Ruggles
e981215944 FATE: add ALAC encoding tests 2012-08-22 16:41:57 -04:00
Mans Rullgard
b9d3c37848 build: use COMPILE template for HOSTOBJS
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:59 +01:00
Anton Khirnov
73cd131ebc FATE: add a test for the asyncts audio filter. 2012-07-22 10:14:16 +02:00
Mans Rullgard
7c29377b70 lavfi: reclassify showfiltfmts as a TESTPROG
This tool uses lavfi internal symbols not accessible in shared
libraries.  TESTPROGS are linked statically to allow them use of
library internals not normally exported.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 17:48:25 +01:00
Anton Khirnov
bf2a7f9161 FATE: add a test for itunes cover art. 2012-07-04 05:58:47 +02:00
Mans Rullgard
983fa8bc46 fate: add flac encode/decode tests with various options
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Diego Biurrun
a488028362 build: Do not delete tests/vsynth2 directory, which is no longer created. 2012-06-13 12:27:49 +02:00
Mans Rullgard
d0e9415d23 fate: avoid freopen(NULL) in videogen/rotozoom
A number of systems do not implement freopen() with a NULL filename
correctly.  This changes these programs to output individual images
if opening a named output argument as a file fails, in this case
assuming it is a directory.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-07 11:28:39 +01:00
Mans Rullgard
7263cd5544 fate: convert codec-regression.sh to makefile rules
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:35:41 +01:00
Mans Rullgard
47b5996bb0 fate: allow tests to specify unit size for psnr comparison
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:27:19 +01:00
Mans Rullgard
7e5880e0cb fate: teach videogen/rotozoom to output a single raw video stream
This makes videogen/rotozoom output a raw video stream on stdout
if no output directory is specified.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:27:19 +01:00