[FFmpeg-devel] One pass volume normalization (ebur128)

Nicolas George nicolas.george at normalesup.org
Thu Jul 18 12:52:18 CEST 2013

Le nonidi 29 messidor, an CCXXI, Jan Ehrhardt a écrit :
> Strange. First you steer me in the direction of volumedetect and now it
> seems the other way around.

I will explain one last time: using the intermediate value of r128.I or its
equivalent from volumedetect for volume normalization is WRONG. I do not
want to help doing something wrong, nor will I support adding a feature in
ffmpeg whose main use is to do something wrong. I also believe that it would
have been better if Clément did not expose the intermediate value of r128.I,
only its final value.

The RIGHT way of doing normalization is to use either a smoothed immediate
value or the final value with two passes. The first pass would cost almost
nothing if correctly implemented.

> Here we differ. I do not think having the equivalent of MEncoder's '-af
> volnorm' is a very personal and specific need. For live broadcasts you
> need a way to normalize the loudness and the only way to do that is
> looking back in time at the previous frames.

I just looked at volnorm's algorithm, it is far from good.

> diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c
> index a2ac1e2..87491ea 100644
> --- a/libavfilter/af_volume.c
> +++ b/libavfilter/af_volume.c

I think any patch that will make it harder to implement dynamic expression
evaluation is a bad idea, but I am not maintainer of av_volume.


  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130718/ff2c74da/attachment.asc>

More information about the ffmpeg-devel mailing list