mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
LFE channel should always be counted for AC-4 A-JOC content on MPEG-4 layer
This commit is contained in:
parent
547a164f42
commit
e503535ec2
@ -410,13 +410,21 @@ public final class Ac4Util {
|
||||
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) 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 A-JOC 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.
|
||||
channelCount = ac4Presentation.numOfUmxObjects + 1; // Here "1" stands for LFE channel
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user