v2.2.0
uvg266
We now also have a VVC encoder called uvg266, which is available at github/uvg266. The majority of future development will go towards uvg266 but do not consider Kvazaar to be abandoned!
Features
- Updated Region of Interest (ROI) functionality to allow separate ROI map for each frame
- Improve inter search
- Update cabac context during search to improve the accuracy of bit cost estimation
- Move intra chroma search option from
--rd 3to its own option--(no-)intra-chroma-searchand fast bipred to--(no-)fast-bipred - Change maximum rd level to 4, where 3 performs more rd search for inter and 4 performs full intra search
- Add
--(no-)combine-intra-cusfor controlling whether the larger intra blocks are tried even when search at current depth is disabled - Add
--force-interfor debugging purposes to force all PUs in inter slices to use best inter mode
Optimizations
- AVX2 implementations of bidirectional blending
Fixes
- Make sure the dpb is more than max_num_reorder_pics 899c672ed15a522fe2391ff81eef682e0a9d89a9
- Compute proper count of buffered frames for vps and sps. Use common function d4880be6f256bb7ccbcab844c2488162b9580f15
- Fix some strategy function pointer signatures a4005046ae2ebb3c88e92ff06736ce57b60fdcc7
External contributors
- build: fix automake warning by @bradh in https://github.com/ultravideo/kvazaar/pull/335
- cli: add missing newlines in usage by @bradh in https://github.com/ultravideo/kvazaar/pull/336
- refactor SEI by @bradh in https://github.com/ultravideo/kvazaar/pull/341
- cli: minor api doc fix by @bradh in https://github.com/ultravideo/kvazaar/pull/342
- add sudo ldconfig by @binbinzhm in https://github.com/ultravideo/kvazaar/pull/345
- Enable -mpopcnt and -mlzcnt on AVX2 by @klondi in https://github.com/ultravideo/kvazaar/pull/301
New Contributors
- @bradh made their first contribution in https://github.com/ultravideo/kvazaar/pull/335
- @binbinzhm made their first contribution in https://github.com/ultravideo/kvazaar/pull/345
- @klondi made their first contribution in https://github.com/ultravideo/kvazaar/pull/301
Performance
BD-Bitrate
Average BD-Bitrate compared with v2.1:
| class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs | |:------:|--------|---------|----------|----------|----------|----------|----------|---------|--------| | hevc-A | 0.4 % | 0.7 % | 0.0 % | -0.1 % | 0.0 % | -1.1 % | -0.8 % | 0.2 % | -5.1 % | | hevc-B | 0.3 % | 0.4 % | -0.3 % | -0.6 % | -0.4 % | -1.7 % | -1.2 % | 0.1 % | -7.1 % | | hevc-C | 0.5 % | 1.1 % | 0.7 % | 0.5 % | 0.2 % | -0.8 % | -0.4 % | 0.4 % | -5.5 % | | hevc-D | 0.4 % | 1.5 % | 1.0 % | 0.6 % | 0.7 % | -0.3 % | -0.1 % | 0.4 % | -6.6 % | | hevc-E | -2.1 % | -1.7 % | -2.2 % | -2.5 % | -2.5 % | -1.4 % | -1.1 % | -1.1 % | -5.4 % | | hevc-F | -0.1 % | 0.2 % | -0.2 % | -0.2 % | -0.3 % | -0.6 % | -0.4 % | 0.1 % | -3.1 % | ||||||||| | total | 0.0 % | 0.4 % | -0.1 % | -0.3 % | -0.3 % | -1.0 % | -0.7 % | 0.0 % | -5.6 % |
Speedup
Average speedup compared with v2.1 on an Intel Xeon W-2145 (8-core) machine: | class | 0-uf | 1-sf | 2-vf | 3-fr | 4-f | 5-m | 6-s | 7-sr | 8-vs | |:------:|-------|-------|-------|-------|-------|-------|-------|-------|-------| | hevc-A | 1.09x | 1.10x | 1.12x | 1.14x | 1.15x | 1.08x | 1.04x | 1.10x | 0.68x | | hevc-B | 1.10x | 1.09x | 1.15x | 1.15x | 1.15x | 1.09x | 1.07x | 1.14x | 0.66x | | hevc-C | 1.11x | 1.06x | 1.11x | 1.14x | 1.14x | 1.07x | 1.08x | 1.03x | 0.75x | | hevc-D | 1.08x | 1.08x | 1.13x | 1.13x | 1.14x | 1.08x | 1.08x | 1.06x | 0.71x | | hevc-E | 1.07x | 1.08x | 1.11x | 1.14x | 1.14x | 1.08x | 1.10x | 1.12x | 0.62x | | hevc-F | 1.10x | 1.05x | 1.07x | 1.09x | 1.08x | 1.05x | 1.05x | 1.02x | 0.67x | ||||||||| | total | 1.09x | 1.08x | 1.12x | 1.13x | 1.13x | 1.08x | 1.07x | 1.08x | 0.68x |
Full Changelog: https://github.com/ultravideo/kvazaar/compare/v2.1.0...v2.2.0