Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2022-09-28checkasm: Move printf format string to .rodata on x86Henrik Gramner
2022-09-28checkasm: Improve 32-bit parameter clobbering on x86-64Henrik Gramner
Use explicit parameter type detection and manually clobber the upper bits instead of relying on internal compiler behavior.
2022-09-02checkasm: Add short optionsVictorien Le Couviour--Tuffet
2022-09-02checkasm: Add pattern matching to --testVictorien Le Couviour--Tuffet
2022-09-02checkasm: Remove pattern matching from --benchVictorien Le Couviour--Tuffet
The pattern matching feature has been improved and is now performed under the new --function parameter, rendering this one obsolete.
2022-09-02checkasm: Add a --function optionVictorien Le Couviour--Tuffet
Allows to run checkasm only for functions matching a given pattern.
2022-07-06Eliminate unused C DSP functions at compile timeHenrik Gramner
When compiling with asm enabled there's no point in compiling C versions of DSP functions that have asm implementations using instruction sets that the compiler can unconditionally use. E.g. when compiling with -mssse3 we can remove the C version of all functions with SSSE3 implementations. This is accomplished using the compiler's dead code elimination functionality. Can be configured using the new 'trim_dsp' meson option, which by default is enabled when compiling in release mode.
2022-06-21checkasm: Speed up signal handlingHenrik Gramner
Enabling/disabling signal handlers is very slow and requires a syscall. A better approach is to keep the signal handlers enabled all the time, and use a simple flag variable to determine if a given signal should be handled or passed on to the default signal handler.
2022-06-21checkasm: Improve seed generation on WindowsHenrik Gramner
GetTickCount() increases at a very low frequency, >10ms per tick. When running multiple loops of checkasm instances in parallel different instances regularly ends up using identical seeds. Prefer the use of QueryPerformanceCounter() instead, which ticks at a significantly higher rate, which in turn increases randomness.
2022-06-13checkasm/lpf: Use operating dimensionsVictorien Le Couviour--Tuffet
Fixes use of uninitialized value.
2022-06-03checkasm: Print the cpu model and cpuid signature on x86Henrik Gramner
2022-06-03checkasm: Add a vzeroupper check on x86Henrik Gramner
Verifying that the YMM state is clean when returning from assembly functions helps catching potential issues with AVX/SSE transitions.
2022-05-31checkasm: Fix uninitialized variableVictorien Le Couviour--Tuffet
fg_data->num_y_points is used in generate_grain_uv, but is only set after the call: move the initialization above.
2022-05-25Fix typoVictorien Le Couviour--Tuffet
Insert missing space.
2022-05-20checkasm: Print --help message to stderr instead of stdoutHenrik Gramner
2022-05-20checkasm: Split cdef test into separate pri/sec/pri+sec partsHenrik Gramner
Makes it possible to benchmark the different code paths individually.
2022-05-20checkasm: Improve benchmarking of functions that modify their inputHenrik Gramner
Alternate between buffers when benchmarking in order to more accurately measure throughout instead of latency.
2022-03-19checkasm: Fix alignment of stack buffers in the film grain testsHenrik Gramner
2022-02-28x86: Add 8-bit film grain AVX-512 (Ice Lake) asmHenrik Gramner
2022-02-28build: Make "film_grain" vs "filmgrain" DSP file names consistentHenrik Gramner
2022-01-24x86: Add mc.resize AVX-512 (Ice Lake) asmVictorien Le Couviour--Tuffet
resize_8bpc_c: 542599.0 resize_8bpc_ssse3: 87635.4 resize_8bpc_avx2: 67401.1 resize_8bpc_avx512icl: 50263.6 resize_16bpc_c: 573438.9 resize_16bpc_ssse3: 121505.2 resize_16bpc_avx2: 83293.4 resize_16bpc_avx512icl: 77974.8
2022-01-13checkasm: Check for out of bounds writes in the itx functionsMartin Storsjö
2022-01-13checkasm: Check for out of bounds writes in the remaining ipred functionsMartin Storsjö
2022-01-13checkasm: Check for out of bounds writes in the mc functionsMartin Storsjö
This can't catch out of bounds reads (which is what caused the crash in #380), but as long as reads and writes are properly matched, it should catch the corresponding issues.
2022-01-13checkasm: Align the width in PIXEL_RECTMartin Storsjö
This is necessary if the dimensions set aren't properly aligned.
2022-01-10x86: Improve AVX2 generate_grain asmHenrik Gramner
2021-10-29Remove lpf_stride parameter from LR filtersVictorien Le Couviour--Tuffet
2021-10-29Allow CDEF and LR to run sbrows in parallelVictorien Le Couviour--Tuffet
2021-10-18x86: Add sgr AVX-512 (Ice Lake) asmHenrik Gramner
2021-10-18x86: Add wiener_filter AVX-512 (Ice Lake) asmHenrik Gramner
2021-09-20checkasm: Avoid using 'bool' as a struct member nameHenrik Gramner
Causes collisions with stdbool.h on some systems.
2021-09-03Merge the 3 threading models into a single oneVictorien Le Couviour--Tuffet
Merges the 3 threading parameters into a single `--threads=` argument. Frame threading can still be controlled via the `--framedelay=` argument. Internally, the threading model is now a global thread/task pool design. Co-authored-by: Ronald S. Bultje <rsbultje@gmail.com>
2021-08-26meson: Explicitly set the recursive argument in extract_all_objects()Henrik Gramner
Silences warnings when building using recent meson versions.
2021-08-20checkasm: Add refmvs splat_mv testChristophe Gisquet
2021-08-13checkasm: Improve register preservation checking on x86Henrik Gramner
Improve the error message on failure to specify which registers that have been clobbered.
2021-08-13checkasm: Properly unregister exception handlers on WindowsHenrik Gramner
2021-08-13checkasm: Prefer calling function through checked_call()Henrik Gramner
Improves detection of register preservation issues etc.
2021-08-13checkasm: Fix error reporting in itx testsHenrik Gramner
2021-06-20build: add -Wstrict-prototypes to the compiler argumentsJames Almer
2021-06-10checkasm: Validate the benchmark call configurations even if not benchmarkingMartin Storsjö
This should help catch issues like the one fixed in 185194be2f4daf907c76ad8fdd763a701d3d4005, by making sure that we call the benchmarked function at least once with the given parameters, even if not benchmarking. Otherwise the benchmark codepath is essentially dead untested code until somebody works on that piece of code.
2021-06-07checkasm: Make sure that all pixels are in range before benchmarkingMartin Storsjö
The pixel data as initialized by the test above only have proper pixels up to whatever random 'w' it used last.
2021-06-05checkasm: allow 1 >= h >= 2 in fgy_32x32xn unit testRonald S. Bultje
2021-06-02checkasm: Remove an unused variable/parameterMartin Storsjö
Clang 13 got support for warning about variables that are set but not used. We disable warnings for unused parameters, but in this case, the parameter variable is updated within the function too, which Clang warns about.
2021-05-13arm64: filmgrain16: Guard against out of range pixels in the gather functionMartin Storsjö
In 16 bpc, the pixels are 16 bit integers, but valid pixels only are up to 12 bits, and the scaling buffer only contains 4096 elements. The src pixels are, normally, supposed to be valid pixels, but when processing blocks of 32 pixels at a time, it can operate on uninitialized pixels past the right edge. Before: Cortex A53 A72 A73 Apple M1 fgy_32x32xn_16bpc_neon: 10372.5 8194.4 8612.1 24.2 After: fgy_32x32xn_16bpc_neon: 10837.9 8469.5 8885.1 24.6
2021-05-12Only call GetModuleHandle and AddVectoredExceptionHandler when targeting ↵Martin Storsjö
Windows Desktop Don't call them when targeting e.g. UWP. This requires building with a new enough SDK that does have the winapifamily.h header (and that it's included implicitly by regular platform headers); it's been available since the Windows 8.0 SDK (and since mingw-w64 v3.0.0) so it should be safe. Also rewrite the GetProcAddress call to avoid calling it if GetModuleHandleW(L"kernel32.dll") would return NULL for some reason.
2021-04-27checkasm: Implement printing of grain lut entriesMartin Storsjö
2021-04-22checkasm: filmgrain: Add a padded check for fgy and fguvMartin Storsjö
This clearly specifies how much overwrite is allowed.
2021-04-22checkasm: Extend the padding checker to allow for some amount of overwriteMartin Storsjö
This allows specifying that the actual buffers are allocated with some alignment, allowing the implementations to overwrite the area between the intended width and the aligned width, but not past that.
2021-04-22checkasm: ipred: Use the padded pixel checking functionMartin Storsjö
2021-04-22checkasm: Add macros for allocating and checking padded pixel buffersMartin Storsjö