Maestro Audio Framework v 1.7
NXP Semiconductors
Loading...
Searching...
No Matches
LVC_Types.h File Reference

Data Structures

struct  LVM_MemoryRegion_st
 
struct  LVM_MemoryTable_st
 
struct  LVM_ContextTable_st
 
struct  LVM_BPMModuleStats_st
 

Macros

#define LVM_NULL   (void *)0
 NULL pointer.
 
#define LVM_TRUE   1
 Boolean True.
 
#define LVM_FALSE   0
 Boolean False.
 
#define LVM_MAXINT_8   127
 Maximum positive integer size.
 
#define LVM_MAXINT_16   32767
 Maximum signed int 16 bits number.
 
#define LVM_MAXUINT_16   65535U
 Maximum un-signed int 16 bits number.
 
#define LVM_MAXINT_32   2147483647
 Maximum signed int 32 bits number.
 
#define LVM_MAXUINT_32   4294967295U
 Maximum un-signed int 32 bits number.
 
#define LVM_MININT_32   0x80000000U
 Minimum signed int 32 bit number in 2's complement form.
 
#define LVM_MAXENUM   2147483647
 Maximum value for enumerator.
 
#define LVM_MODULEID_MASK   0xFF00
 Mask to extract the calling module ID from callbackId.
 
#define LVM_EVENTID_MASK   0x00FF
 Mask to extract the callback event from callbackId.
 
#define LVM_MEMREGION_PERSISTENT_SLOW_DATA   0
 Offset to the instance memory region.
 
#define LVM_MEMREGION_PERSISTENT_FAST_DATA   1
 Offset to the persistent data memory region.
 
#define LVM_MEMREGION_PERSISTENT_FAST_COEF   2
 Offset to the persistent coefficient memory region.
 
#define LVM_MEMREGION_TEMPORARY_FAST   3
 Offset to temporary memory region.
 
#define LVM_NR_MEMORY_REGIONS   4
 Number of memory regions.
 
#define LVM_MODE_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode LVM_Mode_en in LVWireFormat.
 
#define LVM_CONFIG_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode LVM_Config_en in LVWireFormat.
 
#define LVM_FS_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode LVM_Fs_en sample Rate in LVWireFormat.
 
#define LVM_CHANNELTYPE_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode LVM_ChannelType_en in LVWireFormat.
 
#define LVM_CHAR_LVWIREFORMAT_LENGTH   (1)
 Number of bytes to encode ASCII character in LVWireFormat.
 
#define LVM_INT8_LVWIREFORMAT_LENGTH   (1)
 Number of bytes to encode Signed 8-bit word in LVWireFormat.
 
#define LVM_UINT8_LVWIREFORMAT_LENGTH   (1)
 Number of bytes to encode Unsigned 8-bit word in LVWireFormat.
 
#define LVM_INT16_LVWIREFORMAT_LENGTH   (2)
 Number of bytes to encode Signed 16-bit word in LVWireFormat.
 
#define LVM_UINT16_LVWIREFORMAT_LENGTH   (2)
 Number of bytes to encode Unsigned 16-bit word in LVWireFormat.
 
#define LVM_INT32_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode Signed 32-bit word in LVWireFormat.
 
#define LVM_UINT32_LVWIREFORMAT_LENGTH   (4)
 Number of bytes to encode Unsigned 32-bit word in LVWireFormat.
 
#define LVM_PRINTF_FORMAT_SPECIFIER_INT32   "li"
 
#define LVM_PRINTF_FORMAT_SPECIFIER_UINT32   "lu"
 

Typedefs

typedef char LVM_CHAR
 ASCII character.
 
typedef char LVM_INT8
 Signed 8-bit word.
 
typedef unsigned char LVM_UINT8
 Unsigned 8-bit word.
 
typedef short LVM_INT16
 Signed 16-bit word.
 
typedef unsigned short LVM_UINT16
 Unsigned 16-bit word.
 
typedef long LVM_INT32
 Signed 32-bit word.
 
typedef unsigned long LVM_UINT32
 Unsigned 32-bit word.
 
typedef float LVM_FLOAT
 Single Precision floating point type.
 
typedef double LVM_DOUBLE
 Double Precision floating point type.
 
typedef LVM_INT32(* LVM_Callback) (void *pCallbackData, void *pGeneralPurpose, LVM_INT16 GeneralPurpose)
 General purpose callback function.
 

