} else {
*bd->opt_order = sconf->max_order;
}
- if (*bd->opt_order > bd->block_length) {
- *bd->opt_order = bd->block_length;
- av_log(avctx, AV_LOG_ERROR, "Predictor order too large.\n");
- return AVERROR_INVALIDDATA;
- }
opt_order = *bd->opt_order;
if (opt_order) {
// reconstruct all samples from residuals
if (bd->ra_block) {
- for (smp = 0; smp < opt_order; smp++) {
+ for (smp = 0; smp < FFMIN(opt_order, block_length); smp++) {
y = 1 << 19;
for (sb = 0; sb < smp; sb++)