Sound Open Firmware
Loading...
Searching...
No Matches

IPC4 audio formats, sampling frequencies, bit depths, and pin descriptors. More...

Include dependency graph for base-config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  AudioFormat
 Standard audio format descriptor across all IPC4 modules and gateways. More...
 
struct  LegacyModuleInitialSettings
 Base module configuration parameters provided upon module instantiation. More...
 
struct  InputPinFormat
 Input pin format specification for multi-pin modules. More...
 
struct  OutputPinFormat
 Output pin format specification for multi-pin modules. More...
 
struct  ipc4_base_module_cfg_ext
 Extended module configuration header describing dynamic input and output pins. More...
 
struct  ipc4_base_module_extended_cfg
 Combined base and extended module configuration payload for easy parsing. More...
 
struct  ipc4_pin_props
 Runtime properties of a module pin connection. More...
 
struct  ipc4_pin_list_info
 List of active pin properties for a module instance. More...
 
struct  ipc4_module_instance_props
 Detailed module instance runtime state, memory consumption, and queue alignment. More...
 
struct  ipc4_in_out_gateway
 Direct gateway attachment identifiers for a module instance. More...
 
union  ipc4_cfg_param_id_data
 16-bit small parameter register encoding for MOD_CONFIG_SET/GET. More...
 

Macros

#define ipc4_calc_base_module_cfg_ext_size(in_pins, out_pins)
 Helper macro to calculate serialized byte size of struct ipc4_base_module_cfg_ext.
 

Enumerations

enum  ipc4_sampling_frequency {
  IPC4_FS_8000HZ = 8000 , IPC4_FS_11025HZ = 11025 , IPC4_FS_12000HZ = 12000 , IPC4_FS_16000HZ = 16000 ,
  IPC4_FS_18900HZ = 18900 , IPC4_FS_22050HZ = 22050 , IPC4_FS_24000HZ = 24000 , IPC4_FS_32000HZ = 32000 ,
  IPC4_FS_37800HZ = 37800 , IPC4_FS_44100HZ = 44100 , IPC4_FS_48000HZ = 48000 , IPC4_FS_64000HZ = 64000 ,
  IPC4_FS_88200HZ = 88200 , IPC4_FS_96000HZ = 96000 , IPC4_FS_176400HZ = 176400 , IPC4_FS_192000HZ = 192000 ,
  IPC4_FS_INVALID
}
 Standard PCM and encoded audio sampling frequencies supported by IPC4. More...
 
enum  ipc4_bit_depth {
  IPC4_DEPTH_8BIT = 8 , IPC4_DEPTH_16BIT = 16 , IPC4_DEPTH_24BIT = 24 , IPC4_DEPTH_32BIT = 32 ,
  IPC4_DEPTH_64BIT = 64 , IPC4_DEPTH_INVALID
}
 Container bit depth for sample storage in memory. More...
 
enum  ipc4_channel_config {
  IPC4_CHANNEL_CONFIG_MONO = 0 , IPC4_CHANNEL_CONFIG_STEREO = 1 , IPC4_CHANNEL_CONFIG_2_POINT_1 = 2 , IPC4_CHANNEL_CONFIG_3_POINT_0 = 3 ,
  IPC4_CHANNEL_CONFIG_3_POINT_1 = 4 , IPC4_CHANNEL_CONFIG_QUATRO = 5 , IPC4_CHANNEL_CONFIG_4_POINT_0 = 6 , IPC4_CHANNEL_CONFIG_5_POINT_0 = 7 ,
  IPC4_CHANNEL_CONFIG_5_POINT_1 = 8 , IPC4_CHANNEL_CONFIG_DUAL_MONO = 9 , IPC4_CHANNEL_CONFIG_I2S_DUAL_STEREO_0 = 10 , IPC4_CHANNEL_CONFIG_I2S_DUAL_STEREO_1 = 11 ,
  IPC4_CHANNEL_CONFIG_7_POINT_1 = 12 , IPC4_CHANNEL_CONFIG_INVALID
}
 Audio channel configurations and speaker mappings. More...
 
enum  ipc4_channel_index {
  CHANNEL_LEFT = 0 , CHANNEL_CENTER = 1 , CHANNEL_RIGHT = 2 , CHANNEL_LEFT_SURROUND = 3 ,
  CHANNEL_CENTER_SURROUND = 3 , CHANNEL_RIGHT_SURROUND = 4 , CHANNEL_LEFT_SIDE = 5 , CHANNEL_RIGHT_SIDE = 6 ,
  CHANNEL_LFE = 7 , CHANNEL_INVALID = 0xF
}
 Logical channel position indices used in channel maps. More...
 
enum  ipc4_interleaved_style { IPC4_CHANNELS_INTERLEAVED = 0 , IPC4_CHANNELS_NONINTERLEAVED = 1 }
 Sample interleaving styles. More...
 
enum  ipc4_sample_type {
  IPC4_TYPE_MSB_INTEGER = 0 , IPC4_TYPE_LSB_INTEGER = 1 , IPC4_TYPE_SIGNED_INTEGER = 2 , IPC4_TYPE_UNSIGNED_INTEGER = 3 ,
  IPC4_TYPE_FLOAT = 4 , IPC4_TYPE_A_LAW = 5 , IPC4_TYPE_MU_LAW = 6
}
 Audio sample representation and arithmetic type. More...
 
enum  ipc4_stream_type {
  IPC4_STREAM_PCM = 0 , IPC4_STREAM_MP3 = 1 , IPC4_STREAM_AAC = 2 , IPC4_STREAM_COUNT = 3 ,
  IPC4_STREAM_INVALID = 0xFF
}
 Stream container encoding type. More...
 
enum  ipc4_base_module_params { IPC4_MOD_INST_PROPS = 0xFE , IPC4_MOD_INST_ENABLE = 0x3000 }
 Common 16-bit parameter IDs supported across all IPC4 module instances. More...
 

Detailed Description

IPC4 audio formats, sampling frequencies, bit depths, and pin descriptors.

NOTE: This ABI uses bit fields and is non portable.