|
|
|
@ -683,7 +683,7 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd) |
|
|
|
|
*bd->opt_order = get_bits(gb, opt_order_length); |
|
|
|
|
if (*bd->opt_order > sconf->max_order) { |
|
|
|
|
*bd->opt_order = sconf->max_order; |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Predictor order too large!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Predictor order too large.\n"); |
|
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
@ -719,7 +719,7 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd) |
|
|
|
|
int offset = parcor_rice_table[sconf->coef_table][k][0]; |
|
|
|
|
quant_cof[k] = decode_rice(gb, rice_param) + offset; |
|
|
|
|
if (quant_cof[k] < -64 || quant_cof[k] > 63) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "quant_cof %d is out of range\n", quant_cof[k]); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "quant_cof %d is out of range.\n", quant_cof[k]); |
|
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1184,7 +1184,7 @@ static int read_channel_data(ALSDecContext *ctx, ALSChannelData *cd, int c) |
|
|
|
|
current->master_channel = get_bits_long(gb, av_ceil_log2(channels)); |
|
|
|
|
|
|
|
|
|
if (current->master_channel >= channels) { |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Invalid master channel!\n"); |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Invalid master channel.\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1209,7 +1209,7 @@ static int read_channel_data(ALSDecContext *ctx, ALSChannelData *cd, int c) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (entries == channels) { |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Damaged channel data!\n"); |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Damaged channel data.\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1369,7 +1369,7 @@ static int read_frame_data(ALSDecContext *ctx, unsigned int ra_frame) |
|
|
|
|
|
|
|
|
|
for (c = 0; c < avctx->channels; c++) |
|
|
|
|
if (ctx->chan_data[c] < ctx->chan_data_buffer) { |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Invalid channel data!\n"); |
|
|
|
|
av_log(ctx->avctx, AV_LOG_ERROR, "Invalid channel data.\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1478,7 +1478,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, |
|
|
|
|
/* get output buffer */ |
|
|
|
|
ctx->frame.nb_samples = ctx->cur_frame_length; |
|
|
|
|
if ((ret = ff_get_buffer(avctx, &ctx->frame)) < 0) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed.\n"); |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1555,7 +1555,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, |
|
|
|
|
// check CRC sums if this is the last frame
|
|
|
|
|
if (ctx->cur_frame_length != sconf->frame_length && |
|
|
|
|
ctx->crc_org != ctx->crc) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "CRC error!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "CRC error.\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1617,12 +1617,12 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
ctx->avctx = avctx; |
|
|
|
|
|
|
|
|
|
if (!avctx->extradata) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Missing required ALS extradata!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Missing required ALS extradata.\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (read_specific_config(ctx)) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Reading ALSSpecificConfig failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Reading ALSSpecificConfig failed.\n"); |
|
|
|
|
decode_end(avctx); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
@ -1668,7 +1668,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
if (!ctx->quant_cof || !ctx->lpc_cof || |
|
|
|
|
!ctx->quant_cof_buffer || !ctx->lpc_cof_buffer || |
|
|
|
|
!ctx->lpc_cof_reversed_buffer) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1693,7 +1693,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
!ctx->opt_order || !ctx->store_prev_samples || |
|
|
|
|
!ctx->use_ltp || !ctx->ltp_lag || |
|
|
|
|
!ctx->ltp_gain || !ctx->ltp_gain_buffer) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
|
|
|
|
decode_end(avctx); |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
@ -1711,7 +1711,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
num_buffers); |
|
|
|
|
|
|
|
|
|
if (!ctx->chan_data_buffer || !ctx->chan_data || !ctx->reverted_channels) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
|
|
|
|
decode_end(avctx); |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
@ -1732,7 +1732,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
|
|
|
|
|
// allocate previous raw sample buffer
|
|
|
|
|
if (!ctx->prev_raw_samples || !ctx->raw_buffer|| !ctx->raw_samples) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
|
|
|
|
decode_end(avctx); |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
@ -1750,7 +1750,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
|
avctx->channels * |
|
|
|
|
av_get_bytes_per_sample(avctx->sample_fmt)); |
|
|
|
|
if (!ctx->crc_buffer) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed!\n"); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
|
|
|
|
decode_end(avctx); |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
|