nalcore is a Rust project for software decoding of H.264/AVC and H.265/HEVC bitstreams.
Build a clean, correct, and maintainable decoder foundation first, then optimize for performance once the decode pipeline is stable.
- Bitstream parsing and NAL unit handling
- Sequence and picture parameter set parsing
- Slice parsing and decode pipeline plumbing
- Software decode to planar frame output
- Regression tests against small reference streams
- Container demuxing
- Hardware acceleration
- Aggressive SIMD optimization
- Broad codec support beyond H.264 and H.265
- Correctness before speed
- Small, explicit Rust abstractions
- Minimal
unsafe - Deterministic tests and fixtures
- Build the bit reader and common parsing utilities.
- Implement H.264 baseline parsing and decode flow.
- Add H.265 parsing and decode flow.
- Add conformance-oriented regression tests.
- Profile and optimize the hot paths.
Project bootstrap in progress.
See Longer-Term Plans for tentative architecture, decoding, testing, safety, tooling, and release ideas beyond the currently tracked GitHub issues.