Enumerations

enum  LVM_Mode_en {
  LVM_MODE_OFF = 0 ,
  LVM_MODE_ON = 1 ,
  LVM_MODE_MUTE = 2 ,
  LVM_MODE_DUMMY = LVM_MAXENUM
}
 
enum  LVM_Format_en {
  LVM_STEREO = 0 ,
  LVM_MONOINSTEREO = 1 ,
  LVM_MONO = 2 ,
  LVM_5DOT1 = 3 ,
  LVM_7DOT1 = 4 ,
  LVM_SOURCE_DUMMY = LVM_MAXENUM
}
 
enum  LVM_SpeakerType_en {
  LVM_SPEAKER_MONO = 0 ,
  LVM_SPEAKER_STEREO = 1 ,
  LVM_SPEAKER_DUMMY = LVM_MAXENUM
}
 
enum  LVM_WordLength_en {
  LVM_16_BIT = 0 ,
  LVM_32_BIT = 1 ,
  LVM_WORDLENGTH_DUMMY = LVM_MAXENUM
}
 
enum  LVM_Fs_en {
  LVM_FS_8000 = 0 ,
  LVM_FS_11025 = 1 ,
  LVM_FS_12000 = 2 ,
  LVM_FS_16000 = 3 ,
  LVM_FS_22050 = 4 ,
  LVM_FS_24000 = 5 ,
  LVM_FS_32000 = 6 ,
  LVM_FS_44100 = 7 ,
  LVM_FS_48000 = 8 ,
  LVM_FS_COUNT = 9 ,
  LVM_FS_INVALID = LVM_MAXENUM - 1 ,
  LVM_FS_DUMMY = LVM_MAXENUM
}
 
enum  LVM_Fs_HDAudio_en {
  LVM_FS_HDAUDIO_8000 = 0 ,
  LVM_FS_HDAUDIO_11025 = 1 ,
  LVM_FS_HDAUDIO_16000 = 2 ,
  LVM_FS_HDAUDIO_22050 = 3 ,
  LVM_FS_HDAUDIO_32000 = 4 ,
  LVM_FS_HDAUDIO_44100 = 5 ,
  LVM_FS_HDAUDIO_48000 = 6 ,
  LVM_FS_HDAUDIO_88200 = 7 ,
  LVM_FS_HDAUDIO_96000 = 8 ,
  LVM_FS_HDAUDIO_176400 = 9 ,
  LVM_FS_HDAUDIO_192000 = 10 ,
  LVM_FS_HDAUDIO_COUNT = 11 ,
  LVM_FS_HDAUDIO_INVALID = LVM_MAXENUM - 1 ,
  LVM_FS_HDAUDIO_DUMMY = LVM_MAXENUM
}
 
enum  LVM_PcmFormat_en {
  LVM_PCMFORMAT_16_BIT = 0 ,
  LVM_PCMFORMAT_32_BIT = 1 ,
  LVM_PCMFORMAT_8_24_BIT = 2 ,
  LVM_PCMFORMAT_COUNT = 3 ,
  LVM_PCMFORMAT_DUMMY = LVM_MAXENUM
}
 
enum  LVM_ResetType_en {
  LVM_RESET_SOFT = 0 ,
  LVM_RESET_HARD = 1 ,
  LVM_RESET_DUMMY = LVM_MAXENUM
}
 
enum  LVM_MemoryTypes_en {
  LVM_PERSISTENT_SLOW_DATA = LVM_MEMREGION_PERSISTENT_SLOW_DATA ,
  LVM_PERSISTENT_FAST_DATA = LVM_MEMREGION_PERSISTENT_FAST_DATA ,
  LVM_PERSISTENT_FAST_COEF = LVM_MEMREGION_PERSISTENT_FAST_COEF ,
  LVM_TEMPORARY_FAST = LVM_MEMREGION_TEMPORARY_FAST ,
  LVM_MEMORYTYPE_DUMMY = LVM_MAXENUM
}
 
enum  LVM_Config_en {
  LVM_CONFIG_HANDSET = 0 ,
  LVM_CONFIG_SPEAKERPHONE = 1 ,
  LVM_CONFIG_STEREOHEADSET = 2 ,
  LVM_CONFIG_HEADSET_ENDFIRE = 3 ,
  LVM_CONFIG_HEADSET_CALLING = 4 ,
  LVM_CONFIG_HEADSET_CALLING_BOOM = 5 ,
  LVM_CONFIG_HEADSET_FRONTEND = 6 ,
  LVM_CONFIG_HEADSET_FRONTEND_BOOM = 7 ,
  LVM_CONFIG_DUMMY = LVM_MAXENUM
}
 
