Commit 79d89cf2 authored by Vittorio Giovara's avatar Vittorio Giovara

flacenc: Clamp user-supplied min/max prediction orders

This mimics what the code does internally for default order values.
Signed-off-by: 's avatarVittorio Giovara <vittorio.giovara@gmail.com>
parent 4bb1070c
......@@ -330,9 +330,10 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
} else if (avctx->min_prediction_order >= 0) {
if (s->options.lpc_type == FF_LPC_TYPE_FIXED) {
if (avctx->min_prediction_order > MAX_FIXED_ORDER) {
av_log(avctx, AV_LOG_ERROR, "invalid min prediction order: %d\n",
avctx->min_prediction_order);
return -1;
av_log(avctx, AV_LOG_WARNING,
"invalid min prediction order %d, clamped to %d\n",
avctx->min_prediction_order, MAX_FIXED_ORDER);
avctx->min_prediction_order = MAX_FIXED_ORDER;
}
} else if (avctx->min_prediction_order < MIN_LPC_ORDER ||
avctx->min_prediction_order > MAX_LPC_ORDER) {
......@@ -347,9 +348,10 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
} else if (avctx->max_prediction_order >= 0) {
if (s->options.lpc_type == FF_LPC_TYPE_FIXED) {
if (avctx->max_prediction_order > MAX_FIXED_ORDER) {
av_log(avctx, AV_LOG_ERROR, "invalid max prediction order: %d\n",
avctx->max_prediction_order);
return -1;
av_log(avctx, AV_LOG_WARNING,
"invalid max prediction order %d, clamped to %d\n",
avctx->max_prediction_order, MAX_FIXED_ORDER);
avctx->max_prediction_order = MAX_FIXED_ORDER;
}
} else if (avctx->max_prediction_order < MIN_LPC_ORDER ||
avctx->max_prediction_order > MAX_LPC_ORDER) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment