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.hasBackChannels,
|
||||||
ac4Presentation.topChannelPairs);
|
ac4Presentation.topChannelPairs);
|
||||||
} else {
|
} 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
|
// 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
|
// 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.
|
// 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.
|
// The following sentence should be deleted after ETSI specification error is fixed.
|
||||||
if (ac4Presentation.level == 4) {
|
if (ac4Presentation.level == 4) {
|
||||||
channelCount = channelCount == 16 ? 21 : channelCount;
|
channelCount = channelCount == 17 ? 21 : channelCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user