replaygain: correctly parse peak values
[libav.git] / libavutil / replaygain.h
1 /*
2 *
3 * This file is part of Libav.
4 *
5 * Libav is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * Libav is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with Libav; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20 #ifndef AVUTIL_REPLAYGAIN_H
21 #define AVUTIL_REPLAYGAIN_H
22
23 #include <stdint.h>
24
25 /**
26 * ReplayGain information (see
27 * http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification).
28 * The size of this struct is a part of the public ABI.
29 */
30 typedef struct AVReplayGain {
31 /**
32 * Track replay gain in microbels (divide by 100000 to get the value in dB).
33 * Should be set to INT32_MIN when unknown.
34 */
35 int32_t track_gain;
36 /**
37 * Peak track amplitude, with 100000 representing full scale (but values
38 * may overflow). 0 when unknown.
39 */
40 uint32_t track_peak;
41 /**
42 * Same as track_gain, but for the whole album.
43 */
44 int32_t album_gain;
45 /**
46 * Same as track_peak, but for the whole album,
47 */
48 uint32_t album_peak;
49 } AVReplayGain;
50
51 #endif /* AVUTIL_REPLAYGAIN_H */