Skip to content

Releases: xiph/rav1e

v0.2.1

02 Jan 15:59
Compare
Choose a tag to compare

Changes

  • About 30% smaller binaries (from 4.6MB to 3.2MB for stripped release Linux x86_64)
  • About 14% faster build time
  • About 0.5-1.5% slower on x86_64
  • Better quality

Fixes

v0.2.0: Winter Solstice

18 Dec 19:52
Compare
Choose a tag to compare

Improvements

  • Faster, overall 40%-70% faster than v0.1.0 depending on the encoding settings.
  • Optional serialization/deserialization of the encoding parameters through the feature serialize
    • Optional cli advanced commands to use it.
  • The builds are now using the dwarf debug format for the targets that support it, before it was a mixture of dwarf and stabs due to the nasm defaults.
  • Added a --benchmark hidden flag for the cli for MacOS and Linux.
  • documentation is now available on docs.rs.

Changes

  • Segmentation support is now a tunable SpeedSetting and currently it is default off since it can produce desyncs, this does cause a 3% decrease in quality.

Fixes

  • #1903 - edge-of-frame miscomputation
  • #1858 - desync on speed 0 and 1 when certain quantizers are selected

Known issues

  • #1930 - segmentation encoding may cause desync

Weekly pre-release

15 Dec 11:26
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • Faster, around 20% more compared to the last pre-release
    • More assembly optimizations from dav1d, mainly impacting AArch64
    • Forward transform SIMD, to be accounted for the largest part of this week speedup
    • Simplifications and refactoring in the Motion Estimation and Scene Change
  • Optional serialization/deserialization of the encoding parameters through the feature serialize
    • Optional cli advanced commands to use it.
  • The builds are now using the dwarf debug format for the targets that support it, before it was a mixture of dwarf and stabs due to the nasm defaults.

Changes

  • Segmentation support is now a tunable SpeedSetting and currently it is default off since it can produce desyncs.

Fixes

  • #1903 - edge-of-frame miscomputation
  • #1858 - desync on speed 0 and 1 when certain quantizers are selected

Known issues

  • #1930 - segmentation encoding may cause desync

Weekly pre-release

06 Dec 17:15
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • Slightly faster.
  • 60%-80% reduction in the resident set depending on the number of tiles in use. Now the resident set is nearly independent from the number of tiles in use.

Changes

  • The CI now uses Github Actions
  • The tags will be p${isodate} for prereleases and v{semver} for releases.

Fixes

  • Relax the y4m memory limit, now 8k content can be encoded again.

Known issues

Weekly pre-release

27 Nov 22:12
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • Faster (9.5% on 1080p content with 8 tiles).
  • More Aarch64 assembly support
  • rdo-lookahead-frames CLI option

Changes

  • mp4 output removed to avoid circular dependencies.

Fixes

  • Unbreak the desync_finder feature

Known issues

  • #1858 `Tune PSNR may cause desyncs on 4k content"

Weekly pre-release

20 Nov 05:36
7344dae
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • Faster (21-26% on 1080p content with 8 tiles).
  • Tracing support via hawktracer
  • Basic in-bitstream timing info support
  • ASM building is parallel now.

Changes

  • CDEF damping is adjusted based on quantizer

Fixes

  • Builds cleanly on rust 1.40
  • Docs.rs generation is working

Known issues

  • #1858 `Tune PSNR may cause desyncs on 4k content"

v0.1.0: Made in Tokyo

09 Nov 05:53
Compare
Choose a tag to compare

First official release, published during the Video Dev Days 2019 in Tokyo.

Features

  • Intra and inter frames
  • 64x64 superblocks
  • 4x4 to 64x64 RDO-selected square and 2:1/1:2 rectangular blocks
  • DC, H, V, Paeth, smooth, and a subset of directional prediction modes
  • DCT, (FLIP-)ADST and identity transforms (up to 64x64, 16x16 and 32x32 respectively)
  • 8-, 10- and 12-bit depth color
  • 4:2:0 (full support), 4:2:2 and 4:4:4 (limited) chroma sampling
  • 11 speed settings (0-10)
  • Near real-time encoding at high speed levels
  • Rate control (single-pass and two-pass)
  • Temporal RDO
  • Scene cut detection
  • CLI tool and C API

Weekly pre-release

01 Nov 16:19
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • More x86 assembly from dav1d
  • Validate the frame size to reject impossibly small frames.
  • Initial SSE4.1 support

Changes

  • serde is now optional
    • the fastrdo training feature is optional as well.

Fixes

  • CDEF RDO could infiniloop in certain occasions.

Weekly pre-release

23 Oct 14:17
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • SSSE3 support
  • Aarch64 neon support
  • FlipADST
  • Additional asm tests (CDEF, Inverse transform).
  • Make sure all the dependencies are using the same version of syn, reducing the overall build time.

Changes

  • The nasm feature had been renamed asm.

Fixes

  • Unbreak C-API building on rust 1.38 and later.

Weekly pre-release

26 Sep 09:30
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

Improvements

  • More API documentation
  • Better error reporting
  • Nicer error messages in the cli application
  • Explicit validation of the encoder configuration
  • The input Frame type can be expressed
  • Added cargo-fuzz support and documented its usage
  • Better rate-control support
  • Two-pass rate-control support
  • Additional speedups over all the speed levels on x86_64

Changes

  • Tiles are now expressed in linear units (before were log2-units)
  • The for color config enum variants now use the AV1 spec names
  • The C-API is now part of the main repo, use cargo-c to build it
  • send_frame can consume bare Frames
  • Speed preset overhaul and rebalance

Fixes

  • Invalid encoder settings, that would trigger panics on execution, are now caught on validation phase.
  • Desync caused by a discrepancy of what would be the tile dimension and the loop restoration filter dimension when using certain tile sizes.