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 #include "../avcodec.h"
00028
00029 #undef malloc
00030 #undef free
00031 #undef realloc
00032
00033 #if defined(LIBA52_FIXED)
00034 typedef int32_t sample_t;
00035 typedef int32_t level_t;
00036 #elif defined(LIBA52_DOUBLE)
00037 typedef double sample_t;
00038 typedef double level_t;
00039 #else
00040 typedef float sample_t;
00041 typedef float level_t;
00042 #endif
00043
00044 typedef struct a52_state_s a52_state_t;
00045
00046 #define A52_CHANNEL 0
00047 #define A52_MONO 1
00048 #define A52_STEREO 2
00049 #define A52_3F 3
00050 #define A52_2F1R 4
00051 #define A52_3F1R 5
00052 #define A52_2F2R 6
00053 #define A52_3F2R 7
00054 #define A52_CHANNEL1 8
00055 #define A52_CHANNEL2 9
00056 #define A52_DOLBY 10
00057 #define A52_CHANNEL_MASK 15
00058
00059 #define A52_LFE 16
00060 #define A52_ADJUST_LEVEL 32
00061
00062 a52_state_t * a52_init (uint32_t mm_accel);
00063 sample_t * a52_samples (a52_state_t * state);
00064 int a52_syncinfo (uint8_t * buf, int * flags,
00065 int * sample_rate, int * bit_rate);
00066 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags,
00067 level_t * level, sample_t bias);
00068 void a52_dynrng (a52_state_t * state,
00069 level_t (* call) (level_t, void *), void * data);
00070 int a52_block (a52_state_t * state);
00071 void a52_free (a52_state_t * state);
00072
00073 #endif