Shared primitives for the rusty_h264 pure-Rust H.264 codec.
This crate is the foundation both the encoder and decoder sit on. It is
#![forbid(unsafe_code)]: the bit-twiddling core of an H.264 codec is
exactly where memory-safety bugs hide in the C implementations, so we keep
it provably safe.
Modules mirror the concerns shared across codec/common in Cisco's
openh264:
- [
bit_writer] / [bit_reader] — MSB-first bit packing + Exp-Golomb. - [
nal] — NAL units, Annex-B framing, RBSP emulation prevention. - [
types] — shared enums and the raw YUV frame container.
The shipped build is #![forbid(unsafe_code)]. The profile feature (a
measurement-only dev build, never shipped) relaxes this to unlock the rdtsc
timer in [prof]; that is the only unsafe in the crate and only under profile.