[FFmpeg-cvslog] lavfi/ebur128: advance pointer to samples

sedacca@comcast.net git at videolan.org
Fri Feb 15 16:40:02 CET 2013


ffmpeg | branch: master | sedacca at comcast.net <sedacca at comcast.net> | Fri Jan 18 05:14:01 2013 +0000| [b64de24fd7a5ac4889e5021a1bd4086ba4d34abc] | committer: Clément Bœsch

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b64de24fd7a5ac4889e5021a1bd4086ba4d34abc
---

 libavfilter/f_ebur128.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 0265767..66cc133 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];



More information about the ffmpeg-cvslog mailing list