We made a lot of progress in v2.2.1-A & v2.2.1-B, but we still have more for you on the heels of mainline's release with SVT-AV1-PSY v2.3.0! 🌠
PSY Updates
Features
- New parameter
--kf-tf-strength
for controlling alternate reference frame temporal filtering on keyframes. This should enable users to more finely control temporal filtering, specifically in scenarios where the benefits of lower--tf-strength
are desired without the accompanying bitrate increase. The default value for this new parameter is 1.
Quality & Performance
- Tune 4 now considers user-selected min & max QM values
- Tune 4's chroma boost curve has been modified to be more compression efficient
- The deblocking loop filter has been disabled at medium-high to high fidelity when using Tune 4
Documentation
- Removed deprecated
no-dec
build option frombuild.sh
example command list
Bug Fixes
- Reverted optimized 32 and wider AVX2 block subtract due to a suspect memory issue causing crashing according to some users
- Corrected noise normalization strength not being printed correctly when set to 0 with Tune 3
- Fixed user-specified disablement of temporal filtering being ignored
Mainline Updates
API updates
- Preset shift: M12/M13 mapped to M11, M7-M11 shifted one position down. API does not change, all presets from MR-M13 will still be accepted
- svt_av1_enc_get_packet API is now a blocking call for low-delay enforcing a picture in, picture out model
- --fast-decode range changed from 0-1 to 0-2 available on all presets
- Introducing a new definition of --lp being levels of parallelism with a new field in the config structure level_of_parallelism
- logical_processors will be deprecated in the 3.0 release
Encoder
- NEW FAST DECODE MODE
- New fast-decode (2) to allow for an average AV1 software cycle reduction of 25-50% vs fast-decode 0 with a 1-3% BD-Rate loss across the presets
- Improved fast-decode (1) option to increase its AV1 software cycle reduction by ~10% while maintaining the same quality levels
- Improved --lp settings for high resolutions, with CRF gaining a ~4% improvement in speed and VBR gaining ~15%
- Further Arm-based optimizations improving the efficiency of previously written Arm-neon implementations by an average of 30%. See below for more information on specific presets
- Address speed regressions for high resolutions first pass encode by tuning the threading parameters, with 1080p showing the biggest gains
- Enabled AVX512 by default in cmake allowing for ~2-4% speedup
- Enabled LTO by default if using a new enough compiler
- If LTO is a problem or causes one, it can be disabled by adding -DSVT_AV1_LTO=OFF to cmake to force it off.
- Please report any issues that occur when using it.
Cleanup Build & Bug Fixes & Documentation
- third_party: update safestringlib with applicable upstream changes
- Improved the unit test coverage for Arm-neon code
- Updated documentation
Arm Improvements
- Speed comparison was done against v2.2 on AWS Graviton4 instances with Clang 19.1.1
--lp 1
was used for all tests
Standard bitdepth (Bosphorus 1080p):
Preset | Uplift |
---|---|
0 | 1.15x |
1 | 1.24x |
2 | 1.29x |
3 | 1.17x |
4 | 1.22x |
5 | 1.31x |
6 | 1.40x |
7 (against 2.2 preset 8) | 1.50x |
8 (against 2.2 preset 9) | 1.61x |
9 (against 2.2 preset 10 | 1.31x |
10 (against 2.2 preset 11 ) | 1.29x |
11 (against 2.2 preset 12/13) | 1.24x |
High bitdepth (Bosphorus 2160p):
Preset | Uplift |
---|---|
0 | 1.18x |
1 | 1.19x |
2 | 1.16x |
3 | 1.27x |
4 | 1.33x |
5 | 1.27x |
6 | 1.33x |
7 (against 2.2 preset 8) | 1.35x |
8 (against 2.2 preset 9) | 1.82x |
9 (against 2.2 preset 10) | 1.95x |
10 (against 2.2 preset 11) | 1.40x |
11 (against 2.2 preset 12/13) | 1.35x |
Huge thanks to the mainline devs for these incredible improvements!
Support Us
As SVT-AV1-PSY's codebase has become more complex and the encoder's capabilities have increased dramatically, our efforts have scaled in kind. We have poured hours into coding, testing, distributing, and supporting this piece of open-source software entirely for free, and our work isn't stopping any time soon.
If you appreciate the work that we do and you'd like to support us, we are always excited to see code contributions from outside of the core development team. Otherwise, you can support us monetarily via the links below.
Gianni Rosato: Donate
Julio Barba: Coming Soon
BlueSwordM: Coming Soon
Clybius: Coming Soon
You can also visit our website at svt-av1-psy.com. Any support you can offer goes a long way, and we sincerely appreciate it.
Binaries
Linux builds: (MD5: fd3174b3fb83bf2b7c9212080d0e424c
)
- AVX2 (x86-64-v3)
macOS builds: (MD5: 5a44e0e98bcd91fe7a0cf89fd2a5e5aa
)
- AArch64 (Apple Silicon)
Other builds: Community Builds Thread
(Unofficial)
Thanks for using SVT-AV1-PSY! <3
Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.3.0