[FFmpeg-devel] [PATCH 248/281] qdmc: convert to new channel layout API
James Almer
jamrial at gmail.com
Thu Jan 13 04:06:52 EET 2022
From: Anton Khirnov <anton at khirnov.net>
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavcodec/qdmc.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libavcodec/qdmc.c b/libavcodec/qdmc.c
index ae75ca524a..dfdd84870c 100644
--- a/libavcodec/qdmc.c
+++ b/libavcodec/qdmc.c
@@ -245,13 +245,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);
@@ -277,7 +278,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)))];
--
2.34.1
More information about the ffmpeg-devel
mailing list