static void Gsm_RPE_Decoding(gsmword xmaxcr, gsmword Mcr, gsmword *xMcr, gsmword *erp) { gsmword exp, mant; gsmword xMp[ 13 ]; APCM_quantization_xmaxc_to_exp_mant(xmaxcr, &exp, &mant); APCM_inverse_quantization(xMcr, mant, exp, xMp); RPE_grid_positioning(Mcr, xMp, erp); }
void Gsm_RPE_Decoding(struct gsm_state *S, int16_t xmaxcr, int16_t Mcr, int16_t * xMcr, /* [0..12], 3 bits IN */ int16_t * erp /* [0..39] OUT */ ) { (void)S; int16_t exp, mant; int16_t xMp[13]; APCM_quantization_xmaxc_to_exp_mant(xmaxcr, &exp, &mant); APCM_inverse_quantization(xMcr, mant, exp, xMp); RPE_grid_positioning(Mcr, xMp, erp); }
void Gsm_RPE_Decoding ( /*-struct gsm_state * S,-*/ word xmaxcr, word Mcr, word * xMcr, /* [0..12], 3 bits IN */ word * erp /* [0..39] OUT */ ) { word expon, mant; word xMp[ 13 ]; APCM_quantization_xmaxc_to_exp_mant( xmaxcr, &expon, &mant ); APCM_inverse_quantization( xMcr, mant, expon, xMp ); RPE_grid_positioning( Mcr, xMp, erp ); }
void Gsm_RPE_Encoding ( int16_t * e, /* -5..-1][0..39][40..44 IN/OUT */ int16_t * xmaxc, /* OUT */ int16_t * Mc, /* OUT */ int16_t * xMc) /* [0..12] OUT */ { int16_t x [40] ; int16_t xM [13], xMp [13] ; int16_t mant, expon ; Weighting_filter (e, x) ; RPE_grid_selection (x, xM, Mc) ; APCM_quantization (xM, xMc, &mant, &expon, xmaxc) ; APCM_inverse_quantization (xMc, mant, expon, xMp) ; RPE_grid_positioning (*Mc, xMp, e) ; }
void Gsm_RPE_Encoding ( /*-struct gsm_state * S,-*/ word * e, /* -5..-1][0..39][40..44 IN/OUT */ word * xmaxc, /* OUT */ word * Mc, /* OUT */ word * xMc) /* [0..12] OUT */ { word x[40]; word xM[13], xMp[13]; word mant, expon; Weighting_filter(e, x); RPE_grid_selection(x, xM, Mc); APCM_quantization( xM, xMc, &mant, &expon, xmaxc); APCM_inverse_quantization( xMc, mant, expon, xMp); RPE_grid_positioning( *Mc, xMp, e ); }