Infineon Logo AIROC BTSDK v4.9 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
wiced_bt_a2d_sbc.h File Reference

Low complexity subband codec (SBC) A2DP Application Programming Interface. More...

Data Structures

struct  wiced_bt_a2d_sbc_cie_t
 data type for the SBC Codec Information Element More...
 

Macros

#define A2D_SBC_MPL_HDR_LEN   1
 the length of the SBC Media Payload header. More...
 
#define A2D_SBC_INFO_LEN   6
 the LOSC of SBC media codec capabilitiy
 
#define A2D_SBC_IE_MIN_BITPOOL   2
 Min Bitpool Value.
 
#define A2D_SBC_IE_MAX_BITPOOL   250
 Max Bitpool Value.
 
#define A2D_SBC_HDR_F_MSK   0x80
 SBC Fragmented packet mask.
 
#define A2D_SBC_HDR_S_MSK   0x40
 SBC starting packet mask.
 
#define A2D_SBC_HDR_L_MSK   0x20
 SBC last packet mask.
 
#define A2D_SBC_HDR_NUM_MSK   0x0F
 SBC number of frame mask.
 
SBC Sampling Frequency.

#define A2D_SBC_IE_SAMP_FREQ_MSK   0xF0
 b7-b4 sampling frequency
 
#define A2D_SBC_IE_SAMP_FREQ_16   0x80
 b7:16 kHz
 
#define A2D_SBC_IE_SAMP_FREQ_32   0x40
 b6:32 kHz
 
#define A2D_SBC_IE_SAMP_FREQ_44   0x20
 b5:44.1kHz
 
#define A2D_SBC_IE_SAMP_FREQ_48   0x10
 b4:48 kHz
 
SBC Channel Mode.

#define A2D_SBC_IE_CH_MD_MSK   0x0F
 b3-b0 channel mode
 
#define A2D_SBC_IE_CH_MD_MONO   0x08
 b3: mono
 
#define A2D_SBC_IE_CH_MD_DUAL   0x04
 b2: dual
 
#define A2D_SBC_IE_CH_MD_STEREO   0x02
 b1: stereo
 
#define A2D_SBC_IE_CH_MD_JOINT   0x01
 b0: joint stereo
 
SBC Block Length.

#define A2D_SBC_IE_BLOCKS_MSK   0xF0
 b7-b4 number of blocks
 
#define A2D_SBC_IE_BLOCKS_4   0x80
 4 blocks
 
#define A2D_SBC_IE_BLOCKS_8   0x40
 8 blocks
 
#define A2D_SBC_IE_BLOCKS_12   0x20
 12blocks
 
#define A2D_SBC_IE_BLOCKS_16   0x10
 16blocks
 
SBC Subband Number.

#define A2D_SBC_IE_SUBBAND_MSK   0x0C
 b3-b2 number of subbands
 
#define A2D_SBC_IE_SUBBAND_4   0x08
 b3: 4
 
#define A2D_SBC_IE_SUBBAND_8   0x04
 b2: 8
 
SBC Allocation Method.

#define A2D_SBC_IE_ALLOC_MD_MSK   0x03
 b1-b0 allocation mode
 
#define A2D_SBC_IE_ALLOC_MD_S   0x02
 b1: SNR
 
#define A2D_SBC_IE_ALLOC_MD_L   0x01
 b0: loundess
 

Functions

void wiced_bt_a2d_sbc_chk_fr_init (uint8_t *p_pkt)
 Check if control block descrambling needs to be initiated. More...
 
void wiced_bt_a2d_sbc_descramble (uint8_t *p_pkt, uint16_t len)
 Descramble packet. More...
 
wiced_bt_a2d_status_t wiced_bt_a2d_bld_sbc_info (uint8_t media_type, const wiced_bt_a2d_sbc_cie_t *p_ie, uint8_t *p_result)
 Build SBC Media Codec Capabilities byte sequence (beginning from the LOSC octet) More...
 
wiced_bt_a2d_status_t wiced_bt_a2d_pars_sbc_info (wiced_bt_a2d_sbc_cie_t *p_ie, uint8_t *p_info, wiced_bool_t for_caps)
 Parse SBC Media Codec Capabilities byte sequence (beginning from the LOSC octet) More...
 
void wiced_bt_a2d_bld_sbc_mpl_hdr (uint8_t *p_dst, wiced_bool_t frag, wiced_bool_t start, wiced_bool_t last, uint8_t num)
 Build SBC Media Payload header. More...
 
void wiced_bt_a2d_pars_sbc_mpl_hdr (uint8_t *p_src, wiced_bool_t *p_frag, wiced_bool_t *p_start, wiced_bool_t *p_last, uint8_t *p_num)
 Parse SBC Media Payload header. More...
 

Detailed Description

Low complexity subband codec (SBC) A2DP Application Programming Interface.