Zephyr Project API  3.1.0
A Scalable Open Source RTOS

LC3. More...

Data Structures

struct  bt_codec_lc3_frame_len
 

Macros

#define BT_CODEC_LC3_ID   0x06
 LC3 codec ID. 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_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_SUPPORT(_count)   ((uint8_t)BIT((_count) - 1))
 LC3 channel count support capability OR multiple supported counts together from 1 to 8 Example to support 1 and 3 channels: BT_CODEC_LC3_CHAN_COUNT_SUPPORT(1) | BT_CODEC_LC3_CHAN_COUNT_SUPPORT(3) More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_8KHZ   0x01
 8 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_11KHZ   0x02
 11.025 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_16KHZ   0x03
 16 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_22KHZ   0x04
 22.05 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_24KHZ   0x05
 24 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_32KHZ   0x06
 32 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_44KHZ   0x07
 44.1 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_48KHZ   0x08
 48 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_88KHZ   0x09
 88.2 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_96KHZ   0x0a
 96 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_176KHZ   0x0b
 176.4 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_192KHZ   0x0c
 192 Khz codec Sample Frequency configuration More...
 
#define BT_CODEC_CONFIG_LC3_FREQ_384KHZ   0x0d
 384 Khz codec Sample Frequency configuration 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_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu)
 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, _max_frames_per_sdu, _prefer_context, _context)
 Helper to declare LC3 codec. More...
 
#define BT_CODEC_LC3_CONFIG_DATA(_freq, _duration, _loc, _len, _frame_blocks_per_sdu)
 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, _frames_per_sdu, _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, BT_AUDIO_LOCATION_FRONT_LEFT, _len, 1, _context)
 Helper to declare LC3 codec configuration for left location and one frame per sdu. 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(_framing, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval. More...
 
#define BT_CODEC_LC3_QOS_7_5_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 7.5ms interval unframed input. More...
 
#define BT_CODEC_LC3_QOS_10(_framing, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms frame internal. More...
 
#define BT_CODEC_LC3_QOS_10_UNFRAMED(_sdu, _rtn, _latency, _pd)    BT_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)
 Helper to declare LC3 codec QoS for 10ms interval unframed input. More...
 

Enumerations

enum  bt_codec_capability_type {
  BT_CODEC_LC3_FREQ = 0x01 , BT_CODEC_LC3_FREQ = 0x01 , BT_CODEC_LC3_DURATION = 0x02 , BT_CODEC_LC3_DURATION = 0x02 ,
  BT_CODEC_LC3_CHAN_COUNT = 0x03 , BT_CODEC_LC3_CHAN_COUNT = 0x03 , BT_CODEC_LC3_FRAME_LEN = 0x04 , BT_CODEC_LC3_FRAME_LEN = 0x04 ,
  BT_CODEC_LC3_FRAME_COUNT = 0x05 , BT_CODEC_LC3_FRAME_COUNT = 0x05
}
 Codec capability type id's. More...
 
enum  bt_codec_config_type {
  BT_CODEC_CONFIG_LC3_FREQ = 0x01 , BT_CODEC_CONFIG_LC3_DURATION = 0x02 , BT_CODEC_CONFIG_LC3_CHAN_ALLOC = 0x03 , BT_CODEC_CONFIG_LC3_FRAME_LEN = 0x04 ,
  BT_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU = 0x05
}
 Codec configuration type IDs. More...
 

Detailed Description

LC3.

Macro Definition Documentation

◆ BT_CODEC_CONFIG_LC3_DURATION_10

#define BT_CODEC_CONFIG_LC3_DURATION_10   0x01

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 10 msec Frame Duration configuration.

◆ BT_CODEC_CONFIG_LC3_DURATION_7_5

#define BT_CODEC_CONFIG_LC3_DURATION_7_5   0x00

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec Frame Duration configuration.

◆ BT_CODEC_CONFIG_LC3_FREQ_11KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_11KHZ   0x02

#include <include/zephyr/bluetooth/audio/lc3.h>

11.025 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_16KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_16KHZ   0x03

#include <include/zephyr/bluetooth/audio/lc3.h>

16 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_176KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_176KHZ   0x0b

#include <include/zephyr/bluetooth/audio/lc3.h>

176.4 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_192KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_192KHZ   0x0c

#include <include/zephyr/bluetooth/audio/lc3.h>

192 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_22KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_22KHZ   0x04

#include <include/zephyr/bluetooth/audio/lc3.h>

22.05 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_24KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_24KHZ   0x05

#include <include/zephyr/bluetooth/audio/lc3.h>

24 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_32KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_32KHZ   0x06

#include <include/zephyr/bluetooth/audio/lc3.h>

32 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_384KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_384KHZ   0x0d

#include <include/zephyr/bluetooth/audio/lc3.h>

384 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_44KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_44KHZ   0x07

#include <include/zephyr/bluetooth/audio/lc3.h>

44.1 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_48KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_48KHZ   0x08

#include <include/zephyr/bluetooth/audio/lc3.h>

48 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_88KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_88KHZ   0x09

#include <include/zephyr/bluetooth/audio/lc3.h>

88.2 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_8KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_8KHZ   0x01

#include <include/zephyr/bluetooth/audio/lc3.h>

8 Khz codec Sample Frequency configuration

◆ BT_CODEC_CONFIG_LC3_FREQ_96KHZ

#define BT_CODEC_CONFIG_LC3_FREQ_96KHZ   0x0a

#include <include/zephyr/bluetooth/audio/lc3.h>

96 Khz codec Sample Frequency configuration

◆ BT_CODEC_LC3

#define BT_CODEC_LC3 (   _freq,
  _duration,
  _chan_count,
  _len_min,
  _len_max,
  _max_frames_per_sdu,
  _prefer_context,
  _context 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC(BT_CODEC_LC3_ID, 0x0000, 0x0000, \
BT_CODEC_LC3_DATA(_freq, _duration, _chan_count, _len_min, \
_len_max, _max_frames_per_sdu), \
BT_CODEC_LC3_META(_prefer_context, _context))
#define BT_CODEC(_id, _cid, _vid, _data, _meta)
Helper to declare bt_codec structure.
Definition: audio.h:192
#define BT_CODEC_LC3_ID
LC3 codec ID.
Definition: lc3.h:30
#define BT_CODEC_LC3_META(_prefer_context, _context)
Helper to declare LC3 codec metadata.
Definition: lc3.h:262
#define BT_CODEC_LC3_DATA(_freq, _duration, _chan_count, _len_min, _len_max, _max_frames_per_sdu)
Helper to declare LC3 codec capability.
Definition: lc3.h:248

Helper to declare LC3 codec.

◆ BT_CODEC_LC3_CHAN_COUNT_SUPPORT

#define BT_CODEC_LC3_CHAN_COUNT_SUPPORT (   _count)    ((uint8_t)BIT((_count) - 1))

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 channel count support capability OR multiple supported counts together from 1 to 8 Example to support 1 and 3 channels: BT_CODEC_LC3_CHAN_COUNT_SUPPORT(1) | BT_CODEC_LC3_CHAN_COUNT_SUPPORT(3)

◆ BT_CODEC_LC3_CONFIG

#define BT_CODEC_LC3_CONFIG (   _freq,
  _duration,
  _len,
  _context 
)     BT_CODEC_LC3_CONFIG_N(_freq, _duration, BT_AUDIO_LOCATION_FRONT_LEFT, _len, 1, _context)

#include <include/zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec configuration for left location and one frame per sdu.

◆ BT_CODEC_LC3_CONFIG_16_1

#define BT_CODEC_LC3_CONFIG_16_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL
Conversational audio.
Definition: audio.h:54
#define BT_CODEC_CONFIG_LC3_DURATION_7_5
LC3 7.5 msec Frame Duration configuration.
Definition: lc3.h:230
#define BT_CODEC_LC3_CONFIG(_freq, _duration, _len, _context)
Helper to declare LC3 codec configuration for left location and one frame per sdu.
Definition: lc3.h:320
#define BT_CODEC_CONFIG_LC3_FREQ_16KHZ
16 Khz codec Sample Frequency configuration
Definition: lc3.h:185

Helper to declare LC3 16.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_16_2

#define BT_CODEC_LC3_CONFIG_16_2

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_CODEC_CONFIG_LC3_DURATION_10
LC3 10 msec Frame Duration configuration.
Definition: lc3.h:234

Helper to declare LC3 16.2 codec configuration.

◆ BT_CODEC_LC3_CONFIG_24_1

#define BT_CODEC_LC3_CONFIG_24_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_CODEC_CONFIG_LC3_FREQ_24KHZ
24 Khz codec Sample Frequency configuration
Definition: lc3.h:193

Helper to declare LC3 24.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_24_2

#define BT_CODEC_LC3_CONFIG_24_2

◆ BT_CODEC_LC3_CONFIG_32_1

#define BT_CODEC_LC3_CONFIG_32_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_CODEC_CONFIG_LC3_FREQ_32KHZ
32 Khz codec Sample Frequency configuration
Definition: lc3.h:197

Helper to declare LC3 32.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_32_2

#define BT_CODEC_LC3_CONFIG_32_2

◆ BT_CODEC_LC3_CONFIG_441_1

#define BT_CODEC_LC3_CONFIG_441_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_AUDIO_CONTEXT_TYPE_MEDIA
Media.
Definition: audio.h:61
#define BT_CODEC_CONFIG_LC3_FREQ_44KHZ
44.1 Khz codec Sample Frequency configuration
Definition: lc3.h:201

Helper to declare LC3 441.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_441_2

#define BT_CODEC_LC3_CONFIG_441_2

◆ BT_CODEC_LC3_CONFIG_48_1

#define BT_CODEC_LC3_CONFIG_48_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_CODEC_CONFIG_LC3_FREQ_48KHZ
48 Khz codec Sample Frequency configuration
Definition: lc3.h:205

Helper to declare LC3 48.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_48_2

#define BT_CODEC_LC3_CONFIG_48_2

◆ BT_CODEC_LC3_CONFIG_48_3

#define BT_CODEC_LC3_CONFIG_48_3

◆ BT_CODEC_LC3_CONFIG_48_4

#define BT_CODEC_LC3_CONFIG_48_4

◆ BT_CODEC_LC3_CONFIG_48_5

#define BT_CODEC_LC3_CONFIG_48_5

◆ BT_CODEC_LC3_CONFIG_48_6

#define BT_CODEC_LC3_CONFIG_48_6

◆ BT_CODEC_LC3_CONFIG_8_1

#define BT_CODEC_LC3_CONFIG_8_1

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
#define BT_CODEC_CONFIG_LC3_FREQ_8KHZ
8 Khz codec Sample Frequency configuration
Definition: lc3.h:177

Helper to declare LC3 8.1 codec configuration.

◆ BT_CODEC_LC3_CONFIG_8_2

#define BT_CODEC_LC3_CONFIG_8_2

◆ BT_CODEC_LC3_CONFIG_DATA

#define BT_CODEC_LC3_CONFIG_DATA (   _freq,
  _duration,
  _loc,
  _len,
  _frame_blocks_per_sdu 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_CODEC_DATA(BT_CODEC_CONFIG_LC3_FREQ, _freq), \
BT_CODEC_DATA(BT_CODEC_CONFIG_LC3_DURATION, _duration), \
BT_CODEC_DATA(BT_CODEC_CONFIG_LC3_CHAN_ALLOC, (_loc) & 0xffu, ((_loc) >> 8) & 0xffu, \
((_loc) >> 16) & 0xffu, (_loc) >> 24), \
BT_CODEC_DATA(BT_CODEC_CONFIG_LC3_FRAME_LEN, (_len) & 0xffu, (_len) >> 8) \
COND_CODE_1(_frame_blocks_per_sdu, (), \
}
#define BT_CODEC_DATA(_type, _bytes...)
Helper to declare elements of bt_codec_data arrays.
Definition: audio.h:177
@ BT_CODEC_CONFIG_LC3_FREQ
LC3 Sample Frequency configuration type.
Definition: lc3.h:159
@ BT_CODEC_CONFIG_LC3_CHAN_ALLOC
LC3 channel Allocation configuration type.
Definition: lc3.h:165
@ BT_CODEC_CONFIG_LC3_FRAME_LEN
LC3 Frame Length configuration type.
Definition: lc3.h:168
@ BT_CODEC_CONFIG_LC3_DURATION
LC3 Frame Duration configuration type.
Definition: lc3.h:162
@ BT_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU
Codec frame blocks, per SDU configuration type.
Definition: lc3.h:171

Helper to declare LC3 codec data configuration.

Helper to declare LC3 codec metadata configuration.

_frame_blocks_per_sdu value is optional and will be included only if != 1

◆ BT_CODEC_LC3_CONFIG_META

#define BT_CODEC_LC3_CONFIG_META (   _context)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_CODEC_DATA(BT_CODEC_META_CONTEXT, _context, _context >> 8), \
}
@ BT_CODEC_META_CONTEXT
Definition: audio.h:210

◆ BT_CODEC_LC3_CONFIG_N

