From df13e92bf85a25f3cfc89d01c338b43b798b04eb Mon Sep 17 00:00:00 2001 From: Yun Date: Tue, 3 Sep 2024 15:20:27 +0800 Subject: [PATCH] fix upmix object number for AC4 level 4. --- Source/C++/Core/Ap4Dac4Atom.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/C++/Core/Ap4Dac4Atom.cpp b/Source/C++/Core/Ap4Dac4Atom.cpp index b9ed4060..942f753b 100644 --- a/Source/C++/Core/Ap4Dac4Atom.cpp +++ b/Source/C++/Core/Ap4Dac4Atom.cpp @@ -664,11 +664,12 @@ AP4_Dac4Atom::Ac4Dsi::SubStream::ParseSubStreamInfoAjoc(AP4_BitReader &bits, // oamd_common_data() ParseOamdCommonData(bits); } - n_umx_objects_minus1 = bits.ReadBits(4); - int nFullbandUpmixSignals = n_umx_objects_minus1 + 1; + int nFullbandUpmixSignalsMinus = bits.ReadBits(4); + int nFullbandUpmixSignals = nFullbandUpmixSignalsMinus + 1; if (nFullbandUpmixSignals == 16) { nFullbandUpmixSignals += AP4_Ac4VariableBits(bits, 3); } + n_umx_objects_minus1 = nFullbandUpmixSignals - 1; BedDynObjAssignment(bits, nFullbandUpmixSignals, true); ParseDsiSfMutiplier(bits, fs_idx);