Opus-tools

From XiphWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Opus-tools is a collection of tools for working with opus files currently under development.

Features

  • working build system

Encoder

  • Robust wav input (steal battle tested code from oggenc, e.g. float and multichannel works)
  • Resampling
  • bitrate selection
  • VBR/CBR/CVBR
  • Application selection (audio/voip)
  • Mode forcing
  • Metadata (emulate oggenc feature set)
  • Multichannel
  • Muxing delay control (naive usage of libogg will result in 5 second mux delay on silence)
  • Not needed in initial release:
    • Replay gain (but it's important as we want players to actually heed it)
    • LPC padding (code for this is very simple, see postfish) but needs some way of setting the prefill inside opus.
    • In CELT_ONLY Switch the last frame size to the smallest size that will fit the remaining samples (reduces padding overhead, makes sure mixed sizes get tested)
    • crop and/or track split arguments (if data outside of the encoded area is available, use that instead of the LPC padding)
    • Exposes all sanely exposable parts of the Opus API (important for testing, even if things are hidden)
    • Flac input (?; code for this is in oggenc)

Decoder

  • Resampling
  • Multichannel
  • metadata display
  • Wav output
  • audio playback (libao?) or omit and leave for ogg123
  • decodes chained files
  • Not needed for the initial release:
    • Lookahead limiter (copy from postfish)
    • Dither for 16 bit output