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

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

?? ipp_zlib.c

?? 這是在PCA下的基于IPP庫示例代碼例子,在網上下了IPP的庫之后,設置相關參數就可以編譯該代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號:
                            } while (--op);
                            from = out - dist;  /* rest from output */
                        }
                    }
                    while (len > 2) {
                        PUP(out) = PUP(from);
                        PUP(out) = PUP(from);
                        PUP(out) = PUP(from);
                        len -= 3;
                    }
                    if (len) {
                        PUP(out) = PUP(from);
                        if (len > 1)
                            PUP(out) = PUP(from);
                    }
                }
                else {
                    from = out - dist;          /* copy direct from output */
                    do {                        /* minimum length is three */
                        PUP(out) = PUP(from);
                        PUP(out) = PUP(from);
                        PUP(out) = PUP(from);
                        len -= 3;
                    } while (len > 2);
                    if (len) {
                        PUP(out) = PUP(from);
                        if (len > 1)
                            PUP(out) = PUP(from);
                    }
                }
            }
            else if ((op & 64) == 0) {          /* 2nd level distance code */
                this = dcode[this.val + (hold & ((1U << op) - 1))];
                goto dodist;
            }
            else {
                strm->msg = (char *)"invalid distance code";
                state->mode = BAD;
                break;
            }
        }
        else if ((op & 64) == 0) {              /* 2nd level length code */
            this = lcode[this.val + (hold & ((1U << op) - 1))];
            goto dolen;
        }
        else if (op & 32) {                     /* end-of-block */
            state->mode = TYPE;
            break;
        }
        else {
            strm->msg = (char *)"invalid literal/length code";
            state->mode = BAD;
            break;
        }
    } while (in < last && out < end);

    /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
    len = bits >> 3;
    in -= len;
    bits -= len << 3;
    hold &= (1U << bits) - 1;

    /* update state and return */
    strm->next_in = in + OFF;
    strm->next_out = out + OFF;
    strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
    strm->avail_out = (unsigned)(out < end ?
                                 257 + (end - out) : 257 - (out - end));
    state->hold = hold;
    state->bits = bits;
    return;
} /* inflate_fast() */

/**********************************************************************************/
/*                             Macros for inflate()                               */
/**********************************************************************************/

#ifdef GZIP
#  define UPDATE(check, buf, len) \
    (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
#else
#  define UPDATE(check, buf, len) adler32(check, buf, len)
#endif

#ifdef GZIP
#  define CRC2(check, word) \
    do { \
        hbuf[0] = (unsigned char)(word); \
        hbuf[1] = (unsigned char)((word) >> 8); \
        check = crc32(check, hbuf, 2); \
    } while (0)

#  define CRC4(check, word) \
    do { \
        hbuf[0] = (unsigned char)(word); \
        hbuf[1] = (unsigned char)((word) >> 8); \
        hbuf[2] = (unsigned char)((word) >> 16); \
        hbuf[3] = (unsigned char)((word) >> 24); \
        check = crc32(check, hbuf, 4); \
    } while (0)
#endif

#define LOAD() \
    do { \
        put = strm->next_out; \
        left = strm->avail_out; \
        next = strm->next_in; \
        have = strm->avail_in; \
        hold = state->hold; \
        bits = state->bits; \
    } while (0)

#define RESTORE() \
    do { \
        strm->next_out = put; \
        strm->avail_out = left; \
        strm->next_in = next; \
        strm->avail_in = have; \
        state->hold = hold; \
        state->bits = bits; \
    } while (0)

#define INITBITS() \
    do { \
        hold = 0; \
        bits = 0; \
    } while (0)

#define PULLBYTE() \
    do { \
        if (have == 0) goto inf_leave; \
        have--; \
        hold += (unsigned long)(*next++) << bits; \
        bits += 8; \
    } while (0)

#define NEEDBITS(n) \
    do { \
        while (bits < (unsigned)(n)) \
            PULLBYTE(); \
    } while (0)

#define BITS(n) \
    ((unsigned)hold & ((1U << (n)) - 1))

#define DROPBITS(n) \
    do { \
        hold >>= (n); \
        bits -= (unsigned)(n); \
    } while (0)

#define BYTEBITS() \
    do { \
        hold >>= bits & 7; \
        bits -= bits & 7; \
    } while (0)

#define REVERSE(q) \
    ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
     (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))

#endif /* NATIVE_INFLATE */

/**********************************************************************************/
/*                     Implementation of ZLIB interfaces                          */
/**********************************************************************************/

int 
deflate(z_stream* strm, int flush)
{
IppLZ77State_8u* pLZ77State;
IppLZ77DeflateStatus deflateStatus; 
IppLZ77Flush ippflush;
IppLZ77Pair* pPairs;
IppLZ77Pair* cpPairs;
IppStatus status;
int pairsInd;
int pairsLen;
int psrcLen;
int pdstLen;
int srcLen;
Ipp8u* pSrc; 
int dstLen;
Ipp8u* pDst;
IppLZ77HuffMode huffMode;

#ifndef GZIP
unsigned int header; 
unsigned int level_flags;
#endif

 if( flush == Z_NO_FLUSH ) 
   ippflush = IppLZ77NoFlush;
 else if( flush == Z_SYNC_FLUSH )
   ippflush = IppLZ77SyncFlush;
 else if( flush == Z_FULL_FLUSH )
   ippflush = IppLZ77FullFlush;
 else if( flush == Z_FINISH)
   ippflush = IppLZ77FinishFlush;

 if(strm == Z_NULL || strm->state == Z_NULL ||
    flush > Z_FINISH || flush < 0) 
 {
   return Z_STREAM_ERROR;
 }
 pLZ77State = strm->state;
   
 if(strm->next_out == Z_NULL || (strm->next_in == Z_NULL && strm->avail_in != 0) ) 
 {
   return Z_STREAM_ERROR;
 }
 for( ; ; )
 {
     ippsEncodeLZ77GetStatus_8u(&deflateStatus, pLZ77State);
    if(deflateStatus == IppLZ77StatusInit) 
    {
      strm->total_out += strm->avail_out;
#ifdef GZIP
      put_byte(strm, 31);
      put_byte(strm, 139);
      put_byte(strm, 8);
      put_byte(strm, 0);
      put_byte(strm, 0);
      put_byte(strm, 0);
      put_byte(strm, 0);
      put_byte(strm, 0);
      put_byte(strm, 4); 
      put_byte(strm, 255);
      deflateStatus = IppLZ77StatusLZ77Process;
      ippsEncodeLZ77SetStatus_8u(deflateStatus, pLZ77State);
           
#endif
#ifndef GZIP
      header = (Z_DEFLATED + (7<<4)) << 8;
      level_flags = 2;
      header |= (level_flags << 6);
      header += 31 - (header % 31);
      ippsEncodeLZ77SetStatus_8u(IppLZ77StatusLZ77Process, pLZ77State); 
      putShortMSB(strm, header);
      strm->adler = 0;
#endif
      strm->total_out -= strm->avail_out;
    } /* IppLZ77StatusInit */

    ippsEncodeLZ77GetStatus_8u(&deflateStatus, pLZ77State);
    if(deflateStatus == IppLZ77StatusLZ77Process)
    {
      ippsEncodeLZ77GetPairs_8u(&cpPairs, &pairsInd, &pairsLen, pLZ77State); 
      pPairs = cpPairs + pairsInd; 
      pdstLen = pairsLen - pairsInd;
    
      pSrc = strm->next_in;
      srcLen = strm->avail_in;
      strm->total_in += srcLen;

      status = ippsEncodeLZ77_8u(&pSrc, &srcLen, &pPairs, &pdstLen, ippflush, pLZ77State);
    
      strm->total_in -= srcLen;
      strm->next_in = pSrc;
      strm->avail_in = srcLen;
    
      pairsInd = pairsLen - pdstLen;
      ippsEncodeLZ77SetPairs_8u(cpPairs, pairsInd, pairsLen, pLZ77State); 
      
      if(status < 0 )
        return Z_STREAM_ERROR;
      else if(status == ippStsNoErr && ippflush == IppLZ77NoFlush)
        return Z_OK;
      else
      {
        deflateStatus = IppLZ77StatusHuffProcess;
        ippsEncodeLZ77SetStatus_8u(deflateStatus, pLZ77State);
      }   
    } /* IppLZ77StatusLZ77Process */

    ippsEncodeLZ77GetStatus_8u(&deflateStatus, pLZ77State);
    if(deflateStatus == IppLZ77StatusHuffProcess)
    {
      ippsEncodeLZ77GetPairs_8u(&cpPairs, &pairsInd, &pairsLen, pLZ77State); 
      psrcLen = pairsLen - pairsInd; 
      pPairs = cpPairs + pairsInd;
       
      pDst = strm->next_out;
      dstLen = strm->avail_out;
      strm->total_out += dstLen;

#ifdef FORCE_FIXED    
      status = ippsEncodeLZ77FixedHuff_8u(&pPairs, &psrcLen, &pDst, &dstLen, ippflush, pLZ77State); 
#endif
#ifndef FORCE_FIXED
 #ifdef FORCE_DYNAMIC 
      status = ippsEncodeLZ77DynamicHuff_8u(&pPairs, &psrcLen, &pDst, &dstLen, ippflush, pLZ77State); 
 #endif
 #ifndef FORCE_DYNAMIC
      ippsEncodeLZ77SelectHuffMode_8u(pPairs, psrcLen, &huffMode, pLZ77State); 
    
      if(huffMode == IppLZ77UseDynamic)
      {
        status = ippsEncodeLZ77DynamicHuff_8u(&pPairs, &psrcLen, &pDst, &dstLen, ippflush, pLZ77State); 
      }
      else
      {
        status = ippsEncodeLZ77FixedHuff_8u(&pPairs, &psrcLen, &pDst, &dstLen, ippflush, pLZ77State); 
      } /* if else */

 #endif
#endif
    
      strm->total_out -= dstLen;
      strm->next_out = pDst;
      strm->avail_out = dstLen;
      pairsInd = pairsLen - psrcLen;
    
      if(status < 0)
        return Z_STREAM_ERROR;
    
      if(status == ippStsDstSizeLessExpected)
      {
        ippsEncodeLZ77SetPairs_8u(cpPairs, pairsInd, pairsLen, pLZ77State);
        return Z_OK;
      }
      else if(status == ippStsNoErr)
      { 
        deflateStatus = IppLZ77StatusLZ77Process;
        ippsEncodeLZ77SetStatus_8u(deflateStatus, pLZ77State);
      
        if(ippflush != IppLZ77FinishFlush)  
          return Z_OK;
      } 
      else if(status == ippStsStreamEnd)
      {
        deflateStatus = IppLZ77StatusFinal;
        ippsEncodeLZ77SetStatus_8u(deflateStatus, pLZ77State);
      } /* if else */
    
    } /* IppLZ77StatusHuffProcess */

    ippsEncodeLZ77GetStatus_8u(&deflateStatus, pLZ77State);
    if(deflateStatus == IppLZ77StatusFinal)
    {
      pDst = strm->next_out;
      dstLen = strm->avail_out;
      strm->total_out += dstLen;

      status = ippsEncodeLZ77Flush_8u(&pDst, &dstLen, pLZ77State);

      strm->total_out -= dstLen;
      strm->next_out = pDst;
      strm->avail_out = dstLen;

      if(status < 0 )
        return Z_STREAM_ERROR; 
   
      if(status == ippStsDstSizeLessExpected)
        return Z_OK;

      return Z_STREAM_END;
    } /* IppLZ77StatusFinal */
 } /* for */

 return Z_STREAM_END;
} /* deflate() */

/**********************************************************************************/

int 
deflateInit_(z_stream* strm, int level, const char *version, int stream_size)
{
    return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
                         Z_DEFAULT_STRATEGY, version, stream_size);
} /* deflateInit_() */

/**********************************************************************************/

int 
deflateInit2_(z_stream* strm, int  level, int  method,
              int windowBits, int memLevel, int strategy, 
              const char *version, int stream_size)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最大成人网4388xx| 欧美三级日韩三级| 中文av一区二区| 国产又黄又大久久| 国产午夜精品一区二区三区嫩草| 国产真实乱子伦精品视频| 26uuu精品一区二区三区四区在线| 久久99久久99精品免视看婷婷| 2023国产精华国产精品| 成人免费看片app下载| 中文字幕一区二区三区不卡 | 亚洲午夜免费视频| 欧美视频在线一区| 色呦呦国产精品| 国产欧美日韩在线| 99久久久国产精品| 午夜精品123| 国产亚洲一本大道中文在线| 99re在线精品| 蜜臀久久99精品久久久久久9| 国产亚洲成年网址在线观看| av中文字幕不卡| 婷婷亚洲久悠悠色悠在线播放| 欧美大度的电影原声| 大胆欧美人体老妇| 亚洲成人av免费| 国产亚洲成av人在线观看导航| 一本到一区二区三区| 青青草原综合久久大伊人精品 | 欧美在线观看一二区| 免费观看在线综合色| ...av二区三区久久精品| 欧美高清视频不卡网| 成人一区二区三区视频| 五月天亚洲精品| 日本一区二区三区dvd视频在线| 欧美视频在线一区| 成人午夜av在线| 蜜臀久久99精品久久久久久9 | 午夜欧美大尺度福利影院在线看| 久久综合国产精品| 欧美天堂一区二区三区| 国产成人小视频| 青椒成人免费视频| 亚洲欧美日韩久久| 中文字幕精品三区| 精品国产一区二区三区忘忧草 | 三级久久三级久久| 国产精品久久久久aaaa樱花| 日韩亚洲欧美成人一区| 色一区在线观看| 成人午夜碰碰视频| 激情欧美一区二区| 日韩影视精彩在线| 亚洲国产精品久久久久婷婷884 | 亚洲黄色av一区| 国产日韩欧美一区二区三区乱码 | 六月丁香婷婷久久| 亚洲高清不卡在线| 一区二区三区国产精华| 国产精品国产三级国产aⅴ无密码| 日韩免费观看高清完整版| 欧美三级欧美一级| 欧美色窝79yyyycom| 色婷婷综合中文久久一本| 成人丝袜18视频在线观看| 国产一区免费电影| 国内精品在线播放| 免费观看久久久4p| 日本最新不卡在线| 日一区二区三区| 三级精品在线观看| 日本亚洲欧美天堂免费| 人禽交欧美网站| 美腿丝袜亚洲一区| 精品一区在线看| 久久99久久精品欧美| 久久综合综合久久综合| 久久精品国产色蜜蜜麻豆| 老司机免费视频一区二区三区| 蜜臀va亚洲va欧美va天堂| 欧美aⅴ一区二区三区视频| 亚洲成人动漫一区| 亚洲成av人片在线观看| 亚洲福利视频一区| 日韩电影在线免费| 蜜桃一区二区三区在线观看| 久久电影网站中文字幕| 国产乱人伦偷精品视频免下载| 国产激情91久久精品导航| 国产91综合一区在线观看| 成人免费精品视频| 色中色一区二区| 制服丝袜激情欧洲亚洲| 日韩女优毛片在线| 久久九九影视网| 亚洲欧洲精品天堂一级| 亚洲一区二区av在线| 全国精品久久少妇| 国产成人一级电影| 欧美在线观看18| 91精品国产高清一区二区三区蜜臀| 日韩小视频在线观看专区| 欧美激情综合网| 亚洲日本一区二区三区| 视频在线观看91| 国产精品99久久不卡二区| 99精品一区二区三区| 欧美日韩精品一区二区| 26uuu亚洲综合色欧美 | 欧美亚洲综合另类| 欧美mv和日韩mv的网站| 国产在线播精品第三| av一区二区三区| 91超碰这里只有精品国产| www久久精品| 亚洲综合在线免费观看| 九九精品一区二区| 在线视频一区二区三区| 欧美成人福利视频| 亚洲激情中文1区| 国精品**一区二区三区在线蜜桃| 99久久免费视频.com| 日韩一级视频免费观看在线| 国产精品午夜在线观看| 亚洲va欧美va国产va天堂影院| 国产一区二区三区最好精华液| 在线免费精品视频| 久久精品亚洲一区二区三区浴池| 亚洲精品精品亚洲| 国产精华液一区二区三区| 欧美色综合久久| 中文字幕一区二区三区在线不卡| 久久精品国产一区二区三 | 日韩亚洲电影在线| 亚洲激情网站免费观看| 国产二区国产一区在线观看| 欧美日韩国产在线观看| 1024亚洲合集| 国产成人免费视频网站| 欧美电影免费观看高清完整版 | 精品久久人人做人人爱| 亚洲高清久久久| 色悠久久久久综合欧美99| 欧美国产一区二区在线观看| 日韩av一区二区三区四区| 欧美揉bbbbb揉bbbbb| ...av二区三区久久精品| 国产91丝袜在线观看| 久久新电视剧免费观看| 麻豆国产欧美日韩综合精品二区 | 久久久影视传媒| 日韩精品电影在线| 欧美日韩在线免费视频| 亚洲色图制服丝袜| av电影在线观看一区| 欧美国产日韩a欧美在线观看| 日韩电影在线免费看| 欧美精品tushy高清| 天堂一区二区在线免费观看| 欧美日韩在线综合| 亚洲成精国产精品女| 欧美最新大片在线看| 一区二区欧美精品| 91精品1区2区| 亚洲一二三区视频在线观看| 日本韩国欧美国产| 亚洲一二三四久久| 欧美日韩另类国产亚洲欧美一级| 亚洲影院免费观看| 欧美日韩一卡二卡| 三级影片在线观看欧美日韩一区二区 | 黄色日韩网站视频| 亚洲精品一区二区三区精华液| 精品一区二区三区av| 久久日韩粉嫩一区二区三区| 国产美女精品一区二区三区| 久久久另类综合| 成人黄色小视频在线观看| 国产精品三级电影| 色狠狠一区二区三区香蕉| 亚洲二区在线观看| 欧美一区二区大片| 国产黄色精品网站| 亚洲天堂成人在线观看| 欧美性猛交xxxx黑人交| 日本美女视频一区二区| 欧美va在线播放| 大胆欧美人体老妇| 亚洲图片欧美色图| 欧美大片一区二区| 豆国产96在线|亚洲| 亚洲摸摸操操av| 欧美高清精品3d| 国产成人午夜片在线观看高清观看| 国产精品久久久久久亚洲毛片| 色婷婷综合久久久| 日本sm残虐另类| 中文字幕一区免费在线观看| 欧美精选午夜久久久乱码6080|