diff options
Diffstat (limited to 'media/libeffects/lvm/lib/SpectrumAnalyzer/src/LVPSA_Private.h')
-rw-r--r-- | media/libeffects/lvm/lib/SpectrumAnalyzer/src/LVPSA_Private.h | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/media/libeffects/lvm/lib/SpectrumAnalyzer/src/LVPSA_Private.h b/media/libeffects/lvm/lib/SpectrumAnalyzer/src/LVPSA_Private.h deleted file mode 100644 index 1d8bedd..0000000 --- a/media/libeffects/lvm/lib/SpectrumAnalyzer/src/LVPSA_Private.h +++ /dev/null @@ -1,151 +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. - */ - -#ifndef _LVPSA_PRIVATE_H_ -#define _LVPSA_PRIVATE_H_ - -#include "LVPSA.h" -#include "BIQUAD.h" -#include "LVPSA_QPD.h" -#include "LVM_Macros.h" - - - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/********************************************************************************** - CONSTANT DEFINITIONS -***********************************************************************************/ - -/* Memory */ -#define LVPSA_INSTANCE_ALIGN 4 /* 32-bit alignment for structures */ -#define LVPSA_SCRATCH_ALIGN 4 /* 32-bit alignment for long data */ -#define LVPSA_COEF_ALIGN 4 /* 32-bit alignment for long words */ -#define LVPSA_DATA_ALIGN 4 /* 32-bit alignment for long data */ - -#define LVPSA_MEMREGION_INSTANCE 0 /* Offset to instance memory region in memory table */ -#define LVPSA_MEMREGION_PERSISTENT_COEF 1 /* Offset to persistent coefficients memory region in memory table */ -#define LVPSA_MEMREGION_PERSISTENT_DATA 2 /* Offset to persistent taps memory region in memory table */ -#define LVPSA_MEMREGION_SCRATCH 3 /* Offset to scratch memory region in memory table */ - -#define LVPSA_NR_SUPPORTED_RATE 9 /* From 8000Hz to 48000Hz */ -#define LVPSA_NR_SUPPORTED_SPEED 3 /* LOW, MEDIUM, HIGH */ - -#define LVPSA_MAXBUFFERDURATION 4000 /* Maximum length in ms of the levels buffer */ -#define LVPSA_MAXINPUTBLOCKSIZE 5000 /* Maximum length in mono samples of the block to process */ -#define LVPSA_NBANDSMIN 1 /* Minimum number of frequency band */ -#define LVPSA_NBANDSMAX 30 /* Maximum number of frequency band */ -#define LVPSA_MAXCENTERFREQ 20000 /* Maximum possible center frequency */ -#define LVPSA_MINPOSTGAIN -15 /* Minimum possible post gain */ -#define LVPSA_MAXPOSTGAIN 15 /* Maximum possible post gain */ -#define LVPSA_MINQFACTOR 25 /* Minimum possible Q factor */ -#define LVPSA_MAXQFACTOR 1200 /* Maximum possible Q factor */ - -#define LVPSA_MAXLEVELDECAYFACTOR 0x4111 /* Decay factor for the maximum values calculation */ -#define LVPSA_MAXLEVELDECAYSHIFT 14 /* Decay shift for the maximum values calculation */ - -#define LVPSA_MAXUNSIGNEDCHAR 0xFF - -#define LVPSA_FsInvertShift 31 -#define LVPSA_GAINSHIFT 11 -#define LVPSA_FREQSHIFT 25 - -/********************************************************************************** - TYPES DEFINITIONS -***********************************************************************************/ - -#define LVPSA_InternalRefreshTime 0x0014 /* 20 ms (50Hz) in Q16.0 */ -#define LVPSA_InternalRefreshTimeInv 0x0666 /* 1/20ms left shifted by 15 */ -#define LVPSA_InternalRefreshTimeShift 15 - - -/* Precision of the filter */ -typedef enum -{ - LVPSA_SimplePrecisionFilter, /* Simple precision */ - LVPSA_DoublePrecisionFilter /* Double precision */ -} LVPSA_BPFilterPrecision_en; - -typedef struct -{ - LVM_CHAR bControlPending; /* Flag incating a change of the control parameters */ - LVM_UINT16 nBands; /* Number of bands of the spectrum analyzer */ - LVM_UINT16 MaxInputBlockSize; /* Maximum input data buffer size */ - - LVPSA_ControlParams_t CurrentParams; /* Current control parameters of the module */ - LVPSA_ControlParams_t NewParams; /* New control parameters given by the user */ - LVPSA_MemTab_t MemoryTable; - - LVPSA_BPFilterPrecision_en *pBPFiltersPrecision; /* Points a nBands elements array that contains the filter precision for each band */ - Biquad_Instance_t *pBP_Instances; /* Points a nBands elements array that contains the band pass filter instance for each band */ - Biquad_1I_Order2_Taps_t *pBP_Taps; /* Points a nBands elements array that contains the band pass filter taps for each band */ - QPD_State_t *pQPD_States; /* Points a nBands elements array that contains the QPD filter instance for each band */ - QPD_Taps_t *pQPD_Taps; /* Points a nBands elements array that contains the QPD filter taps for each band */ - LVM_UINT16 *pPostGains; /* Points a nBands elements array that contains the post-filter gains for each band */ - - LVPSA_FilterParam_t *pFiltersParams; /* Copy of the filters parameters from the input parameters */ - - - LVM_UINT16 nSamplesBufferUpdate; /* Number of samples to make 20ms */ - LVM_INT32 BufferUpdateSamplesCount; /* Counter used to know when to put a new value in the buffer */ - LVM_UINT16 nRelevantFilters; /* Number of relevent filters depending on sampling frequency and bands center frequency */ - LVM_UINT16 LocalSamplesCount; /* Counter used to update the SpectralDataBufferAudioTime */ - - LVM_UINT16 DownSamplingFactor; /* Down sampling factor depending on the sampling frequency */ - LVM_UINT16 DownSamplingCount; /* Counter used for the downsampling handling */ - - LVM_UINT16 SpectralDataBufferDuration; /* Length of the buffer in time (ms) defined by the application */ - LVM_UINT8 *pSpectralDataBufferStart; /* Starting address of the buffer */ - LVM_UINT8 *pSpectralDataBufferWritePointer; /* Current position of the writting pointer of the buffer */ - LVPSA_Time SpectralDataBufferAudioTime; /* AudioTime at which the last value save occured in the buffer */ - LVM_UINT32 SpectralDataBufferLength; /* Number of spectrum data value that the buffer can contain (per band) - = SpectralDataBufferDuration/20ms */ - - LVM_UINT8 *pPreviousPeaks; /* Points to a nBands elements array that contains the previous peak value of the level - detection. Those values are decremented after each call to the GetSpectrum function */ - -}LVPSA_InstancePr_t, *pLVPSA_InstancePr_t; - - - -/********************************************************************************** - FUNCTIONS PROTOTYPE -***********************************************************************************/ -/************************************************************************************/ -/* */ -/* FUNCTION: LVPSA_ApplyNewSettings */ -/* */ -/* DESCRIPTION: */ -/* Reinitialize some parameters and changes filters' coefficients if */ -/* some control parameters have changed. */ -/* */ -/* PARAMETERS: */ -/* pInst Pointer to the instance */ -/* */ -/* RETURNS: */ -/* LVPSA_OK Always succeeds */ -/* */ -/************************************************************************************/ -LVPSA_RETURN LVPSA_ApplyNewSettings (LVPSA_InstancePr_t *pInst); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* _LVPSA_PRIVATE_H */ |