SoC 2009/Weighted P-frame Prediction

From VideoLAN Wiki
Revision as of 13:56, 24 May 2009 by Dylan (talk | contribs)
Jump to navigation Jump to search
This project is part of Google Summer of Code 2009.
Student: Dylan Yudaken
Mentor: Jason Garrett-Glaser

Abstract

x264 is a highly popular h264 encoder. It currently does not implement the entire spec of h264. Currently weighted P-frames are not used to assist in prediction. If implemented this would give huge benefits in cases where the scene fades or where there are flashes. I am proposing to implement an implementation of this that is good enough and fast enough to warrant inclusion in most video encodings.

Goals

No. Task Description Status Comment
1 Build weighting framework done I have tested it to work.
2 Brute Force Optimal Weights Mostly Working Working well in hires, quite well in lowres. see below
3 Try use these new weights for some interesting things to improve quality Not started
4 Find Optimal Weights in a fast way (probably based on the findings in 3.) Not started Actually I have got a lot of ideas, some of which I have tested. Just nothing using the current framework so it is possible that it is all useless.
5 Optimize Currently working on the weight assembler code. Never done assembler before so this is going slooow.
6 See if explicit B-frame weighting can do good things Not Started
7 Other weird uses Not Started

Timeline

This is an estimation.

March 20th or so - April 3 Qualifying task. Was a first attempt at goal 1.

April 20 Students announce

April 21 - May Goal 1 redone better and acceptably.

May 1 - May 20 Work on goal 2

May 23 Program Starts

May 26 - June 12 Exams

June 13 - July 13 Code

July 13 Mid Term deadline. Goals for here have not been set but personally I would like to have goal 2 & 4 finished with goal 3 having a decent chunk of work done. This weird out of order thing is because goal 3 can be worked on continuously as it is not really set, more the trying of ideas.

July 13 - August 17 Code

August 17 Program end