Merge "Audio: Add ENCODING_DTS_HD_MA, ENCODING_DTS_UHD_P2"

This commit is contained in:
Dorin Drimus
2022-11-22 14:28:45 +00:00
committed by Gerrit Code Review
5 changed files with 82 additions and 22 deletions

View File

@@ -20016,7 +20016,10 @@ package android.media {
field public static final int ENCODING_DRA = 28; // 0x1c 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 = 7; // 0x7
field public static final int ENCODING_DTS_HD = 8; // 0x8 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 = 6; // 0x6
field public static final int ENCODING_E_AC3_JOC = 18; // 0x12 field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
field public static final int ENCODING_IEC61937 = 13; // 0xd field public static final int ENCODING_IEC61937 = 13; // 0xd

View File

@@ -45,8 +45,10 @@
#define ENCODING_MPEGH_BL_L4 24 #define ENCODING_MPEGH_BL_L4 24
#define ENCODING_MPEGH_LC_L3 25 #define ENCODING_MPEGH_LC_L3 25
#define ENCODING_MPEGH_LC_L4 26 #define ENCODING_MPEGH_LC_L4 26
#define ENCODING_DTS_UHD 27 #define ENCODING_DTS_UHD_P1 27
#define ENCODING_DRA 28 #define ENCODING_DRA 28
#define ENCODING_DTS_HD_MA 29
#define ENCODING_DTS_UHD_P2 30
#define ENCODING_INVALID 0 #define ENCODING_INVALID 0
#define ENCODING_DEFAULT 1 #define ENCODING_DEFAULT 1
@@ -112,10 +114,14 @@ static inline audio_format_t audioFormatToNative(int audioFormat)
return AUDIO_FORMAT_MPEGH_LC_L3; return AUDIO_FORMAT_MPEGH_LC_L3;
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
return AUDIO_FORMAT_MPEGH_LC_L4; return AUDIO_FORMAT_MPEGH_LC_L4;
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
return AUDIO_FORMAT_DTS_UHD; return AUDIO_FORMAT_DTS_UHD;
case ENCODING_DRA: case ENCODING_DRA:
return AUDIO_FORMAT_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: default:
return AUDIO_FORMAT_INVALID; return AUDIO_FORMAT_INVALID;
} }
@@ -186,9 +192,13 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat)
case AUDIO_FORMAT_MPEGH_LC_L4: case AUDIO_FORMAT_MPEGH_LC_L4:
return ENCODING_MPEGH_LC_L4; return ENCODING_MPEGH_LC_L4;
case AUDIO_FORMAT_DTS_UHD: case AUDIO_FORMAT_DTS_UHD:
return ENCODING_DTS_UHD; return ENCODING_DTS_UHD_P1;
case AUDIO_FORMAT_DRA: case AUDIO_FORMAT_DRA:
return ENCODING_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: case AUDIO_FORMAT_DEFAULT:
return ENCODING_DEFAULT; return ENCODING_DEFAULT;
default: default:

View File

