Opus-tools: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(3 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== | ==Features== | ||
Line 18: | Line 17: | ||
* Not needed in initial release: | * Not needed in initial release: | ||
** Replay gain (but it's important as we want players to actually heed it) | ** Replay gain (but it's important as we want players to actually heed it) | ||
** LPC padding (code for this is very simple, see postfish) | ** 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) | ** 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) | ||
===Decoder=== | ===Decoder=== | ||
Line 34: | Line 33: | ||
** Lookahead limiter (copy from postfish) | ** 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