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§

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

Structs§

H264Writer
Write images to an std::io::Write implementation in .h264 file format.
LessEncoder
Convert input images YCbCrImage into H.264 NAL units NalUnit.
RbspData
Raw byte sequence payload (RBSP) data.

Enums§

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