atrac1: do not keep a copy of channel count in the private context

This commit is contained in:
Justin Ruggles 2012-10-17 11:45:49 -04:00
parent 4f56f9c48f
commit a38eadf7ed

View File

@ -80,7 +80,6 @@ typedef struct {
DECLARE_ALIGNED(32, float, high)[512]; DECLARE_ALIGNED(32, float, high)[512];
float* bands[3]; float* bands[3];
FFTContext mdct_ctx[3]; FFTContext mdct_ctx[3];
int channels;
DSPContext dsp; DSPContext dsp;
} AT1Ctx; } AT1Ctx;
@ -280,7 +279,7 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
GetBitContext gb; GetBitContext gb;
if (buf_size < 212 * q->channels) { if (buf_size < 212 * avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "Not enough data to decode!\n"); av_log(avctx, AV_LOG_ERROR, "Not enough data to decode!\n");
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
@ -292,7 +291,7 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
return ret; return ret;
} }
for (ch = 0; ch < q->channels; ch++) { for (ch = 0; ch < avctx->channels; ch++) {
AT1SUCtx* su = &q->SUs[ch]; AT1SUCtx* su = &q->SUs[ch];
init_get_bits(&gb, &buf[212 * ch], 212 * 8); init_get_bits(&gb, &buf[212 * ch], 212 * 8);
@ -343,7 +342,6 @@ static av_cold int atrac1_decode_init(AVCodecContext *avctx)
avctx->channels); avctx->channels);
return AVERROR(EINVAL); return AVERROR(EINVAL);
} }
q->channels = avctx->channels;
/* Init the mdct transforms */ /* Init the mdct transforms */
if ((ret = ff_mdct_init(&q->mdct_ctx[0], 6, 1, -1.0/ (1 << 15))) || if ((ret = ff_mdct_init(&q->mdct_ctx[0], 6, 1, -1.0/ (1 << 15))) ||