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
Change-Id: I740a9ba041ad444ead5513fb3b632a78d391ab1c
This commit is contained in:
Andy Hung
2021-04-06 10:18:00 -07:00
parent e27c8a16c5
commit e73976dba6
4 changed files with 24 additions and 2 deletions

View File

@@ -20332,6 +20332,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;
}
@@ -615,6 +619,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;
@@ -650,6 +655,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;
@@ -688,6 +694,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:
@@ -726,6 +733,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:
@@ -1012,6 +1020,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:
@@ -1238,7 +1247,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 {}
@@ -1258,6 +1268,7 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD
};
/** @hide */
@@ -1274,7 +1285,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 {}
@@ -1316,6 +1328,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

@@ -428,6 +428,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 + ")";
}