v2.0.0
Kvazaar 2.0 has been released!
Since 1.3, the encoder has received such improvements and fixes that make this one of our most significant releases so far. It is only fitting to call this version 2.0.
Here are some of the more interesting changes in this release:
Important for MinGW users
AVX2 optimizations are no longer enabled for MinGW GCC due to stack alignment issues.
Use Clang for AVX2 support and therefore better performance.
Highlights
- Updated presets
- Updated GOP definitions using QP offset model.
- There is now even longer hierarchical GOP
--gop=16
- There is now even longer hierarchical GOP
- Much faster and improved bipred
- Alternative and better rate control algorithm, optimal bit allocation (
--rc-algorithm oba
) - Variance adaptive quantization (
--vaq
)
Features
- Option to set QP offset for intra frames (
--intra-qp-offset
, automatical by default) - Zero-coeff-rdo is now configurable (
--zero-coeff-rdo
) - Optional intra frame analysis for rate control (
--intra-bits
) - Optional machine learning based depth constraints for intra search (
--ml-pu-depth-intra
) - PU depths are now separately configurable for each GOP layer
User Interface
- Report bitrate and some kind of (cumulative) average QP
Optimizations:
- More AVX2 opimizations for SAO
- More AVX2 opimizations for transforms
- More AVX2 opimizations for intra prediction
- AVX2 strategy for variance calculation
...and several other improvements and fixes
BD-Bitrate
Average BD-Bitrate compared with v1.3:
class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs |
---|---|---|---|---|---|---|---|---|---|
hevc-A | -20.2 % | -21.4 % | -28.8 % | -24.8 % | -21.4 % | -23.5 % | -19.1 % | -11.3 % | -15.0 % |
hevc-B | -35.1 % | -34.5 % | -34.7 % | -31.8 % | -28.6 % | -29.5 % | -21.8 % | -11.4 % | -16.2 % |
hevc-C | -21.0 % | -23.6 % | -31.3 % | -27.7 % | -22.4 % | -23.5 % | -19.8 % | -12.9 % | -18.0 % |
hevc-D | -22.5 % | -26.6 % | -37.4 % | -33.2 % | -26.6 % | -25.3 % | -18.3 % | -10.8 % | -15.1 % |
hevc-E | -35.9 % | -34.9 % | -30.9 % | -29.8 % | -28.0 % | -30.4 % | -25.7 % | -19.0 % | -20.2 % |
hevc-F | -18.6 % | -17.7 % | -21.3 % | -19.9 % | -17.5 % | -15.2 % | -17.6 % | -26.8 % | -37.0 % |
Total | -26.0 % | -26.9 % | -31.1 % | -28.2 % | -24.4 % | -24.6 % | -20.3 % | -15.4 % | -20.6 % |
Speedup
Average speedup compared with v1.3 on an AMD Ryzen 7 1700X machine:
class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs |
---|---|---|---|---|---|---|---|---|---|
hevc-A | 0.90x | 0.75x | 0.80x | 0.78x | 0.93x | 1.11x | 1.21x | 1.23x | 0.95x |
hevc-B | 0.96x | 0.81x | 0.83x | 0.82x | 0.97x | 1.15x | 1.26x | 1.29x | 0.95x |
hevc-C | 0.94x | 0.78x | 0.73x | 0.70x | 0.83x | 1.12x | 1.22x | 1.26x | 0.86x |
hevc-D | 1.02x | 0.83x | 0.78x | 0.76x | 0.90x | 1.16x | 1.24x | 1.28x | 0.93x |
hevc-E | 0.95x | 0.84x | 0.91x | 0.89x | 1.06x | 1.45x | 1.56x | 1.42x | 1.16x |
hevc-F | 0.96x | 0.85x | 0.84x | 0.84x | 0.94x | 1.17x | 1.29x | 1.25x | 1.00x |
Total | 0.96x | 0.81x | 0.81x | 0.80x | 0.93x | 1.18x | 1.29x | 1.29x | 0.97x |