Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
lc3.h File Reference

Bluetooth LC3 codec handling. More...

Go to the source code of this file.

Data Structures

struct  bt_codec_lc3_frame_len
 

Macros

#define BT_CODEC_LC3_ID   0x06
 LC3 codec ID. More...
 
#define BT_CODEC_LC3_CAP_BASE   0x01
 
#define BT_CODEC_LC3_FREQ   (BT_CODEC_LC3_CAP_BASE)
 LC3 sample frequency capability type. More...
 
#define BT_CODEC_LC3_FREQ_8KHZ   BIT(0)
 LC3 8 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_11KHZ   BIT(1)
 LC3 11.025 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_16KHZ   BIT(2)
 LC3 16 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_22KHZ   BIT(3)
 LC3 22.05 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_24KHZ   BIT(4)
 LC3 24 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_32KHZ   BIT(5)
 LC3 32 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_44KHZ   BIT(6)
 LC3 44.1 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_48KHZ   BIT(7)
 LC3 48 Khz frequency capability. More...
 
#define BT_CODEC_LC3_FREQ_ANY
 LC3 any frequency capability. More...
 
#define BT_CODEC_LC3_DURATION   (BT_CODEC_LC3_CAP_BASE + 1)
 LC3 frame duration capability type. More...
 
#define BT_CODEC_LC3_DURATION_7_5   BIT(0)
 LC3 7.5 msec frame duration capability. More...
 
#define BT_CODEC_LC3_DURATION_10   BIT(1)
 LC3 10 msec frame duration capability. More...
 
#define BT_CODEC_LC3_DURATION_ANY
 LC3 any frame duration capability. More...
 
#define BT_CODEC_LC3_DURATION_PREFER_7_5   BIT(4)
 LC3 7.5 msec preferred frame duration capability. More...
 
#define BT_CODEC_LC3_DURATION_PREFER_10   BIT(5)
 LC3 10 msec preferred frame duration capability. More...
 
#define BT_CODEC_LC3_CHAN_COUNT   (BT_CODEC_LC3_CAP_BASE + 2)
 LC3 channel count capability type. More...
 
#define BT_CODEC_LC3_CHAN_COUNT_SUPPORT   BIT(0)
 LC3 channel count support capability. More...
 
#define BT_CODEC_LC3_FRAME_LEN   (BT_CODEC_LC3_CAP_BASE + 3)
 LC3 frame length capability type. More...
 
#define BT_CODEC_LC3_FRAME_COUNT   (BT_CODEC_LC3_CAP_BASE + 4)
 LC3 frame count capability type. More...
 
#define BT_CODEC_LC3_CONFIG_BASE   0x01
 
#define BT_CODEC_CONFIG_LC3_FREQ   (BT_CODEC_LC3_CONFIG_BASE)
 LC3 Sample Frequency configuration type. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_8KHZ   0x01
 LC3 8 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_11KHZ   0x02
 LC3 11.025 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_16KHZ   0x03
 LC3 16 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_22KHZ   0x04
 LC3 22.05 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_24KHZ   0x05
 LC3 24 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_32KHZ   0x06
 LC3 32 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_44KHZ   0x07
 LC3 44.1 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_48KHZ   0x08
 LC3 48 Khz Sample Frequency configuration. More...
 
#define BT_CODEC_CONFIG_LC3_DURATION   (BT_CODEC_LC3_CONFIG_BASE + 1)
 LC3 Frame Duration configuration type. More...
 
#define BT_CODEC_CONFIG_LC3_DURATION_7_5   0x00
 LC3 7.5 msec Frame Duration configuration. More...
 
#define BT_CODEC_CONFIG_LC3_DURATION_10   0x01
 LC3 10 msec Frame Duration configuration. More...
 
#define BT_CODEC_CONFIG_LC3_CHAN_ALLOC   (BT_CODEC_LC3_CONFIG_BASE + 2)
 LC3 channel Allocation configuration type. More...
 
#define BT_CODEC_CONFIG_LC3_FRAME_LEN   (BT_CODEC_LC3_CONFIG_BASE + 3)
 LC3 Frame Length configuration type. More...
 
#define BT_CODEC_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max)
 Helper to declare LC3 codec capability. More...
 
#define BT_CODEC_LC3_META(_prefer_context, _context)
 Helper to declare LC3 codec metadata. More...
 
#define BT_CODEC_LC3(_freq, _duration, _chan_count, _len_min, _len_max, _frames, _prefer_context, _context)
 Helper to declare LC3 codec. More...
 
#define BT_CODEC_LC3_CONFIG_DATA(_freq, _duration, _loc, _len)
 Helper to declare LC3 codec data configuration. More...
 
#define BT_CODEC_LC3_CONFIG_META(_context)
 
#define BT_CODEC_LC3_CONFIG_N(_freq, _duration, _loc, _len, _context)
 Helper to declare LC3 codec configuration for multiple channels. More...
 
#define BT_CODEC_LC3_CONFIG(_freq, _duration, _len, _context)    BT_CODEC_LC3_CONFIG_N(_freq, _duration, 0x000000000, _len, _context)
 Helper to declare LC3 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_8_1
 Helper to declare LC3 8.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_8_2
 Helper to declare LC3 8.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_16_1
 Helper to declare LC3 16.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_16_2
 Helper to declare LC3 16.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_24_1
 Helper to declare LC3 24.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_24_2
 Helper to declare LC3 24.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_32_1
 Helper to declare LC3 32.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_32_2
 Helper to declare LC3 32.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_441_1
 Helper to declare LC3 441.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_441_2
 Helper to declare LC3 441.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_1
 Helper to declare LC3 48.1 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_2
 Helper to declare LC3 48.2 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_3
 Helper to declare LC3 48.3 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_4
 Helper to declare LC3 48.4 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_5
 Helper to declare LC3 48.5 codec configuration. More...
 
#define BT_CODEC_LC3_CONFIG_48_6
 Helper to declare LC3 48.6 codec configuration. More...
 
#define BT_CODEC_LC3_QOS_7_5(_dir, _framing, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval. More...
 
#define BT_CODEC_LC3_QOS_7_5_IN_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_IN_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed input. More...
 
#define BT_CODEC_LC3_QOS_7_5_OUT_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_OUT_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed output. More...
 
#define BT_CODEC_LC3_QOS_7_5_INOUT_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_INOUT_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed in/out. More...
 
#define BT_CODEC_LC3_QOS_10(_dir, _framing, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms frame internal. More...
 
#define BT_CODEC_LC3_QOS_10_IN_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_IN_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed input. More...
 
#define BT_CODEC_LC3_QOS_10_OUT_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_OUT_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed output. More...
 
#define BT_CODEC_LC3_QOS_10_INOUT_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_INOUT_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed in/out. More...
 

Detailed Description

Bluetooth LC3 codec handling.