Difference between revisions of "OpusTodo"

From XiphWiki
Jump to: navigation, search
(Remove the meaningless 'Code' header)
(27 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
== 1.1-beta ==
  
== IETF draft ==
+
* Tune mode switching decisions
* <s>New comparison tool</s> done in draft-11
+
** <s>Use SILK up to higher rates on voice</s>
* <s>Update test vectors</s> done in draft-11
+
** <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
  
== SILK issues ==
 
 
=== Later ===
 
* Smart automatic mode decision
 
* psymodel based VBR
 
* Remove copy in inverse MDCT
 
* Save some float<->int conversions
 
  
 
== Spec ==
 
== Spec ==
 +
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]
 +
* Matroska mapping. See: [[MatroskaOpus]]
 +
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]
  
* Finish codec draft
+
== Website ==
* Ogg mapping (including multi-channel). See: [[OggOpus]]
+
* 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), ...  
* Matroska mapping. See: [[MatroskaOpus]]
+
* Promotional material (some nice free or Public domain sounds in Opus format)
* RTP payload format
 
  
 
== Other ==
 
== Other ==
  
* Logo See: [https://bugzilla.mozilla.org/show_bug.cgi?id=689261 Mozilla bug 689261] for some discussion
 
* Test vectors
 
* Listening tests
 
* Documentation (at a minimum every exported symbol should have complete and accurate documentation)
 
* Add content to opus-codec.org
 
** The above documentation
 
** Presentations
 
** Examples and test results  (hyperlink to Monty's demo, gmaxwell's HA results page, etc)
 
 
* Oggz-validate (should also validate opus toc)
 
* Oggz-validate (should also validate opus toc)
  
 
== Opus-tools ==
 
== Opus-tools ==
* Build infrastructure (e.g. autotools)
 
 
* A simple real time streaming example tool
 
* A simple real time streaming example tool
* <s>Multichannel support</s> doneish.
 
 
* Replaygain (half done— needs a gain tool)
 
* Replaygain (half done— needs a gain tool)
* <s>Testing (incl. jenkins automation)</s> doneish
 
  
== Third party software ==
+
== Experiments ==
* Support in ekiga
+
 
* Support in mumble
+
* Test exp_analysis and void_my_warranty.patch
* Support in asterisk
+
 
* Support in icecast
+
== Future work ==
* Support in firefox (rtcweb and in ogg)
+
* psymodel based VBR
* Support in VLC
+
* Remove copy in inverse MDCT
* Support in ogg123
+
* Save some float<->int conversions
* Support in ffmpeg
+
* Improvements to LP mode CBR (greg has some code)
* Support in rockbox
+
* Better handling for the case where FEC has a different bandwidth than the current mode
* Support in foobar2000
+
* PLC transitions on unprotected SILK-SILK bandwidth changes?
* Support in gstreamer
 
* Support in mplayer
 
* Support in xmms
 
* Support in oggdsf
 
* Support in xiphqt
 

Revision as of 05: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?