Difference between revisions of "SoC 2009/Weighted P-frame Prediction"

From VideoLAN Wiki
Jump to navigation Jump to search
m (z)
Line 11: Line 11:
 
! No. !! Task Description !! Status !! Comment
 
! No. !! Task Description !! Status !! Comment
 
|-
 
|-
|1 || Build weighting framework || style="background: #00ff00"|done || I have tested it to work.
+
|1 || Build weighting framework || style="background: #00ff00"|done || .
 
|-
 
|-
|2 || Brute Force Optimal Weights||style="background: #00aa00"|Mostly Working || Working well in hires, quite well in lowres. see below
+
|2 || Brute Force Optimal Weights||style="background: #00ff00"|done ||  
 
|-
 
|-
 
|3 || Try use these new weights for some interesting things to improve quality||Not started ||  
 
|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.) ||style="background: #ffff00"|Started || Lots of work to do here
+
|4 || Find Optimal Weights in a fast way (probably based on the findings in 3.) ||style="background: #00aa00"|Working || This could probably be improved (for ever)
 
|-
 
|-
|5 || Optimize ||style="background: #ffff00"|Currently working on the weight assembler code. || Currently mmx & sse2 functions work - but code needs to be done in a better way
+
|5 || DSP Functions ||style="background: #00ff00"|Done || Assembler done
 
|-
 
|-
|6 || See if explicit B-frame weighting can do good things ||Not Started||  
+
|6 || Try duplicating reference frames ||Not Started||  
 
|-
 
|-
 
|7 || Other weird uses ||Not Started||  
 
|7 || Other weird uses ||Not Started||  
Line 27: Line 27:
  
 
===Current Issues===
 
===Current Issues===
 
- Currently the weighting doesnt work as well when looking at the lowres frame as the hires. This is the biggest issue currently and will be looked at after exams.
 
  
 
== Timeline ==
 
== Timeline ==

Revision as of 23:30, 2 July 2009

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.

Code

My patches (and codebase) are here for now, but they may soon move to videolan's server

Goals

No. Task Description Status Comment
1 Build weighting framework done .
2 Brute Force Optimal Weights done
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.) Working This could probably be improved (for ever)
5 DSP Functions Done Assembler done
6 Try duplicating reference frames Not Started
7 Other weird uses Not Started

Current Issues

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