]> git.sesse.net Git - ffmpeg/commitdiff
swresample/rematrix: handle 22.2 as a 9 channel layout
authorJan Ekström <jeebjp@gmail.com>
Thu, 6 Aug 2020 21:35:55 +0000 (00:35 +0300)
committerJan Ekström <jeebjp@gmail.com>
Tue, 18 Aug 2020 19:47:35 +0000 (22:47 +0300)
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

index d0c4a212b3a8b3e3cf241d18b5bb021b461b42b4..94b3de88f6f727f18c1fcdd0a5c896b76a2c4c0f 100644 (file)
@@ -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! "