v1.2.0
We are happy to release Kvazaar version 1.2. Since the last version, Kvazaar has obtained significant speedups at all presets and the compression efficiency has improved for the fastest presets. Please find the complete list of changes below.
Features
- Intra prediction mode encryption with
--crypto=intra_pred_modes
(2b8ce5e) - Adaptive QP for 360° video with
--erp-aqp
(26adef4) - New selection algorithm for
--owf=auto
and--threads=auto
(8c4a347) - Added an option to set the encryption key using
--key
(2e13091) - Added an option to limit SAO to band offset or edge offset only with
--sao=band
and--sao=edge
(8674c0f)
Optimization
- Reduced number of intra modes checked when using
--rd=2
(2cad317) - Reduced inter-frame CTU dependencies caused by SAO (050e90d)
- Changed to a faster calculation for coefficient costs when using
--rd=0
(1ead9c0)
Fixes
- Fixed long motion vectors not getting clipped (#158, 85e2a40)
- Fixed order of pictures in reconstruction debug output when
--gop=8
is used (#101, aae141f) - Fixed a use-after-free when encoding very few frames with
--gop=8
(#161, 2991962) - Fixed a crash when video size is not a multiple of the smallest CU size (2f2405d)
- Fixed invalid bitstream when QP is too large (382636d)
- Fixed a race condition causing a deadlock (5f8e17d)
- Fixed a memory leak in encryption (8654b48)
- Fixed I-frames not being IRAP frames when using GOP (00c9f52, 841597e)
- Fixed computing inter and intra costs with different metrics (afc13f1)
- Fixed reliance on undefined behavior (b41f0fa, 924cf85)
- Fixed
--mv-constraint=frametilemargin
constraining motion vectors too much (409d211) - Fixed using
--bipred
with--tmvp
(#160, 9974380)
User Interface
- Changed type of
kvz_config.roi.dqps
fromuint8_t*
toint8_t
. Delta QP values for--roi
may now be negative. (79cb3a2) - Changed PSNR display format (20d6444)
Building
- Default to no
-Werror
. Runconfigure
with--enable-werror
to enable it. (033bc6b) make check
now runs valgrind tests that used to only run on Travis. Programsffmpeg
,valgrind
andTAppDecoderStatic
should be found from$PATH
(6bbe5e1)
Refactoring
- Removed duplicate code in inter MVP and merge candidate selection (4fb0783)
- Removed duplicate code in intra reconstruction for luma and chroma (e944416)
- Changed functions for writing the CU tree bitstream to use luma pixel coordinates (610c91b, f5eef7f)
- Removed duplicate code in functions for writing intra CU bitstream with and without encryption (525a518)
- Removed duplicate code in helper functions in
search.c
(2c73476) - Gathered function parameters for inter search functions into a single struct (2fa3d82)
BD-Bitrate
Average BD-Bitrate compared with v1.1:
Class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs |
---|---|---|---|---|---|---|---|---|---|
hevc-A | -15.71 % | -6.68 % | -4.66 % | -0.89 % | -1.11 % | -0.54 % | +0.04 % | -0.02 % | +0.32 % |
hevc-B | -19.04 % | -8.15 % | -6.92 % | -1.26 % | -1.48 % | -0.65 % | -0.33 % | -0.33 % | -0.07 % |
hevc-C | -20.39 % | -8.54 % | -5.01 % | -0.55 % | -0.72 % | -0.44 % | +0.03 % | -0.00 % | +0.23 % |
hevc-D | -13.24 % | -5.15 % | -2.54 % | -0.33 % | -0.51 % | -0.32 % | -0.10 % | -0.04 % | +0.13 % |
hevc-E | -4.37 % | -3.31 % | -1.90 % | -0.52 % | -1.10 % | -0.68 % | -0.74 % | -0.86 % | -0.78 % |
hevc-F | -12.42 % | -6.15 % | -5.25 % | +0.04 % | +0.24 % | +0.25 % | +0.32 % | +0.70 % | +0.90 % |
Total | -14.80 % | -6.59 % | -4.68 % | -0.60 % | -0.78 % | -0.39 % | -0.13 % | -0.08 % | +0.14 % |
Speedup
Average speedup compared with v1.1 on an Intel Core i7-4770 machine:
Class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs |
---|---|---|---|---|---|---|---|---|---|
hevc-A | x1.07 | x1.06 | x1.10 | x1.10 | x1.09 | x1.11 | x1.10 | x1.11 | x1.10 |
hevc-B | x1.06 | x1.07 | x1.09 | x1.11 | x1.09 | x1.13 | x1.12 | x1.13 | x1.14 |
hevc-C | x1.22 | x1.27 | x1.32 | x1.35 | x1.33 | x1.37 | x1.39 | x1.42 | x1.41 |
hevc-D | x1.34 | x1.58 | x1.64 | x1.60 | x1.58 | x1.54 | x1.55 | x1.57 | x1.54 |
hevc-E | x1.20 | x1.17 | x1.16 | x1.18 | x1.16 | x1.17 | x1.16 | x1.20 | x1.19 |
hevc-F | x1.25 | x1.20 | x1.20 | x1.23 | x1.20 | x1.24 | x1.24 | x1.27 | x1.27 |
Total | x1.19 | x1.22 | x1.24 | x1.26 | x1.24 | x1.26 | x1.26 | x1.28 | x1.28 |