Brandon ThomasandClaude Opus 5.5 374569e65e M2 perf: frame-threaded H.264 decoding and hot-path optimisation
- frame-level parallelism: the calling thread handles headers, POC, DPB and
  reference lists; each picture decodes as a job on a rayon pool (feature
  'threads') and publishes deblocked macroblock rows into a shared Frame;
  motion compensation and co-located lookups block per row on references
  still being decoded (safe Rust, OnceLock per MB row); outputs are handed
  out once their job has finished
- row-pipelined deblocking inside a picture (row r filtered after row r+1 is
  reconstructed), picture buffer recycling, panic/error isolation per job
- faster luma/chroma interpolation (row-wise filters, window fetch), direct
  interpolation into the picture for unweighted single-list blocks, merged
  motion compensation for uniform direct macroblocks, 8x8 direct derivation
  with direct_8x8_inference, vectorisable weighted prediction, deblocking
  with per-edge parameters and cached reference identities
- conformance tests now decode every fixture single- and multi-threaded and
  check pts/POC output order; ignored perf test (1080p High CRF20, 120 frames)

1080p: ~100 fps single-threaded, ~600 fps with 14 threads (M4 Pro, heavily
loaded machine).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 06:38:40 -04:00
2026-09-30 05:22:00 -04:00
S
Description
No description provided
Readme
98 MiB
Languages
Rust 99%
Python 0.3%
WGSL 0.3%
Shell 0.2%
JavaScript 0.1%