Zephyr API Documentation
3.5.0
A Scalable Open Source RTOS
|
|
3.5.0 |
LC3. More...
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. | |
LC3.
#define BT_AUDIO_CODEC_CAP_LC3 | ( | _freq, | |
_duration, | |||
_chan_count, | |||
_len_min, | |||
_len_max, | |||
_max_frames_per_sdu, | |||
_prefer_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec.
_freq | Supported Sampling Frequencies bitfield (see BT_AUDIO_CODEC_LC3_FREQ_*) |
_duration | Supported Frame Durations bitfield (see BT_AUDIO_CODEC_LC3_DURATION_*) |
_chan_count | Supported channels (see BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT) |
_len_min | Minimum number of octets supported per codec frame |
_len_max | Maximum number of octets supported per codec frame |
_max_frames_per_sdu | Supported maximum codec frames per SDU |
_prefer_context | Preferred contexts (bt_audio_context) |
#define BT_AUDIO_CODEC_CAP_LC3_DATA | ( | _freq, | |
_duration, | |||
_chan_count, | |||
_len_min, | |||
_len_max, | |||
_max_frames_per_sdu | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec capability.
_max_frames_per_sdu value is optional and will be included only if != 1
#define BT_AUDIO_CODEC_CAP_LC3_META | ( | _prefer_context | ) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec metadata.
#define BT_AUDIO_CODEC_CFG_LC3_DATA | ( | _freq, | |
_duration, | |||
_loc, | |||
_len, | |||
_frames_per_sdu | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec data configuration.
_freq | Sampling frequency (BT_AUDIO_CODEC_CONFIG_LC3_FREQ_*) |
_duration | Frame duration (BT_AUDIO_CODEC_CONFIG_LC3_DURATION_*) |
_loc | Audio channel location bitfield (bt_audio_location) |
_len | Octets per frame (16-bit integer) |
_frames_per_sdu | Frames per SDU (8-bit integer). This value is optional and will be included only if != 1 |
#define BT_AUDIO_CODEC_CFG_LC3_META | ( | _stream_context | ) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec metadata configuration.
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10 0x01 |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 10 msec Frame Duration configuration.
#define BT_AUDIO_CODEC_CONFIG_LC3_DURATION_7_5 0x00 |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 7.5 msec Frame Duration configuration.
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX 8 |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 maximum supported channel counts.
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN 1 |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 minimum supported channel counts.
#define BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT | ( | ... | ) | ((uint8_t)((FOR_EACH(BIT, (|), __VA_ARGS__)) >> 1)) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 channel count support capability.
Macro accepts variable number of channel counts. The allowed channel counts are defined by specification and have to be in range from BT_AUDIO_CODEC_LC3_CHAN_COUNT_MIN to BT_AUDIO_CODEC_LC3_CHAN_COUNT_MAX inclusive.
Example to support 1 and 3 channels: BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(1, 3)
#define BT_AUDIO_CODEC_LC3_CONFIG | ( | _freq, | |
_duration, | |||
_loc, | |||
_len, | |||
_frames_per_sdu, | |||
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec configuration.
_freq | Sampling frequency (BT_AUDIO_CODEC_CONFIG_LC3_FREQ_*) |
_duration | Frame duration (BT_AUDIO_CODEC_CONFIG_LC3_DURATION_*) |
_loc | Audio channel location bitfield (bt_audio_location) |
_len | Octets per frame (16-bit integer) |
_frames_per_sdu | Frames per SDU (8-bit integer) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_16_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 16.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_16_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 16.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_24_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 24.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_24_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 24.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_32_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 32.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_32_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 32.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_441_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 441.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_441_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 441.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_3 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.3 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_4 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.4 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_5 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.5 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_48_6 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 48.6 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_8_1 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 8.1 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_CONFIG_8_2 | ( | _loc, | |
_stream_context | |||
) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 8.2 codec configuration.
_loc | Audio channel location bitfield (bt_audio_location) |
_stream_context | Stream context (BT_AUDIO_CONTEXT_*) |
#define BT_AUDIO_CODEC_LC3_DURATION_10 BIT(1) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 10 msec frame duration capability.
#define BT_AUDIO_CODEC_LC3_DURATION_7_5 BIT(0) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 7.5 msec frame duration capability.
#define BT_AUDIO_CODEC_LC3_DURATION_ANY (BT_AUDIO_CODEC_LC3_DURATION_7_5 | BT_AUDIO_CODEC_LC3_DURATION_10) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 any frame duration capability.
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_10 BIT(5) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 10 msec preferred frame duration capability.
#define BT_AUDIO_CODEC_LC3_DURATION_PREFER_7_5 BIT(4) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 7.5 msec preferred frame duration capability.
#define BT_AUDIO_CODEC_LC3_FREQ_11KHZ BIT(1) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 11.025 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_16KHZ BIT(2) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 16 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_22KHZ BIT(3) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 22.05 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_24KHZ BIT(4) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 24 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_32KHZ BIT(5) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 32 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_44KHZ BIT(6) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 44.1 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_48KHZ BIT(7) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 48 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_8KHZ BIT(0) |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 8 Khz frequency capability.
#define BT_AUDIO_CODEC_LC3_FREQ_ANY |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 any frequency capability.
#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) |
#include <zephyr/bluetooth/audio/lc3.h>
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) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec QoS for 10ms interval unframed input.
#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) |
#include <zephyr/bluetooth/audio/lc3.h>
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) |
#include <zephyr/bluetooth/audio/lc3.h>
Helper to declare LC3 codec QoS for 7.5ms interval unframed input.
#define BT_HCI_CODING_FORMAT_LC3 0x06 |
#include <zephyr/bluetooth/audio/lc3.h>
LC3 codec ID.
#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.
#include <zephyr/bluetooth/audio/lc3.h>
#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.