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

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

?? owng729fp.h

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? H
?? 第 1 頁 / 共 2 頁
字號:
}G729CCoder_Obj;

typedef struct _VADmemory{
   float MeanLSFVec[LPC_ORDER];
   float MinimumBuff[16];
   float fMeanEnergy;
   float fMeanFullBandEnergy;
   float fMeanLowBandEnergy;
   float fMeanZeroCrossing;
   float fPrevMinEnergy;
   float fNextMinEnergy;
   float fMinEnergy;
   float fPrevEnergy;
   int lVADFlag;
   int lSilenceCounter;
   int lUpdateCounter;
   int lSmoothingCounter;
   int lFVD;
   int lLessEnergyCounter;
}VADmemory;

#define SUMAUTOCORRS_NUM       3
#define SUMAUTOCORRS_SIZE      (SUMAUTOCORRS_NUM * LPC_ORDERP1)
#define CURRAUTOCORRS_NUM       2
#define AUTOCORRS_SIZE         (CURRAUTOCORRS_NUM * LPC_ORDERP1)
#define GAINS_NUM         2

extern CONST float InitLSP[LPC_ORDER];
extern CONST float InitFrequences[LPC_ORDER];
extern CONST float lagBwd[BWD_LPC_ORDER];
extern CONST float SIDGainTbl[32];

typedef struct _CNGmemory{
   float AutoCorrs[AUTOCORRS_SIZE];
   float SumAutoCorrs[SUMAUTOCORRS_SIZE];
   float Energies[GAINS_NUM];
   int lAutoCorrsCounter;
   float fCurrGain;
   int lFltChangeFlag;
   float SIDQuantLSP[LPC_ORDER];
   float ReflectCoeffs[LPC_ORDERP1];
   int lNumSavedEnergies;
   float fSIDGain;
   float fPrevEnergy;
   int lFrameCounter0;
}CNGmemory;

typedef struct _PSTmemory{
   float STPNumCoeff[SHORTTERM_POSTFLT_LEN_E];    /* s.t. numerator coeff.        */
   float STPMemory[BWD_LPC_ORDER];           /* s.t. postfilter memory       */
   float ZeroMemory[BWD_LPC_ORDER];          /* null memory to compute h_st  */
   float ResidualMemory[SIZE_RESISDUAL_MEMORY];       /* A(gamma2) residual           */
   float gainPrec;
}PSTmemory;

typedef struct _MusDetectMemory{
   int lMusicCounter;
   float fMusicCounter;
   int lZeroMusicCounter;
   float fMeanPitchGain;
   int lPFlagCounter;
   float fMeanPFlagCounter;
   int lConscPFlagCounter;
   int lRCCounter;
   float MeanRC[10];
   float fMeanFullBandEnergy;
}MusDetectMemory;

typedef struct _PHDmemory{
   int prevDispState;
   float gainMem[6];
   float prevCbGain;
   int onset;
}PHDmemory;

struct _G729FPEncoder_Obj{
   G729CCoder_Obj       objPrm;
#if !defined (NO_SCRATCH_MEMORY_USED)
   ScratchMem_Obj      Mem;
#endif
   float OldSpeechBuffer[SPEECH_BUFF_LEN];
   float fBetaPreFilter;
   float OldWeightedSpeechBuffer[FRM_LEN+PITCH_LAG_MAX];
   float OldExcitationBuffer[FRM_LEN+PITCH_LAG_MAX+INTERPOL_LEN];
   float WeightedFilterMemory[BWD_LPC_ORDER];
   float FltMem[BWD_LPC_ORDER];
   float OldLSP[LPC_ORDER];
   float OldQuantLSP[LPC_ORDER];
   float ExcitationError[4];
   IppsIIRState_32f *iirstate;
   float PastQuantEnergy[4];
   float PrevFreq[MOVING_AVER_ORDER][LPC_ORDER];    /* previous LSP vector       */
   /* Last forkward A(z) for case of unstable filter */
   float OldForwardLPC[LPC_ORDERP1];
   float OldForwardRC[2];
   short sFrameCounter; /* frame counter for VAD*/
   /* DTX variables */
   int prevVADDec;
   int prevPrevVADDec;
   short sCNGSeed;
   char *vadMem;
   char *cngMem;
   char *msdMem;
   /* G729CA_CODEC*/
   float ZeroMemory[LPC_ORDER];
   /* Not G.729A */
   float SynFltMemory[BWD_LPC_ORDER];
   float ErrFltMemory[BWD_LPC_ORDER+SUBFR_LEN];
   float UnitImpulse[SUBFR_LEN+BWD_LPC_ORDERP1];
   /* for G.729E */
   /* for the backward analysis */
   float PrevFlt[BWD_LPC_ORDERP1]; /* Previous selected filter */
   float SynthBuffer[BWD_ANALISIS_WND_LEN];
   int prevLPCMode;
   float BackwardLPCMemory[BWD_LPC_ORDERP1];
   int isBWDDominant;
   float fInterpolationCoeff;
   short sGlobalStatInd;  /* Mesure of global stationnarity */
   short sBWDStatInd;       /* Num of consecutive backward frames */
   short sValBWDStatInd;   /* Value associated with stat_bwd */
   /* Last backward A(z) for case of unstable filter */
   float OldBackwardLPC[BWD_LPC_ORDERP1];
   float OldBackwardRC[2];
   int LagBuffer[5];
   float PitchGainBuffer[5];
   int  sBWDFrmCounter;
   int sFWDFrmCounter;
   int isSmooth;
   float LogAreaRatioCoeff[2];
   int sSearchTimes;
   IppsWinHybridState_G729E_32f *pHWState;
};

struct _G729FPDecoder_Obj{
   G729CCoder_Obj       objPrm;
#if !defined (NO_SCRATCH_MEMORY_USED)
   ScratchMem_Obj      Mem;
#endif
   float OldExcitationBuffer[FRM_LEN+PITCH_LAG_MAX+INTERPOL_LEN];
   float fBetaPreFilter;            /* pitch sharpening of previous frame */
   int   prevPitchDelay;           /* integer delay of previous frame    */
   float fCodeGain;        /* Code gain                          */
   float fPitchGain;       /* Pitch gain                         */
   float OldLSP[LPC_ORDER];
   IppsIIRState_32f *iirstate;
   float PastQuantEnergy[4];
   float PrevFreq[MOVING_AVER_ORDER][LPC_ORDER];    /* previous LSP vector       */
   int prevMA;                  /* previous MA prediction coef.*/
   float prevLSF[LPC_ORDER];            /* previous LSF vector         */
   /* for G.729B */
   short sFESeed;
   /* CNG variables */
   int  prevFrameType;
   int  prevSID[4];/*prev SID need for erased only*/
   short sCNGSeed;
   float SID;
   float fCurrGain;
   float SIDLSP[LPC_ORDER];
   float fSIDGain;
   float SynFltMemory[BWD_LPC_ORDER];        /* Synthesis filter's memory          */
   char *phdMem;
   /* for G.729A */
   float PstFltMemoryA[LPC_ORDER];
   float fPastGain;
   float ResidualBufferA[PITCH_LAG_MAX+SUBFR_LEN]; /* inverse filtered synthesis (with A(z/GAMMA2_POSTFLT))   */
   float *ResidualMemory;
   float PstSynMemoryA[LPC_ORDER];   /* memory of filter 1/A(z/GAMMA1_POSTFLT) */
   float fPreemphMemoryA;
   /* Not G.729A */
   float  SynthBuffer[BWD_ANALISIS_WND_LEN];  /* Synthesis                   */
   int   prevFracPitchDelay;    /* integer delay of previous frame    */
   /* for the backward analysis */
   float BackwardUnqLPC[BWD_LPC_ORDERP1];
   float BackwardLPCMemory[BWD_LPC_ORDERP1];
   int   lPrevVoicing;
   int   lPrevBFI;
   int   prevLPCMode;
   float fFEInterpolationCoeff;
   float fInterpolationCoeff;
   float PrevFlt[BWD_LPC_ORDERP1]; /* Previous selected filter */
   int   lPrevPitchPT;
   int   lStatPitchPT;
   int   lStatPitch2PT;
   int   lStatFracPT;
   /* Last backward A(z) for case of unstable filter */
   float OldBackwardLPC[BWD_LPC_ORDERP1];
   float OldBackwardRC[2];
   float   fPitchGainMemory;
   float   fCodeGainMemory;
   float   fGainMuting;
   int     lBFICounter;
   int     sBWDStatInd;
   int  lVoicing; /* voicing from previous frame */
   float  g1PST;
   float  g2PST;
   float  gHarmPST;
   int  sBWDFrmCounter;
   int sFWDFrmCounter;
   char *pstMem;
   IppsWinHybridState_G729E_32f *pHWState;
};

#define   G729_CODECFUN(type,name,arg)                extern type name arg

__INLINE int Parity( int val){
  int temp, nBits, bit;
  int sum;

  temp = val >> 1;
  sum = 1;
  for (nBits = 0; nBits <= 5; nBits++) {
    temp = temp >> 1;
    bit = temp & 0x00000001;
    sum += bit;
  }
  sum = sum & 0x00000001;

  return sum;
}

__INLINE short Rand_16s(short *seed)
{
    *seed = (short)(*seed * 31821 + 13849);
    return(*seed);
}

static __ALIGN32 CONST short modtab[]={1, 2, 0, 1, 2, 0, 1, 2};

__INLINE void DecodeAdaptCodebookDelays(int *prevPitchDelay, int *prevFracPitchDelay,int *delayLine,
                                         int NSbfr, int badPitch,int pitchIndx,G729Codec_Type type){
   short minPitchDelay, maxPitchDelay;

   if(badPitch == 0){

      if (NSbfr == 0)                  /* if 1st subframe */
      {
         if (pitchIndx < 197)
         {
            delayLine[0] = (pitchIndx+2)/3 + 19;
            delayLine[1] = pitchIndx - delayLine[0] * 3 + 58;
         }
         else
         {
            delayLine[0] = pitchIndx - 112;
            delayLine[1] = 0;
         }

      } else  {/* second subframe */
         /* find minPitchDelay and maxPitchDelay for 2nd subframe */
         minPitchDelay = (short)(delayLine[0] - 5);
         CLIP_TO_LOWLEVEL(minPitchDelay,PITCH_LAG_MIN);

         maxPitchDelay = (short)(minPitchDelay + 9);
         if (maxPitchDelay > PITCH_LAG_MAX)
         {
            maxPitchDelay = PITCH_LAG_MAX;
            minPitchDelay = (short)(maxPitchDelay - 9);
         }
         if (type == G729D_MODE) {
            pitchIndx = pitchIndx & 15;
            if (pitchIndx <= 3) {
               delayLine[0] = minPitchDelay + pitchIndx;
               delayLine[1] = 0;
            }
            else if (pitchIndx < 12) {
               /* *T0_frac = index % 3; */
               delayLine[1] = modtab[pitchIndx - 4];
               delayLine[0] = (pitchIndx - delayLine[1])/3 + minPitchDelay + 2;

               if (delayLine[1] == 2) {
                  delayLine[1] = -1;
                  delayLine[0] += 1;
               }
            }
            else {
                delayLine[0] = minPitchDelay + pitchIndx - 6;
                delayLine[1] = 0;
            }

         }
         else {
            delayLine[0] = minPitchDelay + (pitchIndx + 2)/3 - 1;
            delayLine[1] = pitchIndx - 2 - 3 * ((pitchIndx + 2)/3 - 1);
         }
      }
      *prevPitchDelay = delayLine[0];
      *prevFracPitchDelay = delayLine[1];
   }else {                     /* Bad frame, or parity error */
      delayLine[0]  =  *prevPitchDelay;
      if (type == G729E_MODE) {
         delayLine[1] = *prevFracPitchDelay;
      }
      else {
         delayLine[1] = 0;
         *prevPitchDelay += 1;
         CLIP_TO_UPLEVEL(*prevPitchDelay,PITCH_LAG_MAX);
      }
   }
}

void CodewordImpConv_G729_32f(int index, const float *pSrc1,const float *pSrc2,float *pDst);

#endif /*__OWNCODEC_H__*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产系列| 亚洲福利视频导航| 日日噜噜夜夜狠狠视频欧美人| 黄色成人免费在线| 日本韩国一区二区| 国产欧美一区二区三区沐欲| 日韩av电影一区| 欧美日韩一区中文字幕| 亚洲同性gay激情无套| 国产精品888| 日韩免费高清视频| 免费高清在线视频一区·| 精品视频在线视频| 亚洲素人一区二区| 波多野结衣在线一区| 久久久av毛片精品| 久久99蜜桃精品| 91麻豆精品国产91| 午夜精品久久久久久久久久| 色偷偷88欧美精品久久久| 国产精品美女一区二区| 国产白丝网站精品污在线入口| 精品处破学生在线二十三| 免费看欧美女人艹b| 欧美一区二区久久久| 日本亚洲一区二区| 欧美一区二区三区精品| 日本欧美肥老太交大片| 91麻豆精品国产91久久久 | 337p亚洲精品色噜噜狠狠| 亚洲免费观看高清完整版在线观看| 成人免费观看视频| 国产精品另类一区| 色婷婷激情久久| 亚洲影视资源网| 欧美高清dvd| 欧美aⅴ一区二区三区视频| 日韩欧美国产一区二区三区| 麻豆精品一区二区av白丝在线| 精品欧美乱码久久久久久1区2区| 国产麻豆精品在线观看| 中文字幕av不卡| 日本韩国欧美一区| 首页国产欧美日韩丝袜| 久久婷婷国产综合国色天香| 国产成人在线视频网址| 亚洲欧洲在线观看av| 欧美日韩一级二级三级| 精品无码三级在线观看视频| 亚洲国产精品成人综合 | 亚洲免费观看高清完整版在线| 91极品美女在线| 蜜臀av性久久久久蜜臀av麻豆| 久久青草欧美一区二区三区| heyzo一本久久综合| 日韩国产高清在线| 国产欧美日韩麻豆91| 91精品办公室少妇高潮对白| 看电影不卡的网站| 国产精品色在线| 91精品在线观看入口| 国产成人精品午夜视频免费| 亚洲综合无码一区二区| 精品国产伦一区二区三区免费| www.性欧美| 久久机这里只有精品| 亚洲人成在线播放网站岛国| 日韩精品专区在线影院观看| 99精品久久99久久久久| 麻豆精品视频在线观看| 亚洲三级理论片| 26uuu久久天堂性欧美| 色94色欧美sute亚洲线路一ni | 首页国产欧美久久| 国产精品色哟哟网站| 在线播放日韩导航| 高清不卡一二三区| 美女脱光内衣内裤视频久久影院| 国产精品嫩草影院com| 日韩欧美精品在线| 欧美日韩一卡二卡三卡| 成人av电影在线网| 国产九色精品成人porny| 三级影片在线观看欧美日韩一区二区| 国产亚洲精品久| 精品理论电影在线观看 | 成人性生交大片| 免费成人性网站| 亚洲一区二区三区不卡国产欧美| 久久久精品影视| 日韩一区二区免费在线观看| 日本韩国欧美三级| 97国产精品videossex| 丁香天五香天堂综合| 九九视频精品免费| 男男成人高潮片免费网站| 亚洲国产精品尤物yw在线观看| 最新日韩av在线| 国产精品久久久久久久浪潮网站| 久久先锋影音av| 日韩一级片网站| 7777女厕盗摄久久久| 欧美撒尿777hd撒尿| 欧美在线播放高清精品| 欧美在线视频全部完| 欧美怡红院视频| 欧美唯美清纯偷拍| 欧美日韩免费在线视频| 欧美日韩国产一级片| 欧美精品在线一区二区| 91麻豆精品国产91久久久久久久久 | 日韩电影免费在线看| 午夜精品成人在线视频| 亚洲第一综合色| 亚洲一本大道在线| 日韩电影在线免费观看| 麻豆精品蜜桃视频网站| 国产揄拍国内精品对白| 风间由美一区二区av101| 国产精品一区二区三区乱码| 成人性生交大片免费看在线播放| 成人禁用看黄a在线| 色先锋资源久久综合| 欧美色中文字幕| 91精品黄色片免费大全| 欧美岛国在线观看| 日本一区二区成人在线| 综合久久综合久久| 午夜欧美2019年伦理| 免费在线成人网| 风间由美性色一区二区三区| 一本一本大道香蕉久在线精品| 色哟哟一区二区三区| 91精品国产综合久久久久久久 | 欧美私模裸体表演在线观看| 9191久久久久久久久久久| 日韩一区二区麻豆国产| 久久精品一区二区三区不卡| 一区精品在线播放| 日本亚洲欧美天堂免费| 成人综合婷婷国产精品久久免费| 91一区在线观看| 日韩精品一区二区三区swag| 国产精品污网站| 日韩av一区二区三区四区| 岛国av在线一区| 7777精品伊人久久久大香线蕉的| 国产亚洲欧洲997久久综合 | 欧美日本高清视频在线观看| 久久久久久久国产精品影院| 曰韩精品一区二区| 久久99精品久久久| 97国产精品videossex| 日韩欧美综合在线| 一区二区三区四区在线| 捆绑调教一区二区三区| 色偷偷久久人人79超碰人人澡| 欧美成人a视频| 亚洲综合久久av| 粉嫩在线一区二区三区视频| 欧美日韩日日摸| 亚洲天堂精品在线观看| 国产一区二区免费视频| 欧美三级电影网站| 亚洲欧洲日韩综合一区二区| 免费不卡在线视频| 欧美日韩一区二区三区四区五区| 国产精品拍天天在线| 国内久久精品视频| 91麻豆精品国产91久久久使用方法| 中文字幕一区二区三区在线播放| 久久精品99国产国产精| 欧美高清视频一二三区| 尤物av一区二区| 99视频精品在线| 国产日韩综合av| 精品一区二区精品| 日韩欧美一区二区不卡| 亚洲国产精品自拍| 色综合视频在线观看| 久久久久久亚洲综合影院红桃| 视频一区欧美日韩| 欧美日韩一区二区三区不卡| 一区二区三区免费| www.成人在线| 国产精品少妇自拍| 成人精品免费网站| 国产精品素人视频| youjizz国产精品| 国产精品视频观看| 成人av电影在线网| 国产精品区一区二区三| 成人av电影在线播放| 国产精品视频一二三区| 成人激情小说乱人伦| 国产欧美日韩视频在线观看| 国产福利一区二区三区在线视频| 久久久亚洲欧洲日产国码αv| 精品一区二区三区视频在线观看| 欧美大片日本大片免费观看|