Zephyr Project API 3.5.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
lc3.h File Reference

Bluetooth LC3 codec handling. More...

Go to the source code of this file.

Data Structures

struct  BT_AUDIO_CODEC_LC3_frame_len
 
struct  bt_audio_codec_octets_per_codec_frame
 

Macros

#define BT_HCI_CODING_FORMAT_LC3   0x06
 LC3 codec ID.
 
#define BT_AUDIO_CODEC_LC3_FREQ_8KHZ   BIT(0)
 LC3 8 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_11KHZ   BIT(1)
 LC3 11.025 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_16KHZ   BIT(2)
 LC3 16 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_22KHZ   BIT(3)
 LC3 22.05 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_24KHZ   BIT(4)
 LC3 24 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_32KHZ   BIT(5)
 LC3 32 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_44KHZ   BIT(6)
 LC3 44.1 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_48KHZ   BIT(7)
 LC3 48 Khz frequency capability.
 
#define BT_AUDIO_CODEC_LC3_FREQ_ANY
 LC3 any frequency capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_7_5   BIT(0)
 LC3 7.5 msec frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_10   BIT(1)
 LC3 10 msec frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_ANY    (BT_AUDIO_CODEC_LC3_DURATION_7_5 | BT_AUDIO_CODEC_LC3_DURATION_10)
 LC3 any frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_7_5   BIT(4)
 LC3 7.5 msec preferred frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_10   BIT(5)
 LC3 10 msec preferred frame duration capability.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN   1
 LC3 minimum supported channel counts.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX   8
 LC3 maximum supported channel counts.
 
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(...)    ((uint8_t)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1))
 LC3 channel count support capability.
 
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5   0x00
 LC3 7.5 msec Frame Duration configuration.
 
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10   0x01
 LC3 10 msec Frame Duration configuration.
 
#define BT_AUDIO_CODEC_CAP_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu)
 Helper to declare LC3 codec capability.
 
#define BT_AUDIO_CODEC_CAP_LC3_META(_prefer_context)
 Helper to declare LC3 codec metadata.
 
#define BT_AUDIO_CODEC_CAP_LC3(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu, _prefer_context)
 Helper to declare LC3 codec.
 
#define BT_AUDIO_CODEC_CFG_LC3_DATA(_freq, _duration, _loc, _len, _frames_per_sdu)
 Helper to declare LC3 codec data configuration.
 
#define BT_AUDIO_CODEC_CFG_LC3_META(_stream_context)
 Helper to declare LC3 codec metadata configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG(_freq, _duration, _loc, _len, _frames_per_sdu, _stream_context)
 Helper to declare LC3 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_8_1(_loc, _stream_context)
 Helper to declare LC3 8.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_8_2(_loc, _stream_context)
 Helper to declare LC3 8.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_16_1(_loc, _stream_context)
 Helper to declare LC3 16.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_16_2(_loc, _stream_context)
 Helper to declare LC3 16.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_24_1(_loc, _stream_context)
 Helper to declare LC3 24.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_24_2(_loc, _stream_context)
 Helper to declare LC3 24.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_32_1(_loc, _stream_context)
 Helper to declare LC3 32.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_32_2(_loc, _stream_context)
 Helper to declare LC3 32.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_441_1(_loc, _stream_context)
 Helper to declare LC3 441.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_441_2(_loc, _stream_context)
 Helper to declare LC3 441.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_1(_loc, _stream_context)
 Helper to declare LC3 48.1 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_2(_loc, _stream_context)
 Helper to declare LC3 48.2 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_3(_loc, _stream_context)
 Helper to declare LC3 48.3 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_4(_loc, _stream_context)
 Helper to declare LC3 48.4 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_5(_loc, _stream_context)
 Helper to declare LC3 48.5 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_CONFIG_48_6(_loc, _stream_context)
 Helper to declare LC3 48.6 codec configuration.
 
#define BT_AUDIO_CODEC_LC3_QOS_7_5(_framing, _sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS(7500u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval.
 
#define BT_AUDIO_CODEC_LC3_QOS_7_5_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed input.
 
#define BT_AUDIO_CODEC_LC3_QOS_10(_framing, _sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS(10000u, _framing, BT_AUDIO_CODEC_QOS_2M, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms frame internal.
 
#define BT_AUDIO_CODEC_LC3_QOS_10_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_AUDIO_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed input.
 

Enumerations

enum  bt_audio_codec_capability_type {
  BT_AUDIO_CODEC_LC3_FREQ = 0x01 , BT_AUDIO_CODEC_LC3_DURATION = 0x02 , BT_AUDIO_CODEC_LC3_CHAN_COUNT = 0x03 , BT_AUDIO_CODEC_LC3_FRAME_LEN = 0x04 ,
  BT_AUDIO_CODEC_LC3_FRAME_COUNT = 0x05
}
 Codec capability type id's. More...
 
enum  bt_audio_codec_config_type {
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ = 0x01 , BT_AUDIO_CODEC_CONFIG_LC3_DURATION = 0x02 , BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC = 0x03 , BT_AUDIO_CODEC_CONFIG_LC3_FRAME_LEN = 0x04 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU = 0x05
}
 Codec configuration type IDs. More...
 
enum  bt_audio_codec_config_freq {
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_8KHZ = 0x01 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_11KHZ = 0x02 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_16KHZ = 0x03 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_22KHZ = 0x04 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_24KHZ = 0x05 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_32KHZ = 0x06 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_44KHZ = 0x07 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_48KHZ = 0x08 ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_88KHZ = 0x09 , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_96KHZ = 0x0a , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_176KHZ = 0x0b , BT_AUDIO_CODEC_CONFIG_LC3_FREQ_192KHZ = 0x0c ,
  BT_AUDIO_CODEC_CONFIG_LC3_FREQ_384KHZ = 0x0d
}
 

Detailed Description

Bluetooth LC3 codec handling.