Lines Matching defs:pred_order
221 static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
235 decoded += pred_order;
236 i = pred_order;
250 if (pred_order > samples) {
252 pred_order, samples);
283 int pred_order, int bps)
291 for (i = 0; i < pred_order; i++) {
295 if ((ret = decode_residuals(s, decoded, pred_order)) < 0)
298 if (pred_order > 0)
299 a = decoded[pred_order-1];
300 if (pred_order > 1)
301 b = a - decoded[pred_order-2];
302 if (pred_order > 2)
303 c = b - decoded[pred_order-2] + decoded[pred_order-3];
304 if (pred_order > 3)
305 d = c - decoded[pred_order-2] + 2U*decoded[pred_order-3] - decoded[pred_order-4];
307 switch (pred_order) {
311 for (i = pred_order; i < blocksize; i++)
315 for (i = pred_order; i < blocksize; i++)
319 for (i = pred_order; i < blocksize; i++)
323 for (i = pred_order; i < blocksize; i++)
327 av_log(s->avctx, AV_LOG_ERROR, "illegal pred order %d\n", pred_order);
361 static int decode_subframe_lpc(FLACContext *s, int32_t *decoded, int pred_order,
369 for (i = 0; i < pred_order; i++) {
385 for (i = 0; i < pred_order; i++) {
386 coeffs[pred_order - i - 1] = get_sbits(&s->gb, coeff_prec);
389 if ((ret = decode_residuals(s, decoded, pred_order)) < 0)
394 && bps + coeff_prec + av_log2(pred_order) <= 32)) {
395 s->dsp.lpc16(decoded, coeffs, pred_order, qlevel, s->blocksize);
397 s->dsp.lpc32(decoded, coeffs, pred_order, qlevel, s->blocksize);
399 lpc_analyze_remodulate(decoded, coeffs, pred_order, qlevel, s->blocksize, bps);