Lines Matching refs:pred_order
208 static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
230 if (pred_order > samples) {
232 pred_order, samples);
239 decoded += pred_order;
240 i= pred_order;
259 int pred_order, int bps)
266 for (i = 0; i < pred_order; i++) {
270 if ((ret = decode_residuals(s, decoded, pred_order)) < 0)
273 if (pred_order > 0)
274 a = decoded[pred_order-1];
275 if (pred_order > 1)
276 b = a - decoded[pred_order-2];
277 if (pred_order > 2)
278 c = b - decoded[pred_order-2] + decoded[pred_order-3];
279 if (pred_order > 3)
280 d = c - decoded[pred_order-2] + 2*decoded[pred_order-3] - decoded[pred_order-4];
282 switch (pred_order) {
286 for (i = pred_order; i < blocksize; i++)
290 for (i = pred_order; i < blocksize; i++)
294 for (i = pred_order; i < blocksize; i++)
298 for (i = pred_order; i < blocksize; i++)
302 av_log(s->avctx, AV_LOG_ERROR, "illegal pred order %d\n", pred_order);
309 static int decode_subframe_lpc(FLACContext *s, int32_t *decoded, int pred_order,
317 for (i = 0; i < pred_order; i++) {
333 for (i = 0; i < pred_order; i++) {
334 coeffs[pred_order - i - 1] = get_sbits(&s->gb, coeff_prec);
337 if ((ret = decode_residuals(s, decoded, pred_order)) < 0)
340 s->dsp.lpc(decoded, coeffs, pred_order, qlevel, s->blocksize);