📄 g729ev_g729_ld8k.h
字号:
Word16 lsp[], /* (o) Q15 : lsp[m] (range: -1<=val<1) */ Word16 m /* (i) : LPC order */ );void G729EV_G729_Lsp_lsf2(Word16 lsp[], /* (i) Q15 : lsp[m] (range: -1<=val<1) */ Word16 lsf[], /* (o) Q13 : lsf[m] (range: 0.0<=val<PI) */ Word16 m /* (i) : LPC order */ );void G729EV_G729_Qua_lsp(Word16 lsp[], /* (i) Q15 : Unquantized LSP */ Word16 lsp_q[], /* (o) Q15 : Quantized LSP */ Word16 ana[], /* (o) : indexes */ Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M]);void G729EV_G729_Get_wegt(Word16 flsp[], /* (i) Q13 : */ Word16 wegt[] /* (o) Q11 : normalized */ );void G729EV_G729_Lsp_encw_reset(Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M]);void G729EV_G729_Lsp_qua_cs(Word16 flsp_in[G729EV_G729_M], /* Q13 */ Word16 lspq_out[G729EV_G729_M], /* Q13 */ Word16 * code, Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M]);void G729EV_G729_Lsp_expand_1(Word16 buf[], /* Q13 */ Word16 gap /* Q13 */ );void G729EV_G729_Lsp_expand_2(Word16 buf[], /* Q13 */ Word16 gap /* Q13 */ );void G729EV_G729_Lsp_expand_1_2(Word16 buf[], /* Q13 */ Word16 gap /* Q13 */ );void G729EV_G729_Lsp_get_quant(Word16 lspcb1[][G729EV_G729_M], /* Q13 */ Word16 lspcb2[][G729EV_G729_M], /* Q13 */ Word16 code0, Word16 code1, Word16 code2, Word16 fg[][G729EV_G729_M], /* Q15 */ Word16 freq_prev[][G729EV_G729_M], /* Q13 */ Word16 lspq[], /* Q13 */ Word16 fg_sum[] /* Q15 */ );void G729EV_G729_Lsp_get_tdist(Word16 wegt[], /* normalized */ Word16 buf[], /* Q13 */ Word32 * L_tdist, /* Q27 */ Word16 rbuf[], /* Q13 */ Word16 fg_sum[] /* Q15 */ );void G729EV_G729_Lsp_last_select(Word32 L_tdist[], /* Q27 */ Word16 * mode_index);void G729EV_G729_Lsp_pre_select(Word16 rbuf[], /* Q13 */ Word16 lspcb1[][G729EV_G729_M], /* Q13 */ Word16 * cand);void G729EV_G729_Lsp_select_1(Word16 rbuf[], /* Q13 */ Word16 lspcb1[], /* Q13 */ Word16 wegt[], /* normalized */ Word16 lspcb2[][G729EV_G729_M], /* Q13 */ Word16 * index);void G729EV_G729_Lsp_select_2(Word16 rbuf[], /* Q13 */ Word16 lspcb1[], /* Q13 */ Word16 wegt[], /* normalized */ Word16 lspcb2[][G729EV_G729_M], /* Q13 */ Word16 * index);void G729EV_G729_Lsp_stability(Word16 buf[] /* Q13 */ );void G729EV_G729_Relspwed(Word16 lsp[], /* Q13 */ Word16 wegt[], /* normalized */ Word16 lspq[], /* Q13 */ Word16 lspcb1[][G729EV_G729_M], /* Q13 */ Word16 lspcb2[][G729EV_G729_M], /* Q13 */ Word16 fg[G729EV_G729_MODE][G729EV_G729_MA_NP][G729EV_G729_M], /* Q15 */ Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M], /* Q13 */ Word16 fg_sum[G729EV_G729_MODE][G729EV_G729_M], /* Q15 */ Word16 fg_sum_inv[G729EV_G729_MODE][G729EV_G729_M], /* Q12 */ Word16 code_ana[]);Word16 G729EV_G729_D_lsp(Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M], Word16 prev_lsp[G729EV_G729_M], Word16 * prev_ma, Word16 prm[], /* (i) : indexes of the selected LSP */ Word16 lsp_q[], /* (o) Q15 : Quantized LSP parameters */ Word16 erase /* (i) : frame erase information */ );void G729EV_G729_Lsp_decw_reset(Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M], Word16 prev_lsp[G729EV_G729_M], Word16 * prev_ma);Word16 G729EV_G729_Lsp_iqua_cs(Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M], Word16 prev_lsp[G729EV_G729_M], Word16 * prev_ma, Word16 prm[], /* (i) : indexes of the selected LSP */ Word16 lsp_q[], /* (o) Q13 : Quantized LSP parameters */ Word16 erase /* (i) : frame erase information */ );void G729EV_G729_Lsp_prev_compose(Word16 lsp_ele[], /* Q13 */ Word16 lsp[], /* Q13 */ Word16 fg[][G729EV_G729_M], /* Q15 */ Word16 freq_prev[][G729EV_G729_M], /* Q13 */ Word16 fg_sum[] /* Q15 */ );void G729EV_G729_Lsp_prev_extract(Word16 lsp[G729EV_G729_M], /* Q13 */ Word16 lsp_ele[G729EV_G729_M], /* Q13 */ Word16 fg[G729EV_G729_MA_NP][G729EV_G729_M], /* Q15 */ Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M], /* Q13 */ Word16 fg_sum_inv[G729EV_G729_M] /* Q12 */ );void G729EV_G729_Lsp_prev_update(Word16 lsp_ele[G729EV_G729_M], /* Q13 */ Word16 freq_prev[G729EV_G729_MA_NP][G729EV_G729_M] /* Q13 */ );/*--------------------------------------------------------------------------* * gain VQ functions. * *--------------------------------------------------------------------------*/Word16 G729EV_G729_Qua_gain(Word16 code[], /* (i) Q13 : Innovative vector. */ Word16 g_coeff[], /* (i) : Correlations <xn y1> -2<y1 y1> */ /* <y2,y2>, -2<xn,y2>, 2<y1,y2> */ Word16 exp_coeff[],/* (i) : Q-Format g_coeff[] */ Word16 L_subfr, /* (i) : Subframe length. */ Word16 * gain_pit, /* (o) Q14 : Pitch gain. */ Word16 * gain_cod, /* (o) Q1 : Code gain. */ Word16 tameflag, /* (i) : flag set to 1 if taming is needed */ Word16 past_qua_en[]);void G729EV_G729_Dec_gain(Word16 index, /* (i) :Index of quantization. */ Word16 code[], /* (i) Q13 :Innovative vector. */ Word16 L_subfr,/* (i) :Subframe length. */ Word16 bfi, /* (i) :Bad frame indicator */ Word16 * gain_pit, /* (o) Q14 :Pitch gain. */ Word16 * gain_cod, /* (o) Q1 :Code gain. */ Word16 past_qua_en[4]);void G729EV_G729_Gain_predict(Word16 past_qua_en[], /* (i) Q10 :Past quantized energies */ Word16 code[], /* (i) Q13 : Innovative vector. */ Word16 L_subfr, /* (i) : Subframe length. */ Word16 * gcode0, /* (o) Qxx : Predicted codebook gain */ Word16 * exp_gcode0 /* (o) : Q-Format(gcode0) */ );void G729EV_G729_Gain_update(Word16 past_qua_en[], /* (i) Q10 :Past quantized energies */ Word32 L_gbk12 /* (i) Q13 : gbk1[indice1][1]+gbk2[indice2][1] */ );void Corr_xy2(Word16 xn[], /* (i) Q0 :Target vector. */ Word16 y1[], /* (i) Q0 :Adaptive codebook. */ Word16 y2[], /* (i) Q12 :Filtered innovative vector. */ Word16 g_coeff[], /* (o) Q[exp]:Correlations between xn,y1,y2 */ Word16 exp_g_coeff[] /* (o) :Q-format of g_coeff[] */ );/*--------------------------------------------------------------------------* * Postfilter functions * *--------------------------------------------------------------------------*/void G729EV_G729_pst_ltp(Word16 t0, Word16 * ptr_sig_in, Word16 * ptr_sig_pst0);void G729EV_G729_search_del(Word16 t0, Word16 * ptr_sig_in, Word16 * ltpdel, Word16 * phase, Word16 * num_gltp, Word16 * den_gltp, Word16 * sh_num_gltp, Word16 * sh_den_gltp, Word16 * y_up, Word16 * off_yup);void G729EV_G729_filt_plt(Word16 * s_in, Word16 * s_ltp, Word16 * s_out, Word16 gain_plt);void G729EV_G729_compute_ltp_l(Word16 * s_in, Word16 ltpdel, Word16 phase, Word16 * y_up, Word16 * num, Word16 * den, Word16 * sh_num, Word16 * sh_den);Word16 G729EV_G729_select_ltp(Word16 num1, Word16 den1, Word16 sh_num1, Word16 sh_den1, Word16 num2, Word16 den2, Word16 sh_num2, Word16 sh_den2);void G729EV_G729_calc_st_filt(Word16 * apond2, /* input : coefficients of numerator */ Word16 * apond1, /* input : coefficients of denominator */ Word16 * parcor0, /* output: 1st parcor calcul. on composed filter */ Word16 * sig_ltp_ptr,/* in/out: input of 1/A(gamma1) : scaled by 1/g0 */ Word16 * mem_zero);void G729EV_G729_filt_mu(Word16 * sig_in, Word16 * sig_out, Word16 parcor0);void G729EV_G729_calc_rc0_h(Word16 * h, Word16 * rc0);void G729EV_G729_scale_st(Word16 * sig_in, Word16 * sig_out, Word16 * gain_prec, Word16 parcor0, Word16 PostNB, Word32 * Level_in_sm);/*--------------------------------------------------------------------------* * Bitstream functions * *--------------------------------------------------------------------------*/void G729EV_G729_Corr_xy2(Word16 xn[], /* (i) Q0 :Target vector. */ Word16 y1[], /* (i) Q0 :Adaptive codebook. */ Word16 y2[], /* (i) Q12 :Filtered innovative vector. */ Word16 g_coeff[], /* (o) Q[exp]:Correlations between xn,y1,y2 */ Word16 exp_g_coeff[] /* (o) :Q-format of g_coeff[] */ );Word16 G729EV_G729_test_err( /* (o) flag set to 1 if taming is necessary */ G729EV_G729_CODSTAT * pCodStat, Word16 T0, /* (i) integer part of pitch delay */ Word16 T0_frac /* (i) fractional part of pitch delay */ );void G729EV_G729_update_exc_err(Word32 * L_exc_err, Word16 gain_pit, /* (i) pitch gain */ Word16 T0 /* (i) integer part of pitch delay */ );/*--------------------------------------------------------------------------* * Prototypes for auxiliary functions. * *--------------------------------------------------------------------------*/void G729EV_G729_Copy(Word16 x[], /* (i) : input vector */ Word16 y[], /* (o) : output vector */ Word16 L /* (i) : vector length */ );void G729EV_G729_Set_zero(Word16 x[], /* (o) : vector to clear */ Word16 L /* (i) : length of vector */ );Word16 G729EV_G729_Random(Word16 * seed);void G729EV_G729_UpdateMemTam(G729EV_G729_DECSTAT * pDecStat, Word16 CoefLtp, Word16 Pitch);Word16 G729EV_G729_TamFer(G729EV_G729_DECSTAT * pDecStat, Word16 CoefLtp, Word16 Pitch);Word16 G729EV_G729_Chebps_11(Word16 x, Word16 f[], Word16 n);Word16 G729EV_G729_Chebps_10(Word16 x, Word16 f[], Word16 n);#endif /* __G729EV_G729_LD8K_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -