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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adapters.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
字號:
/*/////////////////////////////////////////////////////////////////////////////
//
//                  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: G.728 speech codec: adapters' functions.
//
*/

#include "owng728.h"
#include "g728tables.h"

void WeightingFilterCoeffsCalc(Ipp16s *pTmpWghtFltrCoeffs, Ipp16s coeffsScale,
                                     Ipp16s *pVecWghtFltrCoeffs) {
   Ipp32s dwProd, i;
   Ipp16s tmpCoeffs[10];
   Ipp16s *pNumerCoeffs = pVecWghtFltrCoeffs;
   Ipp16s *pDenomCoeffs = pVecWghtFltrCoeffs+LPCW;
   Ipp16s scale = 16 - coeffsScale;
   Ipp32s ovfPos = IPP_MAX_32S >> scale;
   Ipp32s ovfNeg = IPP_MIN_32S >> scale;

   /* Do the numerator coefficients */
   for(i=0; i<6; i++){
      dwProd = cnstZeroCtrlFactor[i+1] * pTmpWghtFltrCoeffs[i];
      /* if Overflow expected in ShiftL_32s Do not update */
      if(dwProd > ovfPos || dwProd < ovfNeg) return;
      dwProd <<= scale;
      tmpCoeffs[i] = Cnvrt_NR_32s16s(dwProd);
   }

   for(i=6; i<LPCW; i++){
      dwProd = cnstZeroCtrlFactor[i+1] * pTmpWghtFltrCoeffs[i];
      dwProd <<= scale;
      tmpCoeffs[i] = Cnvrt_NR_32s16s(dwProd);
   }

   for(i=0; i<LPCW; i++)
      pNumerCoeffs[i] = tmpCoeffs[i];

   /* Do the denumerator coefficients */
   for(i=0; i<LPCW; i++){
      dwProd = cnstPoleCtrlFactor[i+1] * pTmpWghtFltrCoeffs[i];
      dwProd <<= scale;
      pDenomCoeffs[i] = Cnvrt_NR_32s16s(dwProd);
   }

   return;
}


void BandwidthExpansionModul(const Ipp16s* pConstBroadenVector, Ipp16s* pTmpCoeffs,
                             Ipp16s coeffsScale, Ipp16s* pCoeffs, int len){
   Ipp32s i, dwProd;
   Ipp16s scale = 16 - coeffsScale;
   Ipp32s ovfPos = IPP_MAX_32S >> scale;
   Ipp32s ovfNeg = IPP_MIN_32S >> scale;

   for(i=0; i<len; i++) {
      dwProd = pConstBroadenVector[i] * pTmpCoeffs[i];
      /* if Overflow expected in ShiftL_32s Do not update */
      if(dwProd > ovfPos || dwProd < ovfNeg) return;
      dwProd <<= scale;
      pTmpCoeffs[i] = Cnvrt_NR_32s16s(dwProd);
   }

   for(i=0; i<len; i++)
      pCoeffs[i] = pTmpCoeffs[i];

   return;
}

void BandwidthExpansionModulFE(const Ipp16s* pConstBroadenVector, Ipp16s* pTmpCoeffs,
                     Ipp16s coeffsScale, Ipp16s* pCoeffs, int len, short countFE, short illCond){
   Ipp32s i, dwProd;
   Ipp16s scale = 16 - coeffsScale;
   Ipp32s ovfPos = IPP_MAX_32S >> scale;
   Ipp32s ovfNeg = IPP_MIN_32S >> scale;

   if((countFE==1)&&(illCond == G728_FALSE)) {
      for(i=0; i<LPC; i++) {
         dwProd = pConstBroadenVector[i] * pTmpCoeffs[i];
         if(dwProd > ovfPos || dwProd < ovfNeg) /* Do not update*/
            return;
         pCoeffs[i] = pTmpCoeffs[i] = Cnvrt_NR_32s16s(dwProd<<scale); /* I think atmp  doesn't need to be updated. (Igor S. Belyakov)*/
      }
   } else {
      for(i=0; i<LPC; i++) {
         dwProd = pConstBroadenVector[i] * pCoeffs[i];
         pCoeffs[i] = Cnvrt_NR_32s16s(dwProd<<2);
      }
   }
   return;
}


void LoggainLinearPrediction(Ipp16s *pVecLGPredictorCoeffs, Ipp16s *pLGPredictorState, Ipp32s *pGainLog){
   Ipp32s dwSum, i;
   Ipp16s tmp[LPCLG];

   /* predict log gain */
   dwSum = 0;
   for (i=0; i<LPCLG; i++) {
      dwSum = dwSum - pLGPredictorState[i]*pVecLGPredictorCoeffs[i];
      tmp[i] = pLGPredictorState[i];
   }
   *pGainLog = dwSum >> 14;

   for (i=1; i<LPCLG; i++)
      pLGPredictorState[i] = tmp[i-1];

   return;
}


void InverseLogarithmCalc(Ipp32s gainLog, Ipp16s *pLinearGain, Ipp16s *pScaleGain){
   Ipp32s dwVal0, dwVal1;
   Ipp32s x, z;
   Ipp16s tmp;

   /* add offset */
   z = gainLog + GOFF;

   /* Compute gain = 10**(z/20) */
   dwVal0 = 10 * z;
   dwVal1 = 2*20649 * z;
   dwVal1 = Cnvrt_NR_32s16s(dwVal1);
   dwVal0 += dwVal1;
   dwVal1 = dwVal0 >> 15;
   *pScaleGain = 14 - dwVal1;

   dwVal1 = ShiftL_32s(dwVal1, 15);
   x = Sub_32s(dwVal0, dwVal1);

   dwVal0 = 323 * x;  /* c_c4 */
   dwVal0 = ShiftL_32s(dwVal0, 1);
   dwVal0 = Add_32s(dwVal0, 1874<<16); /* + c_c3 */
   tmp = Cnvrt_NR_32s16s(dwVal0);

   dwVal0 = tmp * x;
   dwVal0 = ShiftL_32s(dwVal0, 1);
   dwVal0 = Add_32s(dwVal0, 7866<<16); /* + c_c2 */
   tmp = Cnvrt_NR_32s16s(dwVal0);

   dwVal0 = tmp * x;
   dwVal0 = ShiftL_32s(dwVal0, 1);
   dwVal0 = Add_32s(dwVal0, 22702<<16); /* + c_c1 */
   tmp = Cnvrt_NR_32s16s(dwVal0);

   dwVal0 = tmp * x;
   dwVal0 = Add_32s(dwVal0, 16384<<16); /* + c_c0 */
   *pLinearGain = Cnvrt_NR_32s16s(dwVal0);

   return;
}


