1 /*
2  * Copyright 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 //
18 // A2DP constants for LDAC codec
19 //
20 
21 #ifndef A2DP_VENDOR_LDAC_CONSTANTS_H
22 #define A2DP_VENDOR_LDAC_CONSTANTS_H
23 
24 // LDAC Quality Mode Index
25 #define A2DP_LDAC_QUALITY_HIGH 0  // Equal to LDACBT_EQMID_HQ 990kbps
26 #define A2DP_LDAC_QUALITY_MID 1   // Equal to LDACBT_EQMID_SQ 660kbps
27 #define A2DP_LDAC_QUALITY_LOW 2   // Equal to LDACBT_EQMID_MQ 330kbps
28 #define A2DP_LDAC_QUALITY_ABR 3   // ABR mode, range: 990,660,492,396,330(kbps)
29 // ABR mode in offload, range: 990,660,492,396,330(kbps)
30 #define A2DP_LDAC_QUALITY_ABR_OFFLOAD 0x7F
31 
32 // Length of the LDAC Media Payload header
33 #define A2DP_LDAC_MPL_HDR_LEN 1
34 
35 // LDAC Media Payload Header
36 #define A2DP_LDAC_HDR_F_MSK 0x80
37 #define A2DP_LDAC_HDR_S_MSK 0x40
38 #define A2DP_LDAC_HDR_L_MSK 0x20
39 #define A2DP_LDAC_HDR_NUM_MSK 0x0F
40 
41 // LDAC codec specific settings
42 #define A2DP_LDAC_CODEC_LEN 10
43 // [Octet 0-3] Vendor ID
44 #define A2DP_LDAC_VENDOR_ID 0x0000012D
45 // [Octet 4-5] Vendor Specific Codec ID
46 #define A2DP_LDAC_CODEC_ID 0x00AA
47 // [Octet 6], [Bits 0-5] Sampling Frequency
48 #define A2DP_LDAC_SAMPLING_FREQ_MASK 0x3F
49 #define A2DP_LDAC_SAMPLING_FREQ_44100 0x20
50 #define A2DP_LDAC_SAMPLING_FREQ_48000 0x10
51 #define A2DP_LDAC_SAMPLING_FREQ_88200 0x08
52 #define A2DP_LDAC_SAMPLING_FREQ_96000 0x04
53 #define A2DP_LDAC_SAMPLING_FREQ_176400 0x02
54 #define A2DP_LDAC_SAMPLING_FREQ_192000 0x01
55 // [Octet 7], [Bits 0-2] Channel Mode
56 #define A2DP_LDAC_CHANNEL_MODE_MASK 0x07
57 #define A2DP_LDAC_CHANNEL_MODE_MONO 0x04
58 #define A2DP_LDAC_CHANNEL_MODE_DUAL 0x02
59 #define A2DP_LDAC_CHANNEL_MODE_STEREO 0x01
60 
61 #endif  // A2DP_VENDOR_LDAC_CONSTANTS_H
62