亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? decgsmamr.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/*/////////////////////////////////////////////////////////////////////////////
//
//                  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.
//
//     Intel(R) Integrated Performance Primitives
//     USC - Unified Speech Codec interface library
//
// By downloading and installing USC codec, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ipplic.htm located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// A speech coding standards promoted by ITU, ETSI, 3GPP and other
// organizations. Implementations of these standards, or the standard enabled
// platforms may require licenses from various entities, including
// Intel Corporation.
//
//
// Purpose: GSMAMR speech codec: decoder API.
//
*/

#include "owngsmamr.h"

/* filter coefficients (fc = 100 Hz) */

static __ALIGN32 CONST short b100[3] = {7699, -15398, 7699};      /* Q13 */
static __ALIGN32 CONST short a100[3] = {8192, 15836, -7667};      /* Q13 */


GSMAMR_CODECFUN( APIGSMAMR_Status, apiGSMAMRDecoder_GetSize,
         (GSMAMRDecoder_Obj* decoderObj, unsigned int *pCodecSize))
{
   if(NULL == decoderObj)
      return APIGSMAMR_StsBadArgErr;
   if(NULL == pCodecSize)
      return APIGSMAMR_StsBadArgErr;
   if(decoderObj->objPrm.key != DEC_KEY)
      return APIGSMAMR_StsNotInitialized;

   *pCodecSize = decoderObj->objPrm.objSize;
   return APIGSMAMR_StsNoErr;
}


GSMAMR_CODECFUN( APIGSMAMR_Status, apiGSMAMRDecoder_Alloc,
         (const GSMAMRDec_Params *gsm_Params, unsigned int *pSizeTab))
{
   int fltSize;
   int allocSize=sizeof(GSMAMRDecoder_Obj);
   if(GSMAMR_CODEC != gsm_Params->codecType)
      return APIGSMAMR_StsBadCodecType;
   ippsHighPassFilterSize_G729(&fltSize);
   allocSize += fltSize; /* to provide memory for postprocessing high pass filter with upscaling */
   pSizeTab[0] =  allocSize;
   return APIGSMAMR_StsNoErr;
}

int ownDtxDecoderInit_GSMAMR(sDTXDecoderSt* dtxState)
{
   int i;

   dtxState->vLastSidFrame = 0;
   dtxState->vSidPeriodInv = (1 << 13);
   dtxState->vLogEnergy = 3500;
   dtxState->vLogEnergyOld = 3500;
   /* low level noise for better performance in  DTX handover cases*/

   dtxState->vPerfSeedDTX_long = PSEUDO_NOISE_SEED;

   /* Initialize state->a_LSP [] and state->a_LSP_Old [] */
   ippsCopy_16s(TableLSPInitData, &dtxState->a_LSP[0], LP_ORDER_SIZE);
   ippsCopy_16s(TableLSPInitData, &dtxState->a_LSP_Old[0], LP_ORDER_SIZE);
   dtxState->vLogMean = 0;
   dtxState->vLogEnergyHistory = 0;

   /* initialize decoder lsf history */
   ippsCopy_16s(TableMeanLSF_5, &dtxState->a_LSFHistory[0], LP_ORDER_SIZE);

   for (i = 1; i < DTX_HIST_SIZE; i++)
      ippsCopy_16s(&dtxState->a_LSFHistory[0], &dtxState->a_LSFHistory[LP_ORDER_SIZE*i], LP_ORDER_SIZE);

   ippsZero_16s(dtxState->a_LSFHistoryMean, LP_ORDER_SIZE*DTX_HIST_SIZE);

   /* initialize decoder log frame energy */
   ippsSet_16s(dtxState->vLogEnergy, dtxState->a_LogEnergyHistory, DTX_HIST_SIZE);
   dtxState->vLogEnergyCorrect = 0;
   dtxState->vDTXHangoverCt = DTX_HANG_PERIOD;
   dtxState->vDecExpireCt = 32767;
   dtxState->vFlagSidFrame = 0;
   dtxState->vFlagValidData = 0;
   dtxState->vDTXHangAdd = 0;
   dtxState->eDTXPrevState = DTX;
   dtxState->vFlagDataUpdate = 0;
   return 1;
}

int ownPhDispInit_GSMAMR(sPhaseDispSt* PhState)
{
   ippsZero_16s(PhState->a_GainMemory, LTP_GAIN_MEM_SIZE);
   PhState->vPrevState = 0;
   PhState->vPrevGain = 0;
   PhState->vFlagLockGain = 0;
   PhState->vOnSetGain = 0;          /* assume no onset in start */

   return 1;
}

int ownPostFilterInit_GSMAMR(sPostFilterSt *PostState)
{
   ippsZero_16s(PostState->a_MemSynPst, LP_ORDER_SIZE);
   ippsZero_16s(PostState->a_SynthBuf, LP_ORDER_SIZE);
   PostState->vPastGainScale = 4096;
   PostState->vMemPrevRes = 0;

  return 1;
}

int ownDecoderInit_GSMAMR(sDecoderState_GSMAMR* decState, GSMAMR_Rate_t rate)
{
   /* Initialize static pointer */
   decState->pExcVec = decState->a_ExcVecOld + PITCH_MAX_LAG + FLT_INTER_SIZE;

   /* Static vectors to zero */
   ippsZero_16s(decState->a_ExcVecOld, PITCH_MAX_LAG + FLT_INTER_SIZE);

   if (rate != GSMAMR_RATE_DTX)
     ippsZero_16s(decState->a_MemorySyn, LP_ORDER_SIZE);

   /* initialize pitch sharpening */
   decState->vFlagSharp = PITCH_SHARP_MIN;
   decState->vPrevPitchLag = 40;

   /* Initialize decState->lsp_old [] */

   if (rate != GSMAMR_RATE_DTX) {
      ippsCopy_16s(TableLSPInitData, &decState->a_LSP_Old[0], LP_ORDER_SIZE);
   }

   /* Initialize memories of bad frame handling */
   decState->vPrevBadFr = 0;
   decState->vPrevDegBadFr = 0;
   decState->vStateMachine = 0;

   decState->vLTPLag = 40;
   decState->vBackgroundNoise = 0;
   ippsZero_16s(decState->a_EnergyHistVector, ENERGY_HIST_SIZE);

   /* Initialize hangover handling */
   decState->vCountHangover = 0;
   decState->vVoiceHangover = 0;
   if (rate != GSMAMR_RATE_DTX) {
      ippsZero_16s(decState->a_EnergyHistSubFr, 9);
   }

   ippsZero_16s(decState->a_LTPGainHistory, 9);
   ippsZero_16s(decState->a_GainHistory, CBGAIN_HIST_SIZE);

   /* Initialize hangover handling */
   decState->vHgAverageVar = 0;
   decState->vHgAverageCount= 0;
   if (rate != GSMAMR_RATE_DTX)
     ippsCopy_16s(TableMeanLSF_5, &decState->a_LSPAveraged[0], LP_ORDER_SIZE);
   ippsZero_16s(decState->a_PastQntPredErr, LP_ORDER_SIZE);             /* Past quantized prediction error */

   /* Past dequantized lsfs */
   ippsCopy_16s(TableMeanLSF_5, &decState->a_PastLSFQnt[0], LP_ORDER_SIZE);
   ippsSet_16s(1640, decState->a_LSFBuffer, 5);
   decState->vPastGainZero = 0;
   decState->vPrevGainZero = 16384;
   ippsSet_16s(1, decState->a_GainBuffer, 5);
   decState->vPastGainCode = 0;
   decState->vPrevGainCode = 1;

   if (rate != GSMAMR_RATE_DTX) {
        ippsSet_16s(MIN_ENERGY, decState->a_PastQntEnergy, NUM_PRED_TAPS);
        ippsSet_16s(MIN_ENERGY_M122, decState->a_PastQntEnergy_M122, NUM_PRED_TAPS);
   }

   decState->vCNGen = 21845;
   ownPhDispInit_GSMAMR(&decState->stPhDispState);
   if (rate != GSMAMR_RATE_DTX)
     ownDtxDecoderInit_GSMAMR(&decState->dtxDecoderState);
   ownDecSidSyncReset_GSMAMR(&decState->dtxDecoderState);

   return 1;
}
/*************************************************************************
* apiGSMAMRDecoder_Init()
*   Initializes the decoder object
**************************************************************************/
GSMAMR_CODECFUN( APIGSMAMR_Status, apiGSMAMRDecoder_Init, (GSMAMRDecoder_Obj* decoderObj, unsigned int mode))
{
   int fltSize;
   IPP_ALIGNED_ARRAY(16, Ipp16s, abDec, 6);
   int obj_size = sizeof(GSMAMRDecoder_Obj);
   ippsZero_16s((short*)decoderObj,sizeof(GSMAMRDecoder_Obj)>>1) ;   /* non-initialized data, bug in debug mode AK27.08.01 */
   decoderObj->objPrm.mode = mode;
   decoderObj->objPrm.key = DEC_KEY;
   decoderObj->postProc = (char*)decoderObj + sizeof(GSMAMRDecoder_Obj);
   ippsHighPassFilterSize_G729(&fltSize);
   decoderObj->objPrm.objSize = obj_size+fltSize;

   abDec[0] = a100[0];
   abDec[1] = a100[1];
   abDec[2] = a100[2];
   abDec[3] = b100[0];
   abDec[4] = b100[1];
   abDec[5] = b100[2];
   ownPostFilterInit_GSMAMR(&decoderObj->stPFiltState);
   ippsHighPassFilterInit_G729(abDec,decoderObj->postProc);
   ownDecoderInit_GSMAMR(&decoderObj->stDecState,decoderObj->rate);
   return APIGSMAMR_StsNoErr;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av亚洲精华国产精华精华| 一区在线观看视频| 日韩影视精彩在线| 欧美日韩日日摸| 亚洲一区二区3| 欧美美女bb生活片| 国产激情精品久久久第一区二区| 精品国产乱码久久久久久牛牛| 日日摸夜夜添夜夜添亚洲女人| 中文字幕精品综合| 成人免费av资源| 亚洲精品网站在线观看| 欧美人牲a欧美精品| 麻豆成人久久精品二区三区小说| 欧美刺激午夜性久久久久久久| 国产一区二区三区在线观看免费视频| 久久久久久久性| 成人性生交大合| 亚洲品质自拍视频| 欧美网站一区二区| 玖玖九九国产精品| 国产欧美视频一区二区三区| 一本大道综合伊人精品热热| 亚洲午夜久久久久久久久久久| 欧美精品日韩一区| 国产精品自拍网站| 一区二区三区日韩| 欧美日韩一区二区三区四区五区| 日韩 欧美一区二区三区| 欧美高清一级片在线| 国产精品一区在线观看乱码| 亚洲精品日韩综合观看成人91| 欧美精品乱码久久久久久| 国产伦理精品不卡| 亚洲色图欧洲色图婷婷| 日韩一区二区三区精品视频| 高清不卡一区二区在线| 亚州成人在线电影| 亚洲国产精华液网站w| 欧美一区二区三区在| 成人18视频日本| 青草国产精品久久久久久| 国产精品久久久久久久久搜平片| 欧美日韩国产综合草草| 亚洲欧美日韩在线不卡| 欧美电影免费提供在线观看| 色哟哟国产精品免费观看| 一区二区国产盗摄色噜噜| 欧美亚洲综合色| 精油按摩中文字幕久久| 亚洲一区二区三区四区五区中文| 精品国产一区二区三区四区四| 在线精品视频免费观看| 国产成人精品影视| 亚洲国产精品99久久久久久久久 | 久久精品久久综合| 91日韩一区二区三区| 欧美一a一片一级一片| 欧美日本一道本| 国产精品美女久久福利网站| 日韩精品一区二区在线观看| 欧美网站大全在线观看| 一本一道久久a久久精品 | 国产精品青草久久| 国产午夜精品一区二区三区嫩草| 日韩免费高清电影| 日韩免费性生活视频播放| 6080日韩午夜伦伦午夜伦| 欧美亚洲国产bt| 在线免费观看日本欧美| 一本久久综合亚洲鲁鲁五月天| 成人毛片老司机大片| 国产盗摄视频一区二区三区| 国产主播一区二区三区| 久久精品国产99| 毛片一区二区三区| 美国欧美日韩国产在线播放| 麻豆中文一区二区| 韩国av一区二区三区四区| 九色综合狠狠综合久久| 国产一区二区三区久久悠悠色av| 国内成人免费视频| 美女视频网站黄色亚洲| 婷婷激情综合网| 六月婷婷色综合| 国产另类ts人妖一区二区| 国产电影一区二区三区| 秋霞电影一区二区| 青草av.久久免费一区| 韩国精品免费视频| 国产经典欧美精品| 成人av免费网站| 91搞黄在线观看| 5858s免费视频成人| 精品乱码亚洲一区二区不卡| 久久精品一区四区| 中文字幕欧美一| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产日韩综合久久精品| 日本欧美一区二区| 国产精品12区| 在线免费观看日本一区| 777亚洲妇女| 久久精品在这里| 亚洲激情欧美激情| 日韩精品久久理论片| 国产成人亚洲精品青草天美| 成人午夜在线免费| 91麻豆国产精品久久| 91麻豆精品国产91久久久资源速度| 日韩欧美资源站| 欧美激情一二三区| 中文字幕佐山爱一区二区免费| 亚洲大型综合色站| 国产成人亚洲综合a∨婷婷图片| 在线一区二区观看| 精品粉嫩aⅴ一区二区三区四区| 1024成人网色www| 看电视剧不卡顿的网站| 91在线高清观看| 日韩免费高清视频| 一区二区三区在线视频观看58| 久久99久久99| 欧洲一区二区三区在线| 26uuu色噜噜精品一区| 亚洲自拍欧美精品| 国产福利一区二区| 欧美日韩在线播放一区| 欧美韩日一区二区三区| 日本成人在线视频网站| 99久久伊人精品| 精品久久久久久久久久久久包黑料| 亚洲欧美国产77777| 国产剧情一区在线| 欧美一区二区三区四区久久| 亚洲三级小视频| 狠狠狠色丁香婷婷综合久久五月| 91国产视频在线观看| 国产日韩欧美亚洲| 婷婷六月综合亚洲| 白白色亚洲国产精品| 亚洲精品一区二区三区影院| 亚洲天堂福利av| 九九热在线视频观看这里只有精品| 欧美亚洲国产一区二区三区| 《视频一区视频二区| 国产乱码精品1区2区3区| 日韩欧美美女一区二区三区| 亚洲成人免费看| 99re视频精品| 国产精品久久看| 欧美aaaaaa午夜精品| 欧美亚洲精品一区| 一区二区三区在线影院| av一区二区三区黑人| 久久蜜桃一区二区| 免费成人美女在线观看| 3atv一区二区三区| 午夜精品国产更新| 欧美精品粉嫩高潮一区二区| 亚洲一区二区三区免费视频| 91免费版pro下载短视频| 综合激情网...| 99re热视频精品| 亚洲免费色视频| 日本韩国一区二区三区| 一区二区免费看| 欧美性色欧美a在线播放| 一区二区三区日本| 欧美日韩精品欧美日韩精品一 | 亚洲国产sm捆绑调教视频| 欧洲av在线精品| 亚洲va国产va欧美va观看| 欧美猛男男办公室激情| 日本午夜一本久久久综合| 日韩精品资源二区在线| 国产精品资源在线看| 国产亚洲精品bt天堂精选| 成人免费毛片片v| 亚洲欧美日韩在线播放| 欧美少妇一区二区| 日本91福利区| 26uuu国产电影一区二区| 国产不卡在线一区| 亚洲视频电影在线| 欧美日韩高清一区二区三区| 美女一区二区视频| 久久午夜电影网| 99热在这里有精品免费| 亚洲国产精品久久久久婷婷884| 欧美丝袜自拍制服另类| 免费一区二区视频| 久久久久久久综合色一本| 99re热这里只有精品视频| 亚洲免费av观看| 欧美精品乱人伦久久久久久| 国产乱码精品一区二区三区忘忧草 | 久久av老司机精品网站导航| 国产人成一区二区三区影院| 日本久久电影网|