diff options
author | Alessandro Ghedini <alessandro@ghedini.me> | 2014-04-04 11:50:44 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-04-04 17:40:19 +0200 |
commit | 8542f9c4f17125d483c40c0c5723842f1c982f81 (patch) | |
tree | 3981a5b0ca00cd6e3d3f47725dc7e3ff1050c9bd /libavutil/replaygain.h | |
parent | 25b6837f7cacd691b19cbc12b9dad1ce84a318a1 (diff) | |
download | ffmpeg-8542f9c4f17125d483c40c0c5723842f1c982f81.tar.gz |
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>
Diffstat (limited to 'libavutil/replaygain.h')
-rw-r--r-- | libavutil/replaygain.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavutil/replaygain.h b/libavutil/replaygain.h index 8447703fbf..7871d2c762 100644 --- a/libavutil/replaygain.h +++ b/libavutil/replaygain.h @@ -34,8 +34,8 @@ typedef struct AVReplayGain { */ int32_t track_gain; /** - * Peak track amplitude, with UINT32_MAX representing full scale. 0 when - * unknown. + * Peak track amplitude, with 100000 representing full scale (but values + * may overflow). 0 when unknown. */ uint32_t track_peak; /** |