Release of rav1e 0.3, Rust's AV1 encoder

Took place issue rav1e 0.3, high performance video encoding format encoder AV1, developed by the Xiph and Mozilla communities. The encoder is written in Rust and differs from the reference libaom encoder by a significant increase in encoding speed and increased attention to security. Project code spreads under the BSD license.

All major AV1 features are supported, including support for
internally and externally coded frames (intra- ΠΈ inter-frames), 64x64 superblocks, 4:2:0, 4:2:2 and 4:4:4 color subsampling, 8-, 10- and 12-bit color depth coding, RDO (Rate-distortion optimization) optimizations distortion, various modes of inter-frame change prediction and transformation detection, bitrate control and scene truncation detection.

AV1 format noticeably is ahead H.264 and VP9 in terms of compression capabilities, but due to the complexity of the algorithms that implement them requires significantly more time for encoding (in terms of encoding speed, libaom lags hundreds of times behind libvpx-vp9, and thousands of times behind x264).
The rav1e encoder provides 11 levels of performance, the highest of which allows you to achieve speeds close to real-time encoding. The encoder is available both as a command line utility and as a library.

In the new version:

  • Faster encoding mode proposed Speed ​​10;
  • The size of binary assemblies has been reduced (on the x86_64/Linux platform, the library takes about 3MB);
  • Approximately 14% reduction in assembly time;
  • Added multi-threaded filter to remove block artifacts from video (deblocking);
  • For the x86_64 architecture, additional optimizations were implemented using SIMD instructions and the use of autovectorization was expanded;
  • The number of memory allocation operations has been reduced by 1/6;
  • In RDO (Rate-distortion optimization), the logic of intra-frame distortion suppression has been improved;
  • Some operations have been moved from using floating point arithmetic to integer calculations;
  • Improved coding quality at the second speed level by 1-2%;
  • Added new filter for predicting the direction of movement (Intra edge);
  • Added "-S" (--switch-frame-interval) option to define frame switching interval;
  • Added build support for the wasm32-wasi platform (WebAssembly System Interface).

Source: opennet.ru

Add a comment