Lines Matching refs:lpc
28 #include "lpc.h"
80 AlacLPCContext lpc[2];
161 s->lpc[ch].lpc_order = 6;
162 s->lpc[ch].lpc_quant = 6;
163 s->lpc[ch].lpc_coeff[0] = 160;
164 s->lpc[ch].lpc_coeff[1] = -190;
165 s->lpc[ch].lpc_coeff[2] = 170;
166 s->lpc[ch].lpc_coeff[3] = -130;
167 s->lpc[ch].lpc_coeff[4] = 80;
168 s->lpc[ch].lpc_coeff[5] = -25;
179 s->lpc[ch].lpc_order = opt_order;
180 s->lpc[ch].lpc_quant = shift[opt_order-1];
181 memcpy(s->lpc[ch].lpc_coeff, coefs[opt_order-1], opt_order*sizeof(int));
261 AlacLPCContext lpc = s->lpc[ch];
264 if (lpc.lpc_order == 31) {
277 if (lpc.lpc_order > 0) {
282 for (i = 1; i <= lpc.lpc_order; i++)
285 // perform lpc on remaining samples
286 for (i = lpc.lpc_order + 1; i < s->frame_size; i++) {
287 int sum = 1 << (lpc.lpc_quant - 1), res_val, j;
289 for (j = 0; j < lpc.lpc_order; j++) {
290 sum += (samples[lpc.lpc_order-j] - samples[0]) *
291 lpc.lpc_coeff[j];
294 sum >>= lpc.lpc_quant;
296 residual[i] = sign_extend(samples[lpc.lpc_order+1] - sum,
301 int index = lpc.lpc_order - 1;
305 int val = samples[0] - samples[lpc.lpc_order - index];
311 lpc.lpc_coeff[index] -= sign;
313 res_val -= (val >> lpc.lpc_quant) * (lpc.lpc_order - index);
427 put_bits(pb, 4, s->lpc[i].lpc_quant);
430 put_bits(pb, 5, s->lpc[i].lpc_order);
432 for (j = 0; j < s->lpc[i].lpc_order; j++)
433 put_sbits(pb, 16, s->lpc[i].lpc_coeff[j]);
445 // apply lpc and entropy coding to audio samples