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

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

?? celp_encode.c

?? this the source code of addio compression standard CELP. Also, it is optimizied for the execution sp
?? C
字號:
/**************************************************************************
*                                                                         *
*	CELP Voice Encoder --- A fast version                             *
*	Base on the original Version 3.2c.                                *
*       Copyright CMU   1994.5.
*									  *
*                                                                         *
**************************************************************************/
#define TRUE		1
#define FALSE		0
#define STREAMBITS	144
#define CODELENGTH1	15
#define CODELENGTH2	11
#define PARITYLENGTH	(CODELENGTH1 - CODELENGTH2)
#define SYNDRUN		100
#define OMEGA		0.994127  /* Bandwidth expansion for LPC analysis (15 Hz) */
#define ALPHA		0.8  /* Bandwidth expansion for postfilter */
#define BETA		0.5  /* Bandwidth expansion for postfilter */
#define I2		1  /* symbolic disk_io data type */
#define I4		2  /* symbolic disk_io data type */
#define R4		3  /* symbolic disk_io data type */
#define mmax(A,B)        ((A)>(B)?(A):(B))
#define mmin(A,B)        ((A)<(B)?(A):(B))
/*  #define nint(F)          (((F)>0)?(int)(F+0.5):(int)(F-0.5))  */
#include <stdio.h>
#include <math.h>
#include <strings.h>
#include "ccsub.h"

int cbgbits = 5, cbindex = 0, gindex = 0, idb = 0, ncsize = 512, no = 10;
int nseg = 0, pindex = 0, frame = 0, tauptr = 0, minptr = 0, plevel1 = 0;
int plevel2 = 0, pbits[MAXNP + 2] = {8, 6, 5, 0, 0};

float bb[MAXNP + 1], e0[MAXLP];
float fc[MAXNO + 1], fcn[MAXNO + 1];
float gamma2 = 0.8, prewt = 0.0;

  /* *read adaptive code book index (pitch delay) file		*/
float pdelay[MAXPD] = 
{
#include "pdelay.h"
};


  /* *load stochastic code book vector	file			*/
float x[MAXCODE] = 
{
#include "codebook.h"
};

/* *load the ENG(=YxY) of every filtered stochastic code book vector file */ 
float eng_cb[MAXNCSIZE] = 
{
#include "ENG_YXY.h"
};

    /* 3rd order predictor  */
float fc_3[11]={1.0, -1.10, 0.28, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};  

     /* Impuls response of a time-ivariable 3rd order predictor    */
float h[MAXLP]={1.0, 0.88, 0.5952, 0.32512, 0.143401, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};  


main(argc, argv)
int argc;
char *argv[];

