OpusTodo: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(→‎Spec: We have a draft for the ogg mapping)
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== IETF draft ==
== 1.0.2 ==
* <s>New comparison tool</s> done in draft-11
 
* <s>Update test vectors</s> done in draft-11
* 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 ==
 
* tune transient detector
* variable frame size?
* 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. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]
* <s>Finish codec draft</s>
* Get draft through the RFC process
* <s>Ogg mapping (including multi-channel)</s>. See: [[OggOpus]]
* 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]]


== 1.0 Launch ==
== 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), ...
* Add logo
* Promotional material (some nice free or Public domain sounds in Opus format)
* FAQ
* Promotional material
* Opus tools releases


== Other ==
== Other ==


* <s>Logo See: [https://bugzilla.mozilla.org/show_bug.cgi?id=689261 Mozilla bug 689261] for some discussion</s>
* 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
* 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
* Support in RoarAudio (specs + roard + libroardsp)


== Future work ==
== Future work ==

Revision as of 09:11, 22 December 2012

1.0.2

  • multi-frame FEC/PLC fix
  • PLC fix
  • opus_packet_get_duration()
  • OPUS_GET_FRAME_SIZE() for decoder??
  • Add license headers to all dist files DONE
  • Fix remaining build issues with MSVC DONE
  • Add OPUS_EXPORT override for chrome DONE

1.1-beta

  • tune transient detector
  • variable frame size?
  • 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

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

  • Smart automatic mode decision
  • psymodel based VBR
  • Remove copy in inverse MDCT
  • Save some float<->int conversions
  • Improvements to LP mode CBR (greg has some code)