⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g723_func.h

📁 G.723在ARM上的实现。实现平台为Linux2.4.8+ Intel Xscal。包括源代码
💻 H
字号:
/******************************************************************************functions for g723.1 coder and decoder******************************************************************************/#ifdef __cplusplusextern "C" {#endif/********************** G.723.1 Preprocessing   **********************/IppStatus appsPreprocess_G723_I		(Ipp16s *pSrcSpch, 					Ipp16s *pDstLpcAnalysisBuf, 					int enableHighpassFilter,					Ipp16s *pSrcDstHpfZfir, 					 Ipp32s *pSrcDstHpfZiir, 					Ipp16s *pSrcSpeechHistoryBuf);IppStatus appsSinDetect_G723_I		 (Ipp16s *pSrcDstSineDetect);/********************* G.723.1 LPC Analysis   *********************/IppStatus appsLSFQuantInv_G723_32s16s	(Ipp32s valQLsfIndex, 					const  Ipp16s *pSrcPrevLsf, 					 Ipp16s *pDstLsf, 					 Ipp16s InvalidFrame);IppStatus appsLSFInterp_G723_16s	(Ipp16s *pSrcLsf, 					 Ipp16s *pDstInterpLsf, 					 Ipp16s pDstQuantLpc[IPP_G723_NUM_SUBFRAME][IPP_G723_LPC_ORDER], 					 Ipp16s *pPrevLsf);IppStatus appsAutoCorrSum_G723_16s	(Ipp16s *pSrcRss, 					Ipp16s *pSrcDstFrameAutoCorr, 					Ipp16s *pSrcDstFrameAutoCorrExp);/***************************** G.723.1 perceptual weighting								  *****************************/IppStatus appsPerceptualWeightingFilter_G723_16s      (const Ipp16s *pSrcSpch,							Ipp16s pSrcLpc[IPP_G723_NUM_SUBFRAME][IPP_G723_LPC_ORDER], 							Ipp16s pDstPrcptWgtLpc[IPP_G723_NUM_SUBFRAME<<1][IPP_G723_LPC_ORDER], 							Ipp16s *pDstPrcptWgtSpch, 							Ipp16s *pPwfZfir,							Ipp16s *pPwfZiir,							Ipp16s *pPrevWgtSpch);/************************************************ G.723.1 codebook search target signal synthesis 								  ************************************************/IppStatus appsComputeImpulseResponse_G723_16s	      (Ipp16s valHarmonicDelay, 							Ipp16s valHarmonicGain, 							const Ipp16s *pSrcWgtLpc,							const Ipp16s *pSrcQLpc, 							Ipp16s *pDstImpulseResponse);							IppStatus appsApplyHarmonicNoiseShaping_G723_16s      (Ipp16s *pSrcPrcptWgtSpch, 							Ipp16s *pDstHarmonicWgtSpch, 							 Ipp16s *valHarmonicDelay,                                                        Ipp16s *valHarmonicGain);IppStatus appsComputeAdaptiveTargetVector_G723_16s    (Ipp16s valHarmonicDelay,										Ipp16s valHarmonicGain,										 const Ipp16s *pSrcWgtLpc,										 const Ipp16s *pSrcQLpc,										 const Ipp16s *pSrcZfir,										const Ipp16s *pSrcZiir,										 Ipp16s *pSrcDstTargetSignal);		IppStatus appsComputeFixedTargetVector_G723_16s_I     (Ipp16s *pSrcDstFixedCbTarget, 							Ipp16s *pSrcAdaptCbVect, 							Ipp16s *pSrcImpulseRespVect);IppStatus appsUpdateCombinedFilter_G723_16s           (const Ipp16s *pSrcWgtLpc, 							const Ipp16s *pSrcQLpc, 							Ipp16s *pSrcDstExcitation, 							Ipp16s *pSrcDstZfir, 							Ipp16s *pSrcDstZiir);/********************************* G.723.1 adaptive codebook search 										  *********************************/IppStatus appsOpenLoopPitchSearchPreprocess_G723_16s  (Ipp16s *pSrcPrcptWgtSpch, 							Ipp16s *pDstOLPSAnalysisBuf, 							Ipp16s *pDstPrcptWgtSpchHist);/****************************** G.723.1 ACELP codebook search  ******************************/IppStatus appsPitchSyncFilter_G723_16s_I        (Ipp16s *pSrcDstImpulseResp,						Ipp16s valOpenLoopPitchLag,						Ipp16s valClosedLoopPitchOffset,						Ipp16s valAdaptGainIndex,						Ipp16s *pDstPitchSyncIndex,						Ipp16s *pDstPitchSyncGain);IppStatus appsACELPCrossCorr_G723_16s	        (const Ipp16s *pSrcResidual, 						 const Ipp16s *pSrcImpulseResponse,						Ipp16s *pDstFixedCorr);IppStatus appsACELPGainQuant_G723_16s		(const Ipp16s *pSrcResidual, 						const Ipp16s *pSrcImpulseResp,						const Ipp16s *pSrcPulseSigns, 						const Ipp16s *pSrcPulsePositions, 						Ipp16s *pDstQGain,						Ipp16s *pDstQGainIndex);IppStatus appsScaleACELPVector_G723_16s_I       (Ipp16s *pSrcDstVectACELP,                                                  Ipp16s valQuantGain, 						Ipp16s valPitchSyncIndex,						 Ipp16s valPitchSyncGain);IppStatus appsEncodeACELPVector_G723            (Ipp16s *pSrcPulseSign, 						 Ipp16s *pSrcPulsePos,						  Ipp16s *pDstEncPulseSign, 						 Ipp32s *pDstEncPulsePos);IppStatus appsUpdateErrorTaming_G723_16		(Ipp16s valEstimatedPitch, 						 Ipp16s valClosedLoopPitchOffset, 						 Ipp16s valAdaptGainIndex,						 Ipp32s *pSrcDstErrorTamingParam, 						IppSpchBitRate bitRate);/************************************************* G.723.1 fixed (ACELP/MPMLQ) codevector synthesis *************************************************/IppStatus appsDecodeACELPVector_G723_16s		      (Ipp16s valEstimatedPitchLag,										Ipp16s valClosedLoopPitchOffset,									Ipp16s valPulseSigns,												Ipp16s valQuantGainIndex,											 Ipp16s valPulseGrid,		     									Ipp16s valAdaptGainIndex,											 Ipp32s valPulsePosition,											 Ipp16s *pDstVectACELP);				   IppStatus appsDecodeMPMLQVector_G723_16s		      (Ipp16s valEstimatedPitchLag,									Ipp16s valPulseSigns,											 Ipp16s valQuantGainIndex,										 Ipp16s valPulseGrid,											 Ipp32s valPulsePositions,										 Ipp16s *pDstVectMPMLQF,										 Ipp16s trainDirac,	 		    								Ipp16s subFrame);			    /****************************************** G.723.1 excitation synthesis (non-erasure)  ******************************************/IppStatus appsGenerateExcitation_G723_16s	(Ipp16s *pSrcFixedCbVect, 						Ipp16s *pSrcAdaptCbVect, 						Ipp16s *pDstExcitVect);IppStatus appsNormalizeExcitation_G723_16s	(Ipp16s *pSrcExcit, 						 Ipp16s *pDstExcitNorm, 						 Ipp16s *pSrcDstExcitHist,						Ipp16s *pDstTargetExcitGain);IppStatus appsApplyPitchPostFilter_G723_16s           (Ipp16s valDelay,											 Ipp16s valGain,												 Ipp16s valScalingGain,										 Ipp16s *pSrcExcitation,										Ipp16s *pDstExcitationPPF);		IppStatus appsApplyFormantPostFilter_G723_16s	      (const Ipp16s *pSrcLpc,									 Ipp16s *pSrcDstSpch,									 Ipp16s *pSrcDstZfir,									 Ipp16s *pSrcDstZiir,									 Ipp32s *pDstSpeechEnergy,  							 Ipp16s *pDstAutoCorr);		IppStatus appsApplyGainScale_G723_16s_I	 	          (Ipp16s *pSrcDstSpch,							int postFilterEnabled,							 Ipp16s *pPrevGain,         							 Ipp32s valSpeechEnergy);	IppStatus appsUpdateExcitationHistory_G723_16s	      (Ipp16s *pSrcAdaptCbVect,							 Ipp16s *pSrcFixedCbVect,							Ipp16s *pDstExcitHistBuf);IppStatus appsDecodeDTXGain_G723_16s		( Ipp16s gainIndex, 						 Ipp16s frameType,						Ipp16s prevDTXFrameType,						Ipp16s *sidGain, 						Ipp16s *targetExcitationGain);/******************************** G.723.1A VAD and DTX processing  ********************************/IppStatus appsVAD_G723_16s	 (Ipp16s valSineDtct, 				const Ipp16s *pSrcOpenDelay, 				const Ipp16s *pSrcVadLpc, 				const Ipp16s *pSrcSpch, 				Ipp16s *pResultVadDetect, 	 				IppG723AVadState *pVadState);IppStatus appsDTXDecision_G723_16s	 (Ipp16s valPrevDTXFrameType, 					  const Ipp16s * pSrcPrevLsf, 					const Ipp16s * pSrcAutoCorr, 					const Ipp16s * pSrcAutoCorrExp, 					 Ipp16s * pSrcDstVadLpc, 					Ipp16s * pResultQSidGainIndex, 					Ipp16s * pResultQSidGain, 					Ipp32s * pResultQSidLsfIndex, 					  Ipp16s * pDstQSidLsf, 					  Ipp16s * pResultDTXFrameType,					 Ipp16s * pCngGain,					 IppG723AVadState * pVadState, 					IppG723ADtxState * pDtxState);IppStatus appsGenerateCNGExcitation_G723_16s	      (Ipp16s valSidGain, 							Ipp16s *pSrcDstPrevExcitation,							 Ipp16s *pDstBaseDelay, 							 Ipp16s *pDstCloseLag, 							 Ipp16s *pDstAdptGainIndex, 							 Ipp16s *pDstExcitation,							Ipp16s *pSeed, 							 IppSpchBitRate bitRate);/************************************* G.723.1 erasure excitation synthesis  *************************************/IppStatus appsGenerateErasureExcitation_G723_16s	  (Ipp16s *pDstExcit, 							Ipp16s *pSrcDstExcitHistory,							Ipp16s *pSrcRandSeed, 							Ipp16s valInterpIndex,							 Ipp16s valConsecFrameErasures,							  Ipp16s valInterpolationGain);IppStatus appsUpdateErasureInterpIndex_G723_16s	      (Ipp16s valEstimatedPitch,                                                       const Ipp16s *pSrcResidual, 							 Ipp16s *pDstInterpIndex);IppStatus appsUpdateErasureInterpIndex_G723A_16s	  (Ipp16s valBaseDelay, 							 const Ipp16s * pSrcResidual, 							Ipp16s * pResultIntpltIndex,							Ipp16s * pResultResidualEnergy);/***************************** G.723.1 bitstream processing  *****************************/IppStatus appsPackBitstream_G723_8u                   (Ipp8u *pDstBitStream,							int *pDstNumBitstreamBytes,							Ipp32s valQLsfIndex, 							Ipp16s *pSrcAdaptCbIndexAbs,							Ipp16s *pSrcAdaptCbIndexDiff,							 Ipp16s *pSrcAdaptCbGainIndex,							Ipp16s *pSrcFixedCbGainIndex,							 Ipp16s *pSrcFixedCbDiracPulseFlag,							Ipp16s *pSrcFixedCbGridAlign,							Ipp32s *pSrcFixedCbPulsePos,							 Ipp16s *pSrcFixedCbPulseSign,							 Ipp16s *frameTypeHistory,							 Ipp16s frameType,							IppSpchBitRate bitRate);IppStatus appsUnpackBitstream_G723_8u          (Ipp8u *pSrcBitStream, 						int *pDstNumBitstreamBytes,						 Ipp32s *pDstQLsfIndex, 						Ipp16s *pDstAdaptCbIndexAbs,						 Ipp16s *pDstAdaptCbIndexDiff,						 Ipp16s *pDstAdaptCbGainIndex,						 Ipp16s *pDstFixedCbGainIndex,						Ipp16s *pDstFixedCbDiracPulseFlag,						Ipp16s *pDstFixedCbGridAlign,						 Ipp32s *pDstFixedCbPulsePos,						Ipp16s *pDstFixedCbPulseSign,						Ipp16s *pDstInterpolationGain,						Ipp16s *pDstConsecFrameErasures,						 Ipp16s prevDTXFrameType,						 Ipp16s *frameType,						 IppSpchBitRate *pDstBitRate,						 Ipp16s *pDstInvalidFrame);/******************************* G.723.1 scalar math operations  *******************************/Ipp32s appsMul16by32_G723_32s		(Ipp32s val1, Ipp16s val2);Ipp16s appsDiv16_G723_16s		(Ipp16s val1, Ipp16s val2);Ipp16s appsDiv32_G723_32s16s		(Ipp32s val1, Ipp16s val2);Ipp16s appsNorm16_G723_16s		(Ipp16s val, Ipp16s * pResult);Ipp16s appsNorm32_G723_32s		(Ipp32s val, Ipp32s * pResult);Ipp16s appsSqrt32_G723_32s16s		(Ipp32s val);Ipp16s appsGenerateRandom_G723_16s	(Ipp16s * pValResultSeed, Ipp16s range);#ifdef __cplusplus}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -