/* ** Copyright 2003-2010, VisualOn, Inc. ** ** 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. */ /******************************************************************************* File: psy_main.h Content: Psychoacoustic major function block *******************************************************************************/ #ifndef _PSYMAIN_H #define _PSYMAIN_H #include "psy_configuration.h" #include "qc_data.h" #include "memalign.h" /* psy kernel */ typedef struct { PSY_CONFIGURATION_LONG psyConfLong; /* Word16 size: 515 */ PSY_CONFIGURATION_SHORT psyConfShort; /* Word16 size: 167 */ PSY_DATA psyData[MAX_CHANNELS]; /* Word16 size: MAX_CHANNELS*1669*/ TNS_DATA tnsData[MAX_CHANNELS]; /* Word16 size: MAX_CHANNELS*235 */ Word32* pScratchTns; Word16 sampleRateIdx; }PSY_KERNEL; /* Word16 size: 2587 / 4491 */ Word16 PsyNew( PSY_KERNEL *hPsy, Word32 nChan, VO_MEM_OPERATOR *pMemOP); Word16 PsyDelete( PSY_KERNEL *hPsy, VO_MEM_OPERATOR *pMemOP); Word16 PsyOutNew( PSY_OUT *hPsyOut, VO_MEM_OPERATOR *pMemOP); Word16 PsyOutDelete( PSY_OUT *hPsyOut, VO_MEM_OPERATOR *pMemOP); Word16 psyMainInit( PSY_KERNEL *hPsy, Word32 sampleRate, Word32 bitRate, Word16 channels, Word16 tnsMask, Word16 bandwidth); Word16 psyMain(Word16 nChannels, /*!< total number of channels */ ELEMENT_INFO *elemInfo, Word16 *timeSignal, /*!< interleaved time signal */ PSY_DATA psyData[MAX_CHANNELS], TNS_DATA tnsData[MAX_CHANNELS], PSY_CONFIGURATION_LONG* psyConfLong, PSY_CONFIGURATION_SHORT* psyConfShort, PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS], PSY_OUT_ELEMENT *psyOutElement, Word32 *pScratchTns, Word32 sampleRate); #endif /* _PSYMAIN_H */