aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsedacca@comcast.net <sedacca@comcast.net>2013-01-18 05:14:01 +0000
committerClément Bœsch <ubitux@gmail.com>2013-02-15 16:39:25 +0100
commitb64de24fd7a5ac4889e5021a1bd4086ba4d34abc (patch)
tree29c9979a9597416b37a7434c1f928fa4c8fdde43
parentde21e6736e36e913e3172cd678a1cfcb291bf6bb (diff)
downloadffmpeg-b64de24fd7a5ac4889e5021a1bd4086ba4d34abc.tar.gz
lavfi/ebur128: advance pointer to samples
Correct the advancement of a pointer to skip over LFE samples as intended in the loudness computation. This suggested patch is 3 of 3 for Ticket #2144 "libavfilter ebur128 loudness inaccuracy, irregular time interval, LFE interference". This suggested patch supersedes the contribution of January 15, 2013 in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip LFE” which combined multiple fixes in one batch.
-rw-r--r--libavfilter/f_ebur128.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 02657673f8..66cc133704 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -478,6 +478,8 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *insamples)
for (ch = 0; ch < nb_channels; ch++) {
double bin;
+ ebur128->x[ch * 3] = *samples++; // set X[i]
+
if (!ebur128->ch_weighting[ch])
continue;
@@ -491,8 +493,6 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *insamples)
- dst[1]*name##_A1 - dst[2]*name##_A2; \
} while (0)
- ebur128->x[ch * 3] = *samples++; // set X[i]
-
// TODO: merge both filters in one?
FILTER(y, x, PRE); // apply pre-filter
ebur128->x[ch * 3 + 2] = ebur128->x[ch * 3 + 1];