From 1c7e55dd504245d71444fac1a73e5370cc76fede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= Date: Fri, 7 Aug 2020 00:35:55 +0300 Subject: [PATCH] swresample/rematrix: handle 22.2 as a 9 channel layout This is as far as 22.2 follows the same channel order as WaveFormatExtensible's channel mask (and the AV_CH_* defines). After LFE2 the side channels would follow, but that offset of one stops us from utilizing them without further tweaks. This change was verified by using swresample to downmix to 5.1, and then feeding that to WASAPI. --- libswresample/rematrix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c index d0c4a212b3..94b3de88f6 100644 --- a/libswresample/rematrix.c +++ b/libswresample/rematrix.c @@ -143,7 +143,7 @@ av_cold int swr_build_matrix(uint64_t in_ch_layout_param, uint64_t out_ch_layout if (in_ch_layout == AV_CH_LAYOUT_22POINT2 && out_ch_layout != AV_CH_LAYOUT_22POINT2) { - in_ch_layout = AV_CH_LAYOUT_5POINT1_BACK; + in_ch_layout = (AV_CH_LAYOUT_7POINT1_WIDE_BACK|AV_CH_BACK_CENTER); av_get_channel_layout_string(buf, sizeof(buf), -1, in_ch_layout); av_log(log_context, AV_LOG_WARNING, "Full-on remixing from 22.2 has not yet been implemented! "