Summer of Code 2008: Difference between revisions
(Updates, current mentor selections) |
(Add Monty's Ghost assistant proposal) |
||
Line 11: | Line 11: | ||
trunk. The results must still build cleanly on other archs and do | trunk. The results must still build cleanly on other archs and do | ||
run-time capability detection. | run-time capability detection. | ||
''Mentor: Ralph Giles, backup: Jan Gerber, Mike Smith'' | ''Mentor: Ralph Giles, backup: Jan Gerber, Mike Smith'' | ||
Line 18: | Line 19: | ||
suggestions are: quant matrix tuning, per-block qi choice, 4:2:2 and 4:4:4 chroma | suggestions are: quant matrix tuning, per-block qi choice, 4:2:2 and 4:4:4 chroma | ||
support. | support. | ||
''Mentor: Ralph Giles, backup: Timothy Terriberry'' | ''Mentor: Ralph Giles, backup: Timothy Terriberry'' | ||
Line 26: | Line 28: | ||
encoding mode (e.g., varying lambda), with a default target buffer size | encoding mode (e.g., varying lambda), with a default target buffer size | ||
of approximately 2 seconds. | of approximately 2 seconds. | ||
''Mentor: Timothy "Derf" Terriberry, backup: Mike Smith, Ralph Giles'' | ''Mentor: Timothy "Derf" Terriberry, backup: Mike Smith, Ralph Giles'' | ||
=== Development assistant for the "Ghost" audio codec === | |||
Designing a cutting edge perceptual codec is a very daunting task. Xiph | |||
is in the research stage on a new low-latency, general purpose audio codec, | |||
code-named "Ghost". This is basically a "code assistant" position, where you | |||
will be asked to implement, test, and give feedback on ideas from Christopher | |||
Montgomery, designer of the Ogg Vorbis format. Be prepared to learn a lot about | |||
audio coding, or apply what you already know. While there's less "ownership" | |||
potential in this project proposal, it will be a great opportunity to learn | |||
about compression algorithm design, practice your programming chops, and learn | |||
to work in team. | |||
''Mentor: Christopher "Monty" Montgomery, backup: Jean-Marc Valin'' | |||
=== Subtitle Editor === | |||
this project would also consolidate the various proposals for | |||
subtitles. from what i saw on #annodex, | |||
using CMML might be the way to go. Coordinate with Annodex.net. | |||
another option is to pick an existing format (e.g. srt) and get a | |||
gui mockup done. It should: give you playback with scrubbing, let | |||
you set in and out points, and write out the results in an Ogg File. | |||
=== Hardware implementation of Theora decoding === | === Hardware implementation of Theora decoding === | ||
Line 41: | Line 66: | ||
rillian note: OggDirac is pretty much waiting on schoedinger and a spec revision from Tim at the BBC. I'm not sure this would make a good project, but maybe ds would like help with something. | rillian note: OggDirac is pretty much waiting on schoedinger and a spec revision from Tim at the BBC. I'm not sure this would make a good project, but maybe ds would like help with something. | ||
Revision as of 11:12, 21 April 2006
DRAFT
This is a draft proposal for Google Summer of Code projects with Xiph.org.
We need a primary and backup mentor volunteer for any project that is to become an official proposal.
Optimize Theora encoding/decoding speed, SSE/SSE2
Work on MMX, SSE/SSE2 implementations of the crucial encoding and decoding elements in libtheora. This could continue in theora-exp where with ruik's work or consolidate theora-mmx, theora-oil work into trunk. The results must still build cleanly on other archs and do run-time capability detection.
Mentor: Ralph Giles, backup: Jan Gerber, Mike Smith
Theora reference encoder quality optimization
The libtheora encoder could make more use of some features present in the spec but not currently implemented in the encoder. This is a little open ended, but suggestions are: quant matrix tuning, per-block qi choice, 4:2:2 and 4:4:4 chroma support.
Mentor: Ralph Giles, backup: Timothy Terriberry
Encode support in theora-exp
Implement a rate-distortion optimized encoding mode for theora-exp, including R-D optimzed mode decision and quantization (e.g., constant lambda). Then, use the above routines to implement a medium-latency ABR encoding mode (e.g., varying lambda), with a default target buffer size of approximately 2 seconds.
Mentor: Timothy "Derf" Terriberry, backup: Mike Smith, Ralph Giles
Development assistant for the "Ghost" audio codec
Designing a cutting edge perceptual codec is a very daunting task. Xiph is in the research stage on a new low-latency, general purpose audio codec, code-named "Ghost". This is basically a "code assistant" position, where you will be asked to implement, test, and give feedback on ideas from Christopher Montgomery, designer of the Ogg Vorbis format. Be prepared to learn a lot about audio coding, or apply what you already know. While there's less "ownership" potential in this project proposal, it will be a great opportunity to learn about compression algorithm design, practice your programming chops, and learn to work in team.
Mentor: Christopher "Monty" Montgomery, backup: Jean-Marc Valin
Subtitle Editor
this project would also consolidate the various proposals for subtitles. from what i saw on #annodex, using CMML might be the way to go. Coordinate with Annodex.net.
another option is to pick an existing format (e.g. srt) and get a gui mockup done. It should: give you playback with scrubbing, let you set in and out points, and write out the results in an Ogg File.
Hardware implementation of Theora decoding
Working on a hardware theora decoder, that can be used in embedded devices, dvd players and video pods. Presumedly GPL verilog source to run on an FPGA.
Ogg Dirac mapping and integration in players
this could be a) writing down the spec for ogg dirac that is floating around on the dirac and carid mailing list and implementing it in i.e. vlc or gstreamer.
j^ note: in whats state is ogg dirac right now anyway?
rillian note: OggDirac is pretty much waiting on schoedinger and a spec revision from Tim at the BBC. I'm not sure this would make a good project, but maybe ds would like help with something.