00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef A52_H
00025 #define A52_H
00026
00027 #define LIBA52_DOUBLE
00028
00029 # ifdef __cplusplus
00030 extern "C" {
00031 # endif
00032
00033 #ifndef LIBA52_DOUBLE
00034 typedef float sample_t;
00035 #else
00036 typedef double sample_t;
00037 #endif
00038
00039 typedef struct a52_state_s a52_state_t;
00040
00041 #define A52_CHANNEL 0
00042 #define A52_MONO 1
00043 #define A52_STEREO 2
00044 #define A52_3F 3
00045 #define A52_2F1R 4
00046 #define A52_3F1R 5
00047 #define A52_2F2R 6
00048 #define A52_3F2R 7
00049 #define A52_CHANNEL1 8
00050 #define A52_CHANNEL2 9
00051 #define A52_DOLBY 10
00052 #define A52_CHANNEL_MASK 15
00053
00054 #define A52_LFE 16
00055 #define A52_ADJUST_LEVEL 32
00056
00057 a52_state_t * a52_init (uint32_t mm_accel);
00058 sample_t * a52_samples (a52_state_t * state);
00059 int a52_syncinfo (uint8_t * buf, int * flags,
00060 int * sample_rate, int * bit_rate);
00061 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags,
00062 sample_t * level, sample_t bias);
00063 void a52_dynrng (a52_state_t * state,
00064 sample_t (* call) (sample_t, void *), void * data);
00065 int a52_block (a52_state_t * state);
00066 void a52_free (a52_state_t * state);
00067
00068 # ifdef __cplusplus
00069 }
00070 # endif
00071
00072 #endif