Opus-tools: Difference between revisions
Jump to navigation
Jump to search
(Created page with " Opus-tools is a collection of tools for working with opus files currently under development. ==Features== ===Encoder=== * Robust wav input (steal battle tested code from ogge...") |
mNo edit summary |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Opus-tools is a collection of tools for working with opus files currently under development. | Opus-tools is a collection of tools for working with opus files currently under development. | ||
==Features== | |||
*working build system | |||
===Encoder=== | ===Encoder=== | ||
Line 14: | Line 14: | ||
* Metadata (emulate oggenc feature set) | * Metadata (emulate oggenc feature set) | ||
* Multichannel | * Multichannel | ||
* Muxing delay control (naive usage of libogg will result in 5 second mux delay on silence) | |||
* Not needed in initial release: | * 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) | ** 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) | ** Flac input (?; code for this is in oggenc) | ||
Line 24: | Line 29: | ||
* Wav output | * Wav output | ||
* audio playback (libao?) or omit and leave for ogg123 | * audio playback (libao?) or omit and leave for ogg123 | ||
* decodes chained files | |||
* Not needed for the initial release: | * Not needed for the initial release: | ||
** | ** Lookahead limiter (copy from postfish) | ||
** Dither for 16 bit output | ** Dither for 16 bit output | ||
[[Category:Opus]] |
Latest revision as of 09:33, 14 November 2016
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