libavfilter: improve atempo audio quality

Reduce audio fragment alignment jitter by penalizing alignment
correction offsets that deviate too much from the target offset.
This is accomplished by multiplying the cross correlation search
window with a quadratic function.

Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Pavel Koshevoy 2012-06-17 16:45:26 -06:00 committed by Michael Niedermayer
parent 08613d50d6
commit 5fa8226420

View File

@ -654,7 +654,7 @@ static int yae_align(AudioFragment *frag,
// normalize: // normalize:
FFTSample drifti = (FFTSample)(drift + i); FFTSample drifti = (FFTSample)(drift + i);
metric *= drifti; metric *= drifti * (FFTSample)(i - i0) * (FFTSample)(i1 - i);
if (metric > best_metric) { if (metric > best_metric) {
best_metric = metric; best_metric = metric;