00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00025 #define AC3_MAX_CODED_FRAME_SIZE 3840
00026 #define AC3_MAX_CHANNELS 6
00027
00028 #define NB_BLOCKS 6
00029 #define AC3_FRAME_SIZE (NB_BLOCKS * 256)
00030
00031
00032 #define EXP_REUSE 0
00033 #define EXP_NEW 1
00034
00035 #define EXP_D15 1
00036 #define EXP_D25 2
00037 #define EXP_D45 3
00038
00039 typedef struct AC3BitAllocParameters {
00040 int fscod;
00041 int halfratecod;
00042 int sgain, sdecay, fdecay, dbknee, floor;
00043 int cplfleak, cplsleak;
00044 } AC3BitAllocParameters;
00045
00046 #if 0
00047 extern const uint16_t ac3_freqs[3];
00048 extern const uint16_t ac3_bitratetab[19];
00049 extern const int16_t ac3_window[256];
00050 extern const uint8_t sdecaytab[4];
00051 extern const uint8_t fdecaytab[4];
00052 extern const uint16_t sgaintab[4];
00053 extern const uint16_t dbkneetab[4];
00054 extern const uint16_t floortab[8];
00055 extern const uint16_t fgaintab[8];
00056 #endif
00057
00058 void ac3_common_init(void);
00059 void ac3_parametric_bit_allocation(AC3BitAllocParameters *s, uint8_t *bap,
00060 int8_t *exp, int start, int end,
00061 int snroffset, int fgain, int is_lfe,
00062 int deltbae,int deltnseg,
00063 uint8_t *deltoffst, uint8_t *deltlen, uint8_t *deltba);