Crate less_avc

source ·
Expand description

less Advanced Video Coding (H.264) encoding library

This module contains a pure Rust implementation of an H.264 encoder. It is simple (“less advanced”), and uses a small subset of the encoder features in the H.264 specification. It was inspired by Ben Mesander’s World’s Smallest H.264 Encoder. In the present implementation, all data is encoded as a lossless PCM frame. (Future updates could include other encoding possibilities.) Bit depths of 8 and 12 in monochrome and YCbCr colorspaces are supported. Tests ensure that data is losslessly encoded.

Modules

  • Network Abstraction Layer (NAL) encoding
  • Supplemental Enhancement Information (SEI) encoding
  • Data representations for YCbCr image data

Structs

Enums

  • The dynamic range of the data, stored as number of bits.
  • An H.264 encoding error.