[FFmpeg-cvslog] swresample/rematrix: handle 22.2 as a 9 channel layout

Jan Ekström git at videolan.org
Tue Aug 18 23:00:03 EEST 2020


ffmpeg | branch: master | Jan Ekström <jeebjp at gmail.com> | Fri Aug  7 00:35:55 2020 +0300| [1c7e55dd504245d71444fac1a73e5370cc76fede] | committer: Jan Ekström

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1c7e55dd504245d71444fac1a73e5370cc76fede
---

 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! "



More information about the ffmpeg-cvslog mailing list