annotate liba52/a52.h @ 4443:54bed3ee58f3 libavcodec

simpify state and make code 2% faster reimar, dont hesitate to flame me for not sending patches and feel free to revert any or all of my changes to lzo.c if you dont like them
author michael
date Wed, 31 Jan 2007 10:34:13 +0000
parents 0b546eab515d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
1 /*
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
2 * a52.h
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
3 * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
4 * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
5 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
6 * This file is part of a52dec, a free ATSC A-52 stream decoder.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
7 * See http://liba52.sourceforge.net/ for updates.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
8 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
9 * a52dec is free software; you can redistribute it and/or modify
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
12 * (at your option) any later version.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
13 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
14 * a52dec is distributed in the hope that it will be useful,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
17 * GNU General Public License for more details.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
18 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
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
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
22 */
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
23
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
24 #ifndef A52_H
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
25 #define A52_H
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
26
428
dd4f4c3d7171 consistent include usage
glantau
parents: 332
diff changeset
27 #include "../avcodec.h"
dd4f4c3d7171 consistent include usage
glantau
parents: 332
diff changeset
28
1030
801f2739264a undefine malloc macros
bellard
parents: 1018
diff changeset
29 #undef malloc
801f2739264a undefine malloc macros
bellard
parents: 1018
diff changeset
30 #undef free
801f2739264a undefine malloc macros
bellard
parents: 1018
diff changeset
31 #undef realloc
801f2739264a undefine malloc macros
bellard
parents: 1018
diff changeset
32
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
33 #if defined(LIBA52_FIXED)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
34 typedef int32_t sample_t;
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
35 typedef int32_t level_t;
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
36 #elif defined(LIBA52_DOUBLE)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
37 typedef double sample_t;
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
38 typedef double level_t;
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
39 #else
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
40 typedef float sample_t;
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
41 typedef float level_t;
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
42 #endif
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
43
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
44 typedef struct a52_state_s a52_state_t;
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
45
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
46 #define A52_CHANNEL 0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
47 #define A52_MONO 1
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
48 #define A52_STEREO 2
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
49 #define A52_3F 3
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
50 #define A52_2F1R 4
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
51 #define A52_3F1R 5
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
52 #define A52_2F2R 6
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
53 #define A52_3F2R 7
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
54 #define A52_CHANNEL1 8
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
55 #define A52_CHANNEL2 9
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
56 #define A52_DOLBY 10
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
57 #define A52_CHANNEL_MASK 15
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
58
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
59 #define A52_LFE 16
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
60 #define A52_ADJUST_LEVEL 32
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
61
1018
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
62 a52_state_t * a52_init (uint32_t mm_accel);
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
63 sample_t * a52_samples (a52_state_t * state);
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
64 int a52_syncinfo (uint8_t * buf, int * flags,
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
65 int * sample_rate, int * bit_rate);
1018
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
66 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags,
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
67 level_t * level, sample_t bias);
1018
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
68 void a52_dynrng (a52_state_t * state,
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 1030
diff changeset
69 level_t (* call) (level_t, void *), void * data);
1018
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
70 int a52_block (a52_state_t * state);
696ccd81403e reverse
nickols_k
parents: 1017
diff changeset
71 void a52_free (a52_state_t * state);
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
72
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
73 #endif /* A52_H */