Mercurial > mplayer.hg
annotate liba52/a52.h @ 20966:dc1a02e98cb6
clarify syncpoint placement recommanditions
(note i would also like to add a "there MUST be 1 syncpoint per second" rule)
author | michael |
---|---|
date | Fri, 17 Nov 2006 13:32:45 +0000 |
parents | 0783dd397f74 |
children | dcdc0c85d354 |
rev | line source |
---|---|
3394 | 1 /* |
2 * a52.h | |
18720
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
3 * Copyright (C) 2000-2002 Michel Lespinasse <walken@zoy.org> |
3394 | 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 * | |
14991
07f1e7669772
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
3909
diff
changeset
|
9 * Modified for use with MPlayer, changes contained in liba52_changes.diff. |
18783 | 10 * detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ |
14991
07f1e7669772
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
3909
diff
changeset
|
11 * $Id$ |
07f1e7669772
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
3909
diff
changeset
|
12 * |
3394 | 13 * a52dec is free software; you can redistribute it and/or modify |
14 * it under the terms of the GNU General Public License as published by | |
15 * the Free Software Foundation; either version 2 of the License, or | |
16 * (at your option) any later version. | |
17 * | |
18 * a52dec is distributed in the hope that it will be useful, | |
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 * GNU General Public License for more details. | |
22 * | |
23 * You should have received a copy of the GNU General Public License | |
24 * along with this program; if not, write to the Free Software | |
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
26 */ | |
27 | |
28 #ifndef A52_H | |
29 #define A52_H | |
30 | |
31 #ifndef LIBA52_DOUBLE | |
32 typedef float sample_t; | |
33 #else | |
34 typedef double sample_t; | |
35 #endif | |
36 | |
18720
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
37 typedef struct a52_state_s a52_state_t; |
3394 | 38 |
39 #define A52_CHANNEL 0 | |
40 #define A52_MONO 1 | |
41 #define A52_STEREO 2 | |
42 #define A52_3F 3 | |
43 #define A52_2F1R 4 | |
44 #define A52_3F1R 5 | |
45 #define A52_2F2R 6 | |
46 #define A52_3F2R 7 | |
47 #define A52_CHANNEL1 8 | |
48 #define A52_CHANNEL2 9 | |
49 #define A52_DOLBY 10 | |
50 #define A52_CHANNEL_MASK 15 | |
51 | |
52 #define A52_LFE 16 | |
53 #define A52_ADJUST_LEVEL 32 | |
54 | |
18720
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
55 a52_state_t * a52_init (uint32_t mm_accel); |
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
56 sample_t * a52_samples (a52_state_t * state); |
3394 | 57 int a52_syncinfo (uint8_t * buf, int * flags, |
58 int * sample_rate, int * bit_rate); | |
59 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags, | |
60 sample_t * level, sample_t bias); | |
61 void a52_dynrng (a52_state_t * state, | |
62 sample_t (* call) (sample_t, void *), void * data); | |
18720
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
63 int a52_block (a52_state_t * state); |
4bad7f00556e
sync with liba52 0.7.4, patch by Emanuele Giaquinta >emanuele.giaquinta ! gmail * com<
rathann
parents:
14991
diff
changeset
|
64 void a52_free (a52_state_t * state); |
3890 | 65 |
3909 | 66 void* a52_resample_init(uint32_t mm_accel,int flags,int chans); |
3626 | 67 extern int (* a52_resample) (float * _f, int16_t * s16); |
3394 | 68 |
3890 | 69 uint16_t crc16_block(uint8_t *data,uint32_t num_bytes); |
70 | |
3394 | 71 #endif /* A52_H */ |