[vorbis-dev] todo list (was Re: Vorbize.c)

Ralph Giles giles at snow.ashlu.bc.ca
Fri Sep 1 22:25:54 PDT 2000



On Wed, 30 Aug 2000 kcarnold at yahoo.com wrote:

> It's maybe a bit too open-ended. I don't know audio or any stuff like that, but
> I have potentially a *lot* of time to find that stuff out, so you tell me: what
> should I look at?

>From my point of view, the todo list looks like this, shamelessly mixing
my own interests with stuff that's generally worth doing :

Vorbis (talk to Monty :)
most of this requires learning at least some things about audio
codecs/signal processing or acoustics.

  Implement low bit-rate modes
  Maybe special speech modes?
    A speech mode distorted a la Star Wars might be popular with gamers

  (More parametric smarts in the encoder? Sample rate variation, etc.)

  fix oggenc ;-)

  Ambisonic surround/joint stereo encoding (also David Carter)
  this requires some infrastructure for I/O too:
    a way to mix/record ambisonic B format, maybe as an OpenAL driver
    cheap output options: 4-channel soundcards, Dolby 5.1 S/PDIF
      headphones with 3D sound from a Head Model transfer function.
      fake it somehow through strategic point sources in OpenAL?
    general n-channel ambisonic decoder
      support arbitrary arrangements of speakers
      take room accoustics into account
      clever auto-calibration for both of these
  what's the proper mapping from 5.1 film soundtracks?
  rent an ambisonic microphone, 4-track recorder and go sample hunting :)

  write a GUI front-end to vorbiscomment

  write a GUI encoder (at least for MacOS)

Squish (best left to Monty?)

  dust off and update Monty's 'OggSquish' lossless audio codec

  make it official

MNG-over-Ogg (Ralph Giles)
this is probably too simple for your project, unless you want to do it on
"multimedia integration issues" thing. Libmng does the hard part for you;
what's left is glue. See the last two, maybe?

  write 'oggmerge' to try out various encoding ideas
    takes a MNG file and an OggVorbis file, produces Ogg(MNG+Vorbis)

  write companion player

  iterate the two to work out sync issues and encoding spec

  add overlay support

  work out the stream-description metadata requirements

  do patches for popular player plugins

  add YUV output support to libmng
  write a "fast path" in libmng for mjpeg and delta-png for use
    as a source-video format
  optimize generally

  invent a smart mng encoder for e.g. 'talking head' video
    series analysis and heuristics
    comparative encoding paths
    object detection
    (this would be good research for tarkin)
    get the latency down enough to use for videoconferencing (?)  

XML-over-Ogg (Ralph Giles, Robert Kaye)
pretty open ended, little math. lots of talking and reading.

  add xml support to oggmerge

  work out good heuristics for packetizing arb. xml documents
  (probably the most nitty-gritty, lib-level thing in this section)

  player plugin patches for the "transcript" format
    scrolling lyrics
    karaoke
    subtitles

  A nice gui editor for same
    hard part code-wise is an xml editor
    hard part ui-wise is timecode insertion

  help hammer out the metadata format
  intelligent interpretation, display and data-sharing code for same 
  stream-description metadata: what do we need? how?
  implement easy access from the library :)

  any other xml stream types you're interested in
  people have requested:
    beat, tempo, dynamics mix markup
    musical markup (chords, notes, tabulature)
    midi?

Tarkin
No doubt you saw the call-for-developers on the video codec.
Probably the most challenging bit to work on. OTOH, if you actually
figure out how to put a DVD on a CD, you can write a Ph.D. thesis on it.

  read lots of papers

  try lots of ideas
  a start's already been suggested. Start with the existing code:
    remove the power-of-two limitation
    implement scene-change detection
    Think about scalability in the context Marshall brought up

General

  write a GUI Ogg bitstream analyzer

  write some documentation

  update www.xiph.org.

  write a decent a/v editing app for *nix. :-P
  'twould be cool if it handled splicing lossy formats as well at
    uncompressed samples/frames

  Evangelism

  RTP/RTSP streaming implementation

  re-write xmms so it doesn't suck :)

Well, that's all I can think of. Any of that look interesting?

Anybody else?

Cheers,
 -ralph


--
giles at ashlu.bc.ca
I'll take my shitty liberated stuff any day.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.




More information about the Vorbis-dev mailing list