qdmc: convert to new channel layout API

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
Anton Khirnov 2019-06-04 12:25:53 +02:00 committed by James Almer
parent b7716325d9
commit 884a97de69
1 changed files with 5 additions and 4 deletions

View File

@ -248,13 +248,14 @@ static av_cold int qdmc_decode_init(AVCodecContext *avctx)
}
bytestream2_skipu(&b, 4);
avctx->channels = s->nb_channels = bytestream2_get_be32u(&b);
s->nb_channels = bytestream2_get_be32u(&b);
if (s->nb_channels <= 0 || s->nb_channels > 2) {
av_log(avctx, AV_LOG_ERROR, "invalid number of channels\n");
return AVERROR_INVALIDDATA;
}
avctx->channel_layout = avctx->channels == 2 ? AV_CH_LAYOUT_STEREO :
AV_CH_LAYOUT_MONO;
av_channel_layout_uninit(&avctx->ch_layout);
avctx->ch_layout = s->nb_channels == 2 ? (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO :
(AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
avctx->sample_rate = bytestream2_get_be32u(&b);
avctx->bit_rate = bytestream2_get_be32u(&b);
@ -280,7 +281,7 @@ static av_cold int qdmc_decode_init(AVCodecContext *avctx)
s->frame_size = 1 << s->frame_bits;
s->subframe_size = s->frame_size >> 5;
if (avctx->channels == 2)
if (avctx->ch_layout.nb_channels == 2)
x = 3 * x / 2;
s->band_index = noise_bands_selector[FFMIN(6, llrint(floor(avctx->bit_rate * 3.0 / (double)x + 0.5)))];