enum  LVM_ChannelType_en {
  LVM_MICROPHONE_CHANNEL = 0 ,
  LVM_SPEAKER_CHANNEL = 1 ,
  LVM_SPEAKER_AS_MIC_CHANNEL = 2 ,
  LVM_MICROPHONE_AS_FAREND_REFERENCE_CHANNEL = 3 ,
  LVM_CHANNEL_DUMMY = LVM_MAXENUM
}
 
enum  LVM_Tunability_en {
  LVM_TUNABILITY_BASIC = 0 ,
  LVM_TUNABILITY_ADVANCED = 1 ,
  LVM_TUNABILITY_RESERVED = 2 ,
  LVM_TUNABILITY_DUMMY = LVM_MAXENUM
}
 
enum  LVM_VolumeDependence_en {
  LVM_VOLUME_DEPENDENT = 0 ,
  LVM_VOLUME_INDEPENDENT = 1 ,
  LVM_VOLUMEDEPENDENCE_DUMMY = LVM_MAXENUM
}
 

Detailed Description

Header file defining the standard LifeVibes types for use in the application layer interface of all LifeVibes modules

Typedef Documentation

◆ LVM_Callback

typedef LVM_INT32(* LVM_Callback) (void *pCallbackData, void *pGeneralPurpose, LVM_INT16 GeneralPurpose)
Parameters
pCallbackDataPointer to the callback data structure
pGeneralPurposeGeneral purpose pointer (e.g. to a data structure needed in the callback)
PresetLengthGeneral purpose variable (e.g. to be used as callback ID)
Returns
LVM_INT32

Enumeration Type Documentation

◆ LVM_Mode_en

The LVM_Mode_en enumerated type is used to set the operating mode of a particular feature inside the LifeVibes modules. The feature can be separately set to enable the feature processing (i.e., ON) or to disable all feature processing modules (i.e., OFF).

Enumerator
LVM_MODE_OFF 

LVM module disabled.

LVM_MODE_ON 

LVM module enabled.

LVM_MODE_MUTE 

LVM module muted.

◆ LVM_Format_en

Sets stream Format

Enumerator
LVM_STEREO 

Stereo stream.

LVM_MONOINSTEREO 

Mono in stereo stream.

LVM_MONO 

Mono stream.

LVM_5DOT1 

stream 5.1 formatted

LVM_7DOT1 

stream 7.1 formatted

◆ LVM_SpeakerType_en

Sets Speaker type

Enumerator
LVM_SPEAKER_MONO 

Mono type speaker.

LVM_SPEAKER_STEREO 

Stereo type speaker.

◆ LVM_WordLength_en

Sets Word length

Enumerator
LVM_16_BIT 

16 bit word length

LVM_32_BIT 

32 bit word length

◆ LVM_Fs_en

enum LVM_Fs_en

The LVM product supports the sample rates specified in LVM_Fs_en. The input and output sample rates are always the same.

Enumerator
LVM_FS_8000 

8k sampling rate

LVM_FS_11025 

11.025k sampling rate

LVM_FS_12000 

12k sampling rate

LVM_FS_16000 

16k sampling rate

LVM_FS_22050 

22.050k sampling rate

LVM_FS_24000 

24k sampling rate

LVM_FS_32000 

32k sampling rate

LVM_FS_44100 

44.1k sampling rate

LVM_FS_48000 

48k sampling rate

LVM_FS_COUNT 

Max sampling rate count.

◆ LVM_Fs_HDAudio_en

The LVM product supports the sample rates specified in LVM_Fs_HDAudio_en. The input and output sample rates are always the same.

Enumerator
LVM_FS_HDAUDIO_8000 

8k sampling rate

LVM_FS_HDAUDIO_11025 

11.025k sampling rate

LVM_FS_HDAUDIO_16000 

16k sampling rate

LVM_FS_HDAUDIO_22050 

22.050k sampling rate

LVM_FS_HDAUDIO_32000 

32k sampling rate

LVM_FS_HDAUDIO_44100 

44.1k sampling rate

