Skip to content

Releases: xiph/rav1e

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.

Weekly pre-release

30 Apr 20:56
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

New features

Bugfixes

  • Unbreak building on non-x86
  • Make sure avx2 code is not called if only avx is present

API Changes

  • set_limit() has been dropped. Use flush() instead.

Internals

  • More coding lint enabled
  • Additional speedups
  • More documentation added

Weekly pre-release

06 Apr 13:29
Compare
Choose a tag to compare
Weekly pre-release Pre-release
Pre-release

New features:

  • Enabled assembly for Windows x86_64 builds.
  • Speed-ups in Motion Estimation, with new x86/x86_64 simd optimizations.
  • Diamond Search in motion estimation.
  • RDO Speedups

Bugfixes:

  • Fix the memory allocation alignment issues found on windows x86_64.
  • Fix container_sequence_header()
  • Additional fixes to the 422 codepaths.
  • More smaller and larger bugfixes

API Changes:

  • Large simplification: now it is possible to encode by using onlysend_frame() and receive_packet().
  • Update and document EncoderStatus variants.

Internal changes:

  • Lots of refactoring to prepare for new features (tile support, tile and segment threading)
  • Improvements to debug builds and tests to accelerate development
  • Additional tests