Nicolas George in gmane.comp.video.ffmpeg.devel (Sat, 13 Jul 2013 23:07:11 +0200):
Le quintidi 25 messidor, an CCXXI, Jan Ehrhardt a écrit :
Not really. If you look at the origional you will see that fixed, float and double are values for the precision.
I was indeed wrong on this point.
OK.
Two of the three hardcoded values should be hardcoded. The -23 is part of the EBU R128 specs: http://tech.ebu.ch/loudness
Not all people want to implement EBU R128.
-23 LUFS is a good starting point. If they want a higher or lower volume, they could add another volume filter after the volume=metadata=lavfi.r128.I. A dual volume filter is no nice solution, but it is workable.
And even if they do, with the current infrastructure, using r128.I will not yield a global -23 dB loudness and using the other variables will give audible distortion. Therefore, it is not currently possible to comply with EBU R128 recommendations in single pass.
There are some situations where you cannot do a dual pass. For instance, if you are live broadcasting a symphony with a grand finale, there is no hardware or software solution possible that produces a fully EBU R128 compliant loudness. Something like my patch must be close enough. After all, EBU R128 is only a recommendation.
Not quite either. f_ebur128.c hardcodes the errorlevel to verbose if the metadata are set. You do not want to see the intermediate metadata if you do a 'one pass' transcoode. If needed you can always set the loglevel to view them.
This still do not belong in this patch.
I do not mind to make it a separate patch. How do we proceed? I can make some adjustments to my patch, but for some (f.i. the "evil plan") I have a lack of knowledgde. Could you make the adjustments and publish a new patch? It would be really nice if it would be there in, say, version 3.0. Jan