OpusTodo

From XiphWiki
Revision as of 22:08, 8 October 2011 by Jmspeex (talk | contribs)
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.

Code

For IETF draft

  • Code cleanup (any left?)
  • Multi-channel signalling (done, needs more testing)
  • Make opus-compare fail for single seriously trashed frames

SILK issues

  • PLC buffer not fully initialized (fix needs verifying)
  • Mid and side using different sampling rates (fix needs verifying)
  • Reduce SILK bandwidth switching artefacts
  • CLANG ARITHMETIC UNDEFINED at <silk/silk_NSQ_del_dec.c, (652:33)> : Op: *, Reason : Signed Multiplication Overflow, BINARY OPERATION: left (int32): 90005 right (int32): -25578
  • CLANG ARITHMETIC UNDEFINED at <silk/decode_core.c, (108:40)> : Op: *, Reason : Signed Multiplication Overflow, BINARY OPERATION: left (int32): 916258817 right (int32): -3
  • CLANG ARITHMETIC UNDEFINED at <silk/decode_core.c, (108:40)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): -418535217 right (int32): -1832517634
  • CLANG ARITHMETIC UNDEFINED at <./silk/Inlines.h, (120:13)> : Op: -=, Reason : Signed Subtraction Overflow, BINARY OPERATION: left (int32): 2147454976 right (int32): -2147467848
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (68:25)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): -2053682997 right (int32): -96356645
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (67:25)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): 2144927654 right (int32): 9275188
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (63:21)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): -1503335005 right (int32): -978520921
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (64:21)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): 1813111370 right (int32): 545673470
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (65:21)> : Op: +, Reason : Signed Addition Overflow, BINARY OPERATION: left (int32): 2121005902 right (int32): 274731600
  • CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (72:21)> : Op: -, Reason : Signed Subtraction Overflow, BINARY OPERATION: left (int32): -79495168 right (int32): 2131398803
  • Find_poly improvements
  • silk warning: comparison is always true due to limited range of data type with assert
  • Fatal (internal) error in silk/encode_indices.c, line 189: assertion failed: ( psIndices->contourIndex < 34 && psEncC->fs_kHz > 8 && psEncC->nb_subfr == 4 ) || ( psIndices->contourIndex < 11 && psEncC->fs_kHz == 8 && psEncC->nb_subfr == 4 ) || ( psIndices->contourIndex < 12 && psEncC->fs_kHz > 8 && psEncC->nb_subfr == 2 ) || ( psIndices->contourIndex < 3 && psEncC->fs_kHz == 8 && psEncC->nb_subfr == 2 )
  • Fatal (internal) error in silk/encode_indices.c, line 130: assertion failed: psEncC->useInterpolatedNLSFs == 1 || psIndices->NLSFInterpCoef_Q2 == ( 1 << 2 )
  • Fatal (internal) error in silk/encode_indices.c, line 209: assertion failed: psIndices->LTPIndex[ k ] >= 0 && psIndices->LTPIndex[ k ] < ( 8 << psIndices->PERIndex )
  • Activity interface / silk_toc (currently unreachable)

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
  • Save some float<->int conversions

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