OpusTodo: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
** Needs testing
** Needs testing
* Implement OPUS_RESET
* Implement OPUS_RESET
* abstract malloc()/free()/...
* remove unnecessary float<->int conversions
* remove unnecessary float<->int conversions



Revision as of 10:40, 30 August 2011

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
  • remove unnecessary float<->int conversions

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 VBR
  • Fixed-point build
  • Fix 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