/* ** 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: qc_main.h Content: Quantizing & coding functions *******************************************************************************/ #ifndef _QC_MAIN_H #define _QC_MAIN_H #include "qc_data.h" #include "interface.h" #include "memalign.h" /* Quantizing & coding stage */ Word16 QCOutNew(QC_OUT *hQC, Word16 nChannels, VO_MEM_OPERATOR *pMemOP); void QCOutDelete(QC_OUT *hQC, VO_MEM_OPERATOR *pMemOP); Word16 QCNew(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP); Word16 QCInit(QC_STATE *hQC, struct QC_INIT *init); void QCDelete(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP); Word16 QCMain(QC_STATE *hQC, ELEMENT_BITS* elBits, ATS_ELEMENT* adjThrStateElement, PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS], /* may be modified in-place */ PSY_OUT_ELEMENT* psyOutElement, QC_OUT_CHANNEL qcOutChannel[MAX_CHANNELS], /* out */ QC_OUT_ELEMENT* qcOutElement, Word16 nChannels, Word16 ancillaryDataBytes); /* returns error code */ void updateBitres(QC_STATE* qcKernel, QC_OUT* qcOut); Word16 FinalizeBitConsumption(QC_STATE *hQC, QC_OUT* qcOut); Word16 AdjustBitrate(QC_STATE *hQC, Word32 bitRate, Word32 sampleRate); #endif /* _QC_MAIN_H */