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

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

?? host.c

?? GSM中半速率語音編解碼源碼
?? C
字號:
/***************************************************************************
 *
 *   File Name:  host.c
 *
 *   Purpose:  Contains functions for file I/O and formatting, no signal
 *      processing.
 *
 *      The functions in this file are listed below.  All are level 2
 *      fuctions, where level 0 is main(), except for fillBitAlloc() which
 *      is level 3.  The two "Interface" routines perform truncation of the
 *      three least significant bits of the 16 bit linear input.  The others
 *      are simply file I/O functions and data reformatters.
 *
 *      fillBitAlloc()
 *      hostEncoderInterface()
 *      readDecfile()
 *      speechDecoderHostInterface()
 *      writeEncfile()
 *
 **************************************************************************/

/*_________________________________________________________________________
 |                                                                         |
 |                            Include Files                                |
 |_________________________________________________________________________|
*/

#include <stdio.h>
#include "typedefs.h"

/***************************************************************************
 *
 *   FUNCTION NAME: fillBitAlloc
 *
 *   PURPOSE:
 *
 *     Arrange speech parameters for encoder output
 *
 *   INPUTS:
 *
 *     The speechcoders codewords:
 *     iR0 - Frame energy
 *     piVqIndeces[0:2] - LPC vector quantizer codewords
 *     iSoftInterp - Soft interpolation bit 1 or 0
 *     iVoicing - voicing mode 0,1,2,3
 *     piLags[0:3] - Frame and delta lag codewords
 *     piCodeWrdsA[0:3] - VSELP codevector 1
 *     piCodeWrdsB[0:3] - VSELP codevector 2 (n/a for voiced modes)
 *     piGsp0s[0:3] - GSP0 codewords
 *     swVadFlag - voice activity detection flag
 *     swSP - Speech flag
 *
 *   OUTPUTS:
 *
 *     pswBAlloc[0:20] - an array into which the coded data is moved
 *
 *   RETURN VALUE:
 *
 *     none
 *
 *   REFERENCES: Sub-clause 2.1 and 4.1.12 of GSM Recomendation 06.20
 *
 **************************************************************************/

void   fillBitAlloc(int iVoicing, int iR0, int *piVqIndeces,
                           int iSoftInterp, int *piLags,
                           int *piCodeWrdsA, int *piCodeWrdsB,
                           int *piGsp0s, Shortword swVadFlag,
                           Shortword swSP, Shortword *pswBAlloc)
{

/*_________________________________________________________________________
 |                                                                         |
 |                            Automatic Variables                          |
 |_________________________________________________________________________|
*/

  int    i;
  Shortword *pswNxt;

/*_________________________________________________________________________
 |                                                                         |
 |                            Executable Code                              |
 |_________________________________________________________________________|
*/

  pswNxt = pswBAlloc;
  *pswNxt++ = iR0;
  for (i = 0; i < 3; i++)
    *pswNxt++ = *piVqIndeces++;
  *pswNxt++ = iSoftInterp;
  *pswNxt++ = iVoicing;

  /* check voicing mode */
  if (iVoicing)
  {
    /* voiced mode */
    for (i = 0; i < N_SUB; i++)
    {
      *pswNxt++ = *piLags++;
      *pswNxt++ = *piCodeWrdsA++;
      *pswNxt++ = *piGsp0s++;
    }
  }
  else
  {                                    /* unvoiced frame */
    for (i = 0; i < N_SUB; i++)
    {
      *pswNxt++ = *piCodeWrdsA++;
      *pswNxt++ = *piCodeWrdsB++;
      *pswNxt++ = *piGsp0s++;
    }
  }
  *pswNxt++ = swVadFlag;
  *pswNxt++ = swSP;
}

/***************************************************************************
 *
 *   FUNCTION NAME: hostEncoderInterface
 *
 *   PURPOSE:
 *
 *     Read in speech data from a file.  Zero the least significant 3 bits.
 *
 *
 *   INPUTS:
 *
 *     pfileInSpeech
 *                     FILE pointer to the binary input file
 *
 *     iNumToRead
 *                     Number of samples to read from the file, typically
 *                     160 (20 ms of speech).
 *
 *
 *   OUTPUTS:
 *
 *     pswSamplesRead[]
 *                     The speech samples read in from the file.
 *
 *
 *   RETURN VALUE:
 *
 *     iNumRead
 *                     The number of samples actually read.
 *
 *   IMPLEMENTATION:
 *
 *     The input speech file should be in "native" format. This means that
 *     the file is to be read (by this program) and written (by another
 *     program) as short ints (not chars).
 *
 *     If not enough samples are available in the file, the number actually
 *     read is returned.  If the read fails to fill the requested iNumToRead
 *     samples, then the rest are zeroed.
 *
 *     In all cases the least significant 3 bits of all speech samples are
 *     zeroed.
 *
 *   REFERENCES: Sub-clause 4.1 of GSM Recomendation 06.20
 *
 *   KEYWORDS: read, read speech, get speech data
 *
 **************************************************************************/

int    hostEncoderInterface(FILE *pfileInSpeech, int iNumToRead,
                                   Shortword pswSamplesRead[])
{

/*_________________________________________________________________________
 |                                                                         |
 |                            Automatic Variables                          |
 |_________________________________________________________________________|
*/
  int    iNumRead,
         i;

/*_________________________________________________________________________
 |                                                                         |
 |                              Executable Code                            |
 |_________________________________________________________________________|
*/

  iNumRead = fread((char *) pswSamplesRead, sizeof (Shortword),
                   iNumToRead, pfileInSpeech);

  /* Delete the 3 LSB's - 13 bit speech input */
  /*------------------------------------------*/

  for (i = 0; i < iNumRead; i++)
  {
    pswSamplesRead[i] &= 0xfff8;
  }


  /* Fill out the iNumToRead buffer with zeroes */
  /*--------------------------------------------*/

  if (iNumRead != iNumToRead)
  {
    for (i = iNumRead; i < iNumToRead; i++)
    {
      pswSamplesRead[i] = 0;
    }
  }
  return (iNumRead);
}

/***************************************************************************
 *
 *   FUNCTION NAME:  readDecfile
 *
 *   PURPOSE:
 *      Reads decoder parameter input file
 *
 *   INPUT:
 *      infile           decoder parameter input file.
 *
 *   OUTPUT:
 *      pswSpeechPara    array of received 16-bit values
 *
 *   RETURN:
 *      0                successfully read a complete frame of data
 *
 *   REFERENCES: Sub-clause 4.2 of GSM Recomendation 06.20
 *
 *   KEYWORDS: pswSpeechPara
 *
 **************************************************************************/

int    readDecfile(FILE *infile, Shortword pswSpeechPara[])
{
  if (fread((char *) pswSpeechPara, sizeof (Shortword), 22, infile) == 0)
    return (1);
  else
    return (0);
}

/***************************************************************************
 *
 *   FUNCTION NAME: speechDecoderHostInterface
 *
 *   PURPOSE:
 *     The purpose of this function is to truncate the linear pcm and write
 *     it into the output file
 *
 *   INPUTS:
 *
 *     F_LEN
 *
 *                     160 = linear pcm output frame size
 *
 *     pswDecodedSpeechFrame[0:F_LEN-1]
 *
 *                     16 bit linear pcm
 *
 *   OUTPUTS:
 *
 *     fpfileSpeechOut
 *
 *                     13 bit linear pcm stored to file given by this pointer
 *
 *   RETURN VALUE:
 *
 *     none
 *
 *   IMPLEMENTATION:
 *
 *   REFERENCES: Sub-clause 4.2 of GSM Recomendation 06.20
 *
 *   KEYWORDS: synthesis, speechdecoder, decoding, truncation
 *
 **************************************************************************/

void   speechDecoderHostInterface(Shortword pswDecodedSpeechFrame[],
                                         FILE *fpfileSpeechOut)
{

/*_________________________________________________________________________
 |                                                                         |
 |                              Local Constants                            |
 |_________________________________________________________________________|
*/

#define  PCM_MASK     0xfff8           /* 16 to 13 bit linear PCM mask */

/*_________________________________________________________________________
 |                                                                         |
 |                            Automatic Variables                          |
 |_________________________________________________________________________|
*/

  short int i;

/*_________________________________________________________________________
 |                                                                         |
 |                              Executable Code                            |
 |_________________________________________________________________________|
*/

  /* truncate the 16 bit linear pcm to 13 bits */
  /* ----------------------------------------- */

  for (i = 0; i < F_LEN; i++)
  {
    pswDecodedSpeechFrame[i] = pswDecodedSpeechFrame[i] & PCM_MASK;
  }

  /* F_LEN samples of linear pcm to output file */
  /* ------------------------------------------ */

  fwrite((char *) pswDecodedSpeechFrame, sizeof (Shortword),
         F_LEN, fpfileSpeechOut);
}

/***************************************************************************
 *
 *   FUNCTION NAME:  writeEncfile
 *
 *   PURPOSE:
 *      Writes encoded parameters to ouput file
 *
 *   INPUT:
 *      pswSpeechPara        array of encoded parameter words.
 *
 *   OUTPUT:
 *      fpfileEnc        16-bit encoded values.
 *
 *   RETURN:
 *      i                number of bytes written
 *
 *   REFERENCES: Sub-clause 4.1 of GSM Recomendation 06.20
 *
 *   KEYWORDS: pswSpeechPara, fpfileEnc
 *
 **************************************************************************
*/

int    writeEncfile(Shortword pswSpeechPara[], FILE *fpfileEnc)
{
  int    i;

  i = fwrite((char *) pswSpeechPara, sizeof (Shortword), 20, fpfileEnc);

  return (i);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久高清精品| 日韩一区二区电影网| 国产精品香蕉一区二区三区| 亚洲国产aⅴ天堂久久| 一区二区三区国产| 一区二区三区小说| 亚洲国产精品久久久久婷婷884| 亚洲日本在线观看| 亚洲欧美色图小说| 亚洲老妇xxxxxx| 一区二区三区波多野结衣在线观看 | 欧美人妇做爰xxxⅹ性高电影| 色婷婷综合激情| 欧美日韩国产三级| 精品日韩成人av| 欧美国产精品v| 亚洲一区二区三区不卡国产欧美| 亚洲综合色网站| 人禽交欧美网站| 国产一区视频导航| 91日韩在线专区| 欧美图区在线视频| 亚洲精品一区二区三区精华液 | 欧美日韩国产精品成人| 日韩视频在线你懂得| 久久日一线二线三线suv| 国产精品水嫩水嫩| 亚洲一区在线电影| 国产一区二区三区电影在线观看 | 精品国产网站在线观看| 国产欧美日韩在线观看| 中文字幕日韩精品一区 | 欧美一区日韩一区| 中文字幕高清不卡| 亚洲3atv精品一区二区三区| 韩国一区二区三区| 精品污污网站免费看| 国产精品欧美久久久久一区二区| 亚洲国产一区二区三区青草影视| 麻豆专区一区二区三区四区五区| 福利一区二区在线观看| 欧美视频一区二区三区在线观看| 久久影音资源网| 亚洲一区二区在线播放相泽| 韩国成人福利片在线播放| 91首页免费视频| 精品国产免费人成电影在线观看四季 | 欧美熟乱第一页| 国产三级久久久| 日本女优在线视频一区二区| 成人免费av资源| 日韩欧美亚洲国产另类| 一区二区在线观看视频| 国产美女在线精品| 日韩一区二区三区四区五区六区| 一区二区在线观看av| 国产精品一区在线观看乱码| 欧美一区二区三区在线观看| 一区二区日韩av| 波多野结衣91| 久久精品人人爽人人爽| 另类调教123区| 欧美日韩国产美女| 亚洲国产视频直播| 91福利国产精品| 亚洲精品亚洲人成人网| 成人动漫在线一区| 久久久五月婷婷| 久久99精品国产| 精品久久久久久亚洲综合网| 美日韩一级片在线观看| 欧美日本在线视频| 日韩在线a电影| 欧美日韩精品欧美日韩精品一| 亚洲人午夜精品天堂一二香蕉| 69p69国产精品| 亚洲图片一区二区| 欧美三级午夜理伦三级中视频| 一区二区欧美国产| 在线观看国产日韩| 亚洲福利视频导航| 欧美剧在线免费观看网站| 亚洲综合在线第一页| 欧美三级乱人伦电影| 日韩黄色在线观看| 欧美一级黄色录像| 久久66热re国产| 日本一区二区三区在线观看| 东方aⅴ免费观看久久av| 国产精品理论在线观看| 99久久久久久| 亚洲一区免费视频| 欧美一区二区三区精品| 国产乱子轮精品视频| 国产精品久久久一本精品| 91亚洲国产成人精品一区二三| 亚洲色图.com| 69久久夜色精品国产69蝌蚪网| 久久黄色级2电影| 国产午夜久久久久| 91成人免费网站| 老司机午夜精品99久久| 国产精品拍天天在线| 欧美午夜片在线看| 精品在线视频一区| 亚洲摸摸操操av| 中文字幕av免费专区久久| 日本伦理一区二区| 日本不卡一区二区| 欧美激情综合在线| 欧美日韩精品免费| 粉嫩aⅴ一区二区三区四区五区| 亚洲精品国产视频| 日韩精品中午字幕| 欧美亚一区二区| 国产馆精品极品| 亚洲高清视频中文字幕| 久久精品视频免费| 欧美色网站导航| 懂色av一区二区三区蜜臀| 日韩成人精品在线| 亚洲乱码国产乱码精品精小说| 欧美一区二区成人6969| 91在线观看高清| 国产在线精品一区二区三区不卡| 亚洲人123区| 久久久久久久久99精品| 欧美日韩一区二区在线观看| 国产成人午夜高潮毛片| 麻豆一区二区三区| 香蕉成人啪国产精品视频综合网| 国产精品素人视频| 26uuu久久综合| 日韩一区二区三区免费观看| 欧洲国内综合视频| 99视频有精品| 国产成人精品一区二| 九九精品一区二区| 亚洲成人资源在线| 亚洲综合精品自拍| 综合激情成人伊人| 国产亚洲一区二区三区四区| 日韩欧美国产精品一区| 欧美日韩精品欧美日韩精品| 色欧美片视频在线观看| 成a人片亚洲日本久久| 国产一区二区福利| 久久99精品久久久久久久久久久久| 午夜欧美一区二区三区在线播放| 亚洲人成在线播放网站岛国 | 欧美午夜电影网| 在线观看中文字幕不卡| 色天天综合久久久久综合片| 波多野结衣一区二区三区| 国产成人精品综合在线观看 | 欧美日韩电影一区| 欧美影视一区在线| 欧美日韩五月天| 欧美日韩黄色一区二区| 欧美伦理视频网站| 欧美精品v日韩精品v韩国精品v| 欧美无砖砖区免费| 日韩一区二区精品| 久久先锋资源网| 欧美激情一区二区在线| 综合网在线视频| 亚洲第一二三四区| 日韩不卡在线观看日韩不卡视频| 蜜臀av性久久久久av蜜臀妖精| 久久成人久久鬼色| 国产精品一区二区x88av| 成人av资源网站| 色999日韩国产欧美一区二区| 欧美手机在线视频| 亚洲精品一区二区三区四区高清 | 欧洲亚洲精品在线| 欧美一区中文字幕| 国产农村妇女毛片精品久久麻豆 | 久久97超碰色| 成人动漫在线一区| 国产亚洲成年网址在线观看| 国产香蕉久久精品综合网| 国产精品视频在线看| 亚洲一区在线视频| 精品在线一区二区| 97久久久精品综合88久久| 91精品国产综合久久香蕉的特点| 久久色视频免费观看| 亚洲一区在线观看视频| 国产麻豆精品在线| 色综合色综合色综合| 精品国产免费一区二区三区四区| 国产精品久久久久久久第一福利| 亚洲电影第三页| 国产成人精品三级麻豆| 欧美丰满美乳xxx高潮www| 欧美国产一区在线| 日本不卡1234视频| 91在线精品一区二区三区| 日韩欧美aaaaaa|