Age | Commit message (Collapse) | Author |
|
These aren't quite as helpful as the ones in 8bpp, since over there,
we can use pmulhrsw, but here the coefficients have too many bits to
be able to take advantage of pmulhrsw. However, we can still skip
cols for which all coefs are 0, and instead just zero the input data
for the row itx. This helps a few % on overall decoding speed.
|
|
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
|
|
|
|
The previous implementation was behaving incorrectly in some corner cases.
|
|
The System V ABI on x86-64 specifies that the al register contains an upper
bound of the number of arguments passed in vector registers when calling
variadic functions, so we aren't allowed to clobber it.
checkasm_fail_func() is a variadic function so also zero al before calling it.
|
|
Reviewed-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Reviewed-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Tested functions are internally kept in a binary search tree for efficient
lookups. The downside of the current implementation is that the tree quickly
becomes unbalanced which causes an unneccessary amount of comparisons between
nodes. Improve this by changing the tree into a self-balancing left-leaning
red-black tree with a worst case lookup/insertion time complexity of O(log n).
Significantly reduces the recursion depth and makes the tests run around 10%
faster overall. The relative performance improvement compared to the existing
non-balanced tree will also most likely increase as more tests are added.
|
|
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
bddcf758d3a68ac0bcc3bc4fc4aa7156e05245d4
The change was wrong, also add a comment explaining it
Found-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
(I forgot to actually merge them into the patch I just pushed.)
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
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.
|
|
Reviewed-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Reviewed-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
|
|
|
|
|
* commit '3cdda78deb19b39dbbf8961ae0aec44dbb19bf6d':
checkasm: add unit tests for v210enc
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
Now we no longer have to rely on function pointers intentionally
declared without specified argument types.
This makes it easier to support functions with floating point parameters
or return values as well as functions returning 64-bit values on 32-bit
architectures. It also avoids having to explicitly cast strides to
ptrdiff_t for example.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
If the return value doesn't fit in a single register rdx/edx can in some
cases be used in addition to rax/eax.
Doesn't affect any of the existing checkasm tests but might be useful later.
Also comment the relevant code a bit better.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
If the return value doesn't fit in a single register rdx/edx can in some
cases be used in addition to rax/eax.
Doesn't affect any of the existing checkasm tests but might be useful later.
Also comment the relevant code a bit better.
|
|
Now we no longer have to rely on function pointers intentionally
declared without specified argument types.
This makes it easier to support functions with floating point parameters
or return values as well as functions returning 64-bit values on 32-bit
architectures. It also avoids having to explicitly cast strides to
ptrdiff_t for example.
|
|
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
* commit 'bf0cef5c3a114df452e5476167634dd8f51eb448':
checkasm: Include io.h for isatty, if available
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
configure does check for isatty, and checkasm properly checks
HAVE_ISATTY, but on some platforms (e.g. WinRT), io.h needs to be
included for isatty to be available.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Makes it a bit more clear where each test belongs.
Suggested by Anton Khirnov.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
* commit '65c14801527068fcaf729eeffc142ffd4682a21a':
checkasm: Modify report format
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '4d0d55cd623bcd504867f948849380f6b4060b4d':
checkasm: Use LOCAL_ALIGNED
See: f467fc02b475cd45b68aa5fb5f7c78286110ba86
See: 9e83ac6114de3d94eb992eff8ed810234069a7b2
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Fixes alignment issues and bus errors.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Fixes alignment issue and bus errors
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Fixes alignment issue and bus errors
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit 'e605bf3b590d295f215fcc9fd58eb11be55b68cb':
checkasm: remove empty array initializer list in h264pred test
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '3ae0e721c7b6e0483801b9039b3d140e3b68b7f5':
checkasm: Always link statically
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Fixes MSVC compilation.
|
|
Checkasm needs to use internal symbols that should not be made public.
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '82e6ac85ff9aa7631b8c01521b3d6b5ca0bc8014':
checkasm: test all architectures with optimisations
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '6cc4d3e9a982e926494f4b919d9733fe29774acf':
checkasm: exit with status 0 instead of 1 if there are no tests to perform
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|