LVM_FS_HDAUDIO_48000 

48k sampling rate

LVM_FS_HDAUDIO_88200 

88.2k sampling rate

LVM_FS_HDAUDIO_96000 

96k sampling rate

LVM_FS_HDAUDIO_176400 

176.4k sampling rate

LVM_FS_HDAUDIO_192000 

192k sampling rate

LVM_FS_HDAUDIO_COUNT 

Max sampling rate count.

◆ LVM_PcmFormat_en

The LVM_PcmFormat_en enumerated type identifies the different PCM formats that can be configured

Enumerator
LVM_PCMFORMAT_16_BIT 

PCM signed Q0.15.

LVM_PCMFORMAT_32_BIT 

PCM signed Q0.31.

LVM_PCMFORMAT_8_24_BIT 

PCM signed Q7.24.

LVM_PCMFORMAT_COUNT 

Max PCM Format count.

◆ LVM_ResetType_en

The enumerated type is used to select the reset mode for the module. LVM_RESET_SOFT is used to select a soft reset (or partial reset) and LVM_RESET_HARD is used to select a hard reset (full re-initialization).

Enumerator
LVM_RESET_SOFT 

Reset type for LVM where a partial reset of the module should be performed.

Name MODE
ResetType LVM_RESET_SOFT
LVM_RESET_HARD
LVM_RESET_HARD 

Reset type for LVM where a full reset of the module should be performed.

◆ LVM_MemoryTypes_en

The LVM_MemoryTypes_en enumerated type identifies the memory region types so that they can be correctly placed in memory by the calling application. The module initially has no permanent memory storage and makes no use of persistent memory allocation internally. The calling application must allocate memory for the module to use.

Four memory regions are required:

This collection of memory regions forms the module instance.

Typically the memory is allocated by the application dynamically; however, it can be allocated statically if required. The sizes of the memory regions can be found by running the GetMemoryTable functions on a simulator and noting the returned values. Alternatively contact NXP who can provide the figures. It is possible that these memory sizes will change between release versions of the library and hence the dynamic memory allocation method is preferred where possible. On some target platforms the placement of memory regions is critical for achieving optimal performance of the module.

Enumerator
LVM_PERSISTENT_SLOW_DATA 

Persistent slow memory region.

LVM_PERSISTENT_FAST_DATA 

Persistent fast memory region.

LVM_PERSISTENT_FAST_COEF 

Persisten fast memory for coefficient storage.

LVM_TEMPORARY_FAST 

Temporary fast memory region.

◆ LVM_Config_en

Sets mod of Configuration

Enumerator
LVM_CONFIG_HANDSET 

Handset configuration.

LVM_CONFIG_SPEAKERPHONE 

Speaker mod configuration.

LVM_CONFIG_STEREOHEADSET 

Stereo Headset configuration.

LVM_CONFIG_HEADSET_ENDFIRE 

Close-microphone endfire headset configuration.

LVM_CONFIG_HEADSET_CALLING 

Ear cup mics for calling.

LVM_CONFIG_HEADSET_CALLING_BOOM 

Ear cup and boom mics for calling.

LVM_CONFIG_HEADSET_FRONTEND 

Ear cup mics for frontend pre enhancement.

LVM_CONFIG_HEADSET_FRONTEND_BOOM 

Ear cup and boom mics for frontend pre enhancement.

◆ LVM_ChannelType_en

Sets Channel Type

Enumerator
LVM_MICROPHONE_CHANNEL 

Microphone Channel.

LVM_SPEAKER_CHANNEL 

Speaker Channel.

LVM_SPEAKER_AS_MIC_CHANNEL 

Speaker or Receiver behaving as a Microphone Channel.

LVM_MICROPHONE_AS_FAREND_REFERENCE_CHANNEL 

Microphone as Farend Reference Channel.

◆ LVM_Tunability_en

Sets Tunability of tuning parameters

Enumerator
LVM_TUNABILITY_BASIC 

Basic tuning parameter, always visible.

LVM_TUNABILITY_ADVANCED 

Expert tuning parameter, only visible in advanced tuning mode.

LVM_TUNABILITY_RESERVED 

Reserved tuning parameter, not visible.

◆ LVM_VolumeDependence_en

Sets Volume Dependence

Enumerator
LVM_VOLUME_DEPENDENT 

Volume dependent.

LVM_VOLUME_INDEPENDENT 

Volume independent.