diff options
Diffstat (limited to 'media/libeffects/lvm/lib/StereoWidening/lib/LVCS.h')
-rw-r--r-- | media/libeffects/lvm/lib/StereoWidening/lib/LVCS.h | 388 |
1 files changed, 0 insertions, 388 deletions
diff --git a/media/libeffects/lvm/lib/StereoWidening/lib/LVCS.h b/media/libeffects/lvm/lib/StereoWidening/lib/LVCS.h deleted file mode 100644 index 0d62274..0000000 --- a/media/libeffects/lvm/lib/StereoWidening/lib/LVCS.h +++ /dev/null @@ -1,388 +0,0 @@ -/* - * Copyright (C) 2004-2010 NXP Software - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/****************************************************************************************/ -/* */ -/* Header file for the application layer interface of Concert Sound and Concert */ -/* Sound EX. */ -/* */ -/* This files includes all definitions, types, structures and function */ -/* prototypes required by the calling layer. All other types, structures and */ -/* functions are private. */ -/* */ -/****************************************************************************************/ -/* */ -/* Note: 1 */ -/* ======= */ -/* The algorithm can execute either with separate input and output buffers or with */ -/* a common buffer, i.e. the data is processed in-place. If the buffers are the */ -/* same then the MIPs will be slightly higher and an extra stereo scratch buffer is */ -/* required. */ -/* */ -/****************************************************************************************/ -/* */ -/* Note: 2 */ -/* ======= */ -/* Two data formats are support Stereo and Mono-In-Stereo. The data is interleaved as */ -/* follows: */ -/* Byte Offset Stereo Input Mono-In-Stereo Input */ -/* =========== ============ ==================== */ -/* 0 Left Sample #1 Mono Sample #1 */ -/* 2 Right Sample #1 Mono Sample #1 */ -/* 4 Left Sample #2 Mono Sample #2 */ -/* 6 Right Sample #2 Mono Sample #2 */ -/* . . . */ -/* . . . */ -/* */ -/* Mono format data is not supported, the calling routine must convert a Mono stream */ -/* in to Mono-In-Stereo format. */ -/* */ -/****************************************************************************************/ - -#ifndef LVCS_H -#define LVCS_H - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/****************************************************************************************/ -/* */ -/* Includes */ -/* */ -/****************************************************************************************/ - -#include "LVM_Types.h" -#include "LVM_Common.h" - - -/****************************************************************************************/ -/* */ -/* Definitions */ -/* */ -/****************************************************************************************/ - -/* Memory table */ -#define LVCS_MEMREGION_PERSISTENT_SLOW_DATA 0 /* Offset to the instance memory region */ -#define LVCS_MEMREGION_PERSISTENT_FAST_DATA 1 /* Offset to the persistent data memory region */ -#define LVCS_MEMREGION_PERSISTENT_FAST_COEF 2 /* Offset to the persistent coefficient memory region */ -#define LVCS_MEMREGION_TEMPORARY_FAST 3 /* Offset to temporary memory region */ -#define LVCS_NR_MEMORY_REGIONS 4 /* Number of memory regions */ - -/* Effect Level */ -#define LVCS_EFFECT_LOW 16384 /* Effect scaling 50% */ -#define LVCS_EFFECT_MEDIUM 24576 /* Effect scaling 75% */ -#define LVCS_EFFECT_HIGH 32767 /* Effect Scaling 100% */ - -/* Callback events */ -#define LVCS_EVENT_NONE 0x0000 /* Not a valid event */ -#define LVCS_EVENT_ALGOFF 0x0001 /* CS has completed switch off */ - - -/****************************************************************************************/ -/* */ -/* Types */ -/* */ -/****************************************************************************************/ - -/* Instance handle */ -typedef void *LVCS_Handle_t; - - -/* Operating modes */ -typedef enum -{ - LVCS_OFF = 0, - LVCS_ON = 15, - LVCS_MAX = LVM_MAXENUM -} LVCS_Modes_en; - - -/* Memory Types */ -typedef enum -{ - LVCS_SCRATCH = 0, - LVCS_DATA = 1, - LVCS_COEFFICIENT = 2, - LVCS_PERSISTENT = 3, - LVCS_MEMORYTYPE_MAX = LVM_MAXENUM -} LVCS_MemoryTypes_en; - - -/* Function return status */ -typedef enum -{ - LVCS_SUCCESS = 0, /* Successful return from a routine */ - LVCS_ALIGNMENTERROR = 1, /* Memory alignment error */ - LVCS_NULLADDRESS = 2, /* NULL allocation address */ - LVCS_TOOMANYSAMPLES = 3, /* Maximum block size exceeded */ - LVCS_INVALIDBUFFER = 4, /* Invalid buffer processing request */ - LVCS_STATUSMAX = LVM_MAXENUM -} LVCS_ReturnStatus_en; - - -/* - * Source data formats - */ -typedef enum -{ - LVCS_STEREO = 0, - LVCS_MONOINSTEREO = 1, - LVCS_SOURCEMAX = LVM_MAXENUM -} LVCS_SourceFormat_en; - - -/* - * Supported output devices - */ -typedef enum -{ - LVCS_HEADPHONES = 0, - LVCS_EX_HEADPHONES = 1, - LVCS_SPEAKERTYPE_MAX = LVM_MAXENUM -} LVCS_SpeakerType_en; - -/* - * Speaker Coefficients Table - */ -typedef struct -{ - void *pTable1; - void *pTable2; - void *pTable3; - void *pTable4; - void *pTable5; - void *pTable6; - void *pTable7; - void *pTable8; -} LVCS_CSMS_Coef_Tables_t; - - -/****************************************************************************************/ -/* */ -/* Structures */ -/* */ -/****************************************************************************************/ - -/* Memory region definition */ -typedef struct -{ - LVM_UINT32 Size; /* Region size in bytes */ - LVCS_MemoryTypes_en Type; /* Region type */ - void *pBaseAddress; /* Pointer to the region base address */ -} LVCS_MemoryRegion_t; - - -/* Memory table containing the region definitions */ -typedef struct -{ - LVCS_MemoryRegion_t Region[LVCS_NR_MEMORY_REGIONS]; /* One definition for each region */ -} LVCS_MemTab_t; - - -/* Concert Sound parameter structure */ -typedef struct -{ - LVCS_Modes_en OperatingMode; /* Algorithm mode */ - LVCS_SpeakerType_en SpeakerType; /* Output device type */ - LVCS_SourceFormat_en SourceFormat; /* Source data format */ - LVM_Mode_en CompressorMode; /* Non-Linear Compressor Mode */ - LVM_Fs_en SampleRate; /* Sampling rate */ - LVM_INT16 EffectLevel; /* Effect level */ - LVM_UINT16 ReverbLevel; /* Reverb level in % */ -} LVCS_Params_t; - - -/* Concert Sound Capability structure */ -typedef struct -{ - /* General parameters */ - LVM_UINT16 MaxBlockSize; /* Maximum block size in sample pairs */ - - /* Callback parameters */ - LVM_Callback CallBack; /* Bundle callback */ - void *pBundleInstance; /* Bundle instance handle */ - -} LVCS_Capabilities_t; - - -/****************************************************************************************/ -/* */ -/* Function Prototypes */ -/* */ -/****************************************************************************************/ - -/****************************************************************************************/ -/* */ -/* FUNCTION: LVCS_Memory */ -/* */ -/* DESCRIPTION: */ -/* This function is used for memory allocation and free. It can be called in */ -/* two ways: */ -/* */ -/* hInstance = NULL Returns the memory requirements */ -/* hInstance = Instance handle Returns the memory requirements and */ -/* allocated base addresses for the instance */ -/* */ -/* When this function is called for memory allocation (hInstance=NULL) it is */ -/* passed the default capabilities, of these only the buffer processing setting is */ -/* used. */ -/* */ -/* When called for memory allocation the memory base address pointers are NULL on */ -/* return. */ -/* */ -/* When the function is called for free (hInstance = Instance Handle) the */ -/* capabilities are ignored and the memory table returns the allocated memory and */ -/* base addresses used during initialisation. */ -/* */ -/* PARAMETERS: */ -/* hInstance Instance Handle */ -/* pMemoryTable Pointer to an empty memory definition table */ -/* pCapabilities Pointer to the default capabilites */ -/* */ -/* RETURNS: */ -/* LVCS_Success Succeeded */ -/* */ -/* NOTES: */ -/* 1. This function may be interrupted by the LVCS_Process function */ -/* */ -/****************************************************************************************/ - -LVCS_ReturnStatus_en LVCS_Memory(LVCS_Handle_t hInstance, - LVCS_MemTab_t *pMemoryTable, - LVCS_Capabilities_t *pCapabilities); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: LVCS_Init */ -/* */ -/* DESCRIPTION: */ -/* Create and initialisation function for the Concert Sound module */ -/* */ -/* This function can be used to create an algorithm instance by calling with */ -/* hInstance set to NULL. In this case the algorithm returns the new instance */ -/* handle. */ -/* */ -/* This function can be used to force a full re-initialisation of the algorithm */ -/* by calling with hInstance = Instance Handle. In this case the memory table */ -/* should be correct for the instance, this can be ensured by calling the function */ -/* LVCS_Memory before calling this function. */ -/* */ -/* PARAMETERS: */ -/* hInstance Instance handle */ -/* pMemoryTable Pointer to the memory definition table */ -/* pCapabilities Pointer to the initialisation capabilities */ -/* */ -/* RETURNS: */ -/* LVCS_Success Initialisation succeeded */ -/* LVCS_AlignmentError Instance or scratch memory on incorrect alignment */ -/* LVCS_NullAddress Instance or scratch memory has a NULL pointer */ -/* */ -/* NOTES: */ -/* 1. The instance handle is the pointer to the base address of the first memory */ -/* region. */ -/* 2. This function must not be interrupted by the LVCS_Process function */ -/* */ -/****************************************************************************************/ - -LVCS_ReturnStatus_en LVCS_Init(LVCS_Handle_t *phInstance, - LVCS_MemTab_t *pMemoryTable, - LVCS_Capabilities_t *pCapabilities); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: LVCS_GetParameters */ -/* */ -/* DESCRIPTION: */ -/* Request the Concert Sound parameters. The current parameter set is returned */ -/* via the parameter pointer. */ -/* */ -/* PARAMETERS: */ -/* hInstance Instance handle */ -/* pParams Pointer to an empty parameter structure */ -/* */ -/* RETURNS: */ -/* LVCS_Success Always succeeds */ -/* */ -/* NOTES: */ -/* 1. This function may be interrupted by the LVCS_Process function */ -/* */ -/****************************************************************************************/ - -LVCS_ReturnStatus_en LVCS_GetParameters(LVCS_Handle_t hInstance, - LVCS_Params_t *pParams); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: LVCS_Control */ -/* */ -/* DESCRIPTION: */ -/* Sets or changes the Concert Sound parameters. */ -/* */ -/* PARAMETERS: */ -/* hInstance Instance handle */ -/* pParams Pointer to a parameter structure */ -/* */ -/* RETURNS: */ -/* LVCS_Success Succeeded */ -/* */ -/* NOTES: */ -/* 1. This function must not be interrupted by the LVCS_Process function */ -/* */ -/****************************************************************************************/ - -LVCS_ReturnStatus_en LVCS_Control(LVCS_Handle_t hInstance, - LVCS_Params_t *pParams); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: LVCS_Process */ -/* */ -/* DESCRIPTION: */ -/* Process function for the Concert Sound module. The implementation supports two */ -/* variants of the algorithm, one for headphones and one for mobile speakers. */ -/* */ -/* PARAMETERS: */ -/* hInstance Instance handle */ -/* pInData Pointer to the input data */ -/* pOutData Pointer to the output data */ -/* NumSamples Number of samples in the input buffer */ -/* */ -/* RETURNS: */ -/* LVCS_Success Succeeded */ -/* LVCS_TooManySamples NumSamples was larger than the maximum block size */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -LVCS_ReturnStatus_en LVCS_Process(LVCS_Handle_t hInstance, - const LVM_INT16 *pInData, - LVM_INT16 *pOutData, - LVM_UINT16 NumSamples); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* LVCS_H */ |