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

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

?? 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, 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];

  /* *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;
  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"
  };

  /* *start CELP 					 */

     if (argc != 1) {
        fprintf(stderr, "Usage: %s   < *.spd   >  *.chan\n", argv[0]);
        exit(1);
     }

  /* ********************* 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);



  /* ......................... 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, stdin) < 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(stdout, "%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					 */
   
   exit(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲猫色日本管| youjizz国产精品| 国产成人精品一区二区三区四区 | 另类的小说在线视频另类成人小视频在线| 精品系列免费在线观看| 色哟哟日韩精品| 精品国产乱码久久久久久影片| 一区二区三区四区不卡视频| 国产呦精品一区二区三区网站| 欧美色图免费看| 国产精品不卡视频| 国产精品1024| 欧美va亚洲va在线观看蝴蝶网| 亚洲愉拍自拍另类高清精品| 粗大黑人巨茎大战欧美成人| 日韩免费福利电影在线观看| 香蕉影视欧美成人| 91免费版pro下载短视频| 国产香蕉久久精品综合网| 日韩av午夜在线观看| 欧洲在线/亚洲| 亚洲美女在线一区| 99视频国产精品| 中文字幕精品三区| 风流少妇一区二区| 久久久久97国产精华液好用吗| 老司机午夜精品99久久| 日韩一级高清毛片| 奇米影视在线99精品| 欧美色爱综合网| 亚洲成人黄色小说| 欧美日韩日日夜夜| 日本亚洲欧美天堂免费| 91精品午夜视频| 秋霞成人午夜伦在线观看| 日韩一卡二卡三卡| 老司机午夜精品| 国产日韩欧美电影| 99久久99精品久久久久久| 中文字幕一区二区三区四区| 一本久久a久久免费精品不卡| 亚洲精品高清在线观看| 91福利国产成人精品照片| 亚洲韩国一区二区三区| 欧美婷婷六月丁香综合色| 婷婷开心激情综合| 日韩欧美国产1| 国产精品系列在线播放| 中文字幕免费在线观看视频一区| 97se亚洲国产综合自在线观| 一区二区三区免费| 欧美精品在线一区二区| 精品亚洲国产成人av制服丝袜| 国产欧美日韩不卡| 91九色02白丝porn| 麻豆一区二区三| 国产精品网曝门| 欧美日韩国产综合一区二区| 美女mm1313爽爽久久久蜜臀| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩在线电影| 国产在线视频一区二区| 亚洲欧美一区二区久久| 欧美一区二区大片| 99精品视频中文字幕| 午夜精品久久久久久久蜜桃app| 欧美成人r级一区二区三区| 成人18视频日本| 日本中文字幕一区二区有限公司| 久久精品一区蜜桃臀影院| 91国偷自产一区二区三区观看| 麻豆久久久久久| 亚洲欧美日韩系列| ww亚洲ww在线观看国产| 色88888久久久久久影院野外| 久久超碰97人人做人人爱| 亚洲欧美日韩精品久久久久| 日韩欧美国产午夜精品| 欧美曰成人黄网| 国产真实乱偷精品视频免| 亚洲综合免费观看高清完整版在线 | 91亚洲午夜精品久久久久久| 美女一区二区久久| 亚洲一区视频在线观看视频| 国产日韩欧美不卡| 欧美变态口味重另类| 色88888久久久久久影院按摩| 国产精品一区久久久久| 日本不卡123| 亚洲福利一区二区三区| 亚洲人精品午夜| 国产精品麻豆一区二区| www激情久久| 欧美一二三四在线| 欧美日韩电影在线播放| 在线精品视频免费观看| 9久草视频在线视频精品| 国产一区二区三区综合| 免费观看一级特黄欧美大片| 午夜私人影院久久久久| 日韩精品一二三四| 精品成人一区二区| 日本精品裸体写真集在线观看| 狠狠色丁香婷综合久久| 日日摸夜夜添夜夜添国产精品| 一区二区三区免费观看| 亚洲猫色日本管| 亚洲日穴在线视频| 日韩一区欧美一区| 亚洲人成伊人成综合网小说| 国产精品久99| 亚洲欧美自拍偷拍| 亚洲伦理在线精品| 一区二区免费在线| 亚洲欧洲韩国日本视频| 久久久久久久久蜜桃| 精品国产乱码久久久久久闺蜜| 日韩三级高清在线| 精品国产sm最大网站免费看| 欧美成人一区二区三区在线观看| 日韩午夜电影在线观看| 欧美大片在线观看一区二区| 精品欧美一区二区在线观看| 久久亚洲一区二区三区四区| 国产亚洲精品资源在线26u| 亚洲色图清纯唯美| 国产成人激情av| 一本久道久久综合中文字幕| 久久综合色婷婷| 精品一区二区三区免费| 激情小说欧美图片| 国产在线精品一区二区三区不卡| 一区二区三区免费看视频| 国产精品一区二区三区99| 欧美在线视频不卡| 国产欧美一区二区三区网站| 午夜不卡av在线| 成人午夜精品在线| 日韩欧美一二三四区| 亚洲国产精品综合小说图片区| 国产精品99久久久久久久女警| 欧美乱熟臀69xxxxxx| 亚洲欧洲中文日韩久久av乱码| 国产精华液一区二区三区| 日韩你懂的电影在线观看| 亚洲在线一区二区三区| 91理论电影在线观看| 久久久精品国产99久久精品芒果 | 欧美日韩国产精品成人| 亚洲精品国久久99热| 成人国产在线观看| 久久久久久久一区| 狠狠色狠狠色综合| 欧美电视剧免费观看| 久久se精品一区二区| 日韩一级免费观看| 日日嗨av一区二区三区四区| 欧美日韩一区在线| 亚洲精品国产精品乱码不99 | 欧美人伦禁忌dvd放荡欲情| 中文字幕一区免费在线观看| 北条麻妃国产九九精品视频| 国产女同性恋一区二区| 高清久久久久久| 国产免费成人在线视频| 国产成人av一区二区| 欧美国产1区2区| 99这里只有久久精品视频| 中文字幕不卡三区| av电影天堂一区二区在线| 亚洲欧美在线视频| 色综合色狠狠综合色| 一区二区三区视频在线看| 欧美婷婷六月丁香综合色| 午夜天堂影视香蕉久久| 欧美一级爆毛片| 国产乱子伦一区二区三区国色天香 | 国产精品动漫网站| 99精品桃花视频在线观看| 一区二区三区日韩在线观看| 欧美天堂一区二区三区| 丝袜美腿一区二区三区| 日韩精品一区二区三区四区| 国产一区二区三区精品视频| 国产精品天天摸av网| 在线亚洲一区二区| 亚洲成a人片综合在线| 日韩一二三四区| 国产一区高清在线| 综合电影一区二区三区 | 五月婷婷激情综合网| 欧美一级爆毛片| 成人免费看片app下载| 亚洲三级视频在线观看| 91精品婷婷国产综合久久| 国产综合色在线| 亚洲丝袜美腿综合| 91精品一区二区三区在线观看| 国产乱码字幕精品高清av| 亚洲激情图片一区|