Skip to content

OxiAudio 0.1.2 Release

Latest

Choose a tag to compare

@cool-japan cool-japan released this 10 Jun 23:41

[0.1.2] - 2026-06-10

Added

  • SILK NB encoder (oxiaudio-encode): RFC 6716–conformant pure-Rust SILK narrowband (8 kHz) encoder producing decodable Opus packets.
  • SILK WB encoder (oxiaudio-encode): RFC 6716–conformant wideband (16 kHz) SILK layer encoder; exposes internal encode_silk_wb_silence_into for the hybrid encoder path.
  • CELT conformant encoder (oxiaudio-encode): complete RFC 6716 §4.3 CELT-only conformance slice — silence flag, postfilter flag, transient/intra flags, 21 Laplace-coded coarse energy deltas, TF/spread/dynalloc/trim headers, rate allocation, fine energy, and PVQ CWRS shapes per band.
  • Hybrid FB encoder (oxiaudio-encode): RFC 6716 hybrid mode (config 15, TOC 0x78, Hybrid Fullband 20 ms mono) combining SILK WB + CELT high-band (bands 17–20, start_band=17) in a shared range-coder stream.
  • ec_laplace_encode (opus_range.rs): full encoder inverse of ec_laplace_decode for CELT coarse energy quantization.
  • celt_mdct_960 (opus_mdct.rs): 960-sample MDCT analysis via OxiFFT.
  • CELT BSD-3-Clause tables (opus_celt_tables.rs): rate-allocation constants extracted to a dedicated module.
  • Conformance test suites: m_opus_celt_conformance.rs, m_opus_hybrid_conformance.rs, m_opus_silk_conformance.rs — verifying TOC bytes and decodability against opus-decoder 0.1.1.
  • AAC decoder short-window section_data (oxiaudio-decode): decode_section_data now handles EIGHT_SHORT_SEQUENCE windows.
  • AAC decoder short-window scale-factor array (oxiaudio-decode): decode_scale_factors allocates num_window_groups * max_sfb entries for short-window frames.

Changed

  • encode_celt_body_into refactored to shared inner function for CELT-only and hybrid paths.
  • transcode_batch example updated to use std::env::temp_dir() for output paths.

Full Changelog: v0.1.1...v0.1.2