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

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

?? encoder.c

?? Intel開發(fā)的IPP庫的應(yīng)用實(shí)例
?? C
?? 第 1 頁 / 共 5 頁
字號:
   int i,k,n;
   short *qCoeffLog, *qCoeff,*qCoeffVad;
   float pLiftCoeff[NUM_CEP_COEFF-1] = {1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,};
/*   float pFCentres[NUM_CHANNELS+2+2];
   float norm;
   float pDFK[NUM_CHANNELS+2+2];
   float pCoeff[65];*/
   Ipp16s *pTmp;

   int size;
   int pCenters[NUM_CHANNELS+2+2];

   pCodec[0] = (AuroraEncoder*)malloc(sizeof(AuroraEncoder));
   if (pCodec[0]==NULL) return -1;
   status = ippStsNoErr;
   pCodec[0]->pFBank = NULL;
   pCodec[0]->ctxFFT = NULL;
   pCodec[0]->EncoderInput = EncoderInput;
   pCodec[0]->pDCTLifter = NULL;
   pCodec[0]->workBuffer = NULL;
   pCodec[0]->ppCdbkState = NULL;
   pCodec[0]->pFeatBuffer = NULL;
   pCodec[0]->pFeatCyclicBuf = NULL;
   pCodec[0]->HammingWindow = NULL;
   pCodec[0]->pFeatBuffer = NULL;
   pCodec[0]->pFeatCyclicBuf = NULL;
   ippsVADGetBufSize_Aurora_16s(&n);
   pCodec[0]->pVadMem = NULL;
   pCodec[0]->VadFrame = 0;
   pCodec[0]->iCountFrame = 0;
   pCodec[0]->mframeCounter = 1;
   pCodec[0]->NumberFrame = 0;
   pCodec[0]->s11.ppState = NULL;
   pCodec[0]->s11.p11 = NULL;
   pCodec[0]->pFrame = NULL;
   pCodec[0]->noise.ctxFFT = NULL;
   pCodec[0]->noise.pFBank = NULL;
   pCodec[0]->noise.pIDCT = NULL;
   pCodec[0]->noise.s16.pFBank16 = NULL;
   pCodec[0]->pBuffer32s = NULL;
   pCodec[0]->FirCoeff16sAlign = NULL;
   pCodec[0]->pFrame = (MFrame*)ippsMalloc_8u(sizeof(MFrame));
   if(pCodec[0]->pFrame==NULL){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   pCodec[0]->pFeatBuffer = ippsMalloc_16s(NUM_CEP_COEFF+1);
   if(pCodec[0]->pFeatBuffer==NULL){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   pCodec[0]->pFeatCyclicBuf = ippsMalloc_16s((NUM_CEP_COEFF+1)*7);
   if(pCodec[0]->pFeatCyclicBuf==NULL){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   pCodec[0]->pVadMem = ippsMalloc_8u(n);
   if(pCodec[0]->pVadMem==NULL){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   if(ippsVADInit_Aurora_16s(pCodec[0]->pVadMem)!=ippStsNoErr){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }


   pCodec[0]->s11.history = 33;
   pCodec[0]->s11.len = (pCodec[0]->s11.history+3)*2;

   if ( !((SamplingFrequency == r8KHz) || (SamplingFrequency == r11KHz) || (SamplingFrequency == r16KHz))){
      free(pCodec[0]);
      return -1;
   }
   if (SamplingFrequency == r8KHz){
      FrameLength = FRAME_LEN_8;
      FrameShift = FRAME_SHIFT_8;
      startingFeq = STARTING_FREQ;
      pCodec[0]->freq = r8KHz;
      Frequency = 8000.0f;
      pCodec[0]->weight_c0 = w8kHz_C0;
      pCodec[0]->weight_logE = w8kHz_LE;
      qCoeff = (Ipp16s*)qCoeff8kHz;
      qCoeffVad = (Ipp16s*)qCoeff8kHzVAD;
      qCoeffLog = (Ipp16s*)qCoeff8kHz_Log;
      pCodec[0]->pFrame->sampRate = 0;
   }
   else if (SamplingFrequency == r11KHz){
      FrameLength = FRAME_LEN_8;
      FrameShift = FRAME_SHIFT_8;
      startingFeq = STARTING_FREQ;
      pCodec[0]->freq = r11KHz;
      Frequency = 8000.0f;
      pCodec[0]->weight_c0 = w8kHz_C0;
      pCodec[0]->weight_logE =  w8kHz_LE;
      qCoeff = (Ipp16s*)qCoeff8kHz;
      qCoeffVad = (Ipp16s*)qCoeff16kHzVAD;
      qCoeffLog = (Ipp16s*)qCoeff8kHz_Log;
      pCodec[0]->pFrame->sampRate = 1;

      pCodec[0]->s11.time = (Ipp64f)pCodec[0]->s11.history;
      pCodec[0]->s11.lastread = pCodec[0]->s11.history;
      pCodec[0]->s11.ppState = (IppsResamlingPolyphaseFixed_16s**)ippsMalloc_8u(sizeof(IppsResamlingPolyphaseFixed_16s*));
      if(pCodec[0]->s11.ppState==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      if(ippsResamplePolyphaseFixedInitAlloc_16s(pCodec[0]->s11.ppState,11025,8000,
         2*(pCodec[0]->s11.history), 0.95f, 9.0f,ippAlgHintFast)!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      pCodec[0]->s11.p11 = ippsMalloc_16s(pCodec[0]->s11.len);
      if(pCodec[0]->s11.p11==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      ippsZero_16s((short*)pCodec[0]->s11.p11,pCodec[0]->s11.len);

   }
   else if (SamplingFrequency == r16KHz){
      FrameLength = FRAME_LEN_16;
      FrameShift = FRAME_SHIFT_16;
      startingFeq = STARTING_FREQ;
      pCodec[0]->freq = r16KHz;
      Frequency = 8000.0f;
      pCodec[0]->weight_c0 = w16kHz_C0;
      pCodec[0]->weight_logE = w16kHz_LE;
      qCoeff = (Ipp16s*)(qCoeff16kHz);
      qCoeffVad = (Ipp16s*)qCoeff16kHzVAD;
      qCoeffLog = (Ipp16s*)qCoeff16kHz_Log;
      pCodec[0]->pFrame->sampRate = 3;
      ippsZero_16s(pCodec[0]->noise.s16.dataHP,560);
      pCodec[0]->noise.s16.vad16.nbSpeechFrame=0;
      pCodec[0]->noise.s16.vad16.Eloglowtrack=0;
      pCodec[0]->noise.s16.vad16.flagVAD=0;
      pCodec[0]->noise.s16.vad16.hangOver = 0;
      pCodec[0]->noise.s16.vad16.pNoise16[0]=0;
      pCodec[0]->noise.s16.vad16.pNoise16[1]=0;
      pCodec[0]->noise.s16.vad16.pNoise16[2]=0;
      pCodec[0]->FirCoeff16sAlign = ippsMalloc_16s(FILTERLENGTH);
      if(pCodec[0]->FirCoeff16sAlign==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }
      ippsCopy_16s(FIRCoef,pCodec[0]->FirCoeff16sAlign,FILTERLENGTH);
   }

   pCodec[0]->FrameLength = FrameLength;
   pCodec[0]->FrameShift = FrameShift;
   pCodec[0]->Dst0 = 0;
   pCodec[0]->pSrc0 = 0;
   pCodec[0]->preFloat = 0;
   pCodec[0]->numChannels = NUM_CHANNELS;
   pCodec[0]->numCepCoeff = NUM_CEP_COEFF;

   /* Init for noise reduction block */
   /* initialisation of winHanning coefficient */
   ippsZero_16s(pCodec[0]->noise.pBStateBig,640+FILTERLENGTH);

   if(ippsFFTInitAlloc_R_32s(&(pCodec[0]->noise.ctxFFT),
      FFTORDER,IPP_FFT_NODIV_BY_ANY,ippAlgHintAccurate)!=ippStsNoErr){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   if(ippsMelFBankInitAllocLow_Aurora_16s(&pCodec[0]->noise.pFBank)!=ippStsNoErr){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }


   if(ippsFBankGetCenters_16s(pCodec[0]->noise.pFBank,pCenters)!=ippStsNoErr){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }

   /* Set MelFB coefficient */
/*   pFCentres[0] = 0;

   for( i = 1; i<=NUM_CHANNELS; i++){
      ippsFBankGetCoeffs_16s(pCodec[0]->noise.pFBank,i+1,pCoeff);
        norm=0.0f;
        for(j=0; j<=pCenters[i+2]-1-pCenters[i]+1;j++){
         norm += pCoeff[j] * 8000 * (float)(j+pCenters[i]) /(2*(FFTSPEC-1));
      }
      pFCentres[i] = norm;
   }

   pFCentres[NUM_CHANNELS+1] = 8000/2;
*/
   /* Mel IDCT */
   pCodec[0]->noise.pIDCT = (Ipp16s**)ippsMalloc_8u((NUM_CHANNELS+2)*(sizeof(Ipp16s*)+(NUM_CHANNELS+2)*sizeof(Ipp16s)));

   if(pCodec[0]->noise.pIDCT==NULL){
      ReleaseAuroraEncoder(pCodec[0]);
      return -1;
   }
/*
   pDFK[0] = (pFCentres[1]-pFCentres[0])/8000;
   for(k=1; k<=NUM_CHANNELS; k++)
      pDFK[k] = (pFCentres[k+1]-pFCentres[k-1])/8000;
   pDFK[NUM_CHANNELS+1] = (pFCentres[NUM_CHANNELS+1]-pFCentres[NUM_CHANNELS])/8000;
*/
   pTmp=(Ipp16s*)(pCodec[0]->noise.pIDCT+(NUM_CHANNELS+2));
   for(k=0; k<=NUM_CHANNELS+1; k++,pTmp+=(NUM_CHANNELS+2)){
      pCodec[0]->noise.pIDCT[k] = pTmp;
      ippsCopy_16s(pIDCTCoeff[k],pCodec[0]->noise.pIDCT[k],NUM_CHANNELS+2);
/*      for(n=0; n <= NUM_CHANNELS+1; n++)
         pCodec[0]->noise.pIDCT[k][n] = (Ipp16s)(32768.f*cos( (IPP_2PI * (float)k * pFCentres[n])/8000 ) * pDFK[n]);*/
   }

   /* for 16KHz */
   pCodec[0]->noise.s16.pFBank16 = NULL;
   if (SamplingFrequency == r16KHz){
      append=FILTERLENGTH-1;
      if(ippsMelFBankInitAllocHigh_Aurora_16s(&pCodec[0]->noise.s16.pFBank16)!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }
   }

   ippsZero_16s((Ipp16s*)pCodec[0]->noise.pPSDprev_1,FFTSPEC<<1);
   ippsZero_16s((Ipp16s*)pCodec[0]->noise.pPSDprev_2,FFTSPEC<<1);
   ippsZero_16s(pCodec[0]->noise.pDenPrev_1,FFTSPEC);
   ippsZero_16s(pCodec[0]->noise.pDenPrev_2,FFTSPEC);
   ippsSet_16s(0,pCodec[0]->noise.pNoiseTnPrev_1,FFTSPEC);
   ippsSet_16s(0,(Ipp16s*)pCodec[0]->noise.pNoisePrev_2,FFTSPEC<<1);
   ippsSet_16s(0,pCodec[0]->noise.pNoiseTn,FFTSPEC);
   ippsZero_16s(pCodec[0]->noise.pBStateBuf, 960);


   pCodec[0]->noise.Eden=pCodec[0]->noise.Eden1=pCodec[0]->noise.Eden2=0;
   pCodec[0]->noise.SNRlowPrev32s=0;
   pCodec[0]->noise.agfPrev32s=819;
   pCodec[0]->noise.pSrc0 = pCodec[0]->noise.Dst0=0;
   pCodec[0]->noise.Cur_TPrpocess=0;
   pCodec[0]->noise.tail=0;
   pCodec[0]->noise.start=0;
   pCodec[0]->noise.end=0;
   pCodec[0]->noise.vad.nbSpeechFrame=0;
   pCodec[0]->noise.vad.Eloglowtrack=0;
   pCodec[0]->noise.vad.flagVAD=0;
   pCodec[0]->noise.vad.hangOver = 0;
   /* End init for noise reduction block */

   ippsZero_16s(pCodec[0]->bias,NUM_CEP_COEFF-1);
   if (EncoderInput==WAVEFORM){
      pCodec[0]->HammingWindow = ippsMalloc_16s(WINHANNSIZE);
      if(pCodec[0]->HammingWindow==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      ippsCopy_16s(pHammingWindow,pCodec[0]->HammingWindow,WINHANNSIZE);
/*      ippsZero_16s(pCodec[0]->HammingWindow,WINHANNSIZE);
      for (i = 0; i < WINHANNSIZE; i++)
           pCodec[0]->HammingWindow[i] = (Ipp16s)((0.54f - 0.46f * cos (IPP_2PI * ((float)i+0.5f) / WINHANNSIZE))*16384);*/

   }
   pCodec[0]->pFrame->pos=6;
   pCodec[0]->curPosition = 0;
   pCodec[0]->EncoderOutput = EncoderOutput;

   if (EncoderInput==WAVEFORM){
      if(ippsMelFBankGetSize_32s(WAVEFORMSIZE, NUM_CHANNELS,IPP_FBANK_FREQWGT, &size)!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      pCodec[0]->pFBank = ippsMalloc_8u(size);
      if(pCodec[0]->pFBank==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      if(ippsMelFBankInit_32s( (IppsFBankState_32s*) pCodec[0]->pFBank, &pCodec[0]->FFTOrder,
         WAVEFORMSIZE, (int)Frequency, (int)startingFeq, (int)Frequency/2, NUM_CHANNELS, 36929536, 22937600,IPP_FBANK_FREQWGT)!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      if(ippsFFTInitAlloc_R_32s(&(pCodec[0]->ctxFFT),pCodec[0]->FFTOrder,
         IPP_FFT_NODIV_BY_ANY,ippAlgHintAccurate)!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }
      pCodec[0]->FFTLength = 1<<pCodec[0]->FFTOrder;
      pCodec[0]->workBuffer = ippsMalloc_16s(pCodec[0]->FFTLength);
      if(pCodec[0]->workBuffer==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }

      pCodec[0]->pBuffer32s = ippsMalloc_32s(pCodec[0]->FFTLength);
      if(pCodec[0]->pBuffer32s==NULL){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }


      if (SamplingFrequency == r16KHz)
         status = ippsDCTLifterInitAlloc_MulC0_16s(&pCodec[0]->pDCTLifter,NUM_CHANNELS+KFB16,pLiftCoeff,NUM_CEP_COEFF-1);
      else
         status = ippsDCTLifterInitAlloc_MulC0_16s(&pCodec[0]->pDCTLifter,NUM_CHANNELS,pLiftCoeff,NUM_CEP_COEFF-1);
      if(status!=ippStsNoErr){
         ReleaseAuroraEncoder(pCodec[0]);
         return -1;
      }
   }

   if (EncoderOutput == QUANTIZED || EncoderOutput == MULTIFRAME){
      ippsZero_8u(pCodec[0]->pIndexVQBuffer,2*NUM_CODEBOOK);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模少妇一区二区三区| 91啪九色porn原创视频在线观看| 91国在线观看| 亚洲欧美偷拍三级| 91国产免费看| 午夜国产精品一区| 欧美一区国产二区| 久久激情五月激情| 中文字幕av一区二区三区高| 成人18视频日本| 亚洲精品免费视频| 欧美精品久久99| 久久99精品一区二区三区| 精品欧美乱码久久久久久| 成人污污视频在线观看| 亚洲精品少妇30p| 欧美欧美欧美欧美首页| 久久福利资源站| 中文无字幕一区二区三区| 色婷婷一区二区三区四区| 婷婷六月综合网| 久久免费视频色| 日本道色综合久久| 精品一区二区三区在线观看国产 | 26uuu另类欧美亚洲曰本| 国产大陆a不卡| 亚洲国产一区二区视频| 欧美哺乳videos| 91丨porny丨国产入口| 日韩av不卡在线观看| 26uuu成人网一区二区三区| 99精品欧美一区二区蜜桃免费 | 久久精品国产免费看久久精品| 久久综合久久综合亚洲| 91美女在线观看| 日韩av中文字幕一区二区三区| 国产欧美精品一区二区色综合| 91福利视频网站| 国内精品第一页| 亚洲第一电影网| 国产婷婷精品av在线| 欧美日韩午夜在线| 成人性生交大片免费看中文网站| 亚洲国产精品欧美一二99| 国产日韩欧美精品电影三级在线| 欧美午夜宅男影院| 不卡的电影网站| 经典三级视频一区| 日韩激情一区二区| 亚洲精品大片www| 欧美国产日本视频| 日韩免费福利电影在线观看| 色嗨嗨av一区二区三区| 国产伦精一区二区三区| 日韩中文字幕区一区有砖一区| 中文欧美字幕免费| 亚洲精品在线网站| 在线电影一区二区三区| av激情成人网| 福利一区二区在线| 国产乱码精品一区二区三区五月婷| 亚洲第一激情av| 亚洲免费在线电影| 国产精品美日韩| 国产三级三级三级精品8ⅰ区| 日韩亚洲欧美在线| 欧美精三区欧美精三区| 91福利精品视频| 色老头久久综合| 欧洲一区二区三区在线| 91丨porny丨在线| 91性感美女视频| 91美女片黄在线| 99久久免费国产| 91网址在线看| 色婷婷一区二区| 精品视频在线免费看| 欧洲精品在线观看| 在线欧美小视频| 北条麻妃国产九九精品视频| 久久电影网站中文字幕| 麻豆成人久久精品二区三区小说| 三级不卡在线观看| 免费在线观看日韩欧美| 奇米一区二区三区| 精品一区二区免费视频| 国产原创一区二区| 国产69精品久久久久毛片| 国产精品 日产精品 欧美精品| 精品一区二区三区免费毛片爱| 免费一级片91| 国产精品一区在线观看乱码| 国产剧情在线观看一区二区| 国产69精品一区二区亚洲孕妇| 成人高清免费观看| 日本韩国视频一区二区| 欧美日韩五月天| 欧美大片国产精品| ww久久中文字幕| 一区视频在线播放| 亚洲福利一区二区三区| 日本女优在线视频一区二区 | 麻豆传媒一区二区三区| 国产美女精品一区二区三区| 国产一区二区三区美女| 成人在线视频一区二区| 91丨九色porny丨蝌蚪| 538prom精品视频线放| 精品国产网站在线观看| 中文字幕巨乱亚洲| 亚洲福中文字幕伊人影院| 久久精品免费观看| www.欧美色图| 91精品综合久久久久久| 精品伦理精品一区| 亚洲视频狠狠干| 免费久久精品视频| 国产成人综合自拍| 欧美群妇大交群中文字幕| 久久精品日韩一区二区三区| 亚洲精品欧美激情| 韩国一区二区三区| 色婷婷狠狠综合| 精品国产在天天线2019| 伊人色综合久久天天人手人婷| 麻豆成人91精品二区三区| 99国产精品久久久| 欧美va亚洲va在线观看蝴蝶网| 亚洲色大成网站www久久九九| 三级影片在线观看欧美日韩一区二区| 国产剧情一区在线| 欧美精品在线视频| 国产精品三级电影| 美女视频黄 久久| 91九色02白丝porn| 国产欧美精品一区aⅴ影院| 日韩激情中文字幕| 色婷婷一区二区| 亚洲国产精品ⅴa在线观看| 三级亚洲高清视频| 欧美日韩中文一区| 国产精品欧美极品| 日本美女视频一区二区| 色天使色偷偷av一区二区| 国产日韩欧美激情| 国产一区二区三区免费播放| 91精品欧美一区二区三区综合在 | 最近日韩中文字幕| 久草在线在线精品观看| 欧美电影在哪看比较好| 一区二区三区在线观看视频| 高清不卡在线观看| 2023国产精品自拍| 美女视频一区二区三区| 欧美日韩一区三区四区| 亚洲免费色视频| 一道本成人在线| 中文字幕制服丝袜成人av| 国产呦精品一区二区三区网站| 日韩午夜激情视频| 亚洲成人在线观看视频| 日本韩国欧美国产| 亚洲自拍偷拍图区| 色94色欧美sute亚洲13| 综合久久久久综合| 91麻豆6部合集magnet| 一区二区中文视频| 99国产精品国产精品久久| 亚洲特黄一级片| 色综合天天天天做夜夜夜夜做| 国产女主播在线一区二区| 国产精品综合网| 精品国产3级a| 国产精品自拍网站| 国产日韩欧美电影| 国产精品系列在线观看| 日本一区免费视频| 国产白丝网站精品污在线入口| 国产亚洲人成网站| 成人激情午夜影院| 最新国产成人在线观看| 99在线精品观看| 亚洲综合在线第一页| 欧美日韩和欧美的一区二区| 天天色图综合网| 精品久久一区二区| 国产乱码精品一区二区三 | 精品久久久久久久久久久院品网| 精品亚洲成av人在线观看| 久久久噜噜噜久噜久久综合| 处破女av一区二区| 亚洲三级在线看| 欧美色图激情小说| 久久99精品久久久久久国产越南| 久久久一区二区| 91免费视频网| 性感美女极品91精品| 日韩欧美成人一区| 成人精品国产一区二区4080| 一区二区在线看|