OPUS TODO

From XiphWiki

(Difference between revisions)
Jump to: navigation, search
(For IETF draft)
m (SILK issues)
Line 29: Line 29:
<!-- voip 16000 2 16000 -framesize 20 /home/gmaxwell/big-fb.sw /dev/null -->
<!-- voip 16000 2 16000 -framesize 20 /home/gmaxwell/big-fb.sw /dev/null -->
* Review Tim's "LSB with no pulses" fix
* Review Tim's "LSB with no pulses" fix
 +
* Fix decoder-side resampling delay for rates other than 48 kHz and document behavior.
=== Later ===
=== Later ===

Revision as of 17:55, 3 October 2011

Contents

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)
  • LLBR stereo issue (has a proposed fix)
    • Introduces prefill bug (fixed on greg's tree)
  • Artefacts on SILK mono<->stereo switching
  • Artefacts on SILK frame size switching (e.g. 960,480 glitches)
  • Reduce SILK bandpass switching artefacts
  • Use of signed overflow (undefined in C), intentionally and otherwise.
  • Encoder triggers DTX randomly (even if not enabled) for 40/60 ms stereo frames
  • 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
  • Review Tim's "LSB with no pulses" fix
  • Fix decoder-side resampling delay for rates other than 48 kHz and document behavior.

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
Personal tools


Main Page

Xiph.Org Projects

Audio—

Video—

Text—

Container—

Streaming—