Audio: Add ENCODING_DRA

China DTMB digital TV.
See SJ/T11368-2006
“Specification for multichannel digital audio coding technology”.

Test: atest AudioFormatTest
Bug: 185950819
Change-Id: Id6078e65941020a73f8a43017f480574c2a78999
This commit is contained in:
Andy Hung
2021-04-20 19:12:59 -07:00
parent be20ca46f6
commit fb082f6463
4 changed files with 25 additions and 3 deletions

View File

@@ -20316,6 +20316,7 @@ package android.media {
field public static final int ENCODING_DEFAULT = 1; // 0x1
field public static final int ENCODING_DOLBY_MAT = 19; // 0x13
field public static final int ENCODING_DOLBY_TRUEHD = 14; // 0xe
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

View File

@@ -46,6 +46,7 @@
#define ENCODING_MPEGH_LC_L3 25
#define ENCODING_MPEGH_LC_L4 26
#define ENCODING_DTS_UHD 27
#define ENCODING_DRA 28
#define ENCODING_INVALID 0
#define ENCODING_DEFAULT 1
@@ -113,6 +114,8 @@ static inline audio_format_t audioFormatToNative(int audioFormat)
return AUDIO_FORMAT_MPEGH_LC_L4;
case ENCODING_DTS_UHD:
return AUDIO_FORMAT_DTS_UHD;
case ENCODING_DRA:
return AUDIO_FORMAT_DRA;
default:
return AUDIO_FORMAT_INVALID;
}
@@ -184,6 +187,8 @@ static inline int audioFormatFromNative(audio_format_t nativeFormat)
return ENCODING_MPEGH_LC_L4;
case AUDIO_FORMAT_DTS_UHD:
return ENCODING_DTS_UHD;
case AUDIO_FORMAT_DRA:
return ENCODING_DRA;
case AUDIO_FORMAT_DEFAULT:
return ENCODING_DEFAULT;
default:

View File

@@ -326,6 +326,8 @@ public final class AudioFormat implements Parcelable {
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: DRA compressed */
public static final int ENCODING_DRA = 28;
/** @hide */
public static String toLogFriendlyEncoding(int enc) {
@@ -384,6 +386,8 @@ public final class AudioFormat implements Parcelable {
return "ENCODING_MPEGH_LC_L4";
case ENCODING_DTS_UHD:
return "ENCODING_DTS_UHD";
case ENCODING_DRA:
return "ENCODING_DRA";
default :
return "invalid encoding " + enc;
}
@@ -620,6 +624,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
case ENCODING_DRA:
return true;
default:
return false;
@@ -656,6 +661,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
case ENCODING_DRA:
return true;
default:
return false;
@@ -695,6 +701,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
case ENCODING_DRA:
return false;
case ENCODING_INVALID:
default:
@@ -734,6 +741,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
case ENCODING_DRA:
return false;
case ENCODING_INVALID:
default:
@@ -1021,6 +1029,7 @@ public final class AudioFormat implements Parcelable {
case ENCODING_MPEGH_LC_L3:
case ENCODING_MPEGH_LC_L4:
case ENCODING_DTS_UHD:
case ENCODING_DRA:
mEncoding = encoding;
break;
case ENCODING_INVALID:
@@ -1248,7 +1257,8 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD }
ENCODING_DTS_UHD,
ENCODING_DRA }
)
@Retention(RetentionPolicy.SOURCE)
public @interface Encoding {}
@@ -1268,7 +1278,8 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD
ENCODING_DTS_UHD,
ENCODING_DRA
};
/** @hide */
@@ -1286,7 +1297,8 @@ public final class AudioFormat implements Parcelable {
ENCODING_MPEGH_BL_L4,
ENCODING_MPEGH_LC_L3,
ENCODING_MPEGH_LC_L4,
ENCODING_DTS_UHD }
ENCODING_DTS_UHD,
ENCODING_DRA }
)
@Retention(RetentionPolicy.SOURCE)
public @interface SurroundSoundEncoding {}
@@ -1330,6 +1342,8 @@ public final class AudioFormat implements Parcelable {
return "MPEG-H 3D Audio low complexity profile level 4";
case ENCODING_DTS_UHD:
return "DTS UHD";
case ENCODING_DRA:
return "DRA";
default:
return "Unknown surround sound format";
}

View File

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