Difference between revisions of "FFmpeg Summer Of Code 2009"

From MultimediaWiki
Jump to: navigation, search
m (Current Status: Add note: This list is still a work-in-progress, please see also the Talk Page.)
(Copied a project from 08 to 09)
Line 93: Line 93:
 
* Add support for interlaced streams as used in Bluray recordings to the VC-1 decoder.
 
* Add support for interlaced streams as used in Bluray recordings to the VC-1 decoder.
 
* This includes fixing some reference streams
 
* This includes fixing some reference streams
 +
 +
=== Improve Ratecontrol ===
 +
*Primary goal 1: Fast heuristic VBV compliant per macroblock ratecontrol which has a better PSNR/bitrate and better subjective quality/bitrate than the current code.
 +
*Primary goal 2: VBV compliant, rate distortion optimal per macroblock ratecontrol using the viterbi algorithm.
 +
*Secondary goal 1: Fast heuristic scene change detection which detects scene changes more accurately, has better PSNR/bitrate and subjective quality/bitrate than the current heuristic.
 +
*Secondary goal 2: Rate distortion optimal (for the current picture) scene change detection.
 +
*Secondary goal 3: B frames decision which is faster and or has a higher PSNR/bitrate and subjective quality/bitrate than the current code.

Revision as of 20:05, 4 March 2009

Current Status

Not certain there will be a GSoC 2009. But we will list projects suggestions.

This list is still a work-in-progress, please see also the Talk Page.

1st Tier Project Proposals

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

S/PDIF muxer

  • Implement a muxer capable to mux:
    • DTS, all 3 packing modes and the usable HD extensions
    • AC3, eAC3 also
    • MLP
    • PCM
    • WMApro
    • AAC
    • Mpeg-audio, layer 2 and 3

Mentor: Benjamin Larsson

Flash Screen video 2 codec

  • Implement a flashsv2 decoder and encoder. And extend the current flashsv encoder to support optimal 2-pass encoding.

Mentor: Benjamin Larsson

2nd Tier Project Proposals

All that separates these proposals from their 1st tier brethren is a mentor.

libvo

  • Port MPlayer's libvo to ffplay
  • Note that this does not just mean to produce a working hack so that ffplay can use xv, but a clean and acceptable wrapper for (most of) libvo.

H264 Parser

  • Extend the H264 parser to correctly output timestamps for samples containing PAFF encoded fields: This should fix transcoding this sample

GStreamer input

  • Like we have vfw input we could have a gstreamer input format also. This would enable support of wmapro and wmalossless until these formats are RE'd.

AMR-WB Decoder

Also see AMR.

GSM Decoder

Also see GSM.

Sipr Decoder

Also see RealAudio sipr and this patch.

Speex Decoder

Also see Speex.

i263 Decoder

AMR-NB Encoder

Also see AMR.

VP6 Encoder

WMV3 Encoder

  • Clearly defined task
  • Primary goal: Encode video sequences such that they can be decoded by a Windows Media player.

This could either be done by improving this patch or by writing the encoder from scratch.

Improve subtitle support

  • Add text-to-bitmap conversion functions
  • One with hard-coded bitmaps for characters
  • One that utilizes freetype
  • Function used will be chosen upon compilation

Adjust existing subtitle support to new ABI

AACS implementation

  • Add the ability to encode and decode using Advanced Access Content System to FFmpeg.

VC-1 Interlaced Support

  • Add support for interlaced streams as used in Bluray recordings to the VC-1 decoder.
  • This includes fixing some reference streams

Improve Ratecontrol

  • Primary goal 1: Fast heuristic VBV compliant per macroblock ratecontrol which has a better PSNR/bitrate and better subjective quality/bitrate than the current code.
  • Primary goal 2: VBV compliant, rate distortion optimal per macroblock ratecontrol using the viterbi algorithm.
  • Secondary goal 1: Fast heuristic scene change detection which detects scene changes more accurately, has better PSNR/bitrate and subjective quality/bitrate than the current heuristic.
  • Secondary goal 2: Rate distortion optimal (for the current picture) scene change detection.
  • Secondary goal 3: B frames decision which is faster and or has a higher PSNR/bitrate and subjective quality/bitrate than the current code.