Difference between revisions of "Summer of Code 2008"

From XiphWiki
Jump to navigation Jump to search
Line 1: Line 1:
<div id="nolabel" style="overflow:auto;height:1px;">
+
== CURRENT IDEAS ==
  
 +
This is  our ideas page for [http://code.google.com/soc/ Google Summer of Code] projects with [http://xiph.org Xiph.org].
  
[http://www.action-meds.com cheap butalbital]
+
We need a primary and backup mentor volunteer for any project that is to become an official proposal, but submit something and we'll see who we can round up. :)
[http://www.5stardrugs.com buy tramadol]
 
[http://www.24-7pills.net tramadol online]
 
[http://www.american-meds.net butalbital discount]
 
[http://www.amazing-pills.com butalbital cheap]
 
buy tramadol online. online tramadol from our pharmacy, taking tramadol buy information tramadol, side effects tramadol, purchase tramadol online. cod online tramadol, tramadol india, cheap tramadol online, tramadol online, pharmacy online store
 
tramadol 50 mg. low price tramadol, tramadol pain treatment - tramadol hcl 50? - 120 tramadol. tramadol sales, buying cod tramado l, tramadol for humans, cheap tramadol online, overdose tramadol. order tramadol pictured tramadol pill tramadol seizure. cod tramadol cod, tramadol pdr, order pharmacy tramadol. buy prescription tramadol drug tramadol - tramadol side.
 
is tramadol a, order tramadol online, tramadol hcl, tramadol drug test .tramadol uses order tramadol overnight paypal tramadol
 
tramadol com tramadol tablets tramadol no perscription remove tramadol.
 
[http://20six.co.uk/cheaptramadol cheap tramadol]
 
[http://20six.co.uk/ordertramadol order tramadol]
 
[http://20six.co.uk/onlinetramadol1 online tramadol]
 
[http://20six.co.uk/tramadolonline tramadol online]
 
[http://20six.co.uk/tramadoldiscount tramadol discount]
 
[http://20six.co.uk/purchasetramadol purchase tramadol]
 
[http://20six.co.uk/ordersoma order soma]
 
[http://20six.co.uk/onlinesoma1 online soma]
 
[http://20six.co.uk/online-viagra online viagea]
 
[http://20six.co.uk/orderviagra order viagra]
 
[http://20six.co.uk/cheapviagraonline cheap viagra online]
 
[http://20six.co.uk/purchaseviagra purchase viagra]
 
[http://20six.co.uk/cheap-ultram cheap ultram]
 
  
[http://spaces.msn.com/cheap-tramadol/ cheap tramadol]
+
'''If you're interested''' in doing a Summer of Code project with Xiph.org, [http://code.google.com/soc/student_step1.html sign up here] and submit an application.
[http://spaces.msn.com/buy-viagra/ buy viagra]
 
  
SEO: UndoneHeaven
+
=== Optimize Theora encoding/decoding speed, SSE/SSE2 ===
 +
Work on MMX, SSE/SSE2 implementations of the crucial encoding and
 +
decoding  elements in [http://svn.xiph.org/trunk/theora/ 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.
  
[http://www.replicahours.com rolex replica]
+
''Mentor: Ralph Giles, backup: Jan Gerber, Mike Smith''
[http://www.replicahours.com/index.php?cPath=51_25 fake rolex daydate]
 
[http://www.replicahours.com/index.php?cPath=29 replica swiss]
 
[http://www.google.com/search?sourceid=navclient&gfns=1&ie=UTF-8&q=replicahours replicahours]
 
buy replica cheap best price rolex discounf fake. watches fake watch online store using paypal fedex rolex replicahours. order rolex replica now. cheap wholesale fake rolex online free shipping. 80% discount rolex replica and replicas watches. woman how to adjust a chronometer watch authorized rolex dealer, rolex watches rolex dial rolex oyster perpetual date reloj panerai replica en usa rolex watches serial numbers rolex woman daytona daytona watch replica panerai watch rolex 50th anniversary rolex daytona paul newman replica rolex buy rolex watches. ladies rolex yachtmaster white dial faux. rolex daytona manual cellini rolex for sale pictures of rolex oyster perpetual datejust rolex rolex gmt-master ii buying rolex on line fake rolex daytona gold on silver how to tell fake tag rolex oyster perpetual new tell. Replica rolex? Swiss made replica rolex watch! Cost does fake much rolex rolex presidential rolex. Rolex dials rolex sea dweller. Rolex  tudor fake rolex turkey datejust oyster perpetual rolex man rolex submariner cosmograph daytona oyster professional rolex? Datejust rolex rolex replica rolex fake rolexes for sale. Rolex submariner for sale, rolex yachtmaster! Explorer ii rolex preowned rolex watch? Cheap rolex watch, rolex daytona 116520 forum rolex. 18k gold replica ex part rolex daytona review rolex submariner 50 anniversary rolex cellini replica rolex watch fake rolex omega?
 
  
[http://www.customsoftwarenow.com custom software development]
+
=== Theora reference encoder quality optimization ===
Software Development, custom software development, offshore  software development, outsourcing software development
+
The [http://theora.org/download.html 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.
  
[http://www.thepublish.com press release]
+
''Mentor: Ralph Giles, backup: Timothy Terriberry''
press release, articles, business directory, ezines, classifieds, job search,business free  b2b search advertising aerospace defense agriculture airlines automotive chemicals computers electronics semiconductors energy utilities
 
  
[http://www.ez-agents.com wholesale atv]
+
=== Encode support in theora-exp ===
</div>
+
Implement a rate-distortion optimized encoding mode for [http://svn.xiph.org/trunk/theora-exp/ 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''
 +
 
 +
=== OggMNG implementation ===
 +
Implement the OggMNG decode support in [http://gstreamer.freedesktop.org/dev/ gstreamer] and/or [http://www.illiminable.com/ogg/ illi's dshow filters].
 +
Implement encoding support in based on [http://www.advogato.org/person/company/diary.html?start=18 byzanz] or [http://live.gnome.org/Istanbul Istanbul]. Bonus points for
 +
overlay support. Details on the OggMNG specifications [http://wiki.xiph.org/index.php/OggMNG here]
 +
 
 +
''Mentors: Mike Smith, Ralph Giles''
 +
 
 +
=== Subtitle Editor ===
 +
this project would also consolidate the various proposals for
 +
subtitles. from what i saw on #annodex,
 +
using [http://annodex.net/TR/draft-pfeiffer-cmml-03.html CMML] might be the way to go. Coordinate with [http://annodex.net/ 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.
 +
 
 +
=== OggSkeleton tool support ===
 +
Implement [http://wiki.xiph.org/OggSkeleton OggSkeleton] production in various xiph tool packages, e.g. oggenc, vorbisenc, speexenc, theora encoder_example or ffmpeg2theora. Possibly also implement support for the QuickTime media framework (most other media frameworks already support OggSkeleton e.g. gstreamer, xine, vlc, DirectShow). It may be interesting to do these as a general library, e.g. on top [http://annodex.net/software/liboggz/ liboggz].
 +
 
 +
''Mentor: Conrad Parker, backup: Silvia Pfeiffer''
 +
 
 +
=== RTP payloaders and depayloaders for Vorbis and Theora ===
 +
Write a set of payloaders and depayloader plugins for Vorbis and Theora for [http://gstreamer.net/ GStreamer] and [http://farsight.sourceforge.net/ Farsight].
 +
These plugins should implement the current specifications for [http://xiph.org/vorbis/ Vorbis] and [http://xiph.org/theora/ Theora]. Philipe Khalaf and Rob Taylor
 +
of the Farsight project are prepared to mentor this project.
 +
 
 +
''Mentors: Philipe Khalaf, Rob Taylor Backup: Christian Schaller''
 +
 
 +
=== Theora support in ekiga ===
 +
Implement support for Theora as a video codec in the [http://www.gnomemeeting.org/ ekiga] chat application.
 +
Overlaps with [http://live.gnome.org/SummerOfCode2006/Ideas GNOME].
 +
 
 +
''Mentor: Ralph Giles''
 +
 
 +
=== MXF support in gstreamer ===
 +
Implement an [http://www.digitalpreservation.gov/formats/fdd/fdd000013.shtml MXF] mux/demux for [http://gstreamer.freedesktop.org/dev/ gstreamer], with mappings for [http://xiph.org/vorbis/ Vorbis] and [http://xiph.org/theora Theora].
 +
 
 +
''Mentors: Christian Schaller, Mike Smith''
 +
 
 +
=== 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. See http://sourceforge.net/projects/elphel/ for a rough encoder implementation.
 +
 
 +
=== Intel to AT&T x86 assembly translation ===
 +
There is a general need for cross platform projects to be able to compile the same asm accelleration code on both GCC and MSVC. Unfortunately, at least of x86, they have incompatible assembly formats. Currently people either convert one to the other by hand (a maintenance nightmare) or require an external compile/assemble step on one or the other platform.
 +
 
 +
Start with the (unmaintained?) [http://www.niksula.hut.fi/~mtiihone/intel2gas/ intel2gas] script. Spruce it up to support all of recent MMX, SSE, SSE2, SSE3 instructions. Then implement the reverse translation. Once both are working, write some glue code so it can be easily used as part of a GNU autotools build to derive one set of source from the other at build or package time.
 +
 
 +
=== Theora encoder and Ogg exporter/muxer QuickTime components ===
 +
[http://developer.apple.com/quicktime/ QuickTime] is a major multimedia framework, used in many professional audio and video applications. The framework is flexible and its functionality can be extended by means of plugins - ''components''.
 +
While the number of existing tools able to export video in Theora format is still limited, Theora encoder/exporter components would somewhat improve the situation allowing applications based on QuickTime to produce content in Theora format.
 +
 
 +
The project idea is to implement two QuickTime components: Theora encoder and Ogg exporter.
 +
In the Theora encoder component [http://theora.org/download.html libtheora] should be used for the encoding functionality and focus here is on integrating that functionality with the rest of the QuickTime framework.
 +
Ogg file exporter would be built around [http://www.xiph.org/ogg/ libogg] for transfering internal QuickTime movie structures into physical ogg streams. The component would also need to support [http://www.xiph.org/ogg/doc/oggstream.html concurrent multiplexing] and Ogg Theora mapping ([http://www.theora.org/doc/Theora_I_spec.pdf Theora spec, appendix A]). [http://www.xiph.org/ogg/doc/oggstream.html Sequential multiplexing] and possibly [[OggSkeleton]] support would be a plus.
 +
 
 +
QuickTime is [http://developer.apple.com/quicktime/ extensively documented] including [http://developer.apple.com/documentation/QuickTime/QuickTimeComponentCreation-date.html#doclist component creation] and [http://developer.apple.com/samplecode/QuickTime/idxQuickTimeComponentCreation-date.html#doclist example components]. The old [http://qtcomponents.sourceforge.net/ qtcomponents] project also contains an Ogg/Vorbis exporter component.
 +
 
 +
''Mentor: Arek Korbik''
 +
 
 +
=== Audio encoders in QuickTime/CoreAudio ===
 +
This is a complementary idea to the Theora and Ogg QuickTime components above, adding audio format support to the Ogg exporter component.
 +
 
 +
Implement Vorbis, Speex and possibly FLAC encoders as [http://developer.apple.com/documentation/MusicAudio/Reference/CoreAudio/index.html Core Audio AudioCodecs].
 +
 
 +
Besides documentation, [http://developer.apple.com/audio/download/ Core Audio SDK] includes an example AudioCodec implementation.
 +
 
 +
''Mentor: Arek Korbik''
 +
 
 +
== GUIDELINES FOR APPLYING ==
 +
 
 +
Remember that many people will apply to work on the Summer of Code.
 +
 
 +
Keep in mind that those of us evaluating your application do not know you, we do not know what kind of
 +
experience you have, we do not know what you have done in the past and we have to pick the best people
 +
suited for a particular task.
 +
 
 +
Hence, it is very important that you tell us in your email why you should be considered to implement a
 +
particular project. Projects with one line applications will probably get discarded so don't make an application
 +
like this:
 +
 
 +
I would like to work on project XYZ
 +
 
 +
Do not cut-and-paste the text from this page in your application. We know full well what the text here is.
 +
Instead explain to us your take on the problem "I could implement this using this and that", "I would need to
 +
research these areas", "I might need help sorting this out", etc.
 +
 
 +
Explain to us why you are a good candidate, also explain which projects interest you (in case that there is more
 +
than one) and why.
 +
 
 +
During the summer of code, we will invest significant resources from existing team members to guide you, answer your questions, and help you architect the software in a way that is acceptable to Xiph.org and that has a high chance of
 +
having an impact on the larger community Xiph.org works with.
 +
 
 +
Note that if you are a student that want to apply for the Summer of Code, you should go through the standard Google process.
 +
 
 +
If you have questions about these projects you can for instance come to the #theora channel on irc.freenode.com
 +
 
 +
(thanks to the Mono project for these general guidelines)

Revision as of 02:52, 8 July 2006

CURRENT IDEAS

This is our ideas page 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, but submit something and we'll see who we can round up. :)

If you're interested in doing a Summer of Code project with Xiph.org, sign up here and submit an application.

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

OggMNG implementation

Implement the OggMNG decode support in gstreamer and/or illi's dshow filters. Implement encoding support in based on byzanz or Istanbul. Bonus points for overlay support. Details on the OggMNG specifications here

Mentors: Mike Smith, Ralph Giles

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.

OggSkeleton tool support

Implement OggSkeleton production in various xiph tool packages, e.g. oggenc, vorbisenc, speexenc, theora encoder_example or ffmpeg2theora. Possibly also implement support for the QuickTime media framework (most other media frameworks already support OggSkeleton e.g. gstreamer, xine, vlc, DirectShow). It may be interesting to do these as a general library, e.g. on top liboggz.

Mentor: Conrad Parker, backup: Silvia Pfeiffer

RTP payloaders and depayloaders for Vorbis and Theora

Write a set of payloaders and depayloader plugins for Vorbis and Theora for GStreamer and Farsight. These plugins should implement the current specifications for Vorbis and Theora. Philipe Khalaf and Rob Taylor of the Farsight project are prepared to mentor this project.

Mentors: Philipe Khalaf, Rob Taylor Backup: Christian Schaller

Theora support in ekiga

Implement support for Theora as a video codec in the ekiga chat application. Overlaps with GNOME.

Mentor: Ralph Giles

MXF support in gstreamer

Implement an MXF mux/demux for gstreamer, with mappings for Vorbis and Theora.

Mentors: Christian Schaller, Mike Smith

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. See http://sourceforge.net/projects/elphel/ for a rough encoder implementation.

Intel to AT&T x86 assembly translation

There is a general need for cross platform projects to be able to compile the same asm accelleration code on both GCC and MSVC. Unfortunately, at least of x86, they have incompatible assembly formats. Currently people either convert one to the other by hand (a maintenance nightmare) or require an external compile/assemble step on one or the other platform.

Start with the (unmaintained?) intel2gas script. Spruce it up to support all of recent MMX, SSE, SSE2, SSE3 instructions. Then implement the reverse translation. Once both are working, write some glue code so it can be easily used as part of a GNU autotools build to derive one set of source from the other at build or package time.

Theora encoder and Ogg exporter/muxer QuickTime components

QuickTime is a major multimedia framework, used in many professional audio and video applications. The framework is flexible and its functionality can be extended by means of plugins - components. While the number of existing tools able to export video in Theora format is still limited, Theora encoder/exporter components would somewhat improve the situation allowing applications based on QuickTime to produce content in Theora format.

The project idea is to implement two QuickTime components: Theora encoder and Ogg exporter. In the Theora encoder component libtheora should be used for the encoding functionality and focus here is on integrating that functionality with the rest of the QuickTime framework. Ogg file exporter would be built around libogg for transfering internal QuickTime movie structures into physical ogg streams. The component would also need to support concurrent multiplexing and Ogg Theora mapping (Theora spec, appendix A). Sequential multiplexing and possibly OggSkeleton support would be a plus.

QuickTime is extensively documented including component creation and example components. The old qtcomponents project also contains an Ogg/Vorbis exporter component.

Mentor: Arek Korbik

Audio encoders in QuickTime/CoreAudio

This is a complementary idea to the Theora and Ogg QuickTime components above, adding audio format support to the Ogg exporter component.

Implement Vorbis, Speex and possibly FLAC encoders as Core Audio AudioCodecs.

Besides documentation, Core Audio SDK includes an example AudioCodec implementation.

Mentor: Arek Korbik

GUIDELINES FOR APPLYING

Remember that many people will apply to work on the Summer of Code.

Keep in mind that those of us evaluating your application do not know you, we do not know what kind of experience you have, we do not know what you have done in the past and we have to pick the best people suited for a particular task.

Hence, it is very important that you tell us in your email why you should be considered to implement a particular project. Projects with one line applications will probably get discarded so don't make an application like this:

I would like to work on project XYZ

Do not cut-and-paste the text from this page in your application. We know full well what the text here is. Instead explain to us your take on the problem "I could implement this using this and that", "I would need to research these areas", "I might need help sorting this out", etc.

Explain to us why you are a good candidate, also explain which projects interest you (in case that there is more than one) and why.

During the summer of code, we will invest significant resources from existing team members to guide you, answer your questions, and help you architect the software in a way that is acceptable to Xiph.org and that has a high chance of having an impact on the larger community Xiph.org works with.

Note that if you are a student that want to apply for the Summer of Code, you should go through the standard Google process.

If you have questions about these projects you can for instance come to the #theora channel on irc.freenode.com

(thanks to the Mono project for these general guidelines)