OpusTodo: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(→‎1.0.2: other recent changes)
No edit summary
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== 1.0.2 ==
* multi-frame FEC/PLC fix
* PLC fix
* opus_packet_get_duration()
* OPUS_GET_FRAME_SIZE() for decoder??
* <strike>Add license headers to all dist files</strike> DONE
* <strike>Fix remaining build issues with MSVC</strike> DONE
* <strike>Add OPUS_EXPORT override for chrome</strike> DONE
== 1.1-beta ==
== 1.1-beta ==


* tune transient detector
* Tune mode switching decisions
* variable frame size?
** <s>Use SILK up to higher rates on voice</s>
** <s>Adapt stereo SILK/CELT threshold based on stereo width</s>
* Tune hybrid rate allocation?
* Figure out how to use speech/music detection optimally
** find optimal switching time (low energy/tonality)
* Improve variable frame size
* Tune transient detector?
* Use ALLOC in tonality analysis
* LOTS of testing
* LOTS of testing
* re-tune hybrid rate allocation
* re-tune mode switching decisions
* figure out how to use speech/music detection optimally
* everything from 1.0.2
== Lower priority ==


* Handle packets with PLC frames followed by FEC
* Better handling for the case where FEC has a different bandwidth than the current mode
* PLC transitions on unprotected SILK-SILK bandwidth changes?


== Spec ==
== Spec ==
* Ogg mapping
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]
* Matroska mapping. See: [[MatroskaOpus]]
* Matroska mapping. See: [[MatroskaOpus]]
* RTP payload format
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]


== Website ==
== Website ==
* De-uglify webpage
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ...
* Promotional material
* Promotional material (some nice free or Public domain sounds in Opus format)


== Other ==
== Other ==
Line 45: Line 33:


* Test exp_analysis and void_my_warranty.patch
* Test exp_analysis and void_my_warranty.patch


== Future work ==
== Future work ==
* Smart automatic mode decision
* psymodel based VBR
* psymodel based VBR
* Remove copy in inverse MDCT
* Remove copy in inverse MDCT
* Save some float<->int conversions
* Save some float<->int conversions
* Improvements to LP mode CBR (greg has some code)
* Improvements to LP mode CBR (greg has some code)
* Better handling for the case where FEC has a different bandwidth than the current mode
* PLC transitions on unprotected SILK-SILK bandwidth changes?

Revision as of 06:20, 10 April 2013

1.1-beta

  • Tune mode switching decisions
    • Use SILK up to higher rates on voice
    • Adapt stereo SILK/CELT threshold based on stereo width
  • Tune hybrid rate allocation?
  • Figure out how to use speech/music detection optimally
    • find optimal switching time (low energy/tonality)
  • Improve variable frame size
  • Tune transient detector?
  • Use ALLOC in tonality analysis
  • LOTS of testing


Spec

Website

  • De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ...
  • Promotional material (some nice free or Public domain sounds in Opus format)

Other

  • Oggz-validate (should also validate opus toc)

Opus-tools

  • A simple real time streaming example tool
  • Replaygain (half done— needs a gain tool)

Experiments

  • Test exp_analysis and void_my_warranty.patch

Future work

  • psymodel based VBR
  • Remove copy in inverse MDCT
  • Save some float<->int conversions
  • Improvements to LP mode CBR (greg has some code)
  • Better handling for the case where FEC has a different bandwidth than the current mode
  • PLC transitions on unprotected SILK-SILK bandwidth changes?