Crate rav1e[][src]

rav1e is an AV1 video encoder. It is designed to eventually cover all use cases, though in its current form it is most suitable for cases where libaom (the reference encoder) is too slow.

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
  • Variable speed settings
  • Near real-time encoding at high speed levels

Usage

Encoding is done through the Context struct. Examples on Context::receive_packet show how to create a Context, send frames into it and receive packets of encoded data.

Modules

color

Color model information

config

Encoder configuration and settings

data

Basic data structures

prelude

Commonly used types and traits.

version

Version information

Structs

Config

Contains the encoder configuration.

Context

The encoder context.

EncoderConfig

Encoder settings which impact the produced bitstream.

Frame
Packet

Represents a packet.

Enums

EncoderStatus

Status that can be returned by Context functions.

InvalidConfig

Enumeration of possible invalid configuration errors.

PixelType

Types that can be used as pixel types.

Traits

CastFromPrimitive

Trait for casting between primitive types.

Pixel

A type that can be used as a pixel type.