OpusTodo
Code
For IETF draft
- Code cleanup
- Remove SKP_ prefixes
- remove silk_ prefixes in file names
- s/libcelt/celt/ ?
- Multi-channel signalling
- Needs testing
- Implement OPUS_RESET
- abstract malloc()/free()/...
SILK issues
- PLC buffer not fully initialized (fix needs verifying)
- Mid and side using different sampling rates (fix needs verifying)
LLBR stereo issue (has a proposed fix)Introduces prefill bug (fixed on greg's tree)
- Artefacts on SILK mono<->stereo switching
- Artefacts on Hybrid/CELT switching
- Use of signed overflow (undefined in C), intentionally and otherwise.
- Encoder triggers DTX randomly (even if not enabled) for 40/60 ms stereo frames
Later
Exposed CELT constrained VBRFixed-point buildFix build system (right now it fails to build shared libraries, drops .o files all over)Floating point API- Usable command-line tools (opus is a major regression from libcelt right now)
- Smart automatic mode decision
- psymodel based VBR
- Remove copy in inverse MDCT
Spec
- Finish codec draft
- Ogg mapping (including multi-channel). See: OggOpus
- RTP payload format
Other
- Logo
- Test vectors
- Listening tests
- Documentation (at a minimum every exported symbol should have complete and accurate documentation)
- Add content to opus-codec.org
- Oggz-validate (should also validate opus toc)
- The above documentation
- Presentations
- Examples and test results (hyperlink to Monty's demo, gmaxwell's HA results page, etc)
- Useful example software (e.g. streaming software that works correctly) (opus-tools in xiph git)
Support for resampling in tools
Third party software
- Support in ekiga
- Support in mumble
- Support in asterisk
- Support in firefox (rtcweb and in ogg)
- Support in VLC
- Support in ogg123
- Support in ffmpeg
- Support in rockbox
- Support in foobar2000
- Support in gstreamer
- Support in mplayer
- Support in xmms
- Support in oggdsf
- Support in xiphqt