diff --git a/core/api/current.txt b/core/api/current.txt index 6d24d87d04cb..4ff2e7e32eb8 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -21527,6 +21527,16 @@ package android.media { field public static final int AACObjectSSR = 3; // 0x3 field public static final int AACObjectScalable = 6; // 0x6 field public static final int AACObjectXHE = 42; // 0x2a + field public static final int AC4Level0 = 1; // 0x1 + field public static final int AC4Level1 = 2; // 0x2 + field public static final int AC4Level2 = 4; // 0x4 + field public static final int AC4Level3 = 8; // 0x8 + field public static final int AC4Level4 = 16; // 0x10 + field public static final int AC4Profile00 = 257; // 0x101 + field public static final int AC4Profile10 = 513; // 0x201 + field public static final int AC4Profile11 = 514; // 0x202 + field public static final int AC4Profile21 = 1026; // 0x402 + field public static final int AC4Profile22 = 1028; // 0x404 field public static final int AV1Level2 = 1; // 0x1 field public static final int AV1Level21 = 2; // 0x2 field public static final int AV1Level22 = 4; // 0x4 diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index 55de0b3f95e3..193544edbf99 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -4182,6 +4182,77 @@ public final class MediaCodecInfo { @SuppressLint("AllUpper") public static final int DTS_UHDProfileP2 = 0x2; + // Profiles and levels for AC-4 Codec, corresponding to the definitions in + // "The MIME codecs parameter", Annex E.13 + // found at https://www.etsi.org/deliver/etsi_ts/103100_103199/10319002/01.02.01_60/ts_10319002v010201p.pdf + // profile = ((1 << bitstream_version) << 8) | (1 << presentation_version); + // level = 1 << mdcompat; + + @SuppressLint("AllUpper") + private static final int AC4BitstreamVersion0 = 0x01; + @SuppressLint("AllUpper") + private static final int AC4BitstreamVersion1 = 0x02; + @SuppressLint("AllUpper") + private static final int AC4BitstreamVersion2 = 0x04; + + @SuppressLint("AllUpper") + private static final int AC4PresentationVersion0 = 0x01; + @SuppressLint("AllUpper") + private static final int AC4PresentationVersion1 = 0x02; + @SuppressLint("AllUpper") + private static final int AC4PresentationVersion2 = 0x04; + + /** + * AC-4 codec profile with bitstream_version 0 and presentation_version 0 + * as per ETSI TS 103 190-2 v1.2.1 + */ + @SuppressLint("AllUpper") + public static final int AC4Profile00 = AC4BitstreamVersion0 << 8 | AC4PresentationVersion0; + + /** + * AC-4 codec profile with bitstream_version 1 and presentation_version 0 + * as per ETSI TS 103 190-2 v1.2.1 + */ + @SuppressLint("AllUpper") + public static final int AC4Profile10 = AC4BitstreamVersion1 << 8 | AC4PresentationVersion0; + + /** + * AC-4 codec profile with bitstream_version 1 and presentation_version 1 + * as per ETSI TS 103 190-2 v1.2.1 + */ + @SuppressLint("AllUpper") + public static final int AC4Profile11 = AC4BitstreamVersion1 << 8 | AC4PresentationVersion1; + + /** + * AC-4 codec profile with bitstream_version 2 and presentation_version 1 + * as per ETSI TS 103 190-2 v1.2.1 + */ + @SuppressLint("AllUpper") + public static final int AC4Profile21 = AC4BitstreamVersion2 << 8 | AC4PresentationVersion1; + + /** + * AC-4 codec profile with bitstream_version 2 and presentation_version 2 + * as per ETSI TS 103 190-2 v1.2.1 + */ + @SuppressLint("AllUpper") + public static final int AC4Profile22 = AC4BitstreamVersion2 << 8 | AC4PresentationVersion2; + + /** AC-4 codec level corresponding to mdcompat 0 as per ETSI TS 103 190-2 v1.2.1 */ + @SuppressLint("AllUpper") + public static final int AC4Level0 = 0x01; + /** AC-4 codec level corresponding to mdcompat 1 as per ETSI TS 103 190-2 v1.2.1 */ + @SuppressLint("AllUpper") + public static final int AC4Level1 = 0x02; + /** AC-4 codec level corresponding to mdcompat 2 as per ETSI TS 103 190-2 v1.2.1 */ + @SuppressLint("AllUpper") + public static final int AC4Level2 = 0x04; + /** AC-4 codec level corresponding to mdcompat 3 as per ETSI TS 103 190-2 v1.2.1 */ + @SuppressLint("AllUpper") + public static final int AC4Level3 = 0x08; + /** AC-4 codec level corresponding to mdcompat 4 as per ETSI TS 103 190-2 v1.2.1 */ + @SuppressLint("AllUpper") + public static final int AC4Level4 = 0x10; + /** * The profile of the media content. Depending on the type of media this can be * one of the profile values defined in this class.