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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? encoder_main.c

?? Intel開發的IPP庫的應用實例
?? C
?? 第 1 頁 / 共 2 頁
字號:
    const IppLibraryVersion *ver;
    short *WaveBuffer,*workWaveBuffer;
    unsigned char *FeatBuff,*pVadBuff,*workVadBuff;
    AuroraEncoder *pCodec;
    int i,NumberSample,OutputStride;
    int repeat;
    FILE *f_csv;
    HTKHeader HTKHead;
    int countFrame,stepSample;
    int FrameShift,FrameLength;
    int size;
    int cbeg;
    int end;
    short sync = 0x784d;
    Ipp64u time_start;
    Ipp64u time_finish;
    Ipp64s time_work;
    double rt_time;
/*-----------------------*/
    ver = ippsGetLibVersion();
    printf("IPPS library used: %s  %d.%d.%d\n",ver->Name,
         ver->major,ver->minor,ver->majorBuild);
    ver = ippsrGetLibVersion();
    printf("IPPSR library used: %s  %d.%d.%d\n",ver->Name,
         ver->major,ver->minor,ver->majorBuild);

    vadname[0]='\0';
    if (!ParseCommLine (argc - 1, argv + 1)){
        fprintf (stderr, "\r\n    USAGE:");
        fprintf (stderr, "   %s [options] <infile> <outfile>\r\n", argv[0]);
        fprintf (stderr, "\r\n    OPTIONS:\r\n");
        fprintf (stderr, "     -f   freq      Sampling frequency in kHz (8,11,16)        16\r\n");
        fprintf (stderr, "     -c             Write performance line \r\n");
        fprintf (stderr, "     -s   XX        Number of repeat                            1\r\n");
        fprintf (stderr, "     -o type        Run encoder output parameter                f\r\n");
        fprintf (stderr, "                              ( f - feature file, \r\n");
        fprintf (stderr, "                                q - quantised file) \r\n");
        fprintf (stderr, "                                m - multiframe file) \r\n");
        fprintf (stderr, "                                w - wave file) \r\n");
        fprintf (stderr, "     -i type        Run encoder input parameter                 w\r\n");
        fprintf (stderr, "                              ( f - feature file, \r\n");
        fprintf (stderr, "                                w - wave file) \r\n");
        fprintf (stderr, "     -step XX       Step for testing                         100  \r\n");
        fprintf (stderr, "     -vad filename  VAD file \r\n");
        fprintf (stderr, "     -help          Help \r\n");

    }
    else{

       /*-------------------   ENCODER -----------------------------*/
           /*   Init Codec    */
           if (InitAuroraEncoder(&pCodec,SFrequency,EncoderIn,EncoderOut)==-1)return -1;
           switch(SFrequency){
           case(r8KHz):FrameLength = FRAME_LENGTH_8KHz; FrameShift = FRAME_SHIFT_8KHz;break;
           case(r11KHz):FrameLength = FRAME_LENGTH_8KHz; FrameShift = FRAME_SHIFT_8KHz;break;
           case(r16KHz):FrameLength = FRAME_LENGTH_16KHz; FrameShift = FRAME_SHIFT_16KHz;break;
           }
           /*   Allocate input buffer and read input file    */
           fseek(fpIn,0L,SEEK_END);
           SizeBuffer = ftell(fpIn);

           fseek(fpIn,0L,SEEK_SET);

           if (EncoderIn==WAVEFORM){
              WaveBuffer = ReadWaveFile(fpIn, &SizeBuffer);
              NumberSample = SizeBuffer;
              FrameCounter = (SizeBuffer - (FrameLength-FrameShift))/FrameShift;
              if (EncoderOut==FEATURE){
                 if(vadname[0]!='\0')
                    fpVAD = fopen(vadname,"wb");
              }
              pVadBuff = ippsMalloc_8u(FrameCounter);
           }else if (EncoderIn==FEATURE){
              fread (&HTKHead,sizeof(HTKHeader),1,fpIn );
              NumberSample = FrameCounter = HTKHead.SamplesNumber;

              WaveBuffer=(short*)ippsMalloc_8u(NumberSample*(NUM_CEP_COEFF +1)*sizeof(float));
              fread(WaveBuffer,sizeof(char),NumberSample*(NUM_CEP_COEFF +1)*sizeof(float),fpIn);

              pVadBuff = ippsMalloc_8u(NumberSample);
              ippsSet_8u(1,pVadBuff,NumberSample);
              fpVAD = fopen(vadname,"rb");
              if(fpVAD)
                 fread(pVadBuff,sizeof(char),NumberSample,fpVAD);
           }

           /* Allocate buffer for output   */
           if (EncoderOut==MULTIFRAME){
             FrameCounter = FrameCounter/24+2;
           }

             OutputStride=160;

           switch(EncoderOut){
           case(MULTIFRAME):
              OutputStride = NUM_MULTI_BYTE * sizeof(char);
              break;
           case(QUANTIZED):
              OutputStride = (NUM_CODEBOOK+1) * sizeof(char);
              break;
           case(FEATURE):
              OutputStride = (NUM_CEP_COEFF+1) * sizeof(float);
              break;
           }
           if(EncoderOut==WAVEFORM)
              FeatBuff= ippsMalloc_8u(SizeBuffer*sizeof(short));
           else{
              FeatBuff = ippsMalloc_8u (FrameCounter * OutputStride);
           }


           repeat = n_repeat;
           /*   Main loop for timing  */
           time_start = ippGetCpuClocks();
           while(n_repeat--){
               workWaveBuffer = WaveBuffer;
               workVadBuff = pVadBuff;
               countFrame=0;
               stepSample=stepTest;
               for (i=0; i<NumberSample;i+=stepSample){
                  if ((NumberSample-i <= stepSample) || NumberSample-i==0){ size = NumberSample-i;
                  end=1;
                  }
                  else{ size = stepSample;
                  end=0;
                  }
                  if (EncoderIn==WAVEFORM && EncoderOut==WAVEFORM){
                     countFrame+=ApplyAuroraEncoder_WW(pCodec,(short *)workWaveBuffer,size,
                         (short*)(FeatBuff+countFrame*OutputStride),end );
                  }
                  if (EncoderIn==WAVEFORM && EncoderOut==FEATURE){
                     countFrame+=ApplyAuroraEncoder_WF(pCodec,(short *)workWaveBuffer,size,
                         (float*)(FeatBuff+countFrame*OutputStride),pVadBuff,end );
                  }
                  if (EncoderIn==WAVEFORM && EncoderOut==MULTIFRAME){
                     countFrame+=ApplyAuroraEncoder_WM(pCodec,(short *)workWaveBuffer,size,
                         FeatBuff+countFrame*OutputStride,end );
                  }
                  if (EncoderIn==WAVEFORM && EncoderOut==QUANTIZED){
                     countFrame+=ApplyAuroraEncoder_WQ(pCodec,(short *)workWaveBuffer,size,
                         FeatBuff+countFrame*OutputStride,end );
                  }
                  if (EncoderIn==FEATURE && EncoderOut==MULTIFRAME){
                     countFrame+=ApplyAuroraEncoder_FM(pCodec,(float *)workWaveBuffer,workVadBuff,size,
                         FeatBuff+countFrame*OutputStride,end );
                  }
                  if (EncoderIn==FEATURE && EncoderOut==QUANTIZED){
                     countFrame+=ApplyAuroraEncoder_FQ(pCodec,(float *)workWaveBuffer,workVadBuff,size,
                         FeatBuff+countFrame*OutputStride,end );
                  }
                  if (EncoderIn==WAVEFORM){
                     workWaveBuffer+=stepSample;
                     workVadBuff+=stepSample;
                  }
                  else{
                     workWaveBuffer+=stepSample*(NUM_CEP_COEFF +1)*2;
                     workVadBuff+=stepSample;
                  }
               }
           }
           time_finish = ippGetCpuClocks();
           if(time_start < time_finish) time_work = (Ipp64s)(time_finish-time_start);
           else    time_work = (Ipp64s)(IPP_MAX_64S-time_finish+time_start);

           rt_time = (double)(time_work)/repeat/1000000.0/NumberSample*SamplingFrequency;
           /* Write output file */
           if (EncoderOut == FEATURE && EncoderIn == WAVEFORM){
               WriteHTKHeader (fpOut, countFrame);
               fwrite (FeatBuff, sizeof (float), countFrame * (NUM_CEP_COEFF+1), fpOut);
               if(fpVAD)fwrite (pVadBuff, sizeof(char), countFrame, fpVAD);
           }
           else if (EncoderOut == QUANTIZED){
              fwrite (FeatBuff, sizeof (char), countFrame * (NUM_CODEBOOK+1), fpOut);
           }
           else if (EncoderOut == MULTIFRAME){
              fwrite (FeatBuff, sizeof (char), countFrame * NUM_MULTI_BYTE, fpOut);
              fwrite(&sync, sizeof(short), 1, fpOut);

           }
           else if (EncoderOut == WAVEFORM){
              header.lenData = countFrame * 80 * 2;
              header.lenfile =  countFrame * 80 * 2 + sizeof(wWaveHeader);
              header.lenSampInCh = countFrame * 80;
              header.frec = 8000;
              SaveWaveFile(fpOut,(short*)FeatBuff);
           }

           if(WaveBuffer) ippsFree(WaveBuffer);
           if(pVadBuff) ippsFree(pVadBuff);
           if(FeatBuff) ippsFree(FeatBuff);

           /*  Release memory */
           ReleaseAuroraEncoder(pCodec);


       /*-----------  Output statistics  --------------------   */
       printf(" %d frames\n",countFrame);
       printf(" Speed %g (MHz)\n",rt_time);
       if (puttocsv) {
          if ( (f_csv = fopen("encoderspeed.csv", "r")) == NULL)cbeg=1;else cbeg=0;
          if ( (f_csv = fopen("encoderspeed.csv", "a")) == NULL) {
             printf("\nFile codecspeed.csv could not be open.\n");
          exit(5);
          }
          if (cbeg)fprintf(f_csv,"\nTypeApplication, Type EncoderIn, Type EncoderOut, Time(MHz), Sample,Frame,FreqFile kHz");
          if ((EncoderIn == WAVEFORM) && (EncoderOut == QUANTIZED) )
              fprintf(f_csv,"\nEncoder, WAVEFORM, QUANTIZED, %4.2f, %d, %d, %d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);
          if ((EncoderIn == WAVEFORM) && (EncoderOut == WAVEFORM) )
              fprintf(f_csv,"\nEncoder, WAVEFORM, WAVEFORM, %4.2f, %d, %d, %d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);
          if ((EncoderIn == WAVEFORM) &&  (EncoderOut == FEATURE) )
              fprintf(f_csv,"\nEncoder, WAVEFORM, FEATURE, %4.2f,  %d, %d,%d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);
          if ((EncoderIn == WAVEFORM) &&  (EncoderOut == MULTIFRAME) )
              fprintf(f_csv,"\nEncoder, WAVEFORM, MULTIFRAME, %4.2f,  %d, %d,%d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);
          if ((EncoderIn == FEATURE) && (EncoderOut == QUANTIZED) )
              fprintf(f_csv,"\nEncoder, FEATURE, QUANTIZED, %4.2f, %d, %d, %d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);
          if ((EncoderIn == FEATURE) &&  (EncoderOut == MULTIFRAME) )
              fprintf(f_csv,"\nEncoder, FEATURE, MULTIFRAME, %4.2f,  %d, %d,%d",rt_time,
              NumberSample,countFrame,(int)SamplingFrequency/1000);


          fclose(f_csv);
       }


       /* Close input and output files */
       if (fpIn)fclose (fpIn);
       if (fpOut)fclose (fpOut);
       if (fpVAD)fclose (fpVAD);

    }/*else*/


   return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲aⅴ乱码一区二区三区| 久久99精品久久久久婷婷| 欧美一区二区福利视频| 成人黄色免费短视频| 日韩电影一区二区三区| 亚洲同性同志一二三专区| 日韩午夜电影在线观看| 色菇凉天天综合网| 成人一区二区在线观看| 国内精品视频666| 亚洲国产精品视频| 亚洲视频一区在线| 国产欧美日韩三区| 久久综合色8888| 欧美一区二区福利视频| 欧美视频精品在线观看| 91在线码无精品| 成人亚洲精品久久久久软件| 老司机精品视频在线| 午夜精品福利一区二区三区av| 综合网在线视频| 国产精品免费视频观看| 国产三级三级三级精品8ⅰ区| 日韩三级免费观看| 欧美日韩精品专区| 欧美伊人久久大香线蕉综合69| 粉嫩一区二区三区性色av| 久久99精品视频| 久久99久国产精品黄毛片色诱| 日韩精品成人一区二区在线| 亚洲国产一区二区三区| 亚洲精品高清视频在线观看| 国产精品青草久久| 国产精品白丝在线| √…a在线天堂一区| 国产精品美女www爽爽爽| 中文成人综合网| 中文字幕巨乱亚洲| 亚洲国产精品成人久久综合一区 | 欧美系列亚洲系列| 欧洲一区二区av| 欧美亚洲国产一区二区三区va| 91福利区一区二区三区| 在线国产亚洲欧美| 欧美日韩激情一区| 91精品国产一区二区三区蜜臀| 宅男噜噜噜66一区二区66| 69堂精品视频| 精品奇米国产一区二区三区| 久久综合九色综合97_久久久| 久久免费视频色| 国产亚洲欧美日韩日本| 国产精品国产自产拍在线| 亚洲乱码日产精品bd| 亚洲国产一二三| 免费成人在线观看| 国内精品在线播放| 成人综合激情网| 91成人在线精品| 91精品蜜臀在线一区尤物| 日韩美女一区二区三区四区| 久久九九99视频| 综合欧美一区二区三区| 五月天亚洲精品| 狠狠色伊人亚洲综合成人| av亚洲精华国产精华精华| 综合电影一区二区三区| 亚洲激情五月婷婷| youjizz久久| 一本大道久久a久久精二百 | 成人免费看视频| 色婷婷综合激情| 日韩欧美一级片| 国产精品美女久久久久久久| 亚洲欧美一区二区三区久本道91| 午夜久久久久久久久久一区二区| 另类人妖一区二区av| 成人深夜福利app| 欧美日韩视频专区在线播放| 欧美精品一区二区三区蜜臀 | 亚洲第一激情av| 国产尤物一区二区| 在线中文字幕一区| 2024国产精品| 亚洲精品videosex极品| 日本强好片久久久久久aaa| 成人免费高清在线| 日韩欧美一级特黄在线播放| 亚洲天天做日日做天天谢日日欢 | 91蜜桃免费观看视频| 欧美一区二区女人| 日韩美女视频19| 国产一区二区三区在线观看免费| 在线精品视频免费观看| 国产日本一区二区| 日本大胆欧美人术艺术动态| av在线不卡免费看| 2023国产一二三区日本精品2022| 亚洲综合色自拍一区| 国产不卡一区视频| 日韩情涩欧美日韩视频| 一区二区三区av电影| 国产传媒欧美日韩成人| 欧美成人高清电影在线| 亚洲国产一区二区视频| 99re视频精品| 国产丝袜美腿一区二区三区| 日韩电影一区二区三区四区| 91精品办公室少妇高潮对白| 国产精品日韩精品欧美在线| 国产最新精品精品你懂的| 欧美福利视频一区| 一区二区三区在线免费观看| 成人av在线一区二区| 国产亚洲一二三区| 极品少妇一区二区| 日韩免费高清电影| 青青青伊人色综合久久| 8v天堂国产在线一区二区| 亚洲精选免费视频| 99re视频这里只有精品| 亚洲欧洲另类国产综合| 成人网页在线观看| 中文幕一区二区三区久久蜜桃| 国产精品综合二区| 久久一日本道色综合| 久久99久久99小草精品免视看| 日韩免费一区二区| 毛片一区二区三区| 精品国产亚洲一区二区三区在线观看 | 日韩一区二区三区视频| 亚洲va欧美va人人爽午夜| 欧美色成人综合| 亚洲aaa精品| 欧美日韩国产系列| 亚洲成人动漫在线免费观看| 欧美日韩免费高清一区色橹橹| 亚洲免费在线观看| 一本到不卡免费一区二区| 综合在线观看色| 在线观看91视频| 亚洲成人自拍偷拍| 日韩视频123| 激情伊人五月天久久综合| 久久久久国产免费免费| 国产91高潮流白浆在线麻豆 | 欧美国产日韩亚洲一区| 成人不卡免费av| 一区二区三区中文字幕电影| 在线精品亚洲一区二区不卡| 亚洲成av人影院| 欧美一区二区三区人| 精品在线播放免费| 欧美国产日韩精品免费观看| 国产成人自拍高清视频在线免费播放| 国产午夜亚洲精品理论片色戒 | 亚洲成人av一区二区三区| 欧美男男青年gay1069videost | 性欧美大战久久久久久久久| 欧美一区二区播放| 国产成人8x视频一区二区| 中文字幕在线观看不卡视频| 在线观看日韩av先锋影音电影院| 亚洲成av人**亚洲成av**| 日韩你懂的在线播放| 粉嫩av一区二区三区在线播放| 亚洲天堂免费看| 欧美一区二区三区不卡| 国产一区欧美一区| 一区二区三区欧美| 精品国产在天天线2019| 99精品欧美一区| 美女脱光内衣内裤视频久久影院| 国产精品美女久久久久久久| 欧美日韩国产成人在线91| 国产一区二区三区不卡在线观看 | 亚洲一区二区四区蜜桃| 日韩一区二区电影在线| www.一区二区| 欧美aaaaaa午夜精品| 国产精品进线69影院| 日韩一区二区在线观看视频播放| 成人免费视频国产在线观看| 亚洲成人一二三| 国产精品色哟哟| 日韩午夜在线影院| 91浏览器在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲自拍另类综合| 欧美激情综合五月色丁香| 日韩一级免费观看| 色老汉一区二区三区| 狠狠色伊人亚洲综合成人| 亚洲人被黑人高潮完整版| 久久久久久久综合日本| 欧美精品久久99久久在免费线 | 欧美日韩国产片| 国产v日产∨综合v精品视频| 亚洲小说欧美激情另类| 欧美国产1区2区|