📄 g729a_ld8a.h
字号:
#ifndef _H_G729ALD8A
#define _H_G729ALD8A
#define G729A_L_TOTAL 240
#define G729A_L_WINDOW 240
#define G729A_L_NEXT 40
#define G729A_L_FRAME 80
#define G729A_L_SUBFR 40
#define G729A_M 10
#define G729A_MP1 (G729A_M+1)
#define G729A_PIT_MIN 20
#define G729A_PIT_MAX 143
#define G729A_L_INTERPOL (10+1)
#define G729A_GAMMA1 24576
#define G729A_PRM_SIZE 11
#define G729A_SERIAL_SIZE 5
#define G729A_SHARPMAX 13017
#define G729A_SHARPMIN 3277
#define G729A_UP_SAMP 3
#define G729A_L_INTER10 10
#define G729A_FIR_SIZE_SYN (G729A_UP_SAMP*G729A_L_INTER10+1)
#define G729A_DIM_RR 616
#define G729A_NB_POS 8
#define G729A_STEP 5
#define G729A_MSIZE 64
#define G729A__1_2 (Word16)(16384)
#define G729A__1_4 (Word16)( 8192)
#define G729A__1_8 (Word16)( 4096)
#define G729A__1_16 (Word16)( 2048)
#define G729A_NC 5
#define G729A_MA_NP 4
#define G729A_MODE 2
#define G729A_NC0_B 7
#define G729A_NC1_B 5
#define G729A_NC0 (1<<G729A_NC0_B)
#define G729A_NC1 (1<<G729A_NC1_B)
#define G729A_L_LIMIT 40
#define G729A_M_LIMIT 25681
#define G729A_GAP1 10
#define G729A_GAP2 5
#define G729A_GAP3 321
#define G729A_GRID_POINTS 50
#define G729A_PI04 ((Word16)1029)
#define G729A_PI92 ((Word16)23677)
#define G729A_CONST10 ((Word16)10*(1<<11))
#define G729A_CONST12 ((Word16)19661)
#define G729A_NCODE1_B 3
#define G729A_NCODE2_B 4
#define G729A_NCODE1 (1<<G729A_NCODE1_B)
#define G729A_NCODE2 (1<<G729A_NCODE2_B)
#define G729A_NCAN1 4
#define G729A_NCAN2 8
#define G729A_INV_COEF -17103
#define G729A_BIT_0 (short)0x007f
#define G729A_BIT_1 (short)0x0081
#define G729A_SYNC_WORD (short)0x6b21
#define G729A_SIZE_WORD (short)80
#define G729A_L_H 22
#define G729A_GAMMAP 16384
#define G729A_INV_GAMMAP 21845
#define G729A_GAMMAP_2 10923
#define G729A_GAMMA2_PST 18022
#define G729A_GAMMA1_PST 22938
#define G729A_MU 26214
#define G729A_AGC_FAC 29491
#define G729A_AGC_FAC1 (Word16)(32767 - G729A_AGC_FAC)
#define G729A_GPCLIP 15564
#define G729A_GPCLIP2 481
#define G729A_GP0999 16383
#define G729A_L_THRESH_ERR 983040000L
Word32 G729AInv_sqrt(Word32 L_x);
void G729ALog2(Word32 L_x, Word16 *exponent, Word16 *fraction);
Word32 G729APow2(Word16 exponent, Word16 fraction);
void G729AInit_Pre_Process(void);
void G729AInit_Post_Process(void);
void G729APre_Process(Word16 signal[], Word16 lg );
void G729APost_Process(Word16 signal[], Word16 lg);
void G729AInit_Coder_ld8a(void);
void G729ACoder_ld8a(Word16 ana[]);
void G729AInit_Decod_ld8a(void);
void G729ADecod_ld8a(Word16 parm[], Word16 synth[], Word16 A_t[], Word16 *T2);
void G729AAutocorr(Word16 x[], Word16 m, Word16 r_h[], Word16 r_l[]);
void G729ALag_window(Word16 m, Word16 r_h[], Word16 r_l[]);
void G729ALevinson(Word16 Rh[], Word16 Rl[], Word16 A[], Word16 rc[]);
void G729AAz_lsp(Word16 a[], Word16 lsp[], Word16 old_lsp[]);
void G729ALsp_Az(Word16 lsp[], Word16 a[]);
void G729ALsf_lsp(Word16 lsf[], Word16 lsp[], Word16 m);
void G729ALsp_lsf(Word16 lsp[], Word16 lsf[], Word16 m);
void G729AInt_qlpc(Word16 lsp_old[], Word16 lsp_new[], Word16 Az[]);
void G729AWeight_Az(Word16 a[], Word16 gamma, Word16 m, Word16 ap[]);
void G729AResidu(Word16 a[], Word16 x[], Word16 y[], Word16 lg);
void G729ASyn_filt(Word16 a[], Word16 x[], Word16 y[], Word16 lg, Word16 mem[], Word16 update);
void G729AConvolve(Word16 x[], Word16 h[], Word16 y[], Word16 L);
Word16 G729APitch_ol_fast(Word16 signal[], Word16 pit_max, Word16 L_frame );
Word16 G729APitch_fr3_fast(Word16 exc[], Word16 xn[], Word16 h[], Word16 L_subfr, Word16 t0_min, Word16 t0_max, Word16 i_subfr, Word16 *pit_frac);
Word16 G729AG_pitch(Word16 xn[], Word16 y1[], Word16 g_coeff[], Word16 L_subfr);
Word16 G729AEnc_lag3(Word16 T0, Word16 T0_frac, Word16 *T0_min, Word16 *T0_max, Word16 pit_min, Word16 pit_max, Word16 pit_flag);
void G729ADec_lag3(Word16 index, Word16 pit_min, Word16 pit_max, Word16 i_subfr, Word16 *T0, Word16 *T0_frac);
Word16 G729AInterpol_3(Word16 *x, Word16 frac);
void G729APred_lt_3(Word16 exc[], Word16 T0, Word16 frac, Word16 L_subfr);
Word16 G729AParity_Pitch(Word16 pitch_index);
Word16 G729ACheck_Parity_Pitch( Word16 pitch_index, Word16 parity);
void G729ACor_h_X(Word16 h[], Word16 X[], Word16 D[]);
Word16 G729AACELP_Code_A(Word16 x[], Word16 h[], Word16 T0, Word16 pitch_sharp, Word16 code[], Word16 y[], Word16 *sign);
void G729ADecod_ACELP(Word16 sign, Word16 index, Word16 cod[]);
void G729ALsf_lsp2(Word16 lsf[], Word16 lsp[], Word16 m);
void G729ALsp_lsf2(Word16 lsp[], Word16 lsf[], Word16 m);
void G729AQua_lsp(Word16 lsp[], Word16 lsp_q[], Word16 ana[]);
void G729AGet_wegt(Word16 flsp[], Word16 wegt[]);
void G729ALsp_encw_reset(void);
void G729ALsp_qua_cs(Word16 flsp_in[G729A_M], Word16 lspq_out[G729A_M], Word16 *code);
void G729ALsp_expand_1(Word16 buf[],Word16 gap);
void G729ALsp_expand_2(Word16 buf[], Word16 gap);
void G729ALsp_expand_1_2(Word16 buf[], Word16 gap);
void G729ALsp_get_quant(Word16 lspcb1[][G729A_M], Word16 lspcb2[][G729A_M], Word16 code0, Word16 code1, Word16 code2, Word16 fg[][G729A_M], Word16 freq_prev[][G729A_M], Word16 lspq[], Word16 fg_sum[]);
void G729ALsp_get_tdist(Word16 wegt[], Word16 buf[], Word32 *L_tdist, Word16 rbuf[], Word16 fg_sum[]);
void G729ALsp_last_select(Word32 L_tdist[], Word16 *mode_index);
void G729ALsp_pre_select(Word16 rbuf[], Word16 lspcb1[][G729A_M], Word16 *cand);
void G729ALsp_select_1(Word16 rbuf[], Word16 lspcb1[], Word16 wegt[], Word16 lspcb2[][G729A_M], Word16 *index);
void G729ALsp_select_2(Word16 rbuf[], Word16 lspcb1[], Word16 wegt[], Word16 lspcb2[][G729A_M], Word16 *index);
void G729ALsp_stability(Word16 buf[]);
void G729ARelspwed(Word16 lsp[], Word16 wegt[], Word16 lspq[], Word16 lspcb1[][G729A_M], Word16 lspcb2[][G729A_M], Word16 fg[G729A_MODE][G729A_MA_NP][G729A_M], Word16 freq_prev[G729A_MA_NP][G729A_M], Word16 fg_sum[G729A_MODE][G729A_M], Word16 fg_sum_inv[G729A_MODE][G729A_M], Word16 code_ana[]);
void G729AD_lsp(Word16 prm[], Word16 lsp_q[], Word16 erase);
void G729ALsp_decw_reset(void);
void G729ALsp_iqua_cs(Word16 prm[],Word16 lsp_q[],Word16 erase);
void G729ALsp_prev_compose(Word16 lsp_ele[], Word16 lsp[], Word16 fg[][G729A_M], Word16 freq_prev[][G729A_M], Word16 fg_sum[]);
void G729ALsp_prev_extract(Word16 lsp[G729A_M], Word16 lsp_ele[G729A_M], Word16 fg[G729A_MA_NP][G729A_M], Word16 freq_prev[G729A_MA_NP][G729A_M], Word16 fg_sum_inv[G729A_M]);
void G729ALsp_prev_update(Word16 lsp_ele[G729A_M], Word16 freq_prev[G729A_MA_NP][G729A_M]);
Word16 G729AQua_gain(Word16 code[], Word16 g_coeff[], Word16 exp_coeff[], Word16 L_subfr, Word16 *gain_pit, Word16 *gain_cod, Word16 tameflag);
void G729ADec_gain(Word16 index, Word16 code[], Word16 L_subfr, Word16 bfi, Word16 *gain_pit, Word16 *gain_cod);
void G729AGain_predict(Word16 past_qua_en[], Word16 code[], Word16 L_subfr, Word16 *gcode0, Word16 *exp_gcode0);
void G729AGain_update(Word16 past_qua_en[], Word32 L_gbk12);
void G729AGain_update_erasure(Word16 past_qua_en[]);
void G729ACorr_xy2(Word16 xn[], Word16 y1[], Word16 y2[], Word16 g_coeff[], Word16 exp_g_coeff[]);
void G729Abits2prm_ld8k(Word16 bits[], Word16 prm[]);
void G729Aprm2bits_ld8k(Word16 prm[], Word16 bits[]);
void G729AInit_Post_Filter(void);
void G729APost_Filter(Word16 *syn, Word16 *Az_4, Word16 *T);
void G729Apit_pst_filt(Word16 *signal, Word16 *scal_sig, Word16 t0_min, Word16 t0_max, Word16 L_subfr, Word16 *signal_pst);
void G729Apreemphasis(Word16 *signal, Word16 g, Word16 L);
void G729Aagc(Word16 *sig_in,Word16 *sig_out,Word16 l_trm);
void G729AInit_exc_err(void);
void G729Aupdate_exc_err(Word16 gain_pit, Word16 t0);
Word16 G729Atest_err(Word16 t0, Word16 t0_frac);
extern void G729ACopy(Word16 x[], Word16 y[], Word16 L);
extern void G729ACopy2(Word16 x[], Word16 y[], Word16 L);
extern void G729ACopy4(Word16 x[], Word16 y[], Word16 L);
extern void G729ASet_zero(Word16 x[], Word16 L);
extern void G729ASet_zero2(Word16 x[], Word16 L);
extern void G729ASet_zero4(Word16 x[], Word16 L);
extern Word16 G729ARandom(void);
#endif //_H_G729ALD8A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -