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

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

?? owngsmamr.h

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? H
?? 第 1 頁 / 共 2 頁
字號:
enum  enDTXStateType ownRX_DTX_Handler_GSMAMR(GSMAMRDecoder_Obj* decoderObj, RXFrameType frame_type);

int   ownDecSidSyncReset_GSMAMR(sDTXDecoderSt *st);
enum  enDTXStateType ownDecSidSync(sDTXDecoderSt *st, RXFrameType frame_type );

void  ownPrm2Bits_GSMAMR(const short* prm, unsigned char *Vout, GSMAMR_Rate_t rate );

void  ownBits2Prm_GSMAMR( const unsigned char *bitstream, short* prm , GSMAMR_Rate_t rate );

int   ownEncDetectSize_GSMAMR(int mode, int* pEncSize);

int   ownEncoderInit_GSMAMR(GSMAMREncoder_Obj* st);

int   ownDtxEncoderInit_GSMAMR(sDTXEncoderSt* st);

int   ownGainQuantInit_GSMAMR(sGainQuantSt *state);

int   ownVAD1Init_GSMAMR(IppGSMAMRVad1State *state);

int   ownVAD2Init_GSMAMR(IppGSMAMRVad2State *state);


/********************************************************
*               structs declarations
*********************************************************/

typedef struct _GSMAMRCoder_Obj{
   int                 objSize;
   int                 key;
   int                 mode;          /* encoder mode's */
   GSMAMRCodec_Type       codecType;
}GSMAMRCoder_Obj;

typedef struct {
   short a_SpeechVecOld[SPEECH_BUF_SIZE];
   short *pSpeechPtr, *pWindowPtr, *pWindowPtr_M122;
   short *pSpeechPtrNew;
   short a_WeightSpeechVecOld[FRAME_SIZE_GSMAMR + PITCH_MAX_LAG];
   short *pWeightSpeechVec;
   short a_LTPStateOld[5];
   short a_GainFlg[2];
   short a_ExcVecOld[FRAME_SIZE_GSMAMR + PITCH_MAX_LAG + FLT_INTER_SIZE];
   short *pExcVec;
   short a_ZeroVec[SUBFR_SIZE_GSMAMR + LP1_ORDER_SIZE];
   short *pZeroVec;
   short *pImpResVec;
   short a_ImpResVec[SUBFR_SIZE_GSMAMR];
   short a_SubState[LP_ORDER_SIZE + 1];
   short a_LSP_Old[LP_ORDER_SIZE];
   short a_LSPQnt_Old[LP_ORDER_SIZE];
   short a_PastQntPredErr[LP_ORDER_SIZE];
   short vTimePrevSubframe;
   sGainQuantSt stGainQntSt;
   short vTimeMedOld;
   short vFlagVADState;
   short vCount;
   short vFlagTone;
   short a_GainHistory[PG_NUM_FRAME];
   dVADState *pVAD1St;
   dVADState *pVAD2St;
   int vFlagDTX;
   sDTXEncoderSt stDTXEncState;
   short a_MemorySyn[LP_ORDER_SIZE], a_Memory_W0[LP_ORDER_SIZE];
   short a_MemoryErr[LP_ORDER_SIZE + SUBFR_SIZE_GSMAMR], *pErrorPtr;

   short vFlagSharp;
   short vFlagLTP;
   short vLagCountOld, vLagOld;
   short vBestHpCorr;

} sEncoderState_GSMAMR;


struct _GSMAMREncoder_Obj {
   GSMAMRCoder_Obj       objPrm;
/* preprocess state */
   char                  *preProc;      /* High pass pre processing filter memory */
   sEncoderState_GSMAMR  stEncState;
   GSMAMR_Rate_t         rate;          /* encode rate */
};


typedef struct{
   short a_ExcVecOld[SUBFR_SIZE_GSMAMR + PITCH_MAX_LAG + FLT_INTER_SIZE];
   short *pExcVec;
   short a_LSP_Old[LP_ORDER_SIZE];
   short a_MemorySyn[LP_ORDER_SIZE];
   short vFlagSharp;
   short vPrevPitchLag;
   short vPrevBadFr;
   short vPrevDegBadFr;
   short vStateMachine;
   short a_EnergyHistSubFr[9];
   short vLTPLag;
   short vBackgroundNoise;
   short vVoiceHangover;
   short a_LTPGainHistory[9];
   short a_EnergyHistVector[ENERGY_HIST_SIZE];
   short vCountHangover;
   short vCNGen;
   short a_GainHistory[CBGAIN_HIST_SIZE];
   short vHgAverageVar;
   short vHgAverageCount;
   short a_LSPAveraged[LP_ORDER_SIZE];
   short a_PastQntPredErr[LP_ORDER_SIZE];
   short a_PastLSFQnt[LP_ORDER_SIZE];
   short a_LSFBuffer[5];
   short vPastGainZero;
   short vPrevGainZero;
   short a_GainBuffer[5];
   short vPastGainCode;
   short vPrevGainCode;
   short a_PastQntEnergy_M122[4];
   short a_PastQntEnergy[4];
   sPhaseDispSt stPhDispState;
   sDTXDecoderSt dtxDecoderState;
} sDecoderState_GSMAMR;

struct _GSMAMRDecoder_Obj {
/* post process state */
   GSMAMRCoder_Obj       objPrm;
   char                  *postProc;     /* High pass post processing filter memory */
   sDecoderState_GSMAMR  stDecState;
   sPostFilterSt         stPFiltState;
   GSMAMR_Rate_t         rate;           /* decode rate */
};

int ownEncode_GSMAMR(sEncoderState_GSMAMR *st, GSMAMR_Rate_t rate, short ana[], int *pVad, short synth[]);

int ownDecoderInit_GSMAMR(sDecoderState_GSMAMR* state, GSMAMR_Rate_t rate);

int ownDtxDecoderInit_GSMAMR(sDTXDecoderSt* st);

int ownPhDispInit_GSMAMR(sPhaseDispSt* state);

int ownPostFilterInit_GSMAMR(sPostFilterSt *state);

#define   GSMAMR_CODECFUN(type,name,arg)                extern type name arg
/********************************************************
*      auxiliary inline functions declarations
*********************************************************/
__INLINE int ShiftL_32s(int n, unsigned short x)
{
   int z = n;
   for(;x>0;x--)
   {
      if (z > IPP_MAX_32S/2)
      {
         z = IPP_MAX_32S;
         break;
      }
      else
      {
        if (z < (int) 0xc0000000)
        {
           z = IPP_MIN_32S;
           break;
        }
      }
      z *= 2;
   }
   return z;
}
__INLINE short ShiftL_16s(short n, unsigned short x)
{
   short z = n;
   for(;x>0;x--)
   {
      if (z > (short) 0X3fff)
      {
         z = IPP_MAX_16S;
         break;
      }
      else
      {
        if (z < (short) 0xc000)
        {
           z = IPP_MIN_16S;
           break;
        }
      }
      z *= 2;
   }
   return z;
}
__INLINE int ownSqrt_32s( int n )
{
    int   i  ;

    short   x =  0 ;
    short   y =  0x4000 ;

    int   z ;

    for ( i = 0 ; i < 14 ; i ++ ) {
        z = (x + y) * (x + y ) ;
        if ( n >= z )
            x += y ;
        y >>= 1 ;
    }
    return x;
}
__INLINE short Abs_16s(short x){
   if(x<0){
      if(IPP_MIN_16S == x) return IPP_MAX_16S;
      x = (short)-x;
   }
   return x;
}
__INLINE short Cnvrt_NR_32s16s(int x) {
   short s = IPP_MAX_16S;
   if(x<(int)0x7fff8000) s = (x+0x8000)>>16;
   return s;
}
__INLINE int Cnvrt_64s32s(__INT64 z) {
   if(IPP_MAX_32S < z) return IPP_MAX_32S;
   else if(IPP_MIN_32S > z) return IPP_MIN_32S;
   return (int)z;
}
__INLINE short Cnvrt_32s16s(int x){
   if (IPP_MAX_16S < x) return IPP_MAX_16S;
   else if (IPP_MIN_16S > x) return IPP_MIN_16S;
   return (short)(x);
}
__INLINE int Add_32s(int x, int y) {
   return Cnvrt_64s32s((__INT64)x + y);
}
__INLINE int MulC_32s(short val, int x) {
   int z ;
   int xh, xl;
   xh  = x >> 16;
   xl  = x & 0xffff;
   z = 2*val*xh;
   z = Add_32s(z,(xl*val)>>15);

  return z;
}
__INLINE short Exp_16s(short x){
   short i;
   if (x == 0) return 0;
   if ((short)0xffff == x) return 15;
   if (x < 0) x = ~x;
   for(i = 0; x < (short)0x4000; i++) x <<= 1;
   return i;
}
__INLINE short   Rand2_16s( short *p ) /* GSMAMR */
{
    *p = *p * 521 + 259;
    return *p;
}

__INLINE short random_number(short np1, short *nRandom)
{
    short temp;

    temp = Rand2_16s(nRandom) & 0x7FFF;
    temp = (temp * np1)>>15;
    return temp;
}
__INLINE short Exp_32s_Pos(int x){
   short i;
   if (x == 0) return 0;
   for(i = 0; x < (int)0x40000000; i++) x <<= 1;
   return i;
}
__INLINE short Norm_32s_Pos_I(int *x){
   short i;
   if (*x == 0) return 0;
   for(i = 0; *x < (int)0x40000000; i++) *x <<= 1;
   return i;
}
__INLINE short Norm_32s_I(int *x){
   short i;
   if (*x == 0) return 0;
   if (*x < 0){
      for(i = 0; *x >= (int)0xC0000000; i++) *x <<= 1;
   }else
      for(i = 0; *x < (int)0x40000000; i++) *x <<= 1;
   return i;
}


__INLINE int Mul16s_32s (short hi, short lo, short n)
{
    return (2 * (hi * n) +  2 * ((lo * n) >> 15));
}

__INLINE void L_Extract (int x, short *hi, short *lo)
{
    *hi = x >> 16;
    *lo = (x>>1)&0x7fff;
    return;
}
__INLINE int AddProduct_32s (int x, short hi1, short lo1, short hi2, short lo2)
{
    x += 2*(hi1*hi2) + 2*((hi1*lo2)>>15) + 2*((lo1*hi2)>>15);
    return x;
}

__INLINE int AddProduct16s_32s (int x, short hi, short lo, short n)
{
    x += 2*(hi*n) + 2*((lo*n)>>15);
    return x;
}
__INLINE int Mul2_32s(int x) {
    if(x > IPP_MAX_32S/2) return IPP_MAX_32S;
    else if( x < (int) 0xc0000000L) return IPP_MIN_32S;
    return (x <<= 1);
}
__INLINE int Mul4_32s(int x) {
    if(x > (int) 0x1fffffffL) return IPP_MAX_32S;
    else if( x < (int) 0xe0000000L) return IPP_MIN_32S;
    return (x <<= 2);
}
__INLINE int Mul8_32s(int x) {
    if(x > (int) 0x0fffffffL) return IPP_MAX_32S;
    else if( x < (int) 0xf0000000L) return IPP_MIN_32S;
    return (x <<= 3);
}

__INLINE int Mul16_32s(int x) {
    if(x > (int) 0x07ffffffL) return IPP_MAX_32S;
    else if( x < (int) 0xf8000000L) return IPP_MIN_32S;
    return (x <<= 4);
}

#endif /*__OWNGSMAMR_H__*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区精品3399| 91在线视频在线| 99精品视频一区| 日韩一区二区三区视频| 中文字幕一区视频| 国产真实乱对白精彩久久| 一本色道久久综合狠狠躁的推荐| 精品国产青草久久久久福利| 亚洲色图视频网| 国产伦精品一区二区三区免费迷| 欧美无砖砖区免费| 亚洲色图视频网站| 成人免费视频app| 久久久精品国产99久久精品芒果 | 91一区二区三区在线观看| 69av一区二区三区| 亚洲在线观看免费| 色婷婷精品久久二区二区蜜臂av| 国产亲近乱来精品视频| 久久er99热精品一区二区| 欧美一三区三区四区免费在线看 | 国产婷婷色一区二区三区四区| 日韩精品亚洲一区二区三区免费| 91欧美激情一区二区三区成人| 久久久久成人黄色影片| 国产毛片精品国产一区二区三区| 精品久久久久99| 久久国产精品色婷婷| 欧美日韩国产高清一区二区三区| 亚洲国产成人高清精品| 欧美性猛交一区二区三区精品 | 精品国产区一区| 精品一区二区久久久| 精品国产区一区| 国产一区二区三区四| 欧美激情一区二区三区不卡| 国产91对白在线观看九色| 国产亚洲成aⅴ人片在线观看| 国产综合久久久久久久久久久久| 精品日韩一区二区三区免费视频| 精品在线观看视频| 国产日韩欧美亚洲| 成人高清av在线| 亚洲欧美日韩国产一区二区三区| 91黄色免费观看| 丝袜美腿亚洲一区| 久久这里只精品最新地址| 国产麻豆成人传媒免费观看| 欧美激情一区二区三区四区| 91丨九色丨蝌蚪丨老版| 亚洲高清在线视频| 精品久久久影院| 不卡高清视频专区| 亚洲成人一区二区在线观看| 精品国产伦一区二区三区免费| 国产成人免费av在线| 亚洲精品成人精品456| 日韩亚洲欧美中文三级| 粉嫩av一区二区三区在线播放 | 欧美日韩综合在线免费观看| 日本在线不卡视频一二三区| 亚洲精品在线三区| 99精品国产热久久91蜜凸| 首页国产丝袜综合| 国产精品美日韩| 欧美日韩高清影院| 成人免费看的视频| 日本最新不卡在线| 国产精品久线在线观看| 91精品国产色综合久久不卡蜜臀 | 亚洲女同ⅹxx女同tv| 91精品欧美一区二区三区综合在| 国产在线不卡一区| 亚洲国产综合色| 国产三级精品三级在线专区| 欧美午夜精品久久久久久超碰 | 国产精品福利在线播放| 制服丝袜国产精品| 91老司机福利 在线| 国产一区二三区| 亚洲成av人片| 综合婷婷亚洲小说| 精品三级在线观看| 欧美日韩第一区日日骚| 99久久精品国产导航| 国产一区二区调教| 日本vs亚洲vs韩国一区三区二区| 18欧美乱大交hd1984| 精品国产91乱码一区二区三区| 色婷婷狠狠综合| 成人国产精品免费观看视频| 久久er精品视频| 青青草成人在线观看| 亚洲一区av在线| 中文字幕一区av| 国产人久久人人人人爽| 日韩欧美激情一区| 在线不卡一区二区| 欧美系列一区二区| 91蜜桃在线免费视频| 成人久久视频在线观看| 国产99久久久久| 国产成a人无v码亚洲福利| 国产在线精品不卡| 国产一区二区在线视频| 国产在线日韩欧美| 麻豆成人91精品二区三区| 奇米精品一区二区三区四区| 日韩一区精品视频| 亚洲国产成人porn| 日韩电影在线看| 蜜芽一区二区三区| 久久成人免费电影| 精品一区二区三区在线播放视频| 青青草国产精品97视觉盛宴| 日本一区中文字幕 | 亚洲午夜三级在线| 亚洲图片自拍偷拍| 日日夜夜免费精品| 蜜臀久久久99精品久久久久久| 日韩精品午夜视频| 日日摸夜夜添夜夜添精品视频 | 依依成人精品视频| 亚洲午夜精品在线| 亚洲1区2区3区视频| 日韩精品五月天| 国产一区二区h| 成人免费毛片片v| 日本二三区不卡| 欧美乱熟臀69xxxxxx| 日韩欧美成人一区| 国产欧美日韩在线观看| 1000精品久久久久久久久| 一区二区高清在线| 日本va欧美va欧美va精品| 国产一区二区久久| 色综合久久久网| 欧美一二区视频| 国产精品久久综合| 香蕉成人啪国产精品视频综合网| 日本欧美大码aⅴ在线播放| 国内精品国产成人国产三级粉色| 国产精品一区免费视频| 91国产精品成人| 欧美成人午夜电影| 亚洲欧美国产毛片在线| 蜜臀av性久久久久蜜臀av麻豆| 福利电影一区二区| 欧美日韩亚洲国产综合| 久久久精品tv| 午夜精品123| 国产91精品露脸国语对白| 91福利在线免费观看| 久久久久久久久岛国免费| 亚洲一区二区三区精品在线| 国产一区二区三区美女| 欧美日本一区二区| 亚洲欧美在线aaa| 美国欧美日韩国产在线播放 | 高清国产午夜精品久久久久久| 99re在线视频这里只有精品| 日韩欧美一级精品久久| 一区二区三区国产豹纹内裤在线| 久久精品国产亚洲aⅴ| 欧洲国内综合视频| 日韩欧美美女一区二区三区| 一区二区三区在线高清| 国产乱国产乱300精品| 9191成人精品久久| 亚洲精品美国一| 懂色av一区二区在线播放| 日韩三级高清在线| 亚洲一区二区三区四区的| 99久久精品国产一区| 久久影音资源网| 免费高清在线一区| 欧美丰满美乳xxx高潮www| 亚洲精品视频免费看| 成人激情免费电影网址| 欧美成人精品福利| 亚洲国产一区视频| 在线观看视频一区二区| 成人欧美一区二区三区小说 | 国产精品911| 日韩女优电影在线观看| 丝袜国产日韩另类美女| 欧美嫩在线观看| 亚洲a一区二区| 欧美日韩精品一区视频| 亚洲午夜电影网| 欧美日韩一区二区三区视频 | 国产精品不卡一区| 成+人+亚洲+综合天堂| 亚洲国产精品高清| www.视频一区| 亚洲欧洲美洲综合色网| 91在线观看下载| 日韩毛片精品高清免费| 91色|porny| 亚洲电影一区二区|