Mercurial > libavcodec.hg
annotate liba52/a52.h @ 3088:03582724f3de libavcodec
Correct the relation between floors of type 0 and block sizes.
author | al |
---|---|
date | Sun, 05 Feb 2006 10:16:20 +0000 |
parents | 0b546eab515d |
children |
rev | line source |
---|---|
332 | 1 /* |
2 * a52.h | |
1072 | 3 * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org> |
332 | 4 * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> |
5 * | |
6 * This file is part of a52dec, a free ATSC A-52 stream decoder. | |
7 * See http://liba52.sourceforge.net/ for updates. | |
8 * | |
9 * a52dec is free software; you can redistribute it and/or modify | |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * a52dec is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
3036
0b546eab515d
Update licensing information: The FSF changed postal address.
diego
parents:
1072
diff
changeset
|
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
332 | 22 */ |
23 | |
24 #ifndef A52_H | |
25 #define A52_H | |
26 | |
428 | 27 #include "../avcodec.h" |
28 | |
1030 | 29 #undef malloc |
30 #undef free | |
31 #undef realloc | |
32 | |
1072 | 33 #if defined(LIBA52_FIXED) |
34 typedef int32_t sample_t; | |
35 typedef int32_t level_t; | |
36 #elif defined(LIBA52_DOUBLE) | |
37 typedef double sample_t; | |
38 typedef double level_t; | |
39 #else | |
332 | 40 typedef float sample_t; |
1072 | 41 typedef float level_t; |
332 | 42 #endif |
43 | |
44 typedef struct a52_state_s a52_state_t; | |
45 | |
46 #define A52_CHANNEL 0 | |
47 #define A52_MONO 1 | |
48 #define A52_STEREO 2 | |
49 #define A52_3F 3 | |
50 #define A52_2F1R 4 | |
51 #define A52_3F1R 5 | |
52 #define A52_2F2R 6 | |
53 #define A52_3F2R 7 | |
54 #define A52_CHANNEL1 8 | |
55 #define A52_CHANNEL2 9 | |
56 #define A52_DOLBY 10 | |
57 #define A52_CHANNEL_MASK 15 | |
58 | |
59 #define A52_LFE 16 | |
60 #define A52_ADJUST_LEVEL 32 | |
61 | |
1018 | 62 a52_state_t * a52_init (uint32_t mm_accel); |
63 sample_t * a52_samples (a52_state_t * state); | |
64 int a52_syncinfo (uint8_t * buf, int * flags, | |
332 | 65 int * sample_rate, int * bit_rate); |
1018 | 66 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags, |
1072 | 67 level_t * level, sample_t bias); |
1018 | 68 void a52_dynrng (a52_state_t * state, |
1072 | 69 level_t (* call) (level_t, void *), void * data); |
1018 | 70 int a52_block (a52_state_t * state); |
71 void a52_free (a52_state_t * state); | |
332 | 72 |
73 #endif /* A52_H */ |