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

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

?? player.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
?? 第 1 頁 / 共 2 頁
字號:
      }
      WavFileClose(&wfInputParams);
      if(f_log) fclose(f_log);
      return FOPEN_FAIL;
   }
   if(clParams.timing) {
      lCallResult = Timing(&clParams, &wfInputParams, f_log);
      return lCallResult;
   }
   /*If input file in PCM format than encode else decode*/
   if((wfInputParams.waveFmt.nFormatTag==LINIAR_PCM)||
            (wfInputParams.waveFmt.nFormatTag==ALAW_PCM/*A-law*/)||
            (wfInputParams.waveFmt.nFormatTag==MULAW_PCM/*mu-law*/)) {
      encode = 1;
      PCMType = wfInputParams.waveFmt.nFormatTag;
      strcpy((char*)codec.codecName, clParams.codecName);
      codec.lIsVad = (clParams.Vad>0);
   } else {
      encode = 0;
      codec.lFormatTag = wfInputParams.waveFmt.nFormatTag;
      clParams.bitrate = wfInputParams.bitrate;
   }

   if(encode) {
      /*Load codec by name from command line*/
      lCallResult = LoadUSCCodecByName(&codec,f_log);
      if(lCallResult<0) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Cannot find %s codec.\n",codec.codecName);
         } else {
            printf("Cannot find %s codec.\n",codec.codecName);
         }
         if(f_log) fclose(f_log);
         return LOAD_CODEC_FAIL;
      }
      /*Get USC codec params*/
      lCallResult = USCCodecGetInfo(&codec.uscParams);
      if(lCallResult<0) return USC_CALL_FAIL;
      /*Get its supported format details*/
      lCallResult = GetUSCCodecParamsByFormat(&codec,BY_NAME,(clParams.Vad>0),f_log);
      if(lCallResult<0) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Cannot find %s codec format description.\n",codec.codecName);
         } else {
            printf("Cannot find %s codec format description.\n",codec.codecName);
         }
         if(f_log) fclose(f_log);
         return LOAD_CODEC_FAIL;
      }
   } else {
      /*Get its supported format details*/
      lCallResult = GetUSCCodecParamsByFormat(&codec,BY_FORMATTAG,0,f_log);
      if(lCallResult<0) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Cannot find format description.\n");
         } else {
            printf("Cannot find format description.\n");
         }
         if(f_log) fclose(f_log);
         return LOAD_CODEC_FAIL;
      }
      /*Load codec by name from format description*/
      lCallResult = LoadUSCCodecByName(&codec,f_log);
      if(lCallResult<0) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Cannot find %s codec.\n",codec.codecName);
         } else {
            printf("Cannot find %s codec.\n",codec.codecName);
         }
         if(f_log) fclose(f_log);
         return LOAD_CODEC_FAIL;
      }
      /*Get USC codec params*/
      lCallResult = USCCodecGetInfo(&codec.uscParams);
      if(lCallResult<0) return USC_CALL_FAIL;
   }
   /* Check sample_frequence, bitspersample and number of channels*/
   if(encode) {
      if(PCMType==LINIAR_PCM) {
         if(wfInputParams.waveFmt.nBitPerSample != codec.uscParams.pInfo.pcmType.bitPerSample) {
            if(clParams.puttologfile) {
               fprintf(f_log,"Bits per sample must be %d for the %s codec\n",
                  codec.uscParams.pInfo.pcmType.bitPerSample, codec.uscParams.pInfo.name);
            } else {
               printf("Bits per sample must be %d for the %s codec\n",
                  codec.uscParams.pInfo.pcmType.bitPerSample, codec.uscParams.pInfo.name);
            }
            if(f_log) fclose(f_log);
            return UNKNOWN_FORMAT;
         }
      } else {
         if(wfInputParams.waveFmt.nBitPerSample != 8) {
            if(clParams.puttologfile) {
               fprintf(f_log,"Bits per sample must be 8 for the A-Law/Mu-Law input file\n");
            } else {
               printf("Bits per sample must be 8 for the A-Law/Mu-Law input file\n");
            }
            if(f_log) fclose(f_log);
            return UNKNOWN_FORMAT;
         }
      }
      if(wfInputParams.waveFmt.nSamplesPerSec != codec.uscParams.pInfo.pcmType.sample_frequency) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Must be %d samples per seconds for the %s codec\n",
               codec.uscParams.pInfo.pcmType.sample_frequency,
               codec.uscParams.pInfo.name);
         } else {
            printf("Must be %d samples per seconds for the %s codec\n",
               codec.uscParams.pInfo.pcmType.sample_frequency,
               codec.uscParams.pInfo.name);
         }
         if(f_log) fclose(f_log);
         return UNKNOWN_FORMAT;
      }
      if(wfInputParams.waveFmt.nChannels != 1) {
         if(clParams.puttologfile) {
            fprintf(f_log,"Input file must be mono\n");
         } else {
            printf("Input file must be mono\n");
         }
         if(f_log) fclose(f_log);
         return UNKNOWN_FORMAT;
      }
   }
   /*Initialize Wave File params*/
   InitWavFile(&wfOutputParams);
   if (!encode) {
      /*Output file is pcm*/
      wfOutputParams.waveFmt.nFormatTag = LINIAR_PCM;
      wfOutputParams.waveFmt.nBitPerSample = codec.uscParams.pInfo.pcmType.bitPerSample;
      if(clParams.nOutputPCMType==ALAW_PCM) {
         wfOutputParams.waveFmt.nFormatTag = ALAW_PCM;
         wfOutputParams.waveFmt.nBitPerSample = 8;
      } else if(clParams.nOutputPCMType==MULAW_PCM) {
         wfOutputParams.waveFmt.nFormatTag = MULAW_PCM;
         wfOutputParams.waveFmt.nBitPerSample = 8;
      }
   } else {
      wfOutputParams.waveFmt.nFormatTag = codec.lFormatTag;
      wfOutputParams.waveFmt.nBitPerSample = 0;
   }
   /*Open wave file and read its header*/
   lCallResult=OpenWavFile(&wfOutputParams, clParams.outputFileName, FILE_WRITE);
   if(lCallResult==-1) {
      if(clParams.puttologfile) {
         fprintf(f_log,"Cannot open %s file for writing\n",clParams.outputFileName);
      } else {
         printf("Cannot open %s file for writing\n",clParams.outputFileName);
      }
      if(f_log) fclose(f_log);
      return FOPEN_FAIL;
   }

   if(encode) {
      /*Set params for encode*/
      SetUSCEncoderParams(&codec.uscParams, &clParams);
   } else {
      /*Set params for decode*/
      SetUSCDecoderParams(&codec.uscParams, &clParams);
   }
   /*Alloc memory for the codec*/
   codec.uscParams.nChannels = wfInputParams.waveFmt.nChannels;
   lCallResult = USCCodecAlloc(&codec.uscParams, &clParams);
   if(lCallResult<0) return USC_CALL_FAIL;
   if(encode) {
      /*Init encoder*/
      lCallResult = USCEncoderInit(&codec.uscParams, &clParams);
   } else {
      /*Init decoder*/
      lCallResult = USCDecoderInit(&codec.uscParams, &clParams);
   }
   if(lCallResult<0) return USC_CALL_FAIL;
   /*Allocate memory for the input buffer. Size of input buffer is equal to the size of input file*/
   inputBuffer = (char *)ippsMalloc_8u(wfInputParams.DataSize);
   if(!inputBuffer) {
      if(clParams.puttologfile) {
         fprintf(f_log,"Cannot allocate %d bytes memory\n",wfInputParams.DataSize);
      } else {
         printf("Cannot allocate %d bytes memory\n",wfInputParams.DataSize);
      }
      if(f_log) fclose(f_log);
      return MEMORY_FAIL;
   }

   /*Allocate memory for the output buffer. Size of output buffer is equal to the size of 1 frame*/
   outputBuffer = (char *)ippsMalloc_8u(codec.uscParams.pInfo.framesize*wfInputParams.waveFmt.nChannels);
   if(!outputBuffer) {
      if(clParams.puttologfile) {
         fprintf(f_log,"Cannot allocate %d bytes memory\n",codec.uscParams.pInfo.framesize);
      } else {
         printf("Cannot allocate %d bytes memory\n",codec.uscParams.pInfo.framesize);
      }
      if(f_log) fclose(f_log);
      return MEMORY_FAIL;
   }

   /*Read data from the input file to the buffer*/
   WavFileRead(&wfInputParams, (void *)inputBuffer, wfInputParams.DataSize);
   if((encode)&&(PCMType > LINIAR_PCM)) {
      lCallResult = USC_CvtToLiniar(&codec.uscParams, PCMType, &inputBuffer, &wfInputParams.DataSize);
      if(lCallResult<0) return MEMORY_FAIL;
   }

   /*Set pointer to the start of the data*/

   measure_init(&measure);
   ProcessOneChannel(&codec, &wfOutputParams, inputBuffer, wfInputParams.DataSize,
                        outputBuffer, &duration, &currLen);
   measure_finish(&measure);
   spSeconds = (duration/(float)(codec.uscParams.pInfo.pcmType.bitPerSample>>3))/
                        (float)codec.uscParams.pInfo.pcmType.sample_frequency;
   if(clParams.puttologfile) {
      fprintf(f_log,"Proceeded %g sec of speech\n",spSeconds);
      measure_output(f_log, &measure, spSeconds, 1, clParams.optionReport);
   } else {
      printf("Proceeded %g sec of speech\n",spSeconds);
      measure_output(stdout, &measure, spSeconds, 1, clParams.optionReport);
   }

   OutputString2CSVFile(&clParams, &codec.uscParams.pInfo, spSeconds,measure.speed_in_mhz);

   /* Fill output file params*/
   wfOutputParams.waveFmt.nChannels = 1;
   wfOutputParams.waveFmt.nSamplesPerSec = codec.uscParams.pInfo.pcmType.sample_frequency;

   if (!encode) {
      /*Output file is pcm*/
      wfOutputParams.waveFmt.nBlockAlign = wfOutputParams.waveFmt.nChannels*(wfOutputParams.waveFmt.nBitPerSample>>3);
   } else {
      int nBlockAlign;
      wfOutputParams.bitrate = codec.uscParams.pInfo.params.modes.bitrate;
      /* Calc nBlockAlign of the current codec*/
      USCCodecGetSize(&codec.uscParams, codec.uscParams.pInfo.framesize, &nBlockAlign);
      wfOutputParams.waveFmt.nBlockAlign = (nBlockAlign+USCGetFrameHeaderSize())*wfOutputParams.waveFmt.nChannels;
   }

   /* Close input file*/
   WavFileClose(&wfInputParams);
   /* Write file header*/
   WavFileWriteHeader(&wfOutputParams);
   /* Close output file*/
   WavFileClose(&wfOutputParams);
   /*Free resources*/
   if(inputBuffer) ippsFree(inputBuffer);
   if(outputBuffer) ippsFree(outputBuffer);
   /*Free codec memory*/
   USCFree(&codec.uscParams);
   /* Close plug-ins*/
   FreeUSCSharedObjects(&codec);
   if(f_log) fclose(f_log);
   return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费视频.| 日韩成人免费看| 偷拍与自拍一区| 成人h精品动漫一区二区三区| 欧美亚洲免费在线一区| 国产日本欧洲亚洲| 捆绑调教美女网站视频一区| 日本韩国一区二区三区视频| 久久久777精品电影网影网| 日本特黄久久久高潮| 色菇凉天天综合网| 国产精品第13页| 精品一区二区三区免费播放| 欧美精品一级二级三级| 亚洲一区二区三区国产| 91麻豆免费看| 亚洲欧洲精品一区二区三区 | 成人av网址在线| 欧美tickling挠脚心丨vk| 香蕉影视欧美成人| 欧美日韩一区在线观看| 亚洲一区二区三区爽爽爽爽爽| 日本道色综合久久| 亚洲精品福利视频网站| 色综合一区二区| 亚洲美女屁股眼交| 日本韩国一区二区三区| 一区二区三区日韩精品| 欧美影视一区二区三区| 亚洲成av人**亚洲成av**| 欧美午夜不卡在线观看免费| 亚洲一区在线电影| 欧美精品在线一区二区三区| 亚洲一区二区高清| 欧美日韩在线精品一区二区三区激情| 亚洲综合激情另类小说区| 欧美日韩国产大片| 丝袜诱惑亚洲看片| 欧美xxxxx牲另类人与| 国产一区亚洲一区| 怡红院av一区二区三区| 91免费观看视频在线| 亚洲精品国产精华液| 欧美亚洲国产一区二区三区| 亚洲动漫第一页| 欧美久久久久久久久| 经典三级在线一区| 久久久国产精品不卡| 成人黄色小视频| 亚洲激情综合网| 日韩欧美一级片| 国产成人av在线影院| 亚洲日本在线看| 在线观看av不卡| 麻豆精品在线播放| 日本一区二区三区高清不卡| 色噜噜久久综合| 日韩不卡一区二区三区| 欧美激情一区不卡| 欧美日韩成人综合| 国产成人免费9x9x人网站视频| 国产精品成人免费精品自在线观看| 色婷婷av一区| 精品无人码麻豆乱码1区2区| 亚洲视频一二区| 日韩一区二区在线观看视频| 成人性生交大片免费看中文| 亚洲电影第三页| 国产欧美久久久精品影院| 欧美无砖砖区免费| 国产精品一区在线观看你懂的| 亚洲精品久久久蜜桃| 精品成人私密视频| 欧美系列日韩一区| 成人精品高清在线| 麻豆国产精品官网| 一区二区三区欧美激情| 久久精品一区八戒影视| 欧美精品免费视频| 99久久久国产精品| 国产制服丝袜一区| 亚洲6080在线| 亚洲视频一区在线| 久久久www成人免费毛片麻豆| 欧美午夜精品久久久| 成人的网站免费观看| 紧缚捆绑精品一区二区| 视频在线观看一区| 一区二区高清在线| 最近中文字幕一区二区三区| 久久久久国产精品麻豆ai换脸| 欧美男同性恋视频网站| 色悠悠久久综合| 粉嫩aⅴ一区二区三区四区| 看片的网站亚洲| 午夜精品久久一牛影视| 亚洲一区二区在线观看视频| 国产精品毛片a∨一区二区三区| 久久在线免费观看| 91精品国产高清一区二区三区蜜臀| 91色porny在线视频| 97久久精品人人做人人爽50路| 国产麻豆91精品| 久久99国产精品久久| 日本91福利区| 日韩中文字幕av电影| 亚洲高清在线精品| 亚洲精品v日韩精品| 一区二区三区在线影院| 亚洲精品久久久蜜桃| 一区二区三区资源| 亚洲制服丝袜av| 亚洲自拍偷拍麻豆| 婷婷开心激情综合| 日本一区中文字幕| 精品一区二区在线看| 国产一区二区三区四 | 亚洲在线免费播放| 亚洲精品国产一区二区精华液 | 国产精品99久久久久久有的能看 | 色综合激情五月| 91官网在线免费观看| 在线中文字幕一区| 欧美日韩一卡二卡三卡| 91精品国产入口在线| 精品盗摄一区二区三区| 国产日韩欧美在线一区| 亚洲图片你懂的| 亚洲午夜久久久久久久久久久| 亚洲va韩国va欧美va| 久久精品国产99国产精品| 国产乱对白刺激视频不卡| 成人教育av在线| 色哦色哦哦色天天综合| 欧美一级一级性生活免费录像| 日韩精品一区国产麻豆| 日本一区二区动态图| 亚洲女人的天堂| 石原莉奈一区二区三区在线观看| 精品在线一区二区三区| 国产a视频精品免费观看| 日本乱人伦aⅴ精品| 欧美一区二区成人6969| 国产视频一区在线观看| 亚洲精品免费在线播放| 久久电影国产免费久久电影| 岛国一区二区三区| 欧美丝袜丝nylons| 欧美精品一区二区三区视频| 亚洲婷婷综合色高清在线| 三级久久三级久久久| 国产91富婆露脸刺激对白| 在线免费观看成人短视频| 欧美变态tickle挠乳网站| 亚洲色图清纯唯美| 久久不见久久见免费视频7| 99精品视频在线免费观看| 91精品福利在线一区二区三区| 中文字幕免费观看一区| 日本成人在线看| 色呦呦国产精品| 国产偷国产偷精品高清尤物| 天天综合网 天天综合色| 成人免费观看视频| 日韩天堂在线观看| 一区二区三区在线视频播放| 国产一区二区免费看| 欧美精品久久久久久久久老牛影院| 欧美韩国日本不卡| 蜜桃av一区二区| 91精品1区2区| 国产精品人人做人人爽人人添| 免费看欧美女人艹b| 色妹子一区二区| 欧美激情中文不卡| 久久99精品久久久久久动态图| 欧美老肥妇做.爰bbww| 亚洲美女视频一区| 成人性生交大片免费看在线播放| 精品日韩一区二区三区| 日韩高清不卡一区二区| 欧美亚洲综合色| 亚洲黄网站在线观看| 99国产精品一区| 国产精品福利一区| 国产精品亚洲第一 | 91精品免费在线| 一区二区三区中文字幕精品精品 | 天天影视涩香欲综合网| 欧美在线观看视频在线| 亚洲猫色日本管| 99re免费视频精品全部| 国产精品久久久久精k8| 丁香婷婷综合网| 国产日韩精品一区| 国产丶欧美丶日本不卡视频| 精品国产91久久久久久久妲己| 精品一区二区三区免费视频| 欧美精品一区二区三| 国产精品99久久久久久久vr|