[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