FFmpeg Summer of Code 2012: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(guys, you need to stop moving pages and just create a copy. its not cool to do this on the wiki...)
 
(move duplicated proposals to 2nd tier)
Line 24: Line 24:
== 1st Tier Project Proposals ==
== 1st Tier Project Proposals ==
1st tier project proposals are project ideas that are reasonably well defined '''AND''' have a mentor volunteered.
1st tier project proposals are project ideas that are reasonably well defined '''AND''' have a mentor volunteered.
=== Improve the audio resampling/rematrixing/converting code ===
* right now, we're using libswresample to resample/rematrix audio (samplerate / channels) and to resample the audio format (int, float, 16-bit, 32-bit).
* both interleaved and planar audio sample formats are already supported
* We need SIMD optimization of popular conversions (float-int16, int16-float), (stereo-mono-5.1) and anything else thats frequently used.
* We need support for alternate conversion functions (e.g. sample format conversion with or without dithering)
* fix bugs in current design (none known but there sure are some)
''Mentor: [[User:Michael|Michael Niedermayer]]''
== 2nd Tier (need mentor) Project Proposals ==
some following proposals might be done by libav, still waiting for dust to settle.


=== DTS-HD decoder ===
=== DTS-HD decoder ===
Line 58: Line 71:
* implement rls-lms in the encoder
* implement rls-lms in the encoder
* implement float support
* implement float support
=== Improve the audio resampling/rematrixing/converting code ===
* right now, we're using libswresample to resample/rematrix audio (samplerate / channels) and to resample the audio format (int, float, 16-bit, 32-bit).
* both interleaved and planar audio sample formats are already supported
* We need SIMD optimization of popular conversions (float-int16, int16-float), (stereo-mono-5.1) and anything else thats frequently used.
* We need support for alternate conversion functions (e.g. sample format conversion with or without dithering)
* fix bugs in current design (none known but there sure are some)
''Mentor: [[User:Michael|Michael Niedermayer]]''
== 2nd Tier (need mentor) Project Proposals ==
none yet, check out previous years proposals.

Revision as of 13:58, 18 February 2012

How it works

Google's Summer of Code program is simple: you (the student) work on a project, full-time, during the whole summer, and you get assistance (advice, mentoring) from a FFmpeg developer. By doing so, you'll learn to operate in an opensource project, you'll get relevant coding experience, and you'll have a chance at earning money while doing fun stuff during the summer. So, you need a project, a mentor, do a qualification task (see below) so we can quickly assess how good a candidate we feel you'll be for the program, and then you can apply.

Please detail the deadlines for applying and being a student/mentor.

Selecting a project

Below, you'll find two lists of projects:

  • Projects with a mentor
  • Projects without a mentor

If you choose a project with a mentor, talk to that mentor (see below) and select a suitable qualification task. Once completed, you're eligible for participating in our Summer of Code program. If you choose a project without a mentor, your first job is to find a mentor (see below). Then, once you've found a mentor, continue as before. If you don't like any of the projects, you're free to define your own project and find a mentor as mentioned before (see below for caveats).

Contacting developers/mentors

Once you've found a project (with or without mentor), start talking to the developers. We can often be found on IRC, and you can talk to us on mailinglists also. Hop on irc.freenode.net channels #ffmpeg-devel, or talk to us on ffmpeg-devel@ffmpeg.org. Here, you'll be able to ask around for mentors for projects without a mentor if you need to. If you're trying to define your own project, explain (with reasonable amount of detail) what you intend to achieve and why you think your project should be in our Summer of Code program. Once you've found a mentor, you're good to start your qualification task.


Your qualification task

The goal of a qualification task is to see if the mentor and student feel that, together, they will be able to finish the project of their choice.

Applying

While you are working on your qualification task, apply at http://www.google-melange.com/. The degree (and detail) with which you've finished your qualification task will determine how likely your project is to be selected. In the past few years, students that completely finished their qualification task always got selected as Summer of Code students, but that may vary depending on the number of spots we get assigned by Google, and the number of students that apply.


1st Tier Project Proposals

1st tier project proposals are project ideas that are reasonably well defined AND have a mentor volunteered.

Improve the audio resampling/rematrixing/converting code

  • right now, we're using libswresample to resample/rematrix audio (samplerate / channels) and to resample the audio format (int, float, 16-bit, 32-bit).
  • both interleaved and planar audio sample formats are already supported
  • We need SIMD optimization of popular conversions (float-int16, int16-float), (stereo-mono-5.1) and anything else thats frequently used.
  • We need support for alternate conversion functions (e.g. sample format conversion with or without dithering)
  • fix bugs in current design (none known but there sure are some)

Mentor: Michael Niedermayer

2nd Tier (need mentor) Project Proposals

some following proposals might be done by libav, still waiting for dust to settle.

DTS-HD decoder

(1) Add support for mixed Core + DTS-HD stream structure
    (DtsCoreFrame+DtsHdFrame+DtsCoreFrame+DtsHdFrame+...), used by Blu-Ray main
    and commentary tracks.
(2) Add support for XXCh extension (6.1 and 7.1 channels).
(3) Add support for X96 extension (96khz).
(4) Add support for XLL extension (lossless).
(5) Add support for a pure DTS-HD stream structure
    (DtsHdFrame+DtsHdFrame+DtsHdFrame+...), used by Blu-Ray PiP tracks.
(6) Add support for XBR extension (extra bitrate).


MPEG-4 ALS Roundup

This task is to update and enhance the existing ALS decoder as well as integrate and enhance the rudimentary encoder found at: https://github.com/justinruggles/FFmpeg-alsenc

Possible features are:

  • implement rls-lms in the decoder
  • do correct channel layout/sort handling in the decoder
  • update to current master
  • use codec private options
  • implement encode2(), setting pts and duration
  • document options and examples in encoders.texi
  • come up with a good set of encoding tests for FATE
  • implement mcc/channel sort in the encoder
  • implement rls-lms in the encoder
  • implement float support