Lines Matching refs:int16_t
75 #define SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
79 int16_t lsf[LSF_NSPLIT*LPC_N_MAX];
80 int16_t cb_index[CB_NSTAGES*(NASUB_MAX + 1)];
81 int16_t gain_index[CB_NSTAGES*(NASUB_MAX + 1)];
82 int16_t ifm;
83 int16_t state_first;
84 int16_t idx[STATE_SHORT_LEN_30MS];
85 int16_t firstbits;
86 int16_t start;
102 int16_t nasub;
103 int16_t nsub;
105 int16_t no_of_words;
106 int16_t no_of_bytes;
107 int16_t lsfdeq[LPC_FILTERORDER*LPC_N_MAX];
108 int16_t lsfold[LPC_FILTERORDER];
109 int16_t syntMem[LPC_FILTERORDER];
110 int16_t lsfdeqold[LPC_FILTERORDER];
111 int16_t weightdenum[(LPC_FILTERORDER + 1) * NSUB_MAX];
112 int16_t syntdenum[NSUB_MAX * (LPC_FILTERORDER + 1)];
113 int16_t old_syntdenum[NSUB_MAX * (LPC_FILTERORDER + 1)];
114 int16_t enh_buf[ENH_BUFL+ENH_BUFL_FILTEROVERHEAD];
115 int16_t enh_period[ENH_NBLOCKS_TOT];
116 int16_t prevResidual[NSUB_MAX*SUBL];
117 int16_t decresidual[BLOCKL_MAX];
118 int16_t plc_residual[BLOCKL_MAX + LPC_FILTERORDER];
119 int16_t seed;
120 int16_t prevPLI;
121 int16_t prevScale;
122 int16_t prevLag;
123 int16_t per_square;
124 int16_t prev_lpc[LPC_FILTERORDER + 1];
125 int16_t plc_lpc[LPC_FILTERORDER + 1];
126 int16_t hpimemx[2];
127 int16_t hpimemy[4];
270 static void index_conv(int16_t *index)
283 static void lsf_dequantization(int16_t *lsfdeq, int16_t *index, int16_t lpc_n)
311 static void lsf_check_stability(int16_t *lsf, int dim, int nb_vectors)
334 static void lsf_interpolate(int16_t *out, int16_t *in1,
335 int16_t *in2, int16_t coef,
344 static void lsf2lsp(int16_t *lsf, int16_t *lsp, int order)
346 int16_t diff, freq;
367 static void get_lsp_poly(int16_t *lsp, int32_t *f)
369 int16_t high, low;
394 static void lsf2poly(int16_t *a, int16_t *lsf)
397 int16_t lsp[10];
421 static void lsp_interpolate2polydec(int16_t *a, int16_t *lsf1,
422 int16_t *lsf2, int coef, int length)
424 int16_t lsftmp[LPC_FILTERORDER];
430 static void bw_expand(int16_t *out, const int16_t *in, const int16_t *coef, int length)
439 static void lsp_interpolate(int16_t *syntdenum, int16_t *weightdenum,
440 int16_t *lsfdeq, int16_t length,
443 int16_t lp[LPC_FILTERORDER + 1], *lsfdeq2;
481 static void filter_mafq12(int16_t *in_ptr, int16_t *out_ptr,
482 int16_t *B, int16_t B_length,
483 int16_t length)
488 const int16_t *b_ptr = &B[0];
489 const int16_t *x_ptr = &in_ptr[i];
501 static void filter_arfq12(const int16_t *data_in,
502 int16_t *data_out,
503 const int16_t *coefficients,
523 static void state_construct(int16_t ifm, int16_t *idx,
524 int16_t *synt_denum, int16_t *Out_fix,
525 int16_t len)
528 int16_t maxVal;
529 int16_t *tmp1, *tmp2, *tmp3;
531 int16_t numerator[1 + LPC_FILTERORDER];
532 int16_t sampleValVec[2 * STATE_SHORT_LEN_30MS + LPC_FILTERORDER];
533 int16_t sampleMaVec[2 * STATE_SHORT_LEN_30MS + LPC_FILTERORDER];
534 int16_t *sampleVal = &sampleValVec[LPC_FILTERORDER];
535 int16_t *sampleMa = &sampleMaVec[LPC_FILTERORDER];
536 int16_t *sampleAr = &sampleValVec[LPC_FILTERORDER];
556 (*tmp1) = (int16_t) ((SPL_MUL_16_16(maxVal, ilbc_state[(*tmp2)]) + 2097152) >> 22);
564 (*tmp1) = (int16_t) ((SPL_MUL_16_16(maxVal, ilbc_state[(*tmp2)]) + 262144) >> 19);
572 (*tmp1) = (int16_t) ((SPL_MUL_16_16(maxVal, ilbc_state[(*tmp2)]) + 65536) >> 17);
602 static int16_t gain_dequantization(int index, int max_in, int stage)
604 int16_t scale = FFMAX(1638, FFABS(max_in));
609 static void vector_rmultiplication(int16_t *out, const int16_t *in,
610 const int16_t *win,
617 static void vector_multiplication(int16_t *out, const int16_t *in,
618 const int16_t *win, int length,
625 static void add_vector_and_shift(int16_t *out, const int16_t *in1,
626 const int16_t *in2, int length,
633 static void create_augmented_vector(int index, int16_t *buffer, int16_t *cbVec)
635 int16_t cbVecTmp[4];
637 int16_t ilow = index - interpolation_length;
648 static void get_codebook(int16_t * cbvec, /* (o) Constructed codebook vector */
649 int16_t * mem, /* (i) Codebook buffer */
650 int16_t index, /* (i) Codebook index */
651 int16_t lMem, /* (i) Length of codebook buffer */
652 int16_t cbveclen /* (i) Codebook vector length */
655 int16_t k, base_size;
656 int16_t lag;
658 int16_t tempbuff2[SUBL + 5];
678 k = (int16_t) SPL_MUL_16_16(2, (index - (lMem - cbveclen + 1))) + cbveclen;
684 int16_t memIndTest;
699 filter_mafq12(&mem[memIndTest + 4], cbvec, (int16_t *) kCbFiltersRev, CB_FILTERLEN, cbveclen);
707 filter_mafq12(&mem[memIndTest + 7], tempbuff2, (int16_t *) kCbFiltersRev, CB_FILTERLEN, (int16_t) (cbveclen + 5));
718 int16_t *decvector, /* (o) Decoded vector */
719 int16_t *index, /* (i) Codebook indices */
720 int16_t *gain_index, /* (i) Gain quantization indices */
721 int16_t *mem, /* (i) Buffer for codevector construction */
722 int16_t lMem, /* (i) Length of buffer */
723 int16_t veclen)
725 int16_t gain[CB_NSTAGES];
726 int16_t cbvec0[SUBL];
727 int16_t cbvec1[SUBL];
728 int16_t cbvec2[SUBL];
730 int16_t *gainPtr;
756 static void reverse_memcpy(int16_t *dest, int16_t *source, int length)
758 int16_t* destPtr = dest;
759 int16_t* sourcePtr = source;
768 int16_t *decresidual,
769 int16_t *syntdenum)
771 int16_t meml_gotten, Nfor, Nback, diff, start_pos;
772 int16_t subcount, subframe;
773 int16_t *reverseDecresidual = s->enh_buf; /* Reversed decoded data, used for decoding backwards in time (reuse memory in state) */
774 int16_t *memVec = s->prevResidual;
775 int16_t *mem = &memVec[CB_HALFFILTERLEN]; /* Memory for codebook */
791 memset(mem, 0, (int16_t) (CB_MEML - s->state_short_len) * 2);
796 construct_vector(&decresidual[start_pos + s->state_short_len], encbits->cb_index, encbits->gain_index, mem + CB_MEML - ST_MEM_L_TBL, ST_MEM_L_TBL, (int16_t) diff);
802 memset(mem, 0, (int16_t) (CB_MEML - meml_gotten) * 2);
847 memset(mem, 0, (int16_t) (CB_MEML - meml_gotten) * 2);
867 static int16_t max_abs_value_w16(const int16_t* vector, int length)
885 static int16_t get_size_in_bits(uint32_t n)
887 int16_t bits;
904 static int32_t scale_dot_product(const int16_t *v1, const int16_t *v2, int length, int scaling)
914 static void correlation(int32_t *corr, int32_t *ener, int16_t *buffer,
915 int16_t lag, int16_t blen, int16_t srange, int16_t scale)
917 int16_t *w16ptr;
932 static int16_t norm_w32(int32_t a)
943 static int32_t div_w32_w16(int32_t num, int16_t den)
951 static void do_plc(int16_t *plc_residual, /* (o) concealed residual */
952 int16_t *plc_lpc, /* (o) concealed LP parameters */
953 int16_t PLI, /* (i) packet loss indicator
955 int16_t *decresidual, /* (i) decoded residual */
956 int16_t *lpc, /* (i) decoded LPC (only used for no PL) */
957 int16_t inlag, /* (i) pitch lag */
960 int16_t i, pick;
963 int16_t max, cross_square_max, cross_square;
964 int16_t j, lag, tmp1, tmp2, randlag;
965 int16_t shift1, shift2, shift3, shift_max;
966 int16_t scale3;
967 int16_t corrLen;
969 int16_t use_gain;
970 int16_t tot_gain;
971 int16_t max_perSquare;
972 int16_t scale1, scale2;
973 int16_t totscale;
975 int16_t denom;
976 int16_t pitchfact;
977 int16_t use_lag;
979 int16_t randvec[BLOCKL_MAX];
1014 cross_square_max = (int16_t) SPL_MUL_16_16_RSFT(SPL_SHIFT_W32(cross, -shift_max), SPL_SHIFT_W32(cross, -shift_max), 15);
1023 cross_square = (int16_t) SPL_MUL_16_16_RSFT(SPL_SHIFT_W32(cross_comp, -shift1), SPL_SHIFT_W32(cross_comp, -shift1), 15);
1062 /* norm energies to int16_t, compute the product of the energies and
1063 use the upper int16_t as the denominator */
1205 static int xcorr_coeff(int16_t *target, int16_t *regressor,
1206 int16_t subl, int16_t searchLen,
1207 int16_t offset, int16_t step)
1209 int16_t maxlag;
1210 int16_t pos;
1211 int16_t max;
1212 int16_t cross_corr_scale, energy_scale;
1213 int16_t cross_corr_sg_mod, cross_corr_sg_mod_max;
1215 int16_t cross_corr_mod, energy_mod, enery_mod_max;
1216 int16_t *tp, *rp;
1217 int16_t *rp_beg, *rp_end;
1218 int16_t totscale, totscale_max;
1219 int16_t scalediff;
1233 max = max_abs_value_w16(regressor, (int16_t) (subl + searchLen - 1));
1237 max = max_abs_value_w16(®ressor[-searchLen], (int16_t) (subl + searchLen - 1));
1264 cross_corr_mod = (int16_t) SPL_SHIFT_W32(cross_corr, cross_corr_scale);
1266 energy_mod = (int16_t) SPL_SHIFT_W32(energy, energy_scale);
1268 /* Square cross correlation and store upper int16_t */
1269 cross_corr_sg_mod = (int16_t) SPL_MUL_16_16_RSFT(cross_corr_mod, cross_corr_mod, 16);
1317 static void hp_output(int16_t *signal, const int16_t *ba, int16_t *y,
1318 int16_t *x, int16_t len)
1365 int16_t *plc_data = &s->plc_residual[LPC_FILTERORDER];
1399 int16_t lag, i;
1432 hp_output((int16_t *)frame->data[0], hp_out_coeffs,