# Difference between revisions of "OpusTodo"

Jump to navigation
Jump to search

Line 9: | Line 9: | ||

* PLC buffer not fully initialized (fix needs verifying) | * PLC buffer not fully initialized (fix needs verifying) | ||

* Mid and side using different sampling rates (fix needs verifying) | * Mid and side using different sampling rates (fix needs verifying) | ||

− | + | * Reduce SILK bandwidth switching artefacts | |

− | |||

− | |||

− | |||

− | * Reduce SILK | ||

− | |||

− | |||

* <s>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</s> | * <s>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</s> | ||

* 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 Multiplication Overflow, BINARY OPERATION: left (int32): 916258817 right (int32): -3 | ||

Line 28: | Line 22: | ||

* CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (72:21)> : Op: -, Reason : Signed Subtraction Overflow, BINARY OPERATION: left (int32): -79495168 right (int32): 2131398803 | * CLANG ARITHMETIC UNDEFINED at <silk/LPC_analysis_filter.c, (72:21)> : Op: -, Reason : Signed Subtraction Overflow, BINARY OPERATION: left (int32): -79495168 right (int32): 2131398803 | ||

<!-- 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 --> | ||

− | |||

− | |||

* Find_poly improvements | * Find_poly improvements | ||

− | |||

* silk warning: comparison is always true due to limited range of data type with assert | * silk warning: comparison is always true due to limited range of data type with assert | ||

* <s>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 )</s> | * <s>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 )</s> |

## Revision as of 22:08, 8 October 2011

## 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