Audio: Add ENCODING_DTS_UHD

See ETSI TS 103 491 V1.2.1 (2019-05)
DTS-UHD Audio Format; Delivery of Channels,
Objects and Ambisonic Sound Fields

Test: atest AudioFormatTest
Bug: 184538197
Merged-In: I740a9ba041ad444ead5513fb3b632a78d391ab1c
Change-Id: I740a9ba041ad444ead5513fb3b632a78d391ab1c
This commit is contained in:
Andy Hung
2021-04-06 10:18:00 -07:00
parent 2e67798711
commit bd3a68b6f1
4 changed files with 24 additions and 2 deletions

View File

@@ -19379,6 +19379,7 @@ package android.media {
field public static final int ENCODING_DOLBY_TRUEHD = 14; // 0xe
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_E_AC3 = 6; // 0x6
field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
field public static final int ENCODING_IEC61937 = 13; // 0xd

View File

@@ -45,6 +45,7 @@
#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_INVALID 0
#define ENCODING_DEFAULT 1
@@ -110,6 +111,8 @@ static inline audio_format_t audioFormatToNative(int audioFormat)
return AUDIO_FORMAT_MPEGH_LC_L3;
case ENCODING_MPEGH_LC_L4:
return AUDIO_FORMAT_MPEGH_LC_L4;
case ENCODING_DTS_UHD:
return AUDIO_FORMAT_DTS_UHD;
default:
return AUDIO_FORMAT_INVALID;
}
@@ -179,6 +182,8 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat)
return ENCODING_MPEGH_LC_L3;
case AUDIO_FORMAT_MPEGH_LC_L4:
return ENCODING_MPEGH_LC_L4;
case AUDIO_FORMAT_DTS_UHD:
return ENCODING_DTS_UHD;
case AUDIO_FORMAT_DEFAULT:
return ENCODING_DEFAULT;
default:

View File

@@ -324,6 +324,8 @@ public final class AudioFormat implements Parcelable {
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;
/** @hide */
public static String toLogFriendlyEncoding(int enc) {
@@ -380,6 +382,8 @@ public final class AudioFormat implements Parcelable {
return "ENCODING_MPEGH_LC_L3";
case ENCODING_MPEGH_LC_L4:
return "ENCODING_MPEGH_LC_L4";
case ENCODING_DTS_UHD:
return "ENCODING_DTS_UHD";
default :
return "invalid encoding " + enc;
}
@@ -659,6 +663,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
return true;
default:
return false;
@@ -694,6 +699,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
return true;
default:
return false;
@@ -732,6 +738,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
return false;
case ENCODING_INVALID:
default:
@@ -770,6 +777,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
return false;
case ENCODING_INVALID:
default:
@@ -1056,6 +1064,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_BL_L4:
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
mEncoding = encoding;
break;
case ENCODING_INVALID:
@@ -1282,7 +1291,8 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L3,
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4 }
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD }
)
@Retention(RetentionPolicy.SOURCE)
public @interface Encoding {}
@@ -1302,6 +1312,7 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD
};
/** @hide */
@@ -1318,7 +1329,8 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L3,
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4 }
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD }
)
@Retention(RetentionPolicy.SOURCE)
public @interface SurroundSoundEncoding {}
@@ -1360,6 +1372,8 @@ public final class AudioFormat implements Parcelable {
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";
default:
return "Unknown surround sound format";
}

View File

@@ -424,6 +424,8 @@ public class AudioSystem
return "AUDIO_FORMAT_MAT_2_0"; // (MAT | MAT_SUB_2_0)
case /* AUDIO_FORMAT_MAT_2_1 */ 0x24000003:
return "AUDIO_FORMAT_MAT_2_1"; // (MAT | MAT_SUB_2_1)
case /* AUDIO_FORMAT_DTS_UHD */ 0x2E000000:
return "AUDIO_FORMAT_DTS_UHD";
default:
return "AUDIO_FORMAT_(" + audioFormat + ")";
}