#define BT_CODEC_LC3_CONFIG_N (   _freq,
  _duration,
  _loc,
  _len,
  _frames_per_sdu,
  _context 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC(BT_CODEC_LC3_ID, 0x0000, 0x0000, \
BT_CODEC_LC3_CONFIG_DATA(_freq, _duration, _loc, _len, _frames_per_sdu), \
#define BT_CODEC_LC3_CONFIG_DATA(_freq, _duration, _loc, _len, _frame_blocks_per_sdu)
Helper to declare LC3 codec data configuration.
#define BT_CODEC_LC3_CONFIG_META(_context)
Definition: lc3.h:304

Helper to declare LC3 codec configuration for multiple channels.

◆ BT_CODEC_LC3_DATA

#define BT_CODEC_LC3_DATA (   _freq,
  _duration,
  _chan_count,
  _len_min,
  _len_max,
  _max_frames_per_sdu 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_CODEC_DATA(BT_CODEC_LC3_FREQ, (_freq) & 0xffu, (_freq) >> 8), \
BT_CODEC_DATA(BT_CODEC_LC3_DURATION, _duration), \
BT_CODEC_DATA(BT_CODEC_LC3_CHAN_COUNT, _chan_count), \
BT_CODEC_DATA(BT_CODEC_LC3_FRAME_LEN, (_len_min) & 0xffu, (_len_min) >> 8, \
(_len_max) & 0xffu, (_len_max) >> 8) \
COND_CODE_1(_max_frames_per_sdu, (), \
(, BT_CODEC_DATA(BT_CODEC_LC3_FRAME_COUNT, _max_frames_per_sdu))) \
}
@ BT_CODEC_LC3_FRAME_COUNT
Definition: lc3.h:65
@ BT_CODEC_LC3_FRAME_LEN
Definition: lc3.h:60
@ BT_CODEC_LC3_CHAN_COUNT
Definition: lc3.h:55
@ BT_CODEC_LC3_DURATION
Definition: lc3.h:50
@ BT_CODEC_LC3_FREQ
Definition: lc3.h:45

Helper to declare LC3 codec capability.

_max_frames_per_sdu value is optional and will be included only if != 1

◆ BT_CODEC_LC3_DURATION_10

#define BT_CODEC_LC3_DURATION_10   BIT(1)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 10 msec frame duration capability.

◆ BT_CODEC_LC3_DURATION_7_5

#define BT_CODEC_LC3_DURATION_7_5   BIT(0)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec frame duration capability.

◆ BT_CODEC_LC3_DURATION_ANY

#define BT_CODEC_LC3_DURATION_ANY

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC_LC3_DURATION_10)
#define BT_CODEC_LC3_DURATION_7_5
LC3 7.5 msec frame duration capability.
Definition: lc3.h:113

LC3 any frame duration capability.

◆ BT_CODEC_LC3_DURATION_PREFER_10

#define BT_CODEC_LC3_DURATION_PREFER_10   BIT(5)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 10 msec preferred frame duration capability.

◆ BT_CODEC_LC3_DURATION_PREFER_7_5

#define BT_CODEC_LC3_DURATION_PREFER_7_5   BIT(4)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 7.5 msec preferred frame duration capability.

◆ BT_CODEC_LC3_FREQ_11KHZ

#define BT_CODEC_LC3_FREQ_11KHZ   BIT(1)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 11.025 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_16KHZ

#define BT_CODEC_LC3_FREQ_16KHZ   BIT(2)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 16 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_22KHZ

#define BT_CODEC_LC3_FREQ_22KHZ   BIT(3)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 22.05 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_24KHZ

#define BT_CODEC_LC3_FREQ_24KHZ   BIT(4)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 24 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_32KHZ

#define BT_CODEC_LC3_FREQ_32KHZ   BIT(5)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 32 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_44KHZ

#define BT_CODEC_LC3_FREQ_44KHZ   BIT(6)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 44.1 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_48KHZ

#define BT_CODEC_LC3_FREQ_48KHZ   BIT(7)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 48 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_8KHZ

#define BT_CODEC_LC3_FREQ_8KHZ   BIT(0)

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 8 Khz frequency capability.

◆ BT_CODEC_LC3_FREQ_ANY

#define BT_CODEC_LC3_FREQ_ANY

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC_LC3_FREQ_16KHZ | \
BT_CODEC_LC3_FREQ_24KHZ | \
BT_CODEC_LC3_FREQ_32KHZ | \
BT_CODEC_LC3_FREQ_44KHZ | \
BT_CODEC_LC3_FREQ_48KHZ)
#define BT_CODEC_LC3_FREQ_8KHZ
LC3 8 Khz frequency capability.
Definition: lc3.h:71

