Skip to content

Commit

Permalink
Merge pull request #1943 from DolbyLaboratories:dlb/ac4-ajoc/dev
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 702281314
(cherry picked from commit e499377)
  • Loading branch information
copybara-github authored and shahdDaghash committed Dec 3, 2024
1 parent fa9689e commit 121b79a
Showing 1 changed file with 11 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -410,13 +410,22 @@ public static Format parseAc4AnnexEFormat(
ac4Presentation.hasBackChannels,
ac4Presentation.topChannelPairs);
} else {
channelCount = ac4Presentation.numOfUmxObjects;
// The ETSI TS 103 190-2 V1.2.1 (2018-02) specification defines the parameter
// n_umx_objects_minus1 in Annex E (E.11.11) to specify the number of fullband objects. While
// the elementary stream specification (section 6.3.2.8.1 and 6.3.2.10.4) provides information
// about the presence of an LFE channel within the set of dynamic objects, this detail is not
// explicitly stated in the ISO Base Media File Format (Annex E). However, current
// implementation practices consistently include the LFE channel when creating an object-based
// substream. As a result, it has been decided that when interpreting the ISO Base Media File
// Format, the LFE channel should always be counted as part of the total channel count.
int lfeChannelCount = 1;
channelCount = ac4Presentation.numOfUmxObjects + lfeChannelCount;
// TODO: There is a bug in ETSI TS 103 190-2 V1.2.1 (2018-02), E.11.11
// For AC-4 level 4 stream, the intention is to set 19 to n_umx_objects_minus1 but it is
// equal to 15 based on current specification. Dolby has filed a bug report to ETSI.
// The following sentence should be deleted after ETSI specification error is fixed.
if (ac4Presentation.level == 4) {
channelCount = channelCount == 16 ? 21 : channelCount;
channelCount = channelCount == 17 ? 21 : channelCount;
}
}

Expand Down

0 comments on commit 121b79a

Please sign in to comment.