diff options
Diffstat (limited to 'libvideoeditor/vss/common/inc/SSRC.h')
-rwxr-xr-x | libvideoeditor/vss/common/inc/SSRC.h | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/libvideoeditor/vss/common/inc/SSRC.h b/libvideoeditor/vss/common/inc/SSRC.h deleted file mode 100755 index 2b1cfcf..0000000 --- a/libvideoeditor/vss/common/inc/SSRC.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (C) 2011 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. - */ - -/****************************************************************************************/ -/* */ -/* Project:: */ -/* %name: SSRC.h % */ -/* */ -/****************************************************************************************/ - -/* - The input and output blocks of the SRC are by default blocks of 40 ms. This means that - the following default block sizes are used: - - Fs Default Block size - ----- ---------- - 8000 320 - 11025 441 - 12000 480 - 16000 640 - 22050 882 - 24000 960 - 32000 1280 - 44100 1764 - 48000 1920 - - An API is provided to change the default block size into any multiple of the minimal - block size. - - All the sampling rates above are supported as input and as output sampling rate -*/ - -#ifndef __SSRC_H__ -#define __SSRC_H__ - -/**************************************************************************************** - INCLUDES -*****************************************************************************************/ - -#include "LVM_Types.h" - -/**************************************************************************************** - DEFINITIONS -*****************************************************************************************/ - -#define SSRC_INSTANCE_SIZE 548 -#define SSRC_INSTANCE_ALIGNMENT 4 -#define SSRC_SCRATCH_ALIGNMENT 4 - -/**************************************************************************************** - TYPE DEFINITIONS -*****************************************************************************************/ - -/* Status return values */ -typedef enum -{ - SSRC_OK = 0, /* Successful return from a routine */ - SSRC_INVALID_FS = 1, /* The input or the output sampling rate is - invalid */ - SSRC_INVALID_NR_CHANNELS = 2, /* The number of channels is not equal to mono - or stereo */ - SSRC_NULL_POINTER = 3, /* One of the input pointers is NULL */ - SSRC_WRONG_NR_SAMPLES = 4, /* Invalid number of samples */ - SSRC_ALLINGMENT_ERROR = 5, /* The instance memory or the scratch memory - is not alligned */ - SSRC_INVALID_MODE = 6, /* A wrong value has been used for the mode - parameter */ - SSRC_INVALID_VALUE = 7, /* An invalid (out of range) value has been - used for one of the parameters */ - LVXXX_RETURNSTATUS_DUMMY = LVM_MAXENUM -} SSRC_ReturnStatus_en; - -/* Instance memory */ -typedef struct -{ - LVM_INT32 Storage [ SSRC_INSTANCE_SIZE/4 ]; -} SSRC_Instance_t; - -/* Scratch memory */ -typedef LVM_INT32 SSRC_Scratch_t; - -/* Nuber of samples mode */ -typedef enum -{ - SSRC_NR_SAMPLES_DEFAULT = 0, - SSRC_NR_SAMPLES_MIN = 1, - SSRC_NR_SAMPLES_DUMMY = LVM_MAXENUM -} SSRC_NR_SAMPLES_MODE_en; - -/* Instance parameters */ -typedef struct -{ - LVM_Fs_en SSRC_Fs_In; - LVM_Fs_en SSRC_Fs_Out; - LVM_Format_en SSRC_NrOfChannels; - LVM_INT16 NrSamplesIn; - LVM_INT16 NrSamplesOut; -} SSRC_Params_t; - - -/**************************************************************************************** - FUNCTION PROTOTYPES -*****************************************************************************************/ - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_GetNrSamples */ -/* */ -/* DESCRIPTION: */ -/* This function retrieves the number of samples (or sample pairs for stereo) to be */ -/* used as input and as output of the SSRC module. */ -/* */ -/* PARAMETERS: */ -/* Mode There are two modes: */ -/* - SSRC_NR_SAMPELS_DEFAULT. In this mode, the function */ -/* will return the number of samples for 40 ms blocks */ -/* - SSRC_NR_SAMPELS_MIN will return the minimal number */ -/* of samples that is supported for this conversion */ -/* ratio. Each integer multiple of this ratio will */ -/* be accepted by the SSRC_Init function */ -/* */ -/* pSSRC_Params pointer to the instance parameters */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_NULL_POINTER When pSSRC_Params is a NULL pointer */ -/* SSRC_INVALID_MODE When Mode is not a valid setting */ -/* */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_GetNrSamples( SSRC_NR_SAMPLES_MODE_en Mode, - SSRC_Params_t* pSSRC_Params ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_GetScratchSize */ -/* */ -/* DESCRIPTION: */ -/* This function retrieves the scratch size for a given conversion ratio and */ -/* for given buffer sizes at the input and at the output */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Params pointer to the instance parameters */ -/* pScratchSize pointer to the scratch size. The SSRC_GetScratchSize */ -/* function will fill in the correct value (in bytes). */ -/* */ -/* RETURNS: */ -/* SSRC_OK when the function call succeeds */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_NULL_POINTER When any of the input pointers is a NULL pointer */ -/* SSRC_WRONG_NR_SAMPLES When the number of samples on the input or on the output */ -/* are incorrect */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_GetScratchSize( SSRC_Params_t* pSSRC_Params, - LVM_INT32* pScratchSize ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_Init */ -/* */ -/* DESCRIPTION: */ -/* This function is used to initialize the SSRC module instance. */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Instance Instance pointer */ -/* */ -/* pSSRC_Scratch pointer to the scratch memory */ -/* pSSRC_Params pointer to the instance parameters */ -/* pInputInScratch, pointer to a location in the scratch memory that can be */ -/* used to store the input samples (e.g. to save memory) */ -/* pOutputInScratch pointer to a location in the scratch memory that can be */ -/* used to store the output samples (e.g. to save memory) */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_INVALID_FS When the requested input or output sampling rates */ -/* are invalid. */ -/* SSRC_INVALID_NR_CHANNELS When the channel format is not equal to LVM_MONO */ -/* or LVM_STEREO */ -/* SSRC_WRONG_NR_SAMPLES When the number of samples on the input or the output */ -/* are incorrect */ -/* SSRC_NULL_POINTER When any of the input pointers is a NULL pointer */ -/* SSRC_ALLINGMENT_ERROR When the instance memory or the scratch memory is not */ -/* 4 bytes alligned */ -/* */ -/* NOTES: */ -/* 1. The init function will clear the internal state */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_Init( SSRC_Instance_t* pSSRC_Instance, - SSRC_Scratch_t* pSSRC_Scratch, - SSRC_Params_t* pSSRC_Params, - LVM_INT16** ppInputInScratch, - LVM_INT16** ppOutputInScratch); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_SetGains */ -/* */ -/* DESCRIPTION: */ -/* This function sets headroom gain and the post gain of the SSRC */ -/* */ -/* PARAMETERS: */ -/* bHeadroomGainEnabled parameter to enable or disable the headroom gain of the */ -/* SSRC. The default value is LVM_MODE_ON. LVM_MODE_OFF */ -/* can be used in case it can be guaranteed that the input */ -/* level is below -6dB in all cases (the default headroom */ -/* is -6 dB) */ -/* */ -/* bOutputGainEnabled parameter to enable or disable the output gain. The */ -/* default value is LVM_MODE_ON */ -/* */ -/* OutputGain the value of the output gain. The output gain is a linear */ -/* gain value. 0x7FFF is equal to +6 dB and 0x0000 corresponds */ -/* to -inf dB. By default, a 3dB gain is applied, resulting */ -/* in an overall gain of -3dB (-6dB headroom + 3dB output gain)*/ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_NULL_POINTER When pSSRC_Instance is a NULL pointer */ -/* SSRC_INVALID_MODE Wrong value used for the bHeadroomGainEnabled or the */ -/* bOutputGainEnabled parameters. */ -/* SSRC_INVALID_VALUE When OutputGain is out to the range [0;32767] */ -/* */ -/* NOTES: */ -/* 1. The SSRC_SetGains function is an optional function that should only be used */ -/* in rare cases. Preferably, use the default settings. */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_SetGains( SSRC_Instance_t* pSSRC_Instance, - LVM_Mode_en bHeadroomGainEnabled, - LVM_Mode_en bOutputGainEnabled, - LVM_INT16 OutputGain ); - - -/****************************************************************************************/ -/* */ -/* FUNCTION: SSRC_Process */ -/* */ -/* DESCRIPTION: */ -/* Process function for the SSRC module. */ -/* */ -/* PARAMETERS: */ -/* pSSRC_Instance Instance pointer */ -/* pSSRC_AudioIn Pointer to the input data */ -/* pSSRC_AudioOut Pointer to the output data */ -/* */ -/* RETURNS: */ -/* SSRC_OK Succeeded */ -/* SSRC_NULL_POINTER When one of pSSRC_Instance, pSSRC_AudioIn or pSSRC_AudioOut */ -/* is NULL */ -/* */ -/* NOTES: */ -/* */ -/****************************************************************************************/ - -SSRC_ReturnStatus_en SSRC_Process( SSRC_Instance_t* pSSRC_Instance, - LVM_INT16* pSSRC_AudioIn, - LVM_INT16* pSSRC_AudioOut); - -/****************************************************************************************/ - -#endif /* __SSRC_H__ */ |