rav1e docs

August 20, 2020 ยท View on GitHub

Table of Content

NOTE: Headline may link to page.

../Readme

Main README of rav1e.

AOMAnalyzer

Analyze .ivf-files with AOM Analyzer:

  • Local Analyzer
  • Online Analyzer

Coding Style

Frame Type Selection

  • Current Features/Process
  • Detection Algorithm
  • Desired Improvements

Tile on Frame Boundary

  • Accessing Tiled-pixels outside of a frame
  • How bounding box is enforced to a PlaneRegion and now it allows accessing the frame outside pixels
  • When does rav1e access outside frame tiled-input and output pixels?

Glossary

Explanation of various special terms.

Profiling

List of various profiling tools:

  • Cargo integrations
  • Generic profiling
  • Tracing
  • Codegen Inspection

Quality- & Speed-Features

Overview of quality and speed-features for rav1e and other state-of-the-art encoder.

Rate-control Empirical Analysis

Notebook documenting how rate-control constants were derived from empirical data. These constants determine the initial values of RCState::log_scale, RCState::exp and RCState::scalefilter.

Quantizer Weight Analysis

Notebook documenting the quantizer averaging weight analysis and derivation of constants of linear models used to compute the luma quantizer from the target quantizer.

File Structure

  • High-level directory structure
  • Overview of src/*

Versioning

rav1e follows Cargo's versioning scheme: https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field

Because rav1e is not yet at version 1.0.0, all changes that break the API require a minor-version bump.

The API is defined as:

  • public functions in src/api.rs
  • command line parameters to the rav1e binary