OSDN Git Service

audio-base.h number in hex
authorKevin Rocard <krocard@google.com>
Wed, 25 Apr 2018 03:04:15 +0000 (20:04 -0700)
committerKevin Rocard <krocard@google.com>
Wed, 25 Apr 2018 21:46:48 +0000 (21:46 +0000)
Make audio.h great again.
All values expressed in hex in types.hal are now also hex in
audio-base.h

Generated by running on each enum body:
sed -E 's/(.* )= ([0-9]*)u?,(.*)/echo "\1@= 0x$(printf \%x \2),@\3"/e' |
  column -ts@ | sed 's/  =/=/;s/,  /,/;s/[()]//g' |
  sed -E 's/0x([a-zA-Z0-9]+)/0x\U\1/'

And then a few manual removal of whitespace for vertical alignments.

Test: check that some numbers are correctly converted
Bug: 38184704
Change-Id: I6740e00285b8d301320dd8ae408d3f1fd46511c3
Signed-off-by: Kevin Rocard <krocard@google.com>
audio/include/system/audio-base.h

index 6d8e08b..3d0638d 100644 (file)
@@ -69,102 +69,112 @@ typedef enum {
 } audio_session_t;
 
 typedef enum {
-    AUDIO_FORMAT_INVALID = 4294967295u,
-    AUDIO_FORMAT_DEFAULT = 0u,
-    AUDIO_FORMAT_PCM = 0u,
-    AUDIO_FORMAT_MP3 = 16777216u,
-    AUDIO_FORMAT_AMR_NB = 33554432u,
-    AUDIO_FORMAT_AMR_WB = 50331648u,
-    AUDIO_FORMAT_AAC = 67108864u,
-    AUDIO_FORMAT_HE_AAC_V1 = 83886080u,
-    AUDIO_FORMAT_HE_AAC_V2 = 100663296u,
-    AUDIO_FORMAT_VORBIS = 117440512u,
-    AUDIO_FORMAT_OPUS = 134217728u,
-    AUDIO_FORMAT_AC3 = 150994944u,
-    AUDIO_FORMAT_E_AC3 = 167772160u,
-    AUDIO_FORMAT_DTS = 184549376u,
-    AUDIO_FORMAT_DTS_HD = 201326592u,
-    AUDIO_FORMAT_IEC61937 = 218103808u,
-    AUDIO_FORMAT_DOLBY_TRUEHD = 234881024u,
-    AUDIO_FORMAT_EVRC = 268435456u,
-    AUDIO_FORMAT_EVRCB = 285212672u,
-    AUDIO_FORMAT_EVRCWB = 301989888u,
-    AUDIO_FORMAT_EVRCNW = 318767104u,
-    AUDIO_FORMAT_AAC_ADIF = 335544320u,
-    AUDIO_FORMAT_WMA = 352321536u,
-    AUDIO_FORMAT_WMA_PRO = 369098752u,
-    AUDIO_FORMAT_AMR_WB_PLUS = 385875968u,
-    AUDIO_FORMAT_MP2 = 402653184u,
-    AUDIO_FORMAT_QCELP = 419430400u,
-    AUDIO_FORMAT_DSD = 436207616u,
-    AUDIO_FORMAT_FLAC = 452984832u,
-    AUDIO_FORMAT_ALAC = 469762048u,
-    AUDIO_FORMAT_APE = 486539264u,
-    AUDIO_FORMAT_AAC_ADTS = 503316480u,
-    AUDIO_FORMAT_SBC = 520093696u,
-    AUDIO_FORMAT_APTX = 536870912u,
-    AUDIO_FORMAT_APTX_HD = 553648128u,
-    AUDIO_FORMAT_AC4 = 570425344u,
-    AUDIO_FORMAT_LDAC = 587202560u,
-    AUDIO_FORMAT_MAT = 603979776u,
-    AUDIO_FORMAT_MAIN_MASK = 4278190080u,
-    AUDIO_FORMAT_SUB_MASK = 16777215u,
-    AUDIO_FORMAT_PCM_SUB_16_BIT = 1u,
-    AUDIO_FORMAT_PCM_SUB_8_BIT = 2u,
-    AUDIO_FORMAT_PCM_SUB_32_BIT = 3u,
-    AUDIO_FORMAT_PCM_SUB_8_24_BIT = 4u,
-    AUDIO_FORMAT_PCM_SUB_FLOAT = 5u,
-    AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 6u,
-    AUDIO_FORMAT_MP3_SUB_NONE = 0u,
-    AUDIO_FORMAT_AMR_SUB_NONE = 0u,
-    AUDIO_FORMAT_AAC_SUB_MAIN = 1u,
-    AUDIO_FORMAT_AAC_SUB_LC = 2u,
-    AUDIO_FORMAT_AAC_SUB_SSR = 4u,
-    AUDIO_FORMAT_AAC_SUB_LTP = 8u,
-    AUDIO_FORMAT_AAC_SUB_HE_V1 = 16u,
-    AUDIO_FORMAT_AAC_SUB_SCALABLE = 32u,
-    AUDIO_FORMAT_AAC_SUB_ERLC = 64u,
-    AUDIO_FORMAT_AAC_SUB_LD = 128u,
-    AUDIO_FORMAT_AAC_SUB_HE_V2 = 256u,
-    AUDIO_FORMAT_AAC_SUB_ELD = 512u,
-    AUDIO_FORMAT_AAC_SUB_XHE = 768u,
-    AUDIO_FORMAT_VORBIS_SUB_NONE = 0u,
-    AUDIO_FORMAT_E_AC3_SUB_JOC = 1u,
-    AUDIO_FORMAT_MAT_SUB_1_0 = 1u,
-    AUDIO_FORMAT_MAT_SUB_2_0 = 2u,
-    AUDIO_FORMAT_MAT_SUB_2_1 = 3u,
-    AUDIO_FORMAT_PCM_16_BIT = 1u, // (PCM | PCM_SUB_16_BIT)
-    AUDIO_FORMAT_PCM_8_BIT = 2u, // (PCM | PCM_SUB_8_BIT)
-    AUDIO_FORMAT_PCM_32_BIT = 3u, // (PCM | PCM_SUB_32_BIT)
-    AUDIO_FORMAT_PCM_8_24_BIT = 4u, // (PCM | PCM_SUB_8_24_BIT)
-    AUDIO_FORMAT_PCM_FLOAT = 5u, // (PCM | PCM_SUB_FLOAT)
-    AUDIO_FORMAT_PCM_24_BIT_PACKED = 6u, // (PCM | PCM_SUB_24_BIT_PACKED)
-    AUDIO_FORMAT_AAC_MAIN = 67108865u, // (AAC | AAC_SUB_MAIN)
-    AUDIO_FORMAT_AAC_LC = 67108866u, // (AAC | AAC_SUB_LC)
-    AUDIO_FORMAT_AAC_SSR = 67108868u, // (AAC | AAC_SUB_SSR)
-    AUDIO_FORMAT_AAC_LTP = 67108872u, // (AAC | AAC_SUB_LTP)
-    AUDIO_FORMAT_AAC_HE_V1 = 67108880u, // (AAC | AAC_SUB_HE_V1)
-    AUDIO_FORMAT_AAC_SCALABLE = 67108896u, // (AAC | AAC_SUB_SCALABLE)
-    AUDIO_FORMAT_AAC_ERLC = 67108928u, // (AAC | AAC_SUB_ERLC)
-    AUDIO_FORMAT_AAC_LD = 67108992u, // (AAC | AAC_SUB_LD)
-    AUDIO_FORMAT_AAC_HE_V2 = 67109120u, // (AAC | AAC_SUB_HE_V2)
-    AUDIO_FORMAT_AAC_ELD = 67109376u, // (AAC | AAC_SUB_ELD)
-    AUDIO_FORMAT_AAC_XHE = 67109632u, // (AAC | AAC_SUB_XHE)
-    AUDIO_FORMAT_AAC_ADTS_MAIN = 503316481u, // (AAC_ADTS | AAC_SUB_MAIN)
-    AUDIO_FORMAT_AAC_ADTS_LC = 503316482u, // (AAC_ADTS | AAC_SUB_LC)
-    AUDIO_FORMAT_AAC_ADTS_SSR = 503316484u, // (AAC_ADTS | AAC_SUB_SSR)
-    AUDIO_FORMAT_AAC_ADTS_LTP = 503316488u, // (AAC_ADTS | AAC_SUB_LTP)
-    AUDIO_FORMAT_AAC_ADTS_HE_V1 = 503316496u, // (AAC_ADTS | AAC_SUB_HE_V1)
-    AUDIO_FORMAT_AAC_ADTS_SCALABLE = 503316512u, // (AAC_ADTS | AAC_SUB_SCALABLE)
-    AUDIO_FORMAT_AAC_ADTS_ERLC = 503316544u, // (AAC_ADTS | AAC_SUB_ERLC)
-    AUDIO_FORMAT_AAC_ADTS_LD = 503316608u, // (AAC_ADTS | AAC_SUB_LD)
-    AUDIO_FORMAT_AAC_ADTS_HE_V2 = 503316736u, // (AAC_ADTS | AAC_SUB_HE_V2)
-    AUDIO_FORMAT_AAC_ADTS_ELD = 503316992u, // (AAC_ADTS | AAC_SUB_ELD)
-    AUDIO_FORMAT_AAC_ADTS_XHE = 503317248u, // (AAC_ADTS | AAC_SUB_XHE)
-    AUDIO_FORMAT_E_AC3_JOC = 167772161u, // (E_AC3 | E_AC3_SUB_JOC)
-    AUDIO_FORMAT_MAT_1_0 = 603979777u, // (MAT | MAT_SUB_1_0)
-    AUDIO_FORMAT_MAT_2_0 = 603979778u, // (MAT | MAT_SUB_2_0)
-    AUDIO_FORMAT_MAT_2_1 = 603979779u, // (MAT | MAT_SUB_2_1)
+    AUDIO_FORMAT_INVALID             = 0xFFFFFFFFu,
+    AUDIO_FORMAT_DEFAULT             = 0,
+    AUDIO_FORMAT_PCM                 = 0x00000000u,
+    AUDIO_FORMAT_MP3                 = 0x01000000u,
+    AUDIO_FORMAT_AMR_NB              = 0x02000000u,
+    AUDIO_FORMAT_AMR_WB              = 0x03000000u,
+    AUDIO_FORMAT_AAC                 = 0x04000000u,
+    AUDIO_FORMAT_HE_AAC_V1           = 0x05000000u,
+    AUDIO_FORMAT_HE_AAC_V2           = 0x06000000u,
+    AUDIO_FORMAT_VORBIS              = 0x07000000u,
+    AUDIO_FORMAT_OPUS                = 0x08000000u,
+    AUDIO_FORMAT_AC3                 = 0x09000000u,
+    AUDIO_FORMAT_E_AC3               = 0x0A000000u,
+    AUDIO_FORMAT_DTS                 = 0x0B000000u,
+    AUDIO_FORMAT_DTS_HD              = 0x0C000000u,
+    AUDIO_FORMAT_IEC61937            = 0x0D000000u,
+    AUDIO_FORMAT_DOLBY_TRUEHD        = 0x0E000000u,
+    AUDIO_FORMAT_EVRC                = 0x10000000u,
+    AUDIO_FORMAT_EVRCB               = 0x11000000u,
+    AUDIO_FORMAT_EVRCWB              = 0x12000000u,
+    AUDIO_FORMAT_EVRCNW              = 0x13000000u,
+    AUDIO_FORMAT_AAC_ADIF            = 0x14000000u,
+    AUDIO_FORMAT_WMA                 = 0x15000000u,
+    AUDIO_FORMAT_WMA_PRO             = 0x16000000u,
+    AUDIO_FORMAT_AMR_WB_PLUS         = 0x17000000u,
+    AUDIO_FORMAT_MP2                 = 0x18000000u,
+    AUDIO_FORMAT_QCELP               = 0x19000000u,
+    AUDIO_FORMAT_DSD                 = 0x1A000000u,
+    AUDIO_FORMAT_FLAC                = 0x1B000000u,
+    AUDIO_FORMAT_ALAC                = 0x1C000000u,
+    AUDIO_FORMAT_APE                 = 0x1D000000u,
+    AUDIO_FORMAT_AAC_ADTS            = 0x1E000000u,
+    AUDIO_FORMAT_SBC                 = 0x1F000000u,
+    AUDIO_FORMAT_APTX                = 0x20000000u,
+    AUDIO_FORMAT_APTX_HD             = 0x21000000u,
+    AUDIO_FORMAT_AC4                 = 0x22000000u,
+    AUDIO_FORMAT_LDAC                = 0x23000000u,
+    AUDIO_FORMAT_MAT                 = 0x24000000u,
+    AUDIO_FORMAT_MAIN_MASK           = 0xFF000000u,
+    AUDIO_FORMAT_SUB_MASK            = 0x00FFFFFFu,
+
+    /* Subformats */
+    AUDIO_FORMAT_PCM_SUB_16_BIT        = 0x1u,
+    AUDIO_FORMAT_PCM_SUB_8_BIT         = 0x2u,
+    AUDIO_FORMAT_PCM_SUB_32_BIT        = 0x3u,
+    AUDIO_FORMAT_PCM_SUB_8_24_BIT      = 0x4u,
+    AUDIO_FORMAT_PCM_SUB_FLOAT         = 0x5u,
+    AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 0x6u,
+
+    AUDIO_FORMAT_MP3_SUB_NONE          = 0x0u,
+
+    AUDIO_FORMAT_AMR_SUB_NONE          = 0x0u,
+
+    AUDIO_FORMAT_AAC_SUB_MAIN          = 0x1u,
+    AUDIO_FORMAT_AAC_SUB_LC            = 0x2u,
+    AUDIO_FORMAT_AAC_SUB_SSR           = 0x4u,
+    AUDIO_FORMAT_AAC_SUB_LTP           = 0x8u,
+    AUDIO_FORMAT_AAC_SUB_HE_V1         = 0x10u,
+    AUDIO_FORMAT_AAC_SUB_SCALABLE      = 0x20u,
+    AUDIO_FORMAT_AAC_SUB_ERLC          = 0x40u,
+    AUDIO_FORMAT_AAC_SUB_LD            = 0x80u,
+    AUDIO_FORMAT_AAC_SUB_HE_V2         = 0x100u,
+    AUDIO_FORMAT_AAC_SUB_ELD           = 0x200u,
+    AUDIO_FORMAT_AAC_SUB_XHE           = 0x300u,
+
+    AUDIO_FORMAT_VORBIS_SUB_NONE       = 0x0u,
+
+    AUDIO_FORMAT_E_AC3_SUB_JOC         = 0x1u,
+
+    AUDIO_FORMAT_MAT_SUB_1_0           = 0x1u,
+    AUDIO_FORMAT_MAT_SUB_2_0           = 0x2u,
+    AUDIO_FORMAT_MAT_SUB_2_1           = 0x3u,
+
+    /* Aliases */
+    AUDIO_FORMAT_PCM_16_BIT            = 0x1u,        // (PCM | PCM_SUB_16_BIT)
+    AUDIO_FORMAT_PCM_8_BIT             = 0x2u,        // (PCM | PCM_SUB_8_BIT)
+    AUDIO_FORMAT_PCM_32_BIT            = 0x3u,        // (PCM | PCM_SUB_32_BIT)
+    AUDIO_FORMAT_PCM_8_24_BIT          = 0x4u,        // (PCM | PCM_SUB_8_24_BIT)
+    AUDIO_FORMAT_PCM_FLOAT             = 0x5u,        // (PCM | PCM_SUB_FLOAT)
+    AUDIO_FORMAT_PCM_24_BIT_PACKED     = 0x6u,        // (PCM | PCM_SUB_24_BIT_PACKED)
+    AUDIO_FORMAT_AAC_MAIN              = 0x4000001u,  // (AAC | AAC_SUB_MAIN)
+    AUDIO_FORMAT_AAC_LC                = 0x4000002u,  // (AAC | AAC_SUB_LC)
+    AUDIO_FORMAT_AAC_SSR               = 0x4000004u,  // (AAC | AAC_SUB_SSR)
+    AUDIO_FORMAT_AAC_LTP               = 0x4000008u,  // (AAC | AAC_SUB_LTP)
+    AUDIO_FORMAT_AAC_HE_V1             = 0x4000010u,  // (AAC | AAC_SUB_HE_V1)
+    AUDIO_FORMAT_AAC_SCALABLE          = 0x4000020u,  // (AAC | AAC_SUB_SCALABLE)
+    AUDIO_FORMAT_AAC_ERLC              = 0x4000040u,  // (AAC | AAC_SUB_ERLC)
+    AUDIO_FORMAT_AAC_LD                = 0x4000080u,  // (AAC | AAC_SUB_LD)
+    AUDIO_FORMAT_AAC_HE_V2             = 0x4000100u,  // (AAC | AAC_SUB_HE_V2)
+    AUDIO_FORMAT_AAC_ELD               = 0x4000200u,  // (AAC | AAC_SUB_ELD)
+    AUDIO_FORMAT_AAC_XHE               = 0x4000300u,  // (AAC | AAC_SUB_XHE)
+    AUDIO_FORMAT_AAC_ADTS_MAIN         = 0x1e000001u, // (AAC_ADTS | AAC_SUB_MAIN)
+    AUDIO_FORMAT_AAC_ADTS_LC           = 0x1e000002u, // (AAC_ADTS | AAC_SUB_LC)
+    AUDIO_FORMAT_AAC_ADTS_SSR          = 0x1e000004u, // (AAC_ADTS | AAC_SUB_SSR)
+    AUDIO_FORMAT_AAC_ADTS_LTP          = 0x1e000008u, // (AAC_ADTS | AAC_SUB_LTP)
+    AUDIO_FORMAT_AAC_ADTS_HE_V1        = 0x1e000010u, // (AAC_ADTS | AAC_SUB_HE_V1)
+    AUDIO_FORMAT_AAC_ADTS_SCALABLE     = 0x1e000020u, // (AAC_ADTS | AAC_SUB_SCALABLE)
+    AUDIO_FORMAT_AAC_ADTS_ERLC         = 0x1e000040u, // (AAC_ADTS | AAC_SUB_ERLC)
+    AUDIO_FORMAT_AAC_ADTS_LD           = 0x1e000080u, // (AAC_ADTS | AAC_SUB_LD)
+    AUDIO_FORMAT_AAC_ADTS_HE_V2        = 0x1e000100u, // (AAC_ADTS | AAC_SUB_HE_V2)
+    AUDIO_FORMAT_AAC_ADTS_ELD          = 0x1e000200u, // (AAC_ADTS | AAC_SUB_ELD)
+    AUDIO_FORMAT_AAC_ADTS_XHE          = 0x1e000300u, // (AAC_ADTS | AAC_SUB_XHE)
+    AUDIO_FORMAT_E_AC3_JOC             = 0xA000001u,  // (E_AC3 | E_AC3_SUB_JOC)
+    AUDIO_FORMAT_MAT_1_0               = 0x24000001u, // (MAT | MAT_SUB_1_0)
+    AUDIO_FORMAT_MAT_2_0               = 0x24000002u, // (MAT | MAT_SUB_2_0)
+    AUDIO_FORMAT_MAT_2_1               = 0x24000003u, // (MAT | MAT_SUB_2_1)
 } audio_format_t;
 
 enum {
@@ -173,93 +183,96 @@ enum {
 };
 
 enum {
-    AUDIO_CHANNEL_REPRESENTATION_POSITION = 0u,
-    AUDIO_CHANNEL_REPRESENTATION_INDEX = 2u,
-    AUDIO_CHANNEL_NONE = 0u,
-    AUDIO_CHANNEL_INVALID = 3221225472u,
-    AUDIO_CHANNEL_OUT_FRONT_LEFT = 1u,
-    AUDIO_CHANNEL_OUT_FRONT_RIGHT = 2u,
-    AUDIO_CHANNEL_OUT_FRONT_CENTER = 4u,
-    AUDIO_CHANNEL_OUT_LOW_FREQUENCY = 8u,
-    AUDIO_CHANNEL_OUT_BACK_LEFT = 16u,
-    AUDIO_CHANNEL_OUT_BACK_RIGHT = 32u,
-    AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 64u,
-    AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 128u,
-    AUDIO_CHANNEL_OUT_BACK_CENTER = 256u,
-    AUDIO_CHANNEL_OUT_SIDE_LEFT = 512u,
-    AUDIO_CHANNEL_OUT_SIDE_RIGHT = 1024u,
-    AUDIO_CHANNEL_OUT_TOP_CENTER = 2048u,
-    AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT = 4096u,
-    AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER = 8192u,
-    AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT = 16384u,
-    AUDIO_CHANNEL_OUT_TOP_BACK_LEFT = 32768u,
-    AUDIO_CHANNEL_OUT_TOP_BACK_CENTER = 65536u,
-    AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT = 131072u,
-    AUDIO_CHANNEL_OUT_TOP_SIDE_LEFT = 262144u,
-    AUDIO_CHANNEL_OUT_TOP_SIDE_RIGHT = 524288u,
-    AUDIO_CHANNEL_OUT_MONO = 1u, // OUT_FRONT_LEFT
-    AUDIO_CHANNEL_OUT_STEREO = 3u, // (OUT_FRONT_LEFT | OUT_FRONT_RIGHT)
-    AUDIO_CHANNEL_OUT_2POINT1 = 11u, // ((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_LOW_FREQUENCY)
-    AUDIO_CHANNEL_OUT_2POINT0POINT2 = 786435u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_2POINT1POINT2 = 786443u, // ((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT) | OUT_LOW_FREQUENCY)
-    AUDIO_CHANNEL_OUT_3POINT0POINT2 = 786439u, // ((((OUT_FRONT_LEFT | OUT_FRONT_CENTER) | OUT_FRONT_RIGHT) | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_3POINT1POINT2 = 786447u, // (((((OUT_FRONT_LEFT | OUT_FRONT_CENTER) | OUT_FRONT_RIGHT) | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT) | OUT_LOW_FREQUENCY)
-    AUDIO_CHANNEL_OUT_QUAD = 51u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_BACK_LEFT) | OUT_BACK_RIGHT)
-    AUDIO_CHANNEL_OUT_QUAD_BACK = 51u, // OUT_QUAD
-    AUDIO_CHANNEL_OUT_QUAD_SIDE = 1539u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_SURROUND = 263u, // (((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_BACK_CENTER)
-    AUDIO_CHANNEL_OUT_PENTA = 55u, // (OUT_QUAD | OUT_FRONT_CENTER)
-    AUDIO_CHANNEL_OUT_5POINT1 = 63u, // (((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT)
-    AUDIO_CHANNEL_OUT_5POINT1_BACK = 63u, // OUT_5POINT1
-    AUDIO_CHANNEL_OUT_5POINT1_SIDE = 1551u, // (((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_5POINT1POINT2 = 786495u, // ((OUT_5POINT1 | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_5POINT1POINT4 = 184383u, // ((((OUT_5POINT1 | OUT_TOP_FRONT_LEFT) | OUT_TOP_FRONT_RIGHT) | OUT_TOP_BACK_LEFT) | OUT_TOP_BACK_RIGHT)
-    AUDIO_CHANNEL_OUT_6POINT1 = 319u, // ((((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT) | OUT_BACK_CENTER)
-    AUDIO_CHANNEL_OUT_7POINT1 = 1599u, // (((((((OUT_FRONT_LEFT | OUT_FRONT_RIGHT) | OUT_FRONT_CENTER) | OUT_LOW_FREQUENCY) | OUT_BACK_LEFT) | OUT_BACK_RIGHT) | OUT_SIDE_LEFT) | OUT_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_7POINT1POINT2 = 788031u, // ((OUT_7POINT1 | OUT_TOP_SIDE_LEFT) | OUT_TOP_SIDE_RIGHT)
-    AUDIO_CHANNEL_OUT_7POINT1POINT4 = 185919u, // ((((OUT_7POINT1 | OUT_TOP_FRONT_LEFT) | OUT_TOP_FRONT_RIGHT) | OUT_TOP_BACK_LEFT) | OUT_TOP_BACK_RIGHT)
-    AUDIO_CHANNEL_IN_LEFT = 4u,
-    AUDIO_CHANNEL_IN_RIGHT = 8u,
-    AUDIO_CHANNEL_IN_FRONT = 16u,
-    AUDIO_CHANNEL_IN_BACK = 32u,
-    AUDIO_CHANNEL_IN_LEFT_PROCESSED = 64u,
-    AUDIO_CHANNEL_IN_RIGHT_PROCESSED = 128u,
-    AUDIO_CHANNEL_IN_FRONT_PROCESSED = 256u,
-    AUDIO_CHANNEL_IN_BACK_PROCESSED = 512u,
-    AUDIO_CHANNEL_IN_PRESSURE = 1024u,
-    AUDIO_CHANNEL_IN_X_AXIS = 2048u,
-    AUDIO_CHANNEL_IN_Y_AXIS = 4096u,
-    AUDIO_CHANNEL_IN_Z_AXIS = 8192u,
-    AUDIO_CHANNEL_IN_BACK_LEFT = 65536u,
-    AUDIO_CHANNEL_IN_BACK_RIGHT = 131072u,
-    AUDIO_CHANNEL_IN_CENTER = 262144u,
-    AUDIO_CHANNEL_IN_LOW_FREQUENCY = 1048576u,
-    AUDIO_CHANNEL_IN_TOP_LEFT = 2097152u,
-    AUDIO_CHANNEL_IN_TOP_RIGHT = 4194304u,
-    AUDIO_CHANNEL_IN_VOICE_UPLINK = 16384u,
-    AUDIO_CHANNEL_IN_VOICE_DNLINK = 32768u,
-    AUDIO_CHANNEL_IN_MONO = 16u, // IN_FRONT
-    AUDIO_CHANNEL_IN_STEREO = 12u, // (IN_LEFT | IN_RIGHT)
-    AUDIO_CHANNEL_IN_FRONT_BACK = 48u, // (IN_FRONT | IN_BACK)
-    AUDIO_CHANNEL_IN_6 = 252u, // (((((IN_LEFT | IN_RIGHT) | IN_FRONT) | IN_BACK) | IN_LEFT_PROCESSED) | IN_RIGHT_PROCESSED)
-    AUDIO_CHANNEL_IN_2POINT0POINT2 = 6291468u, // (((IN_LEFT | IN_RIGHT) | IN_TOP_LEFT) | IN_TOP_RIGHT)
-    AUDIO_CHANNEL_IN_2POINT1POINT2 = 7340044u, // ((((IN_LEFT | IN_RIGHT) | IN_TOP_LEFT) | IN_TOP_RIGHT) | IN_LOW_FREQUENCY)
-    AUDIO_CHANNEL_IN_3POINT0POINT2 = 6553612u, // ((((IN_LEFT | IN_CENTER) | IN_RIGHT) | IN_TOP_LEFT) | IN_TOP_RIGHT)
-    AUDIO_CHANNEL_IN_3POINT1POINT2 = 7602188u, // (((((IN_LEFT | IN_CENTER) | IN_RIGHT) | IN_TOP_LEFT) | IN_TOP_RIGHT) | IN_LOW_FREQUENCY)
-    AUDIO_CHANNEL_IN_5POINT1 = 1507340u, // (((((IN_LEFT | IN_CENTER) | IN_RIGHT) | IN_BACK_LEFT) | IN_BACK_RIGHT) | IN_LOW_FREQUENCY)
-    AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO = 16400u, // (IN_VOICE_UPLINK | IN_MONO)
-    AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO = 32784u, // (IN_VOICE_DNLINK | IN_MONO)
-    AUDIO_CHANNEL_IN_VOICE_CALL_MONO = 49168u, // (IN_VOICE_UPLINK_MONO | IN_VOICE_DNLINK_MONO)
-    AUDIO_CHANNEL_COUNT_MAX = 30u,
-    AUDIO_CHANNEL_INDEX_HDR = 2147483648u, // (REPRESENTATION_INDEX << COUNT_MAX)
-    AUDIO_CHANNEL_INDEX_MASK_1 = 2147483649u, // (INDEX_HDR | ((1 << 1) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_2 = 2147483651u, // (INDEX_HDR | ((1 << 2) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_3 = 2147483655u, // (INDEX_HDR | ((1 << 3) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_4 = 2147483663u, // (INDEX_HDR | ((1 << 4) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_5 = 2147483679u, // (INDEX_HDR | ((1 << 5) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_6 = 2147483711u, // (INDEX_HDR | ((1 << 6) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_7 = 2147483775u, // (INDEX_HDR | ((1 << 7) - 1))
-    AUDIO_CHANNEL_INDEX_MASK_8 = 2147483903u, // (INDEX_HDR | ((1 << 8) - 1))
+    AUDIO_CHANNEL_REPRESENTATION_POSITION   = 0x0u,
+    AUDIO_CHANNEL_REPRESENTATION_INDEX      = 0x2u,
+    AUDIO_CHANNEL_NONE                      = 0x0u,
+    AUDIO_CHANNEL_INVALID                   = 0xC0000000u,
+
+    AUDIO_CHANNEL_OUT_FRONT_LEFT            = 0x1u,
+    AUDIO_CHANNEL_OUT_FRONT_RIGHT           = 0x2u,
+    AUDIO_CHANNEL_OUT_FRONT_CENTER          = 0x4u,
+    AUDIO_CHANNEL_OUT_LOW_FREQUENCY         = 0x8u,
+    AUDIO_CHANNEL_OUT_BACK_LEFT             = 0x10u,
+    AUDIO_CHANNEL_OUT_BACK_RIGHT            = 0x20u,
+    AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER  = 0x40u,
+    AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 0x80u,
+    AUDIO_CHANNEL_OUT_BACK_CENTER           = 0x100u,
+    AUDIO_CHANNEL_OUT_SIDE_LEFT             = 0x200u,
+    AUDIO_CHANNEL_OUT_SIDE_RIGHT            = 0x400u,
+    AUDIO_CHANNEL_OUT_TOP_CENTER            = 0x800u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT        = 0x1000u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER      = 0x2000u,
+    AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT       = 0x4000u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_LEFT         = 0x8000u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_CENTER       = 0x10000u,
+    AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT        = 0x20000u,
+    AUDIO_CHANNEL_OUT_TOP_SIDE_LEFT         = 0x40000u,
+    AUDIO_CHANNEL_OUT_TOP_SIDE_RIGHT        = 0x80000u,
+    AUDIO_CHANNEL_OUT_MONO                  = 0x1u,     // OUT_FRONT_LEFT
+    AUDIO_CHANNEL_OUT_STEREO                = 0x3u,     // OUT_FRONT_LEFT | OUT_FRONT_RIGHT
+    AUDIO_CHANNEL_OUT_2POINT1               = 0xBu,     // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_LOW_FREQUENCY
+    AUDIO_CHANNEL_OUT_2POINT0POINT2         = 0xC0003u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_2POINT1POINT2         = 0xC000Bu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT | OUT_LOW_FREQUENCY
+    AUDIO_CHANNEL_OUT_3POINT0POINT2         = 0xC0007u, // OUT_FRONT_LEFT | OUT_FRONT_CENTER | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_3POINT1POINT2         = 0xC000Fu, // OUT_FRONT_LEFT | OUT_FRONT_CENTER | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT | OUT_LOW_FREQUENCY
+    AUDIO_CHANNEL_OUT_QUAD                  = 0x33u,    // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_BACK_LEFT | OUT_BACK_RIGHT
+    AUDIO_CHANNEL_OUT_QUAD_BACK             = 0x33u,    // OUT_QUAD
+    AUDIO_CHANNEL_OUT_QUAD_SIDE             = 0x603u,   // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_SURROUND              = 0x107u,   // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_BACK_CENTER
+    AUDIO_CHANNEL_OUT_PENTA                 = 0x37u,    // OUT_QUAD | OUT_FRONT_CENTER
+    AUDIO_CHANNEL_OUT_5POINT1               = 0x3Fu,    // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT
+    AUDIO_CHANNEL_OUT_5POINT1_BACK          = 0x3Fu,    // OUT_5POINT1
+    AUDIO_CHANNEL_OUT_5POINT1_SIDE          = 0x60Fu,   // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_5POINT1POINT2         = 0xC003Fu, // OUT_5POINT1 | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_5POINT1POINT4         = 0x2D03Fu, // OUT_5POINT1 | OUT_TOP_FRONT_LEFT | OUT_TOP_FRONT_RIGHT | OUT_TOP_BACK_LEFT | OUT_TOP_BACK_RIGHT
+    AUDIO_CHANNEL_OUT_6POINT1               = 0x13Fu,   // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT | OUT_BACK_CENTER
+    AUDIO_CHANNEL_OUT_7POINT1               = 0x63Fu,   // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_7POINT1POINT2         = 0xC063Fu, // OUT_7POINT1 | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
+    AUDIO_CHANNEL_OUT_7POINT1POINT4         = 0x2D63Fu, // OUT_7POINT1 | OUT_TOP_FRONT_LEFT | OUT_TOP_FRONT_RIGHT | OUT_TOP_BACK_LEFT | OUT_TOP_BACK_RIGHT
+
+    AUDIO_CHANNEL_IN_LEFT                   = 0x4u,
+    AUDIO_CHANNEL_IN_RIGHT                  = 0x8u,
+    AUDIO_CHANNEL_IN_FRONT                  = 0x10u,
+    AUDIO_CHANNEL_IN_BACK                   = 0x20u,
+    AUDIO_CHANNEL_IN_LEFT_PROCESSED         = 0x40u,
+    AUDIO_CHANNEL_IN_RIGHT_PROCESSED        = 0x80u,
+    AUDIO_CHANNEL_IN_FRONT_PROCESSED        = 0x100u,
+    AUDIO_CHANNEL_IN_BACK_PROCESSED         = 0x200u,
+    AUDIO_CHANNEL_IN_PRESSURE               = 0x400u,
+    AUDIO_CHANNEL_IN_X_AXIS                 = 0x800u,
+    AUDIO_CHANNEL_IN_Y_AXIS                 = 0x1000u,
+    AUDIO_CHANNEL_IN_Z_AXIS                 = 0x2000u,
+    AUDIO_CHANNEL_IN_BACK_LEFT              = 0x10000u,
+    AUDIO_CHANNEL_IN_BACK_RIGHT             = 0x20000u,
+    AUDIO_CHANNEL_IN_CENTER                 = 0x40000u,
+    AUDIO_CHANNEL_IN_LOW_FREQUENCY          = 0x100000u,
+    AUDIO_CHANNEL_IN_TOP_LEFT               = 0x200000u,
+    AUDIO_CHANNEL_IN_TOP_RIGHT              = 0x400000u,
+    AUDIO_CHANNEL_IN_VOICE_UPLINK           = 0x4000u,
+    AUDIO_CHANNEL_IN_VOICE_DNLINK           = 0x8000u,
+    AUDIO_CHANNEL_IN_MONO                   = 0x10u,     // IN_FRONT
+    AUDIO_CHANNEL_IN_STEREO                 = 0xCu,      // IN_LEFT | IN_RIGHT
+    AUDIO_CHANNEL_IN_FRONT_BACK             = 0x30u,     // IN_FRONT | IN_BACK
+    AUDIO_CHANNEL_IN_6                      = 0xFCu,     // IN_LEFT | IN_RIGHT | IN_FRONT | IN_BACK | IN_LEFT_PROCESSED | IN_RIGHT_PROCESSED
+    AUDIO_CHANNEL_IN_2POINT0POINT2          = 0x60000Cu, // IN_LEFT | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT
+    AUDIO_CHANNEL_IN_2POINT1POINT2          = 0x70000Cu, // IN_LEFT | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT | IN_LOW_FREQUENCY
+    AUDIO_CHANNEL_IN_3POINT0POINT2          = 0x64000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT
+    AUDIO_CHANNEL_IN_3POINT1POINT2          = 0x74000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT | IN_LOW_FREQUENCY
+    AUDIO_CHANNEL_IN_5POINT1                = 0x17000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_BACK_LEFT | IN_BACK_RIGHT | IN_LOW_FREQUENCY
+    AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO      = 0x4010u,   // IN_VOICE_UPLINK | IN_MONO
+    AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO      = 0x8010u,   // IN_VOICE_DNLINK | IN_MONO
+    AUDIO_CHANNEL_IN_VOICE_CALL_MONO        = 0xC010u,   // IN_VOICE_UPLINK_MONO | IN_VOICE_DNLINK_MONO
+
+    AUDIO_CHANNEL_COUNT_MAX                 = 30u,
+    AUDIO_CHANNEL_INDEX_HDR                 = 0x80000000u, // REPRESENTATION_INDEX << COUNT_MAX
+    AUDIO_CHANNEL_INDEX_MASK_1              = 0x80000001u, // INDEX_HDR | (1 << 1) - 1
+    AUDIO_CHANNEL_INDEX_MASK_2              = 0x80000003u, // INDEX_HDR | (1 << 2) - 1
+    AUDIO_CHANNEL_INDEX_MASK_3              = 0x80000007u, // INDEX_HDR | (1 << 3) - 1
+    AUDIO_CHANNEL_INDEX_MASK_4              = 0x8000000Fu, // INDEX_HDR | (1 << 4) - 1
+    AUDIO_CHANNEL_INDEX_MASK_5              = 0x8000001Fu, // INDEX_HDR | (1 << 5) - 1
+    AUDIO_CHANNEL_INDEX_MASK_6              = 0x8000003Fu, // INDEX_HDR | (1 << 6) - 1
+    AUDIO_CHANNEL_INDEX_MASK_7              = 0x8000007Fu, // INDEX_HDR | (1 << 7) - 1
+    AUDIO_CHANNEL_INDEX_MASK_8              = 0x800000FFu, // INDEX_HDR | (1 << 8) - 1
 };
 
 typedef enum {
@@ -274,97 +287,99 @@ typedef enum {
 } audio_mode_t;
 
 enum {
-    AUDIO_DEVICE_NONE = 0u,
-    AUDIO_DEVICE_BIT_IN = 2147483648u,
-    AUDIO_DEVICE_BIT_DEFAULT = 1073741824u,
-    AUDIO_DEVICE_OUT_EARPIECE = 1u,
-    AUDIO_DEVICE_OUT_SPEAKER = 2u,
-    AUDIO_DEVICE_OUT_WIRED_HEADSET = 4u,
-    AUDIO_DEVICE_OUT_WIRED_HEADPHONE = 8u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO = 16u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET = 32u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT = 64u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP = 128u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 256u,
-    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 512u,
-    AUDIO_DEVICE_OUT_AUX_DIGITAL = 1024u,
-    AUDIO_DEVICE_OUT_HDMI = 1024u, // OUT_AUX_DIGITAL
-    AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET = 2048u,
-    AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET = 4096u,
-    AUDIO_DEVICE_OUT_USB_ACCESSORY = 8192u,
-    AUDIO_DEVICE_OUT_USB_DEVICE = 16384u,
-    AUDIO_DEVICE_OUT_REMOTE_SUBMIX = 32768u,
-    AUDIO_DEVICE_OUT_TELEPHONY_TX = 65536u,
-    AUDIO_DEVICE_OUT_LINE = 131072u,
-    AUDIO_DEVICE_OUT_HDMI_ARC = 262144u,
-    AUDIO_DEVICE_OUT_SPDIF = 524288u,
-    AUDIO_DEVICE_OUT_FM = 1048576u,
-    AUDIO_DEVICE_OUT_AUX_LINE = 2097152u,
-    AUDIO_DEVICE_OUT_SPEAKER_SAFE = 4194304u,
-    AUDIO_DEVICE_OUT_IP = 8388608u,
-    AUDIO_DEVICE_OUT_BUS = 16777216u,
-    AUDIO_DEVICE_OUT_PROXY = 33554432u,
-    AUDIO_DEVICE_OUT_USB_HEADSET = 67108864u,
-    AUDIO_DEVICE_OUT_HEARING_AID = 134217728u,
-    AUDIO_DEVICE_OUT_ECHO_CANCELLER = 268435456u,
-    AUDIO_DEVICE_OUT_DEFAULT = 1073741824u, // BIT_DEFAULT
-    AUDIO_DEVICE_IN_COMMUNICATION = 2147483649u, // (BIT_IN | 0x1)
-    AUDIO_DEVICE_IN_AMBIENT = 2147483650u, // (BIT_IN | 0x2)
-    AUDIO_DEVICE_IN_BUILTIN_MIC = 2147483652u, // (BIT_IN | 0x4)
-    AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET = 2147483656u, // (BIT_IN | 0x8)
-    AUDIO_DEVICE_IN_WIRED_HEADSET = 2147483664u, // (BIT_IN | 0x10)
-    AUDIO_DEVICE_IN_AUX_DIGITAL = 2147483680u, // (BIT_IN | 0x20)
-    AUDIO_DEVICE_IN_HDMI = 2147483680u, // IN_AUX_DIGITAL
-    AUDIO_DEVICE_IN_VOICE_CALL = 2147483712u, // (BIT_IN | 0x40)
-    AUDIO_DEVICE_IN_TELEPHONY_RX = 2147483712u, // IN_VOICE_CALL
-    AUDIO_DEVICE_IN_BACK_MIC = 2147483776u, // (BIT_IN | 0x80)
-    AUDIO_DEVICE_IN_REMOTE_SUBMIX = 2147483904u, // (BIT_IN | 0x100)
-    AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET = 2147484160u, // (BIT_IN | 0x200)
-    AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET = 2147484672u, // (BIT_IN | 0x400)
-    AUDIO_DEVICE_IN_USB_ACCESSORY = 2147485696u, // (BIT_IN | 0x800)
-    AUDIO_DEVICE_IN_USB_DEVICE = 2147487744u, // (BIT_IN | 0x1000)
-    AUDIO_DEVICE_IN_FM_TUNER = 2147491840u, // (BIT_IN | 0x2000)
-    AUDIO_DEVICE_IN_TV_TUNER = 2147500032u, // (BIT_IN | 0x4000)
-    AUDIO_DEVICE_IN_LINE = 2147516416u, // (BIT_IN | 0x8000)
-    AUDIO_DEVICE_IN_SPDIF = 2147549184u, // (BIT_IN | 0x10000)
-    AUDIO_DEVICE_IN_BLUETOOTH_A2DP = 2147614720u, // (BIT_IN | 0x20000)
-    AUDIO_DEVICE_IN_LOOPBACK = 2147745792u, // (BIT_IN | 0x40000)
-    AUDIO_DEVICE_IN_IP = 2148007936u, // (BIT_IN | 0x80000)
-    AUDIO_DEVICE_IN_BUS = 2148532224u, // (BIT_IN | 0x100000)
-    AUDIO_DEVICE_IN_PROXY = 2164260864u, // (BIT_IN | 0x1000000)
-    AUDIO_DEVICE_IN_USB_HEADSET = 2181038080u, // (BIT_IN | 0x2000000)
-    AUDIO_DEVICE_IN_BLUETOOTH_BLE = 2214592512u, // (BIT_IN | 0x4000000)
-    AUDIO_DEVICE_IN_DEFAULT = 3221225472u, // (BIT_IN | BIT_DEFAULT)
+    AUDIO_DEVICE_NONE                          = 0x0u,
+    AUDIO_DEVICE_BIT_IN                        = 0x80000000u,
+    AUDIO_DEVICE_BIT_DEFAULT                   = 0x40000000u,
+
+    AUDIO_DEVICE_OUT_EARPIECE                  = 0x1u,
+    AUDIO_DEVICE_OUT_SPEAKER                   = 0x2u,
+    AUDIO_DEVICE_OUT_WIRED_HEADSET             = 0x4u,
+    AUDIO_DEVICE_OUT_WIRED_HEADPHONE           = 0x8u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO             = 0x10u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET     = 0x20u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT      = 0x40u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP            = 0x80u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100u,
+    AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER    = 0x200u,
+    AUDIO_DEVICE_OUT_AUX_DIGITAL               = 0x400u,
+    AUDIO_DEVICE_OUT_HDMI                      = 0x400u,      // OUT_AUX_DIGITAL
+    AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET         = 0x800u,
+    AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET         = 0x1000u,
+    AUDIO_DEVICE_OUT_USB_ACCESSORY             = 0x2000u,
+    AUDIO_DEVICE_OUT_USB_DEVICE                = 0x4000u,
+    AUDIO_DEVICE_OUT_REMOTE_SUBMIX             = 0x8000u,
+    AUDIO_DEVICE_OUT_TELEPHONY_TX              = 0x10000u,
+    AUDIO_DEVICE_OUT_LINE                      = 0x20000u,
+    AUDIO_DEVICE_OUT_HDMI_ARC                  = 0x40000u,
+    AUDIO_DEVICE_OUT_SPDIF                     = 0x80000u,
+    AUDIO_DEVICE_OUT_FM                        = 0x100000u,
+    AUDIO_DEVICE_OUT_AUX_LINE                  = 0x200000u,
+    AUDIO_DEVICE_OUT_SPEAKER_SAFE              = 0x400000u,
+    AUDIO_DEVICE_OUT_IP                        = 0x800000u,
+    AUDIO_DEVICE_OUT_BUS                       = 0x1000000u,
+    AUDIO_DEVICE_OUT_PROXY                     = 0x2000000u,
+    AUDIO_DEVICE_OUT_USB_HEADSET               = 0x4000000u,
+    AUDIO_DEVICE_OUT_HEARING_AID               = 0x8000000u,
+    AUDIO_DEVICE_OUT_ECHO_CANCELLER            = 0x10000000u,
+    AUDIO_DEVICE_OUT_DEFAULT                   = 0x40000000u, // BIT_DEFAULT
+
+    AUDIO_DEVICE_IN_COMMUNICATION              = 0x80000001u, // BIT_IN | 0x1
+    AUDIO_DEVICE_IN_AMBIENT                    = 0x80000002u, // BIT_IN | 0x2
+    AUDIO_DEVICE_IN_BUILTIN_MIC                = 0x80000004u, // BIT_IN | 0x4
+    AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET      = 0x80000008u, // BIT_IN | 0x8
+    AUDIO_DEVICE_IN_WIRED_HEADSET              = 0x80000010u, // BIT_IN | 0x10
+    AUDIO_DEVICE_IN_AUX_DIGITAL                = 0x80000020u, // BIT_IN | 0x20
+    AUDIO_DEVICE_IN_HDMI                       = 0x80000020u, // IN_AUX_DIGITAL
+    AUDIO_DEVICE_IN_VOICE_CALL                 = 0x80000040u, // BIT_IN | 0x40
+    AUDIO_DEVICE_IN_TELEPHONY_RX               = 0x80000040u, // IN_VOICE_CALL
+    AUDIO_DEVICE_IN_BACK_MIC                   = 0x80000080u, // BIT_IN | 0x80
+    AUDIO_DEVICE_IN_REMOTE_SUBMIX              = 0x80000100u, // BIT_IN | 0x100
+    AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET          = 0x80000200u, // BIT_IN | 0x200
+    AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET          = 0x80000400u, // BIT_IN | 0x400
+    AUDIO_DEVICE_IN_USB_ACCESSORY              = 0x80000800u, // BIT_IN | 0x800
+    AUDIO_DEVICE_IN_USB_DEVICE                 = 0x80001000u, // BIT_IN | 0x1000
+    AUDIO_DEVICE_IN_FM_TUNER                   = 0x80002000u, // BIT_IN | 0x2000
+    AUDIO_DEVICE_IN_TV_TUNER                   = 0x80004000u, // BIT_IN | 0x4000
+    AUDIO_DEVICE_IN_LINE                       = 0x80008000u, // BIT_IN | 0x8000
+    AUDIO_DEVICE_IN_SPDIF                      = 0x80010000u, // BIT_IN | 0x10000
+    AUDIO_DEVICE_IN_BLUETOOTH_A2DP             = 0x80020000u, // BIT_IN | 0x20000
+    AUDIO_DEVICE_IN_LOOPBACK                   = 0x80040000u, // BIT_IN | 0x40000
+    AUDIO_DEVICE_IN_IP                         = 0x80080000u, // BIT_IN | 0x80000
+    AUDIO_DEVICE_IN_BUS                        = 0x80100000u, // BIT_IN | 0x100000
+    AUDIO_DEVICE_IN_PROXY                      = 0x81000000u, // BIT_IN | 0x1000000
+    AUDIO_DEVICE_IN_USB_HEADSET                = 0x82000000u, // BIT_IN | 0x2000000
+    AUDIO_DEVICE_IN_BLUETOOTH_BLE              = 0x84000000u, // BIT_IN | 0x4000000
+    AUDIO_DEVICE_IN_DEFAULT                    = 0xC0000000u, // BIT_IN | BIT_DEFAULT
 };
 
 typedef enum {
-    AUDIO_OUTPUT_FLAG_NONE 0,
-    AUDIO_OUTPUT_FLAG_DIRECT 1,
-    AUDIO_OUTPUT_FLAG_PRIMARY 2,
-    AUDIO_OUTPUT_FLAG_FAST 4,
-    AUDIO_OUTPUT_FLAG_DEEP_BUFFER 8,
-    AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 16,
-    AUDIO_OUTPUT_FLAG_NON_BLOCKING = 32,
-    AUDIO_OUTPUT_FLAG_HW_AV_SYNC = 64,
-    AUDIO_OUTPUT_FLAG_TTS = 128,
-    AUDIO_OUTPUT_FLAG_RAW = 256,
-    AUDIO_OUTPUT_FLAG_SYNC = 512,
-    AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO = 1024,
-    AUDIO_OUTPUT_FLAG_DIRECT_PCM = 8192,
-    AUDIO_OUTPUT_FLAG_MMAP_NOIRQ = 16384,
-    AUDIO_OUTPUT_FLAG_VOIP_RX = 32768,
-    AUDIO_OUTPUT_FLAG_INCALL_MUSIC = 65536,
+    AUDIO_OUTPUT_FLAG_NONE             = 0x0,
+    AUDIO_OUTPUT_FLAG_DIRECT           = 0x1,
+    AUDIO_OUTPUT_FLAG_PRIMARY          = 0x2,
+    AUDIO_OUTPUT_FLAG_FAST             = 0x4,
+    AUDIO_OUTPUT_FLAG_DEEP_BUFFER      = 0x8,
+    AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 0x10,
+    AUDIO_OUTPUT_FLAG_NON_BLOCKING     = 0x20,
+    AUDIO_OUTPUT_FLAG_HW_AV_SYNC       = 0x40,
+    AUDIO_OUTPUT_FLAG_TTS              = 0x80,
+    AUDIO_OUTPUT_FLAG_RAW              = 0x100,
+    AUDIO_OUTPUT_FLAG_SYNC             = 0x200,
+    AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO  = 0x400,
+    AUDIO_OUTPUT_FLAG_DIRECT_PCM       = 0x2000,
+    AUDIO_OUTPUT_FLAG_MMAP_NOIRQ       = 0x4000,
+    AUDIO_OUTPUT_FLAG_VOIP_RX          = 0x8000,
+    AUDIO_OUTPUT_FLAG_INCALL_MUSIC     = 0x10000,
 } audio_output_flags_t;
 
 typedef enum {
-    AUDIO_INPUT_FLAG_NONE 0,
-    AUDIO_INPUT_FLAG_FAST 1,
-    AUDIO_INPUT_FLAG_HW_HOTWORD = 2,
-    AUDIO_INPUT_FLAG_RAW 4,
-    AUDIO_INPUT_FLAG_SYNC 8,
-    AUDIO_INPUT_FLAG_MMAP_NOIRQ = 16,
-    AUDIO_INPUT_FLAG_VOIP_TX = 32,
-    AUDIO_INPUT_FLAG_HW_AV_SYNC = 64,
+    AUDIO_INPUT_FLAG_NONE       = 0x0,
+    AUDIO_INPUT_FLAG_FAST       = 0x1,
+    AUDIO_INPUT_FLAG_HW_HOTWORD = 0x2,
+    AUDIO_INPUT_FLAG_RAW        = 0x4,
+    AUDIO_INPUT_FLAG_SYNC       = 0x8,
+    AUDIO_INPUT_FLAG_MMAP_NOIRQ = 0x10,
+    AUDIO_INPUT_FLAG_VOIP_TX    = 0x20,
+    AUDIO_INPUT_FLAG_HW_AV_SYNC = 0x40,
 } audio_input_flags_t;
 
 typedef enum {
@@ -398,9 +413,9 @@ typedef enum {
 } audio_content_type_t;
 
 enum {
-    AUDIO_GAIN_MODE_JOINT 1u,
-    AUDIO_GAIN_MODE_CHANNELS = 2u,
-    AUDIO_GAIN_MODE_RAMP 4u,
+    AUDIO_GAIN_MODE_JOINT    = 0x1u,
+    AUDIO_GAIN_MODE_CHANNELS = 0x2u,
+    AUDIO_GAIN_MODE_RAMP     = 0x4u,
 };
 
 typedef enum {
@@ -417,10 +432,10 @@ typedef enum {
 } audio_port_type_t;
 
 enum {
-    AUDIO_PORT_CONFIG_SAMPLE_RATE 1u,
-    AUDIO_PORT_CONFIG_CHANNEL_MASK = 2u,
-    AUDIO_PORT_CONFIG_FORMAT 4u,
-    AUDIO_PORT_CONFIG_GAIN 8u,
+    AUDIO_PORT_CONFIG_SAMPLE_RATE  = 0x1u,
+    AUDIO_PORT_CONFIG_CHANNEL_MASK = 0x2u,
+    AUDIO_PORT_CONFIG_FORMAT       = 0x4u,
+    AUDIO_PORT_CONFIG_GAIN         = 0x8u,
 };
 
 typedef enum {