Reima Hyvönen
1fcc5c6a8d
Merge branch 'bipred_recon'
2018-12-11 09:59:35 +02:00
Reima Hyvönen
4c71546b2e
Cleaned some coding
2018-10-26 12:19:44 +03:00
Reima Hyvönen
381e786e10
Trying to find the bug in luma
2018-10-11 18:08:41 +03:00
Marko Viitanen
68b464496b
Add more internal gitlab tests and change the gitlab CI detection
2018-10-05 09:02:21 +03:00
Marko Viitanen
7671f19f2f
Fix tests/test_gop.sh environmental variable testing
2018-10-05 08:32:11 +03:00
Marko Viitanen
077b6ba2f7
Add CI tests for closed gop
2018-10-04 14:42:06 +03:00
Reima Hyvönen
212a8e68fa
Modified to avoid memory overflow, still some bug inside luma
2018-10-02 20:23:32 +03:00
Reima Hyvönen
896034b7cf
Some renamed functions back
2018-08-28 15:31:10 +03:00
Reima Hyvönen
e8b5e6db4c
Did some merging
2018-08-28 15:26:27 +03:00
Reima Hyvönen
7de5c74434
Updated bipred_recon to work faster
2018-08-28 15:12:31 +03:00
Reima Hyvönen
47b357cca2
Comment one test
2018-08-27 18:52:14 +03:00
Reima Hyvönen
2ca99a44e8
Updated shuffle operation to be in right order
2018-08-27 18:16:38 +03:00
Reima Hyvönen
508b218a12
some modifications made to prevent reading too much
2018-08-14 10:50:39 +03:00
Reima Hyvönen
408dedbcc8
removed _mm256_extract_epi8 and replaced with _mm_stream
2018-08-10 15:53:26 +03:00
Reima Hyvönen
99dc43074f
_mm256_cvtsi256_si32 breaks system, too much bits. back to extract
2018-08-10 09:59:33 +03:00
Reima Hyvönen
ed50d71fde
Switched some variables to different location, altered inter_recon_bipred_avx2 function
2018-08-02 16:08:59 +03:00
Reima Hyvönen
9ba85ab7b0
Testing if test break pipeline
2018-08-02 14:55:20 +03:00
Reima Hyvönen
f5739a0028
Renaming and removing useless prints
2018-08-02 14:47:17 +03:00
Reima Hyvönen
7f18c12227
testing pipelining
2018-07-11 15:16:23 +03:00
Reima Hyvönen
f9c7f6ee66
Added some break-operations for avx2 optimation
2018-07-11 14:15:38 +03:00
Reima Hyvönen
cc064da143
some more optimation for bipred
2018-07-11 11:27:54 +03:00
Reima Hyvönen
9a339eef89
Merge branch 'bipred_recon' of https://gitlab.tut.fi/TIE/ultravideo/kvazaar into HEAD
...
# Conflicts:
# build/kvazaar_lib/kvazaar_lib.vcxproj
2018-07-10 16:21:04 +03:00
Reima Hyvönen
a22cf03ddb
Updated to have no movement function to avx2 strategies
2018-07-10 16:07:15 +03:00
Reima Hyvönen
ea83ae45f0
Toimiva ratkaisu
2018-07-03 11:18:51 +03:00
Reima Hyvönen
17babfffa4
25.6 working optimation, ~50% faster than original
2018-06-25 17:06:16 +03:00
Arttu Ylä-Outinen
c1398ef818
Permit --period=1 with any GOP structure
...
All intra coding is a special case so it can be permitted even though
Kvazaar normally only supports intra periods that are divisible by the
GOP length.
2018-06-18 12:26:11 +03:00
Arttu Ylä-Outinen
cbac8a106e
Disable valgrind in tests by default
...
Changes tests so that valgrind is enabled only when the environment
variable KVZ_TEST_VALGRIND is set and equal to "1".
2018-06-14 09:30:55 +03:00
Arttu Ylä-Outinen
0692375caa
Fix clobbered warnings in tests
...
Adds volatile to loop variables in kvazaar tests in order to fix
clobbered warnings.
2018-06-12 14:00:29 +03:00
Arttu Ylä-Outinen
f77ab86959
Add test scripts to EXTRA_DIST
...
Adds test scripts to EXTRA_DIST in tests/Makefile.am so that they get
included in the tarballs when running make dist.
2017-11-27 12:28:55 +02:00
Arttu Ylä-Outinen
4cb054295a
Fix linkers
...
Overrides the linkers used for kvazaar, libkvazaar.la and kvazaar_tests.
When crypto++ is enabled, the C++ linker is used and when it is
disabled, the C linker is used.
This removes the need to explicitly specify -lstdc++ in configure when
crypto++ is used and fixes the build with crypto++ when libstd++ is not
installed.
2017-11-13 15:09:38 +02:00
Arttu Ylä-Outinen
ebddd854dc
Fix clobbered warnings in tests
...
Adds volatile to loop variables in kvazaar tests in order to fix "might
be clobbered by ‘longjmp’ or ‘vfork’" warnings when building with -O3.
2017-08-11 14:18:12 +03:00
Arttu Ylä-Outinen
242c11d379
Use deblock and SAO in tiles tests
...
Reveals a bug in SAO when using tiles.
2017-08-01 14:34:44 +03:00
Arttu Ylä-Outinen
dca71a9091
Add tests for coefficient sum strategy
2017-07-28 07:39:18 +03:00
Arttu Ylä-Outinen
edbe00763e
Drop extra parameter in kvz_image_calc_sad
...
Drops the parameter max_lcu_below which was always set to -1.
2017-07-24 15:21:19 +03:00
Jan Beich
bb01721cf8
tests: load util.sh from source directory
...
$ mkdir build
$ cd build
$ ../kvazaar/configure
$ gmake check VERBOSE=1
...
FAIL: test_gop.sh
=================
.: cannot open util.sh: No such file or directory
FAIL test_gop.sh (exit status: 2)
FAIL: test_interlace.sh
=======================
.: cannot open util.sh: No such file or directory
FAIL test_interlace.sh (exit status: 2)
2017-06-28 06:27:46 +00:00
Jan Beich
adf0bfea07
tests: drop mktemp(1) flags for better compatibility
...
$ mktemp --tmpdir tmp.XXXXXXXXXX.yuv
mktemp: illegal option -- -
usage: mktemp [-d] [-q] [-t prefix] [-u] template ...
mktemp [-d] [-q] [-u] -t prefix
$ gmktemp --tmpdir tmp.XXXXXXXXXX.yuv
/tmp/tmp.ddQTBn4XmE.yuv
$ mktemp -t tmp.XXXXXXXXXX.yuv
/tmp/tmp.XXXXXXXXXX.yuv.SYYNp8Ki
$ gmktemp -t tmp.XXXXXXXXXX.yuv
/tmp/tmp.2ena2nKgv5.yuv
$ mktemp -t yuv
/tmp/yuv.rX2UAbax
$ gmktemp -t yuv
gmktemp: too few X's in template ‘yuv’
2017-06-28 05:22:46 +00:00
Jan Beich
0280871287
tests: convert scripts to POSIX shell
...
$ gmake check VERBOSE=1
[...]
FAIL: test_external_symbols.bash
================================
../build-aux/test-driver: ./test_external_symbols.bash: not found
FAIL test_external_symbols.bash (exit status: 127)
FAIL: test_gop.bash
===================
../build-aux/test-driver: ./test_gop.bash: not found
FAIL test_gop.bash (exit status: 127)
[...]
2017-06-28 05:22:46 +00:00
Arttu Ylä-Outinen
3da5558956
Add an LP-GOP test
2017-06-22 09:44:01 +03:00
Arttu Ylä-Outinen
674af752a2
Convert travis tests to scripts
...
Moves tests from .travis.yml to bash scripts in tests directory. Adds
the test scripts to tests/Makefile.am so that they are included when
running make check.
2017-06-22 09:37:55 +03:00
Arttu Ylä-Outinen
094b39e7fc
Refactor inter MV/merge candidate selection
...
Adds struct merge_candidates_t for holding the spatial and temporal
merge candidates. Changes functions with separate parameters for each
candidate to use the struct instead.
2017-02-22 15:56:36 +09:00
Ari Koivula
17f3f6bc86
Add clipped test cases to inter speed tests
...
Add tests for the extreme shapes that can happen when a motion vector
points outside the frame. A single pixel case where it probably doesn't
make sense to call a vectorized function, and the maximum size where it
definitely does make sense to call a vectorized function.
2016-09-01 23:08:16 +03:00
Ari Koivula
f098e46f4f
Add a more realistic speed test for inter sad
...
Inter SAD accesses pixels directly from the frame buffers, so give it
a 4k frame to work in for more realistic results. The old test used
intra test data, which consist of tiny buffers.
2016-09-01 20:30:26 +03:00
Ari Koivula
9ea7bfd19a
Return calls per second from speed tests
...
Sometimes the tests overrun their time limit by varying amounts.
Return calls per second based on the amount of time actually spent in
the loop instead of how much time we tried to spend in the loop.
2016-08-30 15:23:44 +03:00
Ari Koivula
07a919cb3e
Add speed tests for dual intra SAD functions
...
The speed test suite was crashing due to these being missing.
2016-08-30 15:23:11 +03:00
Ari Koivula
345ef833d7
Add more tests for inter SAD
...
The existing tests only covered the edge cases of border extension, but
not the SIMD optimized versions of reg_sad. This adds proper tests for
current optimized reg_sad implementations and ones we are likely to
have in the future.
2016-08-30 15:22:05 +03:00
Ari Koivula
032ed30ff4
Add chroma format support to kvz_picture
...
Add picture_alloc_csp to libkvz api to allocated pictures with chroma
format different from 420.
2016-08-24 19:20:53 +03:00
Arttu Ylä-Outinen
2ae260e422
Change width of cells in lcu_t to 4 pixels.
...
Intra mode info for NxN partition units is now stored in the
corresponding 4x4 cell in lcu_t.cu array.
2016-06-16 18:53:17 +09:00
Arttu Ylä-Outinen
98aa906f30
Drop field coded from cu_info_t
...
It can be inferred from the position and size of the CU.
2016-06-14 12:21:57 +09:00
Arttu Ylä-Outinen
e14858f41a
Fix build and tests.
...
- Remove non-existent file interface_main.c from library sources.
- Add file mv_cand_tests.c to test sources.
2015-12-21 16:03:55 +02:00
Arttu Ylä-Outinen
9abdee7cc3
Merge branch 'autotools'
2015-12-21 15:54:30 +02:00
darealshinji
8427a85d36
Add tests
2015-12-19 08:24:35 +01:00
Arttu Ylä-Outinen
1cd149fb97
Check merge/mv candidate types earlier.
...
Moves checks for motion vector prediction and merge candidate block
types (inter/intra) from functions kvz_inter_get_mv_cand and
kvz_inter_get_merge_cand to kvz_inter_get_spatial_merge_candidates.
2015-12-15 11:21:39 +02:00
Arttu Ylä-Outinen
969c91d7c4
Add a test for kvz_inter_get_spatial_merge_candidates.
2015-12-15 11:21:39 +02:00
Ari Koivula
0722f461c5
Fix compiling tests on mac
...
The mac version of KVZ_GET_TIME macro has many statements, which
prevented it being used inside a for loop statement. Added brackets
to all versions to prevent this issue arising in the future.
Fixes #115 .
2015-11-13 22:57:29 +02:00
Ari Koivula
93637f4683
Move macros in threads.h to KVZ_ namespace
2015-11-13 22:46:32 +02:00
Ari Lemmetti
6214e2b328
Fix small typos
2015-10-05 19:41:23 +03:00
Ari Lemmetti
9051fbf593
Fix function names in speed tests
2015-09-18 17:15:59 +03:00
Ari Koivula
09baa6bd5e
Fix intra_sad and satd_tests
...
The tests were not being run, because the names have changed.
2015-09-18 15:26:37 +03:00
Arttu Ylä-Outinen
3a10e9e3e0
Prefix all non-static symbols with "kvz_".
2015-08-26 13:02:28 +03:00
Ari Lemmetti
5d96dbc6c0
Make strategy selection use bit depth given via parameter instead of excluding registration with defines
2015-08-12 13:33:38 +03:00
Ari Lemmetti
f6ffa1af8b
Disable tests with bit depth other than 8
2015-08-12 11:36:32 +03:00
Ari Lemmetti
4122f36089
Prevent the registration of strategies that are incompatible when KVZ_BIT_DEPTH != 8
...
Remove unnecessary or misleading mentions of "8bit"
2015-08-12 11:29:53 +03:00
Arttu Ylä-Outinen
e3fbd6d2be
Fix test compilation warnings.
...
- Turn global variables static.
- Increase size of bufs array in intra_sad_tests.
2015-07-02 16:58:30 +03:00
Arttu Ylä-Outinen
f7f17a060c
Rename pixel_t to kvz_pixel.
2015-07-02 16:58:28 +03:00
Arttu Ylä-Outinen
17d720363a
Rename struct image_t to kvz_picture.
2015-07-02 16:55:48 +03:00
Arttu Ylä-Outinen
fab07d80da
Rename macro BIT_DEPTH to KVZ_BIT_DEPTH.
2015-07-02 16:55:47 +03:00
Arttu Ylä-Outinen
fe3b629905
Move poc from image_t to image_list_t.
2015-07-02 16:24:25 +03:00
Ari Koivula
ded6fd9ee8
Renamed typedef pixel to pixel_t.
2015-03-04 16:35:53 +02:00
Ari Koivula
e95b138e62
Rename struct strategy_list to strategy_list_t.
2015-03-04 16:23:04 +02:00
Ari Koivula
95afc5af51
Rename struct strategy to strategy_t.
2015-03-04 16:17:45 +02:00
Ari Koivula
fe55961f84
Rename struct image to image_t.
2015-03-04 14:01:17 +02:00
Ari Koivula
d7383ccb25
Change license to LGPL.
...
- Everyone who has contributed code to the project has been asked to license
their contributions under LPGL and they have agreed.
- COPYING file changed to say LGPLv2.1 instead of GPLv2.
- GPL changed to LGPL in the header of every single file that a header and
header added to the few that were missing one.
- Also.. Happy new year!
2015-02-25 15:19:05 +02:00
Ari Koivula
5fa6438b25
Clean up calls to memset.
...
- Replaces all calls to memset with new FILL and FILL_ARRAY macros. The use
of memset was inconsistent and we never use it for anything complicated.
2015-02-19 16:25:28 +02:00
Ari Lemmetti
dfd40467c4
Removed duplicate consts.
2014-10-29 15:42:16 +02:00
Ari Lemmetti
a64aae7c53
Makefile now compiles tests. Fixed test files. Removed unused stuff.
2014-10-29 15:32:47 +02:00
Ari Koivula
f6272f06fc
Unify signature for transform functions.
...
- Some used block, coeff and some src, dst. Now all signatures are const input
and non-const output.
2014-10-03 11:21:43 +03:00
Ari Koivula
4e6691cff1
Fix problems with unit tests.
...
- Cast function pointers to correct function signatures.
- Increase number of buffers on SATD tests so the initialization doesn't
overflow them and initialize the unused buffers to null.
2014-10-03 11:14:57 +03:00
Ari Lemmetti
823ee69c64
Added tests for DCT/IDCT
2014-10-02 13:24:29 +03:00
Ari Koivula
d93f0ac71f
Add benchmark test for dct functions.
2014-07-31 13:25:28 +03:00
Ari Koivula
150a47435d
Add missing files.
2014-07-30 15:26:20 +03:00
Ari Koivula
b5944d5d3c
Move test strategy initialization to its own module.
2014-07-29 08:31:28 +03:00
Ari Koivula
538c9ec85b
Add a benchmark for strategies.
...
- usage: kvazaar_tests -v -s speed
Conflicts:
build/kvazaar_tests/kvazaar_tests.vcxproj
build/kvazaar_tests/kvazaar_tests.vcxproj.filters
tests/tests_main.c
2014-07-28 12:34:12 +03:00
Ari Koivula
fa39a44fac
Add gradient test to intra sad.
2014-07-28 12:31:49 +03:00
Ari Lemmetti
7309706e94
Removed unnecessary stuff from intra_sad_tests.c
2014-07-23 11:51:17 +03:00
Ari Lemmetti
a64df6f0d0
Merge branch 'asm'
...
Conflicts:
build/kvazaar_lib/kvazaar_lib.vcxproj.filters
src/Makefile
src/strategies/strategies-picture.c
2014-07-21 16:41:09 +03:00
Ari Koivula
a8f7103797
Add AVX2 implementations for sad_8bit_ 8x8, 16x16 and 32x32.
2014-07-18 18:27:30 +03:00
Ari Lemmetti
1e94262f85
Made AVX asm compatible with the changed system
...
- x86inc.asm is now located in extras
- Removed unused cpu.asm/h
2014-07-14 18:51:17 +03:00
Ari Lemmetti
2169f9ab8c
Added AVX asm comments and fixes
...
-Added vzeroupper to satd macro to prevent AVX-SSE transition penalties int picture_x86.asm
-Fixed the order of registers in zero extend macro in picture_x86.asm
-Fixed SATD checkers test pattern in satd_tests.c
2014-07-14 14:43:36 +03:00
Ari Lemmetti
048127c7e3
AVX assembly optimizations improved
2014-07-02 16:57:06 +03:00
Ari Koivula
ab3845c9c7
Add some intra sad tests.
2014-06-16 18:03:56 +03:00
Ari Koivula
4469b1680f
Fix inter sad tests.
...
- Because intra sad functions were added to the same module, they were being
called as if they were reg_sad, which of course failed.
Conflicts:
tests/sad_tests.c
2014-06-16 18:03:39 +03:00
Ari Koivula
cebdd7d5f9
Update tests.
2014-06-16 16:07:11 +03:00
Ari Koivula
5fad064754
Add unit tests for intrinsic reg_sad functions.
2014-06-13 15:30:23 +03:00
Ari Koivula
9a3569b5c6
Update unit tests to work with current build.
...
- Updating picture_list wasn't really worth it so I removed it.
2014-06-13 15:30:23 +03:00
Ari Koivula
db0bcfff98
Update unit tests.
...
- Vectors that point far outside the frame don't work, although the special
case of them pointing right beside the frame works. So test for vectors
pointing farther away.
- Update include directory for greatest.
2014-02-07 14:24:18 +02:00
Ari Koivula
478740cf21
Add missing new lines to ends of files.
2014-02-03 16:54:03 +02:00
Ari Koivula
6b4d113feb
Replace seatest with greatest as a framework for unit tests.
...
- Add our own Github fork of greatest as a submodule, in case we want to
improve it and push changes upstream easily in the future.
- Update existing unit tests to use greatest.
- Update Visual Studio project to remove traces of seatest and include greatest.
2014-01-31 15:57:49 +02:00
Ari Koivula
7d5c3f7d0f
Rename sad_tests.cpp to sad_tests.c.
2014-01-31 14:36:50 +02:00
Ari Koivula
69d1f6d1e2
Clean up the code.
...
- Rename get_block_sad to calc_sad and handle special cases in general_sad.
- Remove old search functions because I don't want to update or test them.
2013-10-11 15:19:21 +03:00
Ari Koivula
b155d825be
Add tests for movement vectors that are completely out of frame.
2013-10-11 14:11:49 +03:00