LC3 any frequency capability.

◆ BT_CODEC_LC3_ID

#define BT_CODEC_LC3_ID   0x06

#include <include/zephyr/bluetooth/audio/lc3.h>

LC3 codec ID.

◆ BT_CODEC_LC3_META

#define BT_CODEC_LC3_META (   _prefer_context,
  _context 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
{ \
BT_CODEC_DATA(BT_CODEC_META_PREFER_CONTEXT, (_prefer_context) & 0xffu, \
(_prefer_context) >> 8), \
BT_CODEC_DATA(BT_CODEC_META_CONTEXT, (_context) & 0xffu, (_context) >> 8) \
}
@ BT_CODEC_META_PREFER_CONTEXT
Definition: audio.h:209

Helper to declare LC3 codec metadata.

◆ BT_CODEC_LC3_QOS_10

#define BT_CODEC_LC3_QOS_10 (   _framing,
  _sdu,
  _rtn,
  _latency,
  _pd 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC_QOS(10000u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
_latency, _pd)
#define BT_CODEC_QOS(_interval, _framing, _phy, _sdu, _rtn, _latency, _pd)
Helper to declare elements of bt_codec_qos.
Definition: audio.h:325
@ BT_CODEC_QOS_2M
Definition: audio.h:346

Helper to declare LC3 codec QoS for 10ms frame internal.

◆ BT_CODEC_LC3_QOS_10_UNFRAMED

#define BT_CODEC_LC3_QOS_10_UNFRAMED (   _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_CODEC_QOS_UNFRAMED(10000u, _sdu, _rtn, _latency, _pd)

#include <include/zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 10ms interval unframed input.

◆ BT_CODEC_LC3_QOS_7_5

#define BT_CODEC_LC3_QOS_7_5 (   _framing,
  _sdu,
  _rtn,
  _latency,
  _pd 
)

#include <include/zephyr/bluetooth/audio/lc3.h>

Value:
BT_CODEC_QOS(7500u, _framing, BT_CODEC_QOS_2M, _sdu, _rtn, \
_latency, _pd)

Helper to declare LC3 codec QoS for 7.5ms interval.

◆ BT_CODEC_LC3_QOS_7_5_UNFRAMED

#define BT_CODEC_LC3_QOS_7_5_UNFRAMED (   _sdu,
  _rtn,
  _latency,
  _pd 
)     BT_CODEC_QOS_UNFRAMED(7500u, _sdu, _rtn, _latency, _pd)

#include <include/zephyr/bluetooth/audio/lc3.h>

Helper to declare LC3 codec QoS for 7.5ms interval unframed input.

Enumeration Type Documentation

◆ bt_codec_capability_type

#include <include/zephyr/bluetooth/audio/lc3.h>

Codec capability type id's.

Used to build and parse codec capabilities as specified in the PAC specification. Source is assigned numbers for Generic Audio, bluetooth.com.

Even though they are in-fixed with LC3 they can be used for other codec types as well.

Enumerator
BT_CODEC_LC3_FREQ 
BT_CODEC_LC3_FREQ 
BT_CODEC_LC3_DURATION 
BT_CODEC_LC3_DURATION 
BT_CODEC_LC3_CHAN_COUNT 
BT_CODEC_LC3_CHAN_COUNT 
BT_CODEC_LC3_FRAME_LEN 
BT_CODEC_LC3_FRAME_LEN 
BT_CODEC_LC3_FRAME_COUNT 
BT_CODEC_LC3_FRAME_COUNT 

◆ bt_codec_config_type

#include <include/zephyr/bluetooth/audio/lc3.h>

Codec configuration type IDs.

Used to build and parse codec configurations as specified in the ASCS and BAP specifications. Source is assigned numbers for Generic Audio, bluetooth.com.

Even though they are in-fixed with LC3 they can be used for other codec types as well.

Enumerator
BT_CODEC_CONFIG_LC3_FREQ 

LC3 Sample Frequency configuration type.

BT_CODEC_CONFIG_LC3_DURATION 

LC3 Frame Duration configuration type.

BT_CODEC_CONFIG_LC3_CHAN_ALLOC 

LC3 channel Allocation configuration type.

BT_CODEC_CONFIG_LC3_FRAME_LEN 

LC3 Frame Length configuration type.

BT_CODEC_CONFIG_LC3_FRAME_BLKS_PER_SDU 

Codec frame blocks, per SDU configuration type.