{

  register int i, j, k, ntmp;
  int l = 60;
  int ll = 240, lp = 60, nn, np = 1;
  int findex[MAXNO];
  int lspflag;
  int sync = 1;

  short iarf[MAXLL];

  float sold[MAXLL], snew[MAXLL], ssub[MAXLL], v[MAXLL];
  float rcn[MAXNO], hamw[MAXLL], hamws[MAXL];
  float newfreq[MAXNO], lsp[MAXLL / MAXL][MAXNO];
  float taus[4];

  /* *load pitch delay coding tables for bit assignment		*/
  /* *pdencode.h for encoding 		*/
  static int pdencode[MAXPD] = 
  {
#include "pdencode.h"
  };
  /* *filter coefficients for 2nd order 100 Hz HPF with 60 Hz notch:	*/
  /* static float ahpf[3] = {1.0, -1.99778, 1.0};  */
  /* static float bhpf[3] = {1.0, -1.88 0.89};  */

  /* *filter coefficients for 2nd order Butterworth 100 Hz HPF:		*/
  static float ahpf[3] = {0.946, -1.892, 0.946};
  static float bhpf[3] = {1.0, -1.889033, 0.8948743};

  /* *filter coefficients for 2nd order Butterworth 275 Hz HPF:		*/
  /* static float ahpfo[3] = {0.858, -1.716, 0.858}; */
  /* static float bhpfo[3] = {1.0, -1.696452, 0.7368054}; */


/*
		*bit stream 
*/


  int cbbits = 9, pointer, bitpointer;
  int  pstream[STREAMBITS];
  static int sbits[MAXNO] = {3, 4, 4, 4, 4, 3, 3, 3, 3, 3};
  short stream[STREAMBITS];
  char line[38];

/*
		*filter memories (should be maxno+1)
*/

  static float dhpf1[3], dhpf2[3];
/*
		*error control coding parameters:
*/
  int codeword[CODELENGTH1], hmatrix[CODELENGTH1];
  int syndrometable[CODELENGTH1], paritybit, protect;

  /* *load bit protection vector 				*/
  static int bitprotect[CODELENGTH2] = 
  {
#include "bitprot.h"
  };

  /* *load bit permutation vector				 */
  static int bitpermute[STREAMBITS] = 
  {
#include "bitperm.h"
  };

  char tempstr[82];

  static char ifile[82];
  static char ofile[82];

  FILE *fopen(), *fp24, *fp25;


  /* *start CELP 					 */

strcpy(ifile, *++argv);
strcpy(ofile, *++argv);

  /* ********************* initialize********************	 */

  /* *number of codewords/LPC frame				 */

  nn = ll / l;

  /* *dimension of d1a and d1b???				 */

  idb = MMAX + MAXNP - 1 + l;
  plevel1 = 1 << pbits[0];

  /* *levels of delta tau					 */

  plevel2 = 1 << pbits[1];

  /* *enable/disable error control coding			 */

  protect = TRUE;

  /* *intialize arrays						*/

  for (i = 0; i < MAXLP; i++)  e0[i] = 0.0;
  for (i = 0; i < MAXLL; i++) sold[i] = 0.0;
  for (i = 0; i < STREAMBITS; i++) stream[i] = 0;

  /* *start nseg at 0 to do pitch on odd segments 		*/
  /*   (nseg is incremented before csub) 			*/

  nseg = 0;

  /* *generate matrix for error control coding			 */

  matrixgen(CODELENGTH1, CODELENGTH2, hmatrix, syndrometable);

  /* *generate Hamming windows					 */

  ham(hamw, ll);

  /* *** open and define files					 */


  /* *bit stream channel file                                   */
  fp25 = fopen(strcat(strcpy(tempstr, ofile), ".chan"), "w");
  if (fp25 == NULL)
  {
    perror("celp: Error opening the channel file");
    exit(0);
  }
  fp24 = fopen(ifile, "r");
  if (fp24 == NULL)
  {
    perror("celp: Error opening the input file");
    exit(0);
  }


  /* ......................... m a i n  l o o p ........................ */

  /* *** ANALYSIS ...................................................... */

  /* *** read speech segment s of size ll, until end of file		 */

  while(1)
  {
    if( i=fread(iarf, sizeof(short), ll, fp24) < ll ) break;
    
    frame++;
    pointer = 0;

    /* *display a propeller (rotating bar) once per frame		 */

/*    mark(0);          */
    /* fprint(stderr,"frame =  ",frame);				 */


    /* *The ssub buffer used for subframe CELP analysis is 1/2 a	 */
    /* *frame behind the snew buffer and 1/2 a frame ahead of the 	 */
    /* *sold buffer.							 */

    for (i = 0; i < ll; i++)
    {
      snew[i] = mmax(-32768., mmin(iarf[i], 32767.));
    } 

      
    /* *high pass filter snew						 */
/*
    zerofilt_S(ahpf, 2, dhpf1, snew, ll);
    polefilt_S(bhpf, 2, dhpf2, snew, ll);
*/
    /* *make ssub vector from snew and sold			 	 */
    ntmp = ll/2;
    for (i = 0; i < ntmp; i++)
    {
      ssub[i] = sold[i + ntmp];
      ssub[i + ntmp] = snew[i];
    }


    autohf(snew, hamw, ll, no, OMEGA, fcn, rcn);


    /* *pc -> lsp (new)							 */

    pctolsp2(fcn, no, newfreq, &lspflag);

    /* *quantize lsp's		 					 */

    lsp34(newfreq, no, sbits, findex);


    /* *pack lsp indices in bit stream array				 */

    for (i = 0; i < no; i++)
      pack(findex[i], sbits[i], stream, &pointer);

    /* *linearly interpolate LSP's for each subframe			 */

    intanaly(newfreq, nn, lsp);

    /* *** for each subframe, search stochastic & adaptive code books    */

    k = 0;
    for (i = 0; i < nn; i++)
    {

      lsptopc(&lsp[i][0], fc);
      nseg++;

      /* *** code book & pitch searches					 */

      csub(&ssub[k], &v[k], l, lp);


      /* *pitch quantization tau					 */

      /* *pack parameter indices in bit stream array			 */

      if (((i+1) % 2) != 0)
	packtau(tauptr-minptr, pbits[0], pdencode, stream, &pointer);
      else
	pack(tauptr-minptr, pbits[1], stream, &pointer);

      pack(pindex, pbits[2], stream, &pointer);
      cbindex--;
      pack(cbindex, cbbits, stream, &pointer);
      pack(gindex, cbgbits, stream, &pointer);

      cbindex++;
      k += l;
    }

    /* *** bit error protection						 */
    /* *extract bits to protect from stream array		 	 */
    if (protect)
    {
      for (i = 0; i < CODELENGTH2; i++)
	codeword[i] = stream[bitprotect[i] - 1];

      /* *hamming encode						 */

      encodeham(CODELENGTH1, CODELENGTH2, hmatrix, &paritybit, codeword);

      /* *pack future bit					 */

      pack(0, 1, stream, &pointer);

      /* *pack parity bits						 */

      for (i = 0; i < PARITYLENGTH; i++)
	pack(codeword[CODELENGTH2 + i], 1, stream, &pointer);

      /* *toggle and pack the sync bit					*/

      sync = sync ^ 1;
      pack(sync, 1, stream, &pointer);

    }

    /* *permute bitstream 					 	 */

    for (i = 0; i < STREAMBITS; i++)
      pstream[i] = stream[bitpermute[i] - 1];

    /* *save stream in Dave's format					 */

    puthex(STREAMBITS, pstream, line);
    fprintf(fp25, "%s\n", line);

    /* .......................end block................................. */


    /* *** shift new speech buffer into old speech buffer	 	 */

    /*          	sold		   snew				 */
    /*         |-------------------|-------------------| snew		 */
    /*		          |-------------------|				 */
    /* 				  ssub					 */

    for (i = 0; i < ll; i++)
      sold[i] = snew[i];

    /* *** frame finished, end loop					 */

  } /* end main while loop     */

  /* ...........e n d  m a i n  l o o p ...............................  */

  /* ***  and close files					 */
   
   fclose (fp24);
   exit(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲中国最大av网站| 综合电影一区二区三区| 在线观看日韩电影| 99视频在线观看一区三区| 极品尤物av久久免费看| 久久66热re国产| 老司机免费视频一区二区三区| 日韩av电影天堂| 蜜桃久久久久久久| 国产一区在线不卡| 国产成人午夜精品影院观看视频| 国产精品综合二区| 成人国产亚洲欧美成人综合网 | 亚洲一级不卡视频| 亚欧色一区w666天堂| 天使萌一区二区三区免费观看| 日韩二区三区在线观看| 青青草原综合久久大伊人精品| 欧美aa在线视频| 国产麻豆精品在线| 色婷婷精品大在线视频| 欧美日韩久久一区| 久久久国产精品不卡| 亚洲天堂免费看| 性做久久久久久久免费看| 久久精品理论片| 福利一区二区在线| 欧美自拍丝袜亚洲| 亚洲高清免费观看 | 亚洲二区在线观看| 欧美日韩一区精品| 亚洲丝袜精品丝袜在线| 五月天激情综合| 欧美色老头old∨ideo| 亚洲免费伊人电影| 91视频国产观看| 亚洲伦理在线精品| 日本高清不卡aⅴ免费网站| 亚洲美女少妇撒尿| 欧美色网一区二区| 亚洲午夜久久久久久久久久久| 日本韩国欧美国产| 亚洲午夜久久久久久久久电影院| 欧美私人免费视频| 日本va欧美va欧美va精品| 欧美tickling挠脚心丨vk| 久久国产婷婷国产香蕉| 久久久亚洲精品石原莉奈| 成人黄色一级视频| 亚洲一本大道在线| 日韩欧美一区二区视频| 精品中文av资源站在线观看| 欧美激情在线一区二区| 色老头久久综合| 偷窥少妇高潮呻吟av久久免费| 精品国产污污免费网站入口 | 欧美一级免费大片| 国内精品不卡在线| 国产精品乱码久久久久久| 色婷婷香蕉在线一区二区| 婷婷国产在线综合| 亚洲综合免费观看高清在线观看| 欧美日韩成人一区| 国产一区二区三区av电影| 亚洲欧洲精品一区二区三区不卡| 91亚洲男人天堂| 免费人成在线不卡| 一区在线观看视频| 91精品婷婷国产综合久久竹菊| 国产麻豆精品一区二区| 亚洲在线一区二区三区| 久久综合99re88久久爱| 91久久久免费一区二区| 精品无码三级在线观看视频| 1区2区3区精品视频| 日韩亚洲欧美高清| 93久久精品日日躁夜夜躁欧美| 免费av成人在线| 国产精品久久久久一区| 日韩一区二区在线观看视频| 97se亚洲国产综合在线| 麻豆精品视频在线观看| 一区二区三区欧美在线观看| 久久一区二区三区四区| 欧美在线视频全部完| 国产福利视频一区二区三区| 日韩精品成人一区二区在线| 亚洲天天做日日做天天谢日日欢| 久久夜色精品一区| 欧美精品1区2区| 99精品欧美一区二区三区综合在线| 青青草伊人久久| 亚洲成av人片| 亚洲夂夂婷婷色拍ww47| 国产精品乱码一区二三区小蝌蚪| 欧美videofree性高清杂交| 欧美日本不卡视频| 色婷婷精品久久二区二区蜜臀av| 大尺度一区二区| 久久99精品国产麻豆婷婷| 午夜视频一区二区三区| 有坂深雪av一区二区精品| 国产精品国产a| 国产精品传媒视频| 国产精品美日韩| 国产欧美精品一区二区色综合| 26uuu色噜噜精品一区二区| 7777精品伊人久久久大香线蕉的| 日本高清不卡在线观看| 91麻豆产精品久久久久久 | 国内精品视频一区二区三区八戒| 图片区日韩欧美亚洲| 亚洲高清视频的网址| 亚洲制服丝袜av| 亚洲国产aⅴ成人精品无吗| 亚洲午夜影视影院在线观看| 亚洲一区二区三区不卡国产欧美| 亚洲精品乱码久久久久久黑人| 中文字幕亚洲区| 亚洲天堂网中文字| 亚洲综合无码一区二区| 亚洲一卡二卡三卡四卡五卡| 五月天网站亚洲| 美腿丝袜亚洲色图| 国内精品伊人久久久久av影院 | 蜜桃在线一区二区三区| 久久丁香综合五月国产三级网站| 国产一区不卡视频| 成人一区二区三区视频在线观看| jizz一区二区| 欧美日韩一区小说| 日韩精品一区二区在线观看| 国产喂奶挤奶一区二区三区| 国产精品成人网| 亚洲综合色视频| 日本美女视频一区二区| 国产自产v一区二区三区c| 国产成人免费视频一区| 色悠悠久久综合| 日韩一区二区三区在线| 久久青草国产手机看片福利盒子| 亚洲国产精品v| 亚洲一二三四在线| 国产揄拍国内精品对白| 色综合天天狠狠| 欧美顶级少妇做爰| 久久天堂av综合合色蜜桃网| 国产精品久久毛片| 天堂av在线一区| 成人夜色视频网站在线观看| 91久久一区二区| 精品国产3级a| 亚洲动漫第一页| 国产91丝袜在线观看| 欧美日韩一区国产| 国产午夜精品理论片a级大结局| 亚洲精品成人悠悠色影视| 久久丁香综合五月国产三级网站| 波多野结衣的一区二区三区| 91精品国产综合久久久久久久| 国产精品欧美综合在线| 喷白浆一区二区| 在线精品视频一区二区| 久久久久久久久免费| 亚洲国产视频在线| 岛国精品在线观看| 91精品国产色综合久久不卡电影 | 欧美午夜精品理论片a级按摩| 久久亚洲精品小早川怜子| 一区二区三区不卡视频| 国产馆精品极品| 日韩久久久久久| 亚洲国产视频a| 色婷婷av久久久久久久| 欧美国产97人人爽人人喊| 免费视频最近日韩| 欧美三级资源在线| 国产精品国产精品国产专区不蜜 | 国产精品久久久久毛片软件| 久久激情五月婷婷| 欧美久久一二三四区| 玉米视频成人免费看| 成人aaaa免费全部观看| 久久亚洲精品小早川怜子| 开心九九激情九九欧美日韩精美视频电影 | 亚洲欧洲精品一区二区三区不卡| 精品一区二区在线看| 欧美日韩国产成人在线91| 一区二区三区四区五区视频在线观看| 国产99久久久国产精品潘金网站| 欧美v日韩v国产v| 日产国产高清一区二区三区| 欧美伊人精品成人久久综合97| 亚洲女人小视频在线观看| 成人午夜激情影院| 欧美激情一区在线| 东方欧美亚洲色图在线| 国产亚洲成年网址在线观看| 粉嫩一区二区三区在线看| 久久九九久久九九|