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 #ifndef LIBA52_DOUBLE
00030 typedef float sample_t;
00031 #else
00032 typedef double sample_t;
00033 #endif
00034
00035 typedef struct a52_state_s a52_state_t;
00036
00037 #define A52_CHANNEL 0
00038 #define A52_MONO 1
00039 #define A52_STEREO 2
00040 #define A52_3F 3
00041 #define A52_2F1R 4
00042 #define A52_3F1R 5
00043 #define A52_2F2R 6
00044 #define A52_3F2R 7
00045 #define A52_CHANNEL1 8
00046 #define A52_CHANNEL2 9
00047 #define A52_DOLBY 10
00048 #define A52_CHANNEL_MASK 15
00049
00050 #define A52_LFE 16
00051 #define A52_ADJUST_LEVEL 32
00052
00053 a52_state_t * a52_init (uint32_t mm_accel);
00054 sample_t * a52_samples (a52_state_t * state);
00055 int a52_syncinfo (uint8_t * buf, int * flags,
00056 int * sample_rate, int * bit_rate);
00057 int a52_frame (a52_state_t * state, uint8_t * buf, int * flags,
00058 sample_t * level, sample_t bias);
00059 void a52_dynrng (a52_state_t * state,
00060 sample_t (* call) (sample_t, void *), void * data);
00061 int a52_block (a52_state_t * state);
00062 void a52_free (a52_state_t * state);
00063
00064 #endif