Release of SVT-AV1 4.3.0, an encoder for the AV1 video format

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

SVT-AV1 can be built for systems based on any architecture for which a C99-compliant compiler is available, but the best performance is achieved on x86_64 systems, where assembler optimizations based on SIMD instructions are applied (support for AVX2 in the CPU is preferable, but SSE2 is sufficient as a minimum). Memory consumption depends on the number of processor cores used during encoding, regulated by the "--lp" option. Due to the complexity of the algorithms used in AV1, encoding in this format requires significantly more resources than other formats.

Among the changes in the new SVT-AV1 release:

  • The optimization of the quality/speed trade-offs for all presets has been carried out, allowing for a CPU load reduction of 5-8% while maintaining the same quality level, as well as shortening encoding time by 10-11% in multithreaded mode. The execution of operations that exclude inefficient encoding modes (MD — Mode Decision), motion vector calculations (MV — Motion Vector), and filter parameters during encoding, frequency coefficient size calculations, sub-pixel motion search, block copying, and unnecessary detail elimination using the RDOQ (Rate-Distortion Optimized Quantization) algorithm has been accelerated. In multithreaded mode, the algorithm for identifying screen content translation is now applied only to I-frames to save resources.
  • An experimental flag "--fast-decode 3" has been added to speed up the decoding of static images.
  • A new flag "—fgs-table" has been added, which includes support for film grain tables, and the API FILM_GRAIN_EVENT to set grain parameters tied to frames.
  • The speed of lossless encoding has been improved.
  • In low-latency encoding mode, parallel processing of tile blocks has been implemented.
  • An option "max_allowed_consecutive_frames_skips" has been added to configure frame skipping in Constant Bit Rate (CBR) mode.
  • The parameter "max_hierarchical_levels" has been added to control the buffer pool used when resizing mini-GOP (Group of Pictures).
  • The build option "—mobile-build" (in CMake — MOBILE_BUILD) has been added for generating an 8-bit library for RTC, VOD, and AVIF. CONFIG_ENABLE_* options have been added to disable the build of unused encoding tools.
  • For x86 systems, 8-bit CDEF handlers based on AVX2 and SSE4.1 instructions, as well as 16-bit direct transformations based on AVX2 and AVX-512 instructions, have been implemented. Optimized code using SSE4.1 instructions has been added for inter-frame prediction, palette handling, and transformations. Handlers for quantization, block copying, distortion calculation, and subpixel difference evaluation have been optimized.
  • For ARM systems, processor-instruction accelerated handler variants using Neon have been added.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster