Merge "Audio: Add ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2"
diff --git a/core/api/current.txt b/core/api/current.txt
index b9ad95b..01bfecf 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -20016,7 +20016,10 @@
field public static final int ENCODING_DRA = 28; // 0x1c
field public static final int ENCODING_DTS = 7; // 0x7
field public static final int ENCODING_DTS_HD = 8; // 0x8
- field public static final int ENCODING_DTS_UHD = 27; // 0x1b
+ field public static final int ENCODING_DTS_HD_MA = 29; // 0x1d
+ field @Deprecated public static final int ENCODING_DTS_UHD = 27; // 0x1b
+ field public static final int ENCODING_DTS_UHD_P1 = 27; // 0x1b
+ field public static final int ENCODING_DTS_UHD_P2 = 30; // 0x1e
field public static final int ENCODING_E_AC3 = 6; // 0x6
field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
field public static final int ENCODING_IEC61937 = 13; // 0xd
diff --git a/core/jni/android_media_AudioFormat.h b/core/jni/android_media_AudioFormat.h
index 0e6b587..962b501 100644
--- a/core/jni/android_media_AudioFormat.h
+++ b/core/jni/android_media_AudioFormat.h
@@ -45,8 +45,10 @@
#define ENCODING_MPEGH_BL_L4 24
#define ENCODING_MPEGH_LC_L3 25
#define ENCODING_MPEGH_LC_L4 26
-#define ENCODING_DTS_UHD 27
+#define ENCODING_DTS_UHD_P1 27
#define ENCODING_DRA 28
+#define ENCODING_DTS_HD_MA 29
+#define ENCODING_DTS_UHD_P2 30
#define ENCODING_INVALID 0
#define ENCODING_DEFAULT 1
@@ -112,10 +114,14 @@
return AUDIO_FORMAT_MPEGH_LC_L3;
case ENCODING_MPEGH_LC_L4:
return AUDIO_FORMAT_MPEGH_LC_L4;
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
return AUDIO_FORMAT_DTS_UHD;
case ENCODING_DRA:
return AUDIO_FORMAT_DRA;
+ case ENCODING_DTS_HD_MA:
+ return AUDIO_FORMAT_DTS_HD_MA;
+ case ENCODING_DTS_UHD_P2:
+ return AUDIO_FORMAT_DTS_UHD_P2;
default:
return AUDIO_FORMAT_INVALID;
}
@@ -186,9 +192,13 @@
case AUDIO_FORMAT_MPEGH_LC_L4:
return ENCODING_MPEGH_LC_L4;
case AUDIO_FORMAT_DTS_UHD:
- return ENCODING_DTS_UHD;
+ return ENCODING_DTS_UHD_P1;
case AUDIO_FORMAT_DRA:
return ENCODING_DRA;
+ case AUDIO_FORMAT_DTS_HD_MA:
+ return ENCODING_DTS_HD_MA;
+ case AUDIO_FORMAT_DTS_UHD_P2:
+ return ENCODING_DTS_UHD_P2;
case AUDIO_FORMAT_DEFAULT:
return ENCODING_DEFAULT;
default:
diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java
index d06bbc6..b8090c4 100644
--- a/media/java/android/media/AudioFormat.java
+++ b/media/java/android/media/AudioFormat.java
@@ -350,10 +350,29 @@
public static final int ENCODING_MPEGH_LC_L3 = 25;
/** Audio data format: MPEG-H low complexity profile, level 4 */
public static final int ENCODING_MPEGH_LC_L4 = 26;
- /** Audio data format: DTS UHD compressed */
- public static final int ENCODING_DTS_UHD = 27;
+ /** Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1)
+ * Has the same meaning and value as ENCODING_DTS_UHD_P1.
+ * @deprecated Use {@link #ENCODING_DTS_UHD_P1} instead. */
+ @Deprecated public static final int ENCODING_DTS_UHD = 27;
/** Audio data format: DRA compressed */
public static final int ENCODING_DRA = 28;
+ /** Audio data format: DTS HD Master Audio compressed
+ * DTS HD Master Audio stream is variable bit rate and contains lossless audio.
+ * Use {@link #ENCODING_DTS_HD_MA} for lossless audio content (DTS-HD MA Lossless)
+ * and use {@link #ENCODING_DTS_HD} for other DTS bitstreams with extension substream
+ * (DTS 8Ch Discrete, DTS Hi Res, DTS Express). */
+ public static final int ENCODING_DTS_HD_MA = 29;
+ /** Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1)
+ * Has the same meaning and value as the deprecated {@link #ENCODING_DTS_UHD}.*/
+ public static final int ENCODING_DTS_UHD_P1 = 27;
+ /** Audio data format: DTS UHD Profile-2 compressed
+ * DTS-UHD Profile-2 supports delivery of Channel-Based Audio, Object-Based Audio
+ * and High Order Ambisonic presentations up to the fourth order.
+ * Use {@link #ENCODING_DTS_UHD_P1} to transmit DTS UHD Profile 1 (aka DTS:X Profile 1)
+ * bitstream.
+ * Use {@link #ENCODING_DTS_UHD_P2} to transmit DTS UHD Profile 2 (aka DTS:X Profile 2)
+ * bitstream. */
+ public static final int ENCODING_DTS_UHD_P2 = 30;
/** @hide */
public static String toLogFriendlyEncoding(int enc) {
@@ -410,10 +429,14 @@
return "ENCODING_MPEGH_LC_L3";
case ENCODING_MPEGH_LC_L4:
return "ENCODING_MPEGH_LC_L4";
- case ENCODING_DTS_UHD:
- return "ENCODING_DTS_UHD";
+ case ENCODING_DTS_UHD_P1:
+ return "ENCODING_DTS_UHD_P1";
case ENCODING_DRA:
return "ENCODING_DRA";
+ case ENCODING_DTS_HD_MA:
+ return "ENCODING_DTS_HD_MA";
+ case ENCODING_DTS_UHD_P2:
+ return "ENCODING_DTS_UHD_P2";
default :
return "invalid encoding " + enc;
}
@@ -768,8 +791,10 @@
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
case ENCODING_DRA:
+ case ENCODING_DTS_HD_MA:
+ case ENCODING_DTS_UHD_P2:
return true;
default:
return false;
@@ -805,8 +830,10 @@
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
case ENCODING_DRA:
+ case ENCODING_DTS_HD_MA:
+ case ENCODING_DTS_UHD_P2:
return true;
default:
return false;
@@ -845,8 +872,10 @@
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
case ENCODING_DRA:
+ case ENCODING_DTS_HD_MA:
+ case ENCODING_DTS_UHD_P2:
return false;
case ENCODING_INVALID:
default:
@@ -885,8 +914,10 @@
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
case ENCODING_DRA:
+ case ENCODING_DTS_HD_MA:
+ case ENCODING_DTS_UHD_P2:
return false;
case ENCODING_INVALID:
default:
@@ -1173,8 +1204,10 @@
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
- case ENCODING_DTS_UHD:
+ case ENCODING_DTS_UHD_P1:
case ENCODING_DRA:
+ case ENCODING_DTS_HD_MA:
+ case ENCODING_DTS_UHD_P2:
mEncoding = encoding;
break;
case ENCODING_INVALID:
@@ -1402,8 +1435,10 @@
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
- ENCODING_DTS_UHD,
- ENCODING_DRA }
+ ENCODING_DTS_UHD_P1,
+ ENCODING_DRA,
+ ENCODING_DTS_HD_MA,
+ ENCODING_DTS_UHD_P2 }
)
@Retention(RetentionPolicy.SOURCE)
public @interface Encoding {}
@@ -1423,8 +1458,10 @@
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
- ENCODING_DTS_UHD,
- ENCODING_DRA
+ ENCODING_DTS_UHD_P1,
+ ENCODING_DRA,
+ ENCODING_DTS_HD_MA,
+ ENCODING_DTS_UHD_P2
};
/** @hide */
@@ -1442,8 +1479,10 @@
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
- ENCODING_DTS_UHD,
- ENCODING_DRA }
+ ENCODING_DTS_UHD_P1,
+ ENCODING_DRA,
+ ENCODING_DTS_HD_MA,
+ ENCODING_DTS_UHD_P2 }
)
@Retention(RetentionPolicy.SOURCE)
public @interface SurroundSoundEncoding {}
@@ -1485,10 +1524,14 @@
return "MPEG-H 3D Audio low complexity profile level 3";
case ENCODING_MPEGH_LC_L4:
return "MPEG-H 3D Audio low complexity profile level 4";
- case ENCODING_DTS_UHD:
- return "DTS UHD";
+ case ENCODING_DTS_UHD_P1:
+ return "DTS UHD Profile 1";
case ENCODING_DRA:
return "DRA";
+ case ENCODING_DTS_HD_MA:
+ return "DTS HD Master Audio";
+ case ENCODING_DTS_UHD_P2:
+ return "DTS UHD Profile 2";
default:
return "Unknown surround sound format";
}
diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java
index b7282218..e6896bc 100644
--- a/media/java/android/media/AudioSystem.java
+++ b/media/java/android/media/AudioSystem.java
@@ -443,6 +443,10 @@
return "AUDIO_FORMAT_APTX_ADAPTIVE_QLEA";
case /* AUDIO_FORMAT_APTX_ADAPTIVE_R4 */ 0x31000000:
return "AUDIO_FORMAT_APTX_ADAPTIVE_R4";
+ case /* AUDIO_FORMAT_DTS_HD_MA */ 0x32000000:
+ return "AUDIO_FORMAT_DTS_HD_MA";
+ case /* AUDIO_FORMAT_DTS_UHD_P2 */ 0x33000000:
+ return "AUDIO_FORMAT_DTS_UHD_P2";
/* Aliases */
case /* AUDIO_FORMAT_PCM_16_BIT */ 0x1:
diff --git a/media/java/android/media/audio/common/AidlConversion.java b/media/java/android/media/audio/common/AidlConversion.java
index 491a8ec..6a5eae6 100644
--- a/media/java/android/media/audio/common/AidlConversion.java
+++ b/media/java/android/media/audio/common/AidlConversion.java
@@ -515,7 +515,7 @@
} else if (MediaFormat.MIMETYPE_AUDIO_MPEGH_LC_L4.equals(aidl.encoding)) {
return AudioFormat.ENCODING_MPEGH_LC_L4;
} else if (MediaFormat.MIMETYPE_AUDIO_DTS_UHD.equals(aidl.encoding)) {
- return AudioFormat.ENCODING_DTS_UHD;
+ return AudioFormat.ENCODING_DTS_UHD_P1;
} else if (MediaFormat.MIMETYPE_AUDIO_DRA.equals(aidl.encoding)) {
return AudioFormat.ENCODING_DRA;
} else {