📄 sbrdec_api_fp.h
字号:
/*////////////////////////////////////////////////////////////////////////////////// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright(c) 2005 Intel Corporation. All Rights Reserved.//*/#ifndef __SBRDEC_API_FP_H__#define __SBRDEC_API_FP_H__#include "ippac.h"#include "ipps.h"#include "sbrdec.h"//#include "sbr_debug.h"#include "aaccmn_chmap.h"typedef struct { // specification Filter Ipp8u* pQmfMemSpec[12]; IppsFilterSpec_SBR_R_32f *pAnalysisFilterSpec_LPmode[2]; IppsFilterSpec_SBR_C_32f *pAnalysisFilterSpec_HQmode[2]; IppsFilterSpec_SBR_R_32f *pSynthesisFilterSpec_LPmode[2]; IppsFilterSpec_SBR_C_32f *pSynthesisFilterSpec_HQmode[2]; IppsFilterSpec_SBR_C_32f *pSynthesisDownFilterSpec_HQmode[2]; IppsFilterSpec_SBR_R_32f *pSynthesisDownFilterSpec_LPmode[2];} sSbrDecFilter;typedef struct { // sbr matrix's work space/* main-matrix */ Ipp32f *XBufRe[2][40]; Ipp32f *XBufIm[2][40]; Ipp32f *YBufRe[2][40]; Ipp32f *YBufIm[2][40]; Ipp32f *ZBufRe[2][40]; Ipp32f *ZBufIm[2][40]; /* these descriptors contain pointer to the allocatable memory (main matrix). / It is need, because mixing wiil be done */ Ipp32f* _dcMemoryMatrix[2];/* HF adjustment: these buffers keep Noise & Gain data */ Ipp32f BufGain[2][MAX_NUM_ENV][MAX_NUM_ENV_VAL]; Ipp32f BufNoise[2][MAX_NUM_ENV][MAX_NUM_ENV_VAL];/* LP mode */ Ipp32f degPatched[2][MAX_NUM_ENV_VAL]; Ipp32f vecEnvOrig[2][5*64]; Ipp32f vecNoiseOrig[2][2*5]; /* for HF generation */ Ipp32f bwArray[2][MAX_NUM_NOISE_VAL];} sSbrDecWorkSpace;typedef struct { sSbrDecCommon sbr_com; sSbrDecWorkSpace sbr_WS;} sSbrBlock;#ifdef __cplusplusextern "C" {#endif /* algorithm */ Ipp32s sbrDequantization( sSbrDecCommon* pSbrCom, sSbrDecWorkSpace* pSbrWS, Ipp32s ch, int bs_amp_res ); Ipp32s sbrGenerationHF(Ipp32f **XBufRe, Ipp32f **XBufIm, Ipp32f **XhighRe, Ipp32f **XhighIm, sSbrDecCommon* sbr_com, Ipp32f* bwArray, Ipp32f* degPatched, Ipp32s ch, int decode_mode, Ipp32f* pWorkBuffer); void sbrAdjustmentHF(Ipp32f **YBufRe, Ipp32f **YBufIm, Ipp32f* vecEnvOrig, Ipp32f* vecNoiseOrig, Ipp32f BufGain[][MAX_NUM_ENV_VAL], Ipp32f BufNoise[][MAX_NUM_ENV_VAL], sSbrDecCommon* sbr_com, Ipp32f *degPatched, Ipp8u *WorkBuffer, Ipp32s reset, Ipp32s ch, Ipp32s decode_mode);/* SBR GENERAL HIGH LEVEL API: FLOAT POINT VERSION */ // init() Ipp32s sbrdecInitFilter( sSbrDecFilter** pDC, int* vecSizeWorkBuf ); sSbrBlock *sbrInitDecoder( void ); // reset() Ipp32s sbrdecReset( sSbrBlock* pSbr ); // get_frame()Ipp32s sbrGetFrame(Ipp32f *pSrc, Ipp32f *pDst, sSbrBlock * pSbr, sSbrDecFilter* sbr_filter, Ipp32s ch, Ipp32s decode_mode, Ipp32s dwnsmpl_mode, Ipp8u* pWorkBuffer); // free() Ipp32s sbrdecFreeFilter( sSbrDecFilter* pDC[CH_MAX] ); Ipp32s sbrFreeDecoder(sSbrBlock * pDst);/* end */#ifdef __cplusplus}#endif#endif /* __SBRDEC_API_FP_H__ *//* EOF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -