[FFmpeg-devel] Interpolation algorithms for FFmpeg
Tue Aug 3 13:49:46 CEST 2010
Michael Niedermayer a ?crit :
> On Wed, Jul 28, 2010 at 08:38:47PM +0200, Sebastian Vater wrote:
>> Hi guys!
>> In accordance with my chief I planned my Bachelor work to deal with interpolation algorithms and I also have to code one.
>> After getting some informations from Benjamin Larsson what is already supported in FFmpeg, I was doing some research last weekend on interpolation for being a) usable for
>> FFmpeg and b) for my Bachelor work.
>> I found this one very interesting (Farrow Interpolation mode):
> what is farrow interpolation?
> this text in that link is pretty much crap. I can explain what fir is in 2
> lines they drag it out over pages and diagrams that only make sense to someone
> who knows already what the things are besides that the informations is
> obviously incomplete.
I just continued research regarding your question and founded this thread:
There's also a PDF file:
And someone summarized it as follows:
Let me try to summarize Farrow's idea in three bullet points:
The numbers are from the reference.
* I can use a FIR filter to interpolate one particular point between
samples, for example at an offset of 1/32 sample time
* I keep 32 different banks of FIR coefficients at hand, so that I can
choose between interpolating at for example 0/32, 1/32, 2/32... 31/32
delay. That's a "polyphase" filter.
* I may still need a higher timing resolution. Instead of decreasing the
step size (and using more polyphase filter "banks") I calculate each FIR
coefficient through a polynomial (for example 4th order) with the delay
0..1 as variable.
This sounds to me that it is a special FIR, but regarding to this thread there's also a farrow interpolation filter using linear interpolation.
> ffmpeg would be interrested in any of the following
> * picture scaling by doing interpolation along the direction of most equal
> color or otherwise along the texture pattern
> * video frame rate changing by interpolation along motion vectors
> * audio resampling by adaptively switching filters (for example filter
> length) depending on audio characteristics with the intent of maximizing
> similarity to the ideal/correct signal.
> other ideas welcome but they must be formally well defined not links to
> documents about commercial products.
Well, I thought maybe start with:
To get a first overview of interpolation algorithms and then take a look
on them, which is what I do right now.
:-) Basty/CDGS (-:
More information about the ffmpeg-devel