[FFmpeg-devel] [PATCH 3/3] lavfi: EBU R.128 advance pointer to samples

Clément Bœsch ubitux at gmail.com
Sat Jan 19 01:36:26 CET 2013


On Fri, Jan 18, 2013 at 05:14:01AM +0000, sedacca at comcast.net wrote:
> 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.
> 
> ---
>  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 3e0cabc..dedaa5d 100644
> --- a/libavfilter/f_ebur128.c
> +++ b/libavfilter/f_ebur128.c
> @@ -470,6 +470,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;
>  
> @@ -483,8 +485,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];

Ah, looks better, thanks. LGTM.

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130119/3da84609/attachment.asc>


More information about the ffmpeg-devel mailing list