Visit the Downloads page to get the latest release now! →

About Releases

SVT-AV1-PSY releases often feature the same version numbers as mainline releases, as our cadence is in line with theirs. However, this doesn't mean the codebases are identical; SVT-AV1-PSY releases always feature changes. We also have our own micro-release framework that enables us to publish releases outside of the mainline cadence; these will be marked by a letter starting at A, then B, etc. So, v2.1.0-A would succeed v2.1.0. The releases below are also enumerated on our GitHub Releases page.

GitHub Logo

SVT-AV1-PSY v2.2.1

Just a quick update with a couple of bug fixes & documentation adjustments 🐞

PSY Updates

Documentation

  • Fix --tf-strength parameter information in the README
  • Add donation info

Bug Fixes

  • Fix multiple-counting block bug in Tune 3 SSIM rdmult

Mainline Updates

Cleanup, bug fixes

  • Fixed debug arm macOS builds by removing invalid assert

Support Us

See About Page

Thanks for using SVT-AV1-PSY! <3

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.2.1

SVT-AV1-PSY v2.2.0

Long time no see! We're back with another exciting release: SVT-AV1-PSY v2.2.0! 🎉

PSY Updates

Features

  • --tf-strength parameter for manually adjusting temporal filtering strength. By default, reduces temporal filtering strength by 4x
  • --chroma-qm-min & --chroma-qm-max parameters for adjusting quantization matrix flatness for chroma planes
  • --tune 4 - A new Tune called Still Picture has been introduced for AVIF encoding, with promising gains observed over aomenc, aomenc 4:4:4, and mainline SVT-AV1

Quality & Performance

  • Enable 10-bit subpixel motion estimation processing for 10-bit inputs on Preset 3 & below
  • Enable SUPERRES_AUTO_ALL for Tune 3 when superres-mode=4
    • Disables ALT-REF superres for speed and quality
  • Add unipred bias for SSIM full mode decision cost when using Tune 3
  • New perceptual QM curve when using Tune 3
    • Better chroma QM adjustment & better high fidelity performance
  • Vastly improved screen content detection when --scm 2 is set. Currently only enabled in Tune 4

Documentation

  • --help menu correctly prints maximum CRF value (70)
  • Default Tune 2 is better reflected across documentation
  • Updated build documentation
  • Additional featured projects

Bug Fixes

  • Scoped down QM disablement to only affect NEON-enabled systems
  • Scoped down global sharpness features to --sharpness 1, as was the original intention

Mainline Updates

API updates

  • No API changes on this release

Encoder

  • Improve the tradeoffs for the random access mode across presets:
    • Speedup of ~15% across presets M0 - M8 while maintaining similar quality levels
  • Improve the tradeoffs for the low-delay mode across presets
  • Increased temporal resolution setting to 6L for 4k resolutions by default
  • Added ARM optimizations for functions with c_only equivalent yielding an average speedup of ~13% for 4k 10-bit

Cleanup Build & bug fixes & documentation

  • Profile-guided-optimized helper build overhaul
  • Major cleanup and fixing of Neon unit test suite
  • Address stylecheck dependence on public repositories

Support Us

See About Page

Thanks for using SVT-AV1-PSY! <3

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.2.0

SVT-AV1-PSY v2.1.0-A

Hi there! We're back with our micro-release format to announce some exciting changes in SVT-AV1-PSY v2.1.0-A! 🎉

PSY Updates

Features

  • New parameter --max-32-tx-size, which restricts block transform sizes to a maximum of 32x32 pixels. This can be useful in very specific scenarios for improving overall efficiency
  • Added support for HDR10+ JSON files via a new --hdr10plus-json parameter (thanks @quietvoid!). In order to build a binary with support for HDR10+, see our PSY Development page.
  • New parameter --adaptive-film-grain, which helps remedy perceptually harmful grain patterns caused by extracting grain from blocks that are too large for a given video resolution. This parameter is enabled by default

Quality & Performance

  • Disabled SSIM-cost transform decisions while keeping SSIM-cost mode decisions, generally improving Tune 3's efficiency & consistency
  • Additional NEON optimizations for ARM platforms, providing a speed increase

Documentation

  • All of the features present in this release have been documented, so associated documentation has been updated accordingly
  • Build documentation updated to reflect the HDR10+ build option

Bug Fixes

  • Disabled quantization matrices for presets 5 and higher due to a visual consistency bug (#56)

Thanks for using SVT-AV1-PSY! ♥️

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.1.0-A

SVT-AV1-PSY v2.1.0

Hi again! We're just barely trailing mainline's recent release to announce some exciting new changes in SVT-AV1-PSY v2.1.0! 🎉

PSY Updates

Documentation

  • Additional PNG images have been transcoded to WebP
  • Variance boost docs feature AVIF & WebP images
  • Added Staxrip to featured projects in README. Welcome aboard!

Bug Fixes

  • Removed ANSI escape color sequences for Windows builds (#46)

Other

  • This major release doesn't have a micro-release letter, & is just labelled PSY Release: N/A - if we're doing a release in line with mainline, PSY release lettering will start at N/A & progress to A, B, etc from there.

Mainline Updates

API updates

  • One config parameter added within the padding size. Config param structure size remains unchanged
  • Presets 6 and 12 are now pointing to presets 7 and 13 respectively due to the lack of spacing between the presets
  • Further preset shuffling is being discussed in #2152

Encoder

  • Added variance boost support to improve visual quality for the tune vq mode
  • Improve the tradeoffs for the random access mode across presets:
  • Speedup of 12-40% presets M0, M3, M5 and M6 while maintaining similar quality levels
  • Improved the compression efficiency of presets M11-M13 by 1-2%
  • Added ARM optimizations for functions with c-only equivalent

Cleanup, build, bug fixes & documentation

  • Use nasm as a default assembler and yasm as a fallback
  • Fix performance regression for systems with multiple processor groups
  • Enable building SvtAv1ApiTests and SvtAv1E2ETests for ARM
  • Added variance boost documentation
  • Added a mailmap file to map duplicate git generated emails to the appropriate author

Thanks for using SVT-AV1-PSY! ♥️

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.1.0

SVT-AV1-PSY v2.0.0-A

Hi there! We're back with a new micro-release format to announce some exciting changes in SVT-AV1-PSY v2.0.0-A! 🎉

PSY Updates

Features

  • The CRF range, previously capped at 63, has been extended to a maximum value of 70. It can also be incremented in quarter increments of 0.25
  • New option: --enable-dlf 2 for a slower, more accurate deblocking loop filter
  • New option: --qp-scale-compress-strength (0 to 3) which sets a strength for the QP scale algorithm to compress values across all temporal layers. Higher values result in more consistent video quality
  • New option: --frame-luma-bias (0 to 100) enables experimental frame-level luma bias to improve quality in dark scenes by adjusting frame-level QP based on average luminance across each frame

Quality & Performance

  • A temporal layer chroma qindex offset has been added to Tune 3 for more consistent quality across frames when encoding
  • Minor speed bump to Preset 8
  • Encoder innovation: Dynamic delta_q_res switching implemented to help reduce signaling overhead, which should improve quality especially at CRF ≥40!
  • Other general improvements to Tune 3

Documentation

  • PNG images have been replaced with smaller lossless WebP images, resulting in faster loading & repository cloning times.
  • More consistent & thorough PSY Development page, including build instructions

Bug Fixes

  • Help menu formatting adjusted for less frequent underlining
  • --progress 2 no longer reports the same information as --progress 3

Other

  • Introducing PSY Micro-releases! Each micro-release will be marked with a letter, bringing a bundle of new features & improvements. The release letter will reset back to the initial A each time our mainline version is updated. More info can be found in this project's README & the PSY Development page

Thanks for using SVT-AV1-PSY! ♥️

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.0.0-A

SVT-AV1-PSY v2.0.0

Hello, everyone! We've been hard at work improving SVT-AV1 with our additions to the encoder improving visual fidelity. Little by little, we are working on trying to bring many of them to mainline! For the time being, I want to note that major SVT-AV1-PSY releases & mainline releases are not the same, and the codebases differ due to our changes; the version numbers may be identical, but the versions themselves are not, which is disclosed within the encoder's version information.

With that, we're excited to announce SVT-AV1-PSY v2.0.0! 🎉

PSY Updates

Variance boost

  • Moved varboost delta-q adjusting code to happen before TPL, giving TPL the opportunity to work with more accurate superblock delta-q priors, and produce better final rdmult lambda values
    • Fixed rare cases of pulsing at high CRFs (>=40) and strengths (3-4)
    • 2% avg. bitrate reduction for comparable image quality
  • Added an alternative boosting curve (--enable-alt-curve), with different variance/strength tradeoffs
  • Refactored boost code so it internally works with native q-step ratios
  • Removed legacy variance boosting method based on 64x64 values
    • Parameter --new-variance-octile -> --variance-octile

Excitingly, a var-boost mainline merge has been marked with the highest priority issue label by the mainline development team, so we may see this in mainline SVT-AV1 soon! Congrats @juliobbv! 🎉

Other

  • Presets got faster, so in addition to Preset -2, we have an even slower Preset -3
  • --sharpness now accepts negative values
  • The SVT-AV1-PSY encoder now supports Dolby Vision encoding via Dolby Vision RPUs. To build with Dolby Vision support, install libdovi & pass --enable-libdovi to ./build.sh on macOS/Linux (or enable-libdovi to ./build.bat on Windows).

Mainline Updates

Major API updates

  • Changed the API signaling the End Of Stream (EOS) with the last frame vs with an empty frame
  • OPT_LD_LATENCY2 making the change above is kept in the code to help devs with integration
  • The support of this API change has been merged to ffmpeg with a 2.0 version check
  • Removed the 3-pass VBR mode which changed the calling mechanism of multi-pass VBR
  • Moved to a new versioning scheme where the project major version will be updated every time API/ABI is changed

Encoder

  • Improve the tradeoffs for the random access mode across presets:
  • Speedup presets MR by ~100% and improved quality along with tradeoff improvements across the higher quality presets (!2179,#2158)
  • Improved the compression efficiency of presets M9-M13 by 1-4% (!2179)
  • Simplified VBR multi-pass to use 2 passes to allow integration with ffmpeg
  • Continued adding ARM optimizations for functions with c_only equivalent
  • Replaced the 3-pass VBR with a 2-pass VBR to ease the multi-pass integration with ffmpeg
  • Memory savings of 20-35% for LP 8 mode in preset M6 and below and 1-5% in other modes / presets
  • Film grain table support via --fgs-table (already in SVT-AV1-PSY) (link)
  • Disable film grain denoise by default (already in SVT-AV1-PSY) (link)

Cleanup, bug fixes & documentation

  • Various cleanups and functional bug fixes
  • Update the documentation to reflect the rate control

Thanks for using SVT-AV1-PSY! ♥️

Full Changelog: https://github.com/gianni-rosato/svt-av1-psy/commits/v2.0.0