Ipp16s LoggainAdderLimiter(Ipp32s gainLog, Ipp16s gainIdx, Ipp16s shapeIdx,
                           const Ipp16s *pCodebookGain) {
   Ipp32s dwVal;

   dwVal = (gainLog<<7) + (pCodebookGain[gainIdx]<<5) + (cnstShapeCodebookVectors[shapeIdx]<<5);
   dwVal = dwVal >> 7;
   if(dwVal < -16384) dwVal = -16384;

   return (Ipp16s) dwVal;
}




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品一区二区三区三区| 亚洲欧洲成人精品av97| 欧美一区日韩一区| 国产亚洲精品超碰| 亚洲sss视频在线视频| 狠狠色丁香久久婷婷综合丁香| 91香蕉视频污| 久久久国产精品麻豆| 偷窥少妇高潮呻吟av久久免费| 成人性生交大合| 日韩欧美第一区| 亚洲二区在线观看| 不卡区在线中文字幕| 精品国产乱码久久久久久老虎 | 成人欧美一区二区三区视频网页| 成人动漫一区二区在线| 亚洲欧洲综合另类在线| 国产精品一区二区三区四区| 欧美中文字幕一区二区三区亚洲| 国产女主播一区| 国产一区二区三区免费在线观看| 91麻豆精品国产无毒不卡在线观看| 亚洲图片欧美激情| 成人av免费在线观看| 一区二区在线观看不卡| 91视频xxxx| 视频一区欧美日韩| 欧美精品在线观看播放| 亚洲电影中文字幕在线观看| 日韩一区二区免费在线观看| 男男视频亚洲欧美| 精品人在线二区三区| 美国三级日本三级久久99| 777奇米成人网| 国产91对白在线观看九色| 中文字幕的久久| 不卡高清视频专区| 蜜臀精品久久久久久蜜臀| 国产精品久久一卡二卡| 91亚洲大成网污www| 日韩国产欧美三级| 精品久久久久一区二区国产| 91亚洲精品久久久蜜桃| 九九精品视频在线看| 亚洲精品中文在线影院| 精品国产第一区二区三区观看体验| 色综合久久88色综合天天| 亚洲制服欧美中文字幕中文字幕| 欧美色综合影院| 蜜桃视频在线观看一区| 亚洲精品老司机| 欧美国产视频在线| 精品国产在天天线2019| 欧美美女一区二区三区| 不卡的av中国片| 国产东北露脸精品视频| 亚洲天堂2014| 国产网站一区二区| 日韩网站在线看片你懂的| 欧美丝袜丝交足nylons| 99免费精品视频| 日韩不卡一区二区| 一区二区成人在线观看| 欧美不卡一区二区三区四区| 欧美性生活影院| 97精品电影院| 麻豆精品一区二区三区| 亚洲第一综合色| 亚洲一区二区偷拍精品| 亚洲欧美韩国综合色| 国产精品五月天| 制服丝袜国产精品| 欧美日韩国产一二三| 国产精品综合二区| 久久91精品国产91久久小草| 琪琪一区二区三区| 日韩电影在线观看电影| 午夜欧美2019年伦理| 午夜亚洲国产au精品一区二区| 亚洲精品久久7777| 亚洲综合丝袜美腿| 亚洲成人一二三| 亚洲午夜久久久久久久久电影院 | 一区二区三区国产豹纹内裤在线| 欧美激情综合网| 国产精品欧美精品| 日韩伦理电影网| 亚洲天堂久久久久久久| 亚洲黄色录像片| 亚洲一区二区精品久久av| 亚洲成人午夜影院| 午夜国产精品一区| 日本vs亚洲vs韩国一区三区二区| 日本视频在线一区| 麻豆国产精品一区二区三区| 九色|91porny| 国产成人免费视频一区| 不卡一卡二卡三乱码免费网站| av电影天堂一区二区在线观看| 99精品久久只有精品| 一本久久a久久免费精品不卡| 99精品国产热久久91蜜凸| 一本久道中文字幕精品亚洲嫩| 欧美日韩一区 二区 三区 久久精品 | 99国产精品久久久久久久久久久| av电影在线不卡| 91.xcao| 久久久电影一区二区三区| 国产精品国产三级国产a| 一区2区3区在线看| 久久激五月天综合精品| 夜夜操天天操亚洲| 日韩电影在线免费观看| 国产在线精品一区二区三区不卡| 成人午夜av电影| 欧美午夜在线观看| 欧美成人一区二区三区片免费| 国产精品免费视频观看| 午夜一区二区三区视频| 国内精品自线一区二区三区视频| 国产aⅴ综合色| 欧美日韩国产首页| 国产拍揄自揄精品视频麻豆| 亚洲激情图片qvod| 国产乱码字幕精品高清av | 国产999精品久久久久久绿帽| a级高清视频欧美日韩| 3atv在线一区二区三区| 中文字幕中文字幕在线一区| 日韩电影一区二区三区四区| av网站一区二区三区| 日韩免费一区二区| 一区二区久久久久| 国产精品自拍毛片| 精品污污网站免费看| 国产精品的网站| 国产在线精品一区在线观看麻豆| 在线观看91视频| 亚洲欧洲av另类| 国产91精品在线观看| 欧美一区二区三区在线观看 | 久久久青草青青国产亚洲免观| 尤物视频一区二区| 国产99久久久国产精品潘金网站| 欧美一区二区视频在线观看2020| 亚洲丝袜精品丝袜在线| 春色校园综合激情亚洲| 精品国产91亚洲一区二区三区婷婷| 亚洲一区二区在线免费看| 成人免费毛片aaaaa**| 久久综合狠狠综合久久综合88| 国产精品美女久久福利网站| 久久国产剧场电影| 欧美一区二区性放荡片| 亚洲最大成人网4388xx| 91在线国产观看| 国产精品嫩草久久久久| 国产在线精品一区二区夜色| 欧美一级黄色片| 免费看日韩a级影片| 欧美日韩国产色站一区二区三区| 91精品福利在线一区二区三区 | 亚洲欧洲韩国日本视频 | 成人h精品动漫一区二区三区| 日韩欧美亚洲国产精品字幕久久久 | 国产jizzjizz一区二区| 久久亚洲精品小早川怜子| 狠狠色丁香婷综合久久| 欧美va日韩va| 激情欧美一区二区| 精品88久久久久88久久久| 九九精品一区二区| 久久久五月婷婷| 国产很黄免费观看久久| 欧美激情在线观看视频免费| 国产河南妇女毛片精品久久久| 久久婷婷久久一区二区三区| 久久国产精品免费| 国产亚洲一二三区| 成人小视频免费在线观看| 中文字幕在线观看一区| 91精彩视频在线观看| 久久久精品国产免费观看同学| 国产呦精品一区二区三区网站 | 久久久久久久电影| 国产成人精品影视| 国产精品的网站| 欧美少妇一区二区| 看片网站欧美日韩| 久久天天做天天爱综合色| 成人一区二区三区视频| 综合久久一区二区三区| 欧美日韩激情一区二区三区| 日本在线不卡视频| 欧美国产成人精品| 欧美性大战久久久| 麻豆传媒一区二区三区| 中文字幕av一区二区三区免费看 | 欧美精品一区二区三区在线| 国产成人免费在线观看不卡|