Release of SVT-AV1 1.5 video encoder developed by Intel

The release of the SVT-AV1 1.5 (Scalable Video Technology AV1) library with implementations of the encoder and decoder of the AV1 video encoding format has been published. The project was created by Intel in partnership with Netflix to achieve a level of performance suitable for on-the-fly video transcoding and use in video-on-demand (VOD) services. Currently, development is carried out under the auspices of the Open Media Alliance (AOMedia), which oversees the development of the AV1 video encoding format. Previously, the project was developed within the framework of the OpenVisualCloud project, which also develops SVT-HEVC and SVT-VP9 encoders. The code is distributed under the BSD license.

SVT-AV1 requires an x86_64 processor with support for AVX2 instructions. To encode 10-bit AV1 streams in 4K quality, 48 GB of RAM is required, 1080p 16 GB, 720p 8 GB, 480p 4 GB. Due to the complexity of the algorithms used in AV1, encoding this format requires significantly more resources than other formats, which does not allow using the standard AV1 encoder for real-time transcoding. For example, the stock encoder from the AV1 project requires 5721, 5869, and 658 times more computations than the x264 ("main" profile), x264 ("high" profile), and libvpx-vp9 encoders.

Among the changes in the new SVT-AV1 release:

  • Optimization of quality/speed trade-offs was carried out, as a result of which presets M1-M5 were accelerated by 15-30%, and presets M6-M13 by 1-3%.
  • A new MR preset (β€”preset -1) has been added that is touted as providing reference quality.
  • Optimization of presets M8-M13 in low latency encoding mode.
  • Added support for dynamic selection of "miniGOP" (Group of Pictures) change prediction hierarchies for random access configurations enabled by default in presets up to and including M9. It is also possible to specify a smaller miniGOP start size to speed up proactive loading.
  • Added the ability to change lambda scaling factors on the command line.
  • Rewritten plugin for gstreamer.
  • Added the ability to skip a certain number of frames before starting encoding.
  • Significant cleaning of unused variables and static functions has been carried out, comments in the code have been reformatted. The size of variable names has been reduced to make the code easier to read.

Source: opennet.ru

Add a comment