[FFmpeg-devel] [PATCH 4/4] avcodec/ac3dec: set preferred_stereo_downmix using the relevant coded value

James Almer jamrial at gmail.com
Thu Dec 26 20:13:06 EET 2024


Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavcodec/ac3dec.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index e5b52c577f..a796ddf44e 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -1611,6 +1611,20 @@ dependent_frame:
         s->loro_surround_mix_level = gain_levels[s->surround_mix_level];
         s->ltrt_center_mix_level   = gain_levels[s->  center_mix_level_ltrt];
         s->ltrt_surround_mix_level = gain_levels[s->surround_mix_level_ltrt];
+        switch (s->preferred_downmix) {
+        case AC3_DMIXMOD_LTRT:
+            s->preferred_stereo_downmix = AV_DOWNMIX_TYPE_LTRT;
+            break;
+        case AC3_DMIXMOD_LORO:
+            s->preferred_stereo_downmix = AV_DOWNMIX_TYPE_LORO;
+            break;
+        case AC3_DMIXMOD_DPLII:
+            s->preferred_stereo_downmix = AV_DOWNMIX_TYPE_DPLII;
+            break;
+        default:
+            s->preferred_stereo_downmix = AV_DOWNMIX_TYPE_UNKNOWN;
+            break;
+        }
         /* set downmixing coefficients if needed */
         if (s->channels != s->out_channels && !((s->output_mode & AC3_OUTPUT_LFEON) &&
                 s->fbw_channels == s->out_channels)) {
-- 
2.47.1



More information about the ffmpeg-devel mailing list