@@ -350,10 +350,29 @@ public final class AudioFormat implements Parcelable {
public static final int ENCODING_MPEGH_LC_L3 = 25; public static final int ENCODING_MPEGH_LC_L3 = 25;
/** Audio data format: MPEG-H low complexity profile, level 4 */ /** Audio data format: MPEG-H low complexity profile, level 4 */
public static final int ENCODING_MPEGH_LC_L4 = 26; public static final int ENCODING_MPEGH_LC_L4 = 26;
/** Audio data format: DTS UHD compressed */ /** Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1)
public static final int ENCODING_DTS_UHD = 27; * 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 */ /** Audio data format: DRA compressed */
public static final int ENCODING_DRA = 28; 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 */ /** @hide */
public static String toLogFriendlyEncoding(int enc) { public static String toLogFriendlyEncoding(int enc) {
@@ -410,10 +429,14 @@ public final class AudioFormat implements Parcelable {
return "ENCODING_MPEGH_LC_L3"; return "ENCODING_MPEGH_LC_L3";
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
return "ENCODING_MPEGH_LC_L4"; return "ENCODING_MPEGH_LC_L4";
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
return "ENCODING_DTS_UHD"; return "ENCODING_DTS_UHD_P1";
case ENCODING_DRA: case ENCODING_DRA:
return "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 : default :
return "invalid encoding " + enc; return "invalid encoding " + enc;
} }
@@ -768,8 +791,10 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4: case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3: case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
case ENCODING_DRA: case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
return true; return true;
default: default:
return false; return false;
@@ -805,8 +830,10 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4: case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3: case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
case ENCODING_DRA: case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
return true; return true;
default: default:
return false; return false;
@@ -845,8 +872,10 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4: case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3: case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
case ENCODING_DRA: case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
return false; return false;
case ENCODING_INVALID: case ENCODING_INVALID:
default: default:
@@ -885,8 +914,10 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4: case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3: case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
case ENCODING_DRA: case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
return false; return false;
case ENCODING_INVALID: case ENCODING_INVALID:
default: default:
@@ -1173,8 +1204,10 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4: case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3: case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
case ENCODING_DRA: case ENCODING_DRA:
case ENCODING_DTS_HD_MA:
case ENCODING_DTS_UHD_P2:
mEncoding = encoding; mEncoding = encoding;
break; break;
case ENCODING_INVALID: case ENCODING_INVALID:
@@ -1402,8 +1435,10 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4, ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3, ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4, ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD, ENCODING_DTS_UHD_P1,
ENCODING_DRA } ENCODING_DRA,
ENCODING_DTS_HD_MA,
ENCODING_DTS_UHD_P2 }
) )
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface Encoding {} public @interface Encoding {}
@@ -1423,8 +1458,10 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4, ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3, ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4, ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD, ENCODING_DTS_UHD_P1,
ENCODING_DRA ENCODING_DRA,
ENCODING_DTS_HD_MA,
ENCODING_DTS_UHD_P2
}; };
/** @hide */ /** @hide */
@@ -1442,8 +1479,10 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4, ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3, ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4, ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD, ENCODING_DTS_UHD_P1,
ENCODING_DRA } ENCODING_DRA,
ENCODING_DTS_HD_MA,
ENCODING_DTS_UHD_P2 }
) )
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface SurroundSoundEncoding {} public @interface SurroundSoundEncoding {}
@@ -1485,10 +1524,14 @@ public final class AudioFormat implements Parcelable {
return "MPEG-H 3D Audio low complexity profile level 3"; return "MPEG-H 3D Audio low complexity profile level 3";
case ENCODING_MPEGH_LC_L4: case ENCODING_MPEGH_LC_L4:
return "MPEG-H 3D Audio low complexity profile level 4"; return "MPEG-H 3D Audio low complexity profile level 4";
case ENCODING_DTS_UHD: case ENCODING_DTS_UHD_P1:
return "DTS UHD"; return "DTS UHD Profile 1";
case ENCODING_DRA: case ENCODING_DRA:
return "DRA"; return "DRA";
case ENCODING_DTS_HD_MA:
return "DTS HD Master Audio";
case ENCODING_DTS_UHD_P2:
return "DTS UHD Profile 2";
default: default:
return "Unknown surround sound format"; return "Unknown surround sound format";
} }

View File

@@ -443,6 +443,10 @@ public class AudioSystem
return "AUDIO_FORMAT_APTX_ADAPTIVE_QLEA"; return "AUDIO_FORMAT_APTX_ADAPTIVE_QLEA";
case /* AUDIO_FORMAT_APTX_ADAPTIVE_R4 */ 0x31000000: case /* AUDIO_FORMAT_APTX_ADAPTIVE_R4 */ 0x31000000:
return "AUDIO_FORMAT_APTX_ADAPTIVE_R4"; 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 */ /* Aliases */
case /* AUDIO_FORMAT_PCM_16_BIT */ 0x1: case /* AUDIO_FORMAT_PCM_16_BIT */ 0x1:

View File

@@ -515,7 +515,7 @@ public class AidlConversion {
} else if (MediaFormat.MIMETYPE_AUDIO_MPEGH_LC_L4.equals(aidl.encoding)) { } else if (MediaFormat.MIMETYPE_AUDIO_MPEGH_LC_L4.equals(aidl.encoding)) {
return AudioFormat.ENCODING_MPEGH_LC_L4; return AudioFormat.ENCODING_MPEGH_LC_L4;
} else if (MediaFormat.MIMETYPE_AUDIO_DTS_UHD.equals(aidl.encoding)) { } 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)) { } else if (MediaFormat.MIMETYPE_AUDIO_DRA.equals(aidl.encoding)) {
return AudioFormat.ENCODING_DRA; return AudioFormat.ENCODING_DRA;
} else { } else {