replaygain: correctly parse peak values
authorAlessandro Ghedini <alessandro@ghedini.me>
Fri, 4 Apr 2014 09:50:44 +0000 (11:50 +0200)
committerAnton Khirnov <anton@khirnov.net>
Fri, 4 Apr 2014 15:40:19 +0000 (17:40 +0200)
commit8542f9c4f17125d483c40c0c5723842f1c982f81
tree3981a5b0ca00cd6e3d3f47725dc7e3ff1050c9bd
parent25b6837f7cacd691b19cbc12b9dad1ce84a318a1
replaygain: correctly parse peak values

According to the ReplayGain spec, the peak amplitude may overflow and may result
in peak amplitude values greater than 1.0 with psychoacoustically coded audio,
such as MP3. Fully compliant decoders must allow peak overflows.

Additionally, having peak values in the 0<->UINT32_MAX scale makes it more
difficult for applications to actually use the peak values (e.g. when
implementing clipping prevention) since values have to be rescaled down.

This patch corrects the peak parsing by removing the rescaling of the decoded
values between 0 and UINT32_MAX and the 1.0 upper limit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
doc/APIchanges
libavformat/replaygain.c
libavutil/replaygain.h
libavutil/version.h