Repository navigation
v0.2.2
Speeds up HCA decoding, AFS cue lookup and USM extraction with bit-identical output, and adds streaming 16-bit PCM decoding. This release is built from main and does not contain the in-memory extraction APIs from 0.2.1.
⚠️ Breaking changes
- 0.2.1 was tagged from a branch that was never merged, so this release does not have its additions: Rust
extract_acb_to_memory,extract_usm_to_memory,ExtractedAcbTrackandExtractedUsmStream, Pythonextract_acb_bytesandextract_usm_bytes, and thecridecoder.pyistubs. If you use them, stay on 0.2.1 or move to 0.2.3, which brings the Rust functions back (itsExtractedUsmStreamhas anamefield where 0.2.1 hadfilename). Python in-memory extraction returns, with different signatures, in 0.3.2, and the stubs in 0.3.0. (f776365)
Added
- Decode HCA straight to interleaved 16-bit PCM, one frame at a time (
decode_frame_i16) or as chunks passed to a callback (decode_to_pcm16_chunks). Chunks hold only valid samples after encoder-delay trimming, so audio can be piped into another encoder without an intermediate WAV file. (5d8a366)
Performance
- Speed up HCA decoding with bit-exact WAV output: specialized IMDCT stages with constant tables, a faster block decode and PCM conversion, and a reused WAV output buffer. (5d8a366, 16ec188, bce2891, a9a15d5, a822089, ee2cb3d, 8833391)
- Speed up AFS cue lookup and the extraction of unmasked USM chunks. (5d8a366)
Artifacts
- crates.io:
cridecoder0.2.2 - PyPI:
cridecoder0.2.2
Maintenance
Full Changelog: v0.2.1...v0.2.2