enc_util.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:2k
- /*
- *===================================================================
- * 3GPP AMR Wideband Floating-point Speech Codec
- *===================================================================
- */
- #ifndef ENC_UTIL_H
- #define ENC_UTIL_H
- #include "typedef.h"
- #include "enc_main.h"
- Word16 E_UTIL_saturate(Word32 inp);
- Word32 E_UTIL_saturate_31(Word32 inp);
- Word16 E_UTIL_random(Word16 *seed);
- Word32 E_UTIL_mpy_32_16 (Word16 hi, Word16 lo, Word16 n);
- Word32 E_UTIL_pow2(Word16 exponant, Word16 fraction);
- void E_UTIL_log2_32 (Word32 L_x, Word16 *exponent, Word16 *fraction);
- void E_UTIL_normalised_inverse_sqrt(Word32 *frac, Word16 *exp);
- Word32 E_UTIL_dot_product12(Word16 x[], Word16 y[], Word32 lg, Word32 *exp);
- Word16 E_UTIL_norm_s (Word16 var1);
- Word16 E_UTIL_norm_l (Word32 L_var1);
- void E_UTIL_l_extract(Word32 L_32, Word16 *hi, Word16 *lo);
- void E_UTIL_hp50_12k8(Float32 signal[], Word32 lg, Float32 mem[]);
- void E_UTIL_preemph(Word16 x[], Word16 mu, Word32 lg, Word16 *mem);
- void E_UTIL_f_preemph(Float32 *signal, Float32 mu, Word32 L, Float32 *mem);
- void E_UTIL_deemph(Float32 *signal, Float32 mu, Word32 L, Float32 *mem);
- void E_UTIL_deemph_32(Word16 x_hi[], Word16 x_lo[], Word16 y[],
- Word16 mu, Word16 L, Word16 *mem);
- void E_UTIL_decim_12k8(Float32 sig16k[], Word32 lg, Float32 sig12k8[],
- Float32 mem[]);
- void E_UTIL_residu(Float32 *a, Float32 *x, Float32 *y, Word32 l);
- void E_UTIL_convolve(Word16 x[], Word16 q, Float32 h[], Float32 y[]);
- void E_UTIL_f_convolve(Float32 x[], Float32 h[], Float32 y[]);
- void E_UTIL_autocorr(Float32 *x, Float32 *r);
- void E_UTIL_signal_up_scale(Word16 x[], Word16 exp);
- void E_UTIL_signal_down_scale(Word16 x[], Word32 lg, Word16 exp);
- void E_UTIL_synthesis(Float32 a[], Float32 x[], Float32 y[],
- Word32 l, Float32 mem[], Word32 update_m);
- Word32 E_UTIL_enc_synthesis(Float32 Aq[], Float32 exc[], Float32 synth16k[],
- Coder_State *st);
- #endif