Marko Viitanen
7671f19f2f
Fix tests/test_gop.sh environmental variable testing
2018-10-05 08:32:11 +03:00
Marko Viitanen
75dce4f3ce
Fix low-delay-gop usage with --no-open-gop
2018-10-04 15:16:02 +03:00
Marko Viitanen
780e5ef86b
Merge branch 'open-gop'
2018-10-04 14:47:19 +03:00
Marko Viitanen
077b6ba2f7
Add CI tests for closed gop
2018-10-04 14:42:06 +03:00
Marko Viitanen
de71b58f76
Change closed GOP structure to include an additional IDR between GOPs
2018-10-04 11:17:03 +03:00
Marko Viitanen
954f07e3d7
Add --(no-)open-gop option
2018-10-02 10:05:32 +03:00
Marko Viitanen
8bef85e056
Merge branch 'set-qp-in-cu'
2018-09-03 08:33:33 +03:00
Ari Lemmetti
2fdcc2b79d
Add option --set-qp-in-cu
2018-09-03 08:32:45 +03:00
Marko Viitanen
b85ae3688e
Signal QP in slice header if tiles and slices=tiles are enabled
...
Keeps the PPS constant for various purposes
2018-08-16 08:44:39 +03:00
Arttu Ylä-Outinen
9d22c1ec3e
Merge branch 'coeff-cost-estimation'
2018-07-17 10:56:50 +03:00
Arttu Ylä-Outinen
83555c3d6d
Enable --fast-residual-cost with fastest presets
2018-07-16 12:31:20 +03:00
Arttu Ylä-Outinen
c438bb4a19
Add an option to skip CABAC for residual costs
...
Adds command line option --fast-residual-cost=<limit>. When QP is below
the limit, estimates the cost of coding the residual coefficients from
the sum of absolute coefficients. Skipping CABAC is not worth it with
high QPs because there are fewer coefficients so CABAC is not as slow.
2018-07-16 12:31:20 +03:00
Arttu Ylä-Outinen
cbb5b20449
Merge branch 'gitlab-ci-fix'
2018-07-06 08:59:55 +03:00
Arttu Ylä-Outinen
31786a9266
Fix ASan test on Gitlab CI
...
Changes test_external_symbols.sh to expect a failure with ASan.
2018-07-05 16:05:55 +03:00
Arttu Ylä-Outinen
b7474eb532
Fix SAO buffer sizes
...
Increases sizes of buffers used for SAO reconstruction to avoid stack
buffer overflow in AVX2 SAO reconstruction.
2018-07-05 15:56:30 +03:00
Arttu Ylä-Outinen
120f285eb7
Fix Gitlab CI tests
...
Drops the build stage in Gitlab CI tests and includes build in the test
jobs. Building in a separate stage did not work as intended. The test
jobs rebuilt Kvazaar without the CFLAGS given in the build jobs and
overwrote the results from the build jobs. The test were therefore run
without the sanitizers enabled.
2018-07-05 14:44:15 +03:00
Arttu Ylä-Outinen
b37470e80f
Merge pull request #207 from jbeich/maltivec
...
Unbreak build on PowerPC if AltiVec isn't supported
2018-07-04 11:06:41 +03:00
Arttu Ylä-Outinen
ee27d9359b
Merge pull request #206 from jbeich/powerpc
...
Clean up macOS includes in src/strategyselector.c
2018-07-04 11:05:07 +03:00
Jan Beich
4f4bea7496
Check -maltivec is supported before using
...
PowerPC target may lack or have non-standard FPU:
$ cc -dumpmachine
powerpcspe-undermydesk-freebsd
$ cc -c -maltivec -Isrc src/strategies/altivec/picture-altivec.c
src/strategies/altivec/picture-altivec.c:1: error: AltiVec and E500 instructions cannot coexist
2018-07-02 23:25:23 +00:00
Jan Beich
b892d820f8
Clean up macOS includes on powerpc* after 93e1c9f1c3
...
strategyselector.c:426:25: machine/cpu.h: No such file or directory
2018-07-02 21:52:45 +00:00
Arttu Ylä-Outinen
2f995f4325
Merge pull request #205 from jbeich/powerpc
...
Unbreak build on non-Linux powerpc*
2018-06-19 13:28:00 +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
abdebe0bf9
Fix --owf help message
...
The number of parallel frames is --owf plus one, not --owf minus one.
Fixes #204 .
2018-06-18 09:33:36 +03:00
Jan Beich
93e1c9f1c3
Add AltiVec detection for BSDs
...
strategyselector.c:377:26: linux/auxvec.h: No such file or directory
2018-06-17 15:38:24 +00:00
Arttu Ylä-Outinen
69d836d1b2
Merge branch 'tier-flag'
2018-06-14 12:43:52 +03:00
Arttu Ylä-Outinen
ac9c07be29
Update README and manpage
2018-06-14 12:43:10 +03:00
Miika Metsoila
98972d26c2
Document that the high tier requires level 4 or higher
2018-06-14 12:41:03 +03:00
Miika Metsoila
62b44efaa4
Write the encoding tier (main/high) into the bitstream
2018-06-14 12:41:03 +03:00
Arttu Ylä-Outinen
324203e5b4
Merge branch 'ci-changes'
2018-06-14 12:31:32 +03:00
Arttu Ylä-Outinen
5577c0d64b
Enable sanitizers in Gitlab CI
...
Enables build and test with AddressSanitizer, ThreadSanitizer and
UndefinedBehaviorSanitizer in Gitlab CI configuration. The LeakSanitizer
component of AddressSanitizer is disabled because ptrace cannot be used
inside the container.
2018-06-14 12:11:44 +03:00
Arttu Ylä-Outinen
b697d1fb96
Print config.log when configure fails in Gitlab CI
2018-06-14 12:09:18 +03:00
Arttu Ylä-Outinen
121cb659ba
Cosmetic fixes to .gitlab-ci.yml
...
- Drops trailing whitespace.
- Splits long lines.
2018-06-14 12:09:16 +03:00
Marko Viitanen
6065acd67e
Use ultravideo/kvazaar_ci_base image to reduce installation needs
2018-06-14 12:05:46 +03:00
Marko Viitanen
ca248d5499
Try running tests in separate job
2018-06-14 12:05:46 +03:00
Marko Viitanen
08c3cf3f2d
Add .gitlab-ci.yml
2018-06-14 12:05:46 +03:00
Arttu Ylä-Outinen
2861bf06d2
Use AddressSanitizer instead of valgrind
...
Changes GCC test on Travis CI to use AddressSanitizer instead of
valgrind for memory error detection.
2018-06-14 11:56:39 +03:00
Arttu Ylä-Outinen
a4a024443b
Print config.log when configure fails on Travis CI
2018-06-14 11:52:42 +03:00
Arttu Ylä-Outinen
15fa6da2e3
Enable UndefinedBehaviorSanitizer in CI tests
...
Adds an entry with -fsanitize=undefined to the Travis CI build matrix.
2018-06-14 11:52:33 +03:00
Arttu Ylä-Outinen
16fe5e0593
Enable ThreadSanitizer in CI tests
...
Adds an entry with -fsanitize=thread to the Travis CI build matrix.
2018-06-14 09:53:12 +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
a343f6d587
Prepare for delta QPs at CU-level
...
- Replaces lcu_dqp_enabled with max_qp_delta_depth in encoder_control_t.
- Fixes set_cu_qps so that it can handle quantization groups of
arbitrary size.
- Fixes computation of QP predictors so that it works for quantization
groups of arbitrary size.
2018-06-13 15:36:19 +03:00
Arttu Ylä-Outinen
a3274de3b4
Merge branch 'wextra'
2018-06-12 14:03:13 +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
ff17e0ba17
Enable -Wextra
...
Enables extra warnings with -Wextra by default and disables sign-compare
and unused-parameter warnings.
2018-06-12 11:20:42 +03:00
Arttu Ylä-Outinen
dc6b2024ea
Modify reference count asserts to fix data races
...
Changes asserts on the reference count of objects to assert the value
after KVZ_ATOMIC_INC instead of directly checking the value. Fixes some
data races detected by TSan.
2018-06-12 09:35:07 +03:00
Ari Lemmetti
4fb1c16c61
Add early termination for intra rdo when a zero coefficient block is found.
2018-06-08 21:03:07 +03:00
Ari Lemmetti
492529fb7a
Add the same comment to help message as well...
2018-05-30 14:13:15 +03:00
Ari Lemmetti
2bc459411d
Add note about wpp and tiles not being supported simultaneously by any HEVC profile
2018-05-30 13:30:09 +03:00
Ari Lemmetti
f9463d08b5
Clarify visualizator instructions
2018-05-30 12:58:13 +03:00
Ari Lemmetti
0d5972bf03
Add missing sort to intra transform split search so mode at 0 is the best
2018-05-21 13:10:38 +03:00