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

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

?? ipp_zlib.c

?? 這是在PCA下的基于IPP庫示例代碼例子,在網(wǎng)上下了IPP的庫之后,設(shè)置相關(guān)參數(shù)就可以編譯該代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號:
{
    IppLZ77State_8u* pLZ77State; 
    IppStatus status;
    IppLZ77ComprLevel comprLevel; 
    static const char my_version[] = ZLIB_VERSION;

    if ( version == Z_NULL || (stream_size != sizeof(z_stream)) ) {
        return Z_VERSION_ERROR;
    }
    if (strm == Z_NULL) return Z_STREAM_ERROR;
    strm->msg = Z_NULL;
        
    if ( memLevel != DEF_MEM_LEVEL || method != Z_DEFLATED ||
        windowBits != 15 || level < 1 || level > 9 || strategy != 0) 
    {
        return Z_STREAM_ERROR;
    }

    if(level < 4)
      comprLevel = IppLZ77FastCompr;
    else if( level >= 4 && level < 8 )
      comprLevel = IppLZ77AverageCompr;
    else
      comprLevel = IppLZ77BestCompr;
          
#ifdef GZIP
    status = ippsEncodeLZ77InitAlloc_8u(comprLevel, IppLZ77CRC32, &pLZ77State); 
#endif
#ifndef GZIP
    status = ippsEncodeLZ77InitAlloc_8u(comprLevel, IppLZ77Adler32, &pLZ77State); 
#endif

    if (status != 0)
    {
       return Z_MEM_ERROR;
    } 
    if (pLZ77State == Z_NULL) return Z_MEM_ERROR;
    
    strm->state = pLZ77State;
    return deflateReset(strm);
} /* deflateInit2_() */

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

int 
deflateEnd (z_stream* strm)
{
    IppLZ77DeflateStatus deflateStatus;

    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;

    ippsEncodeLZ77GetStatus_8u(&deflateStatus, strm->state);

    if(deflateStatus != IppLZ77StatusInit && deflateStatus != IppLZ77StatusLZ77Process && 
       deflateStatus != IppLZ77StatusHuffProcess && deflateStatus != IppLZ77StatusFinal) {
      return Z_STREAM_ERROR;
    }

    ippsLZ77Free_8u(strm->state);
    return deflateStatus == IppLZ77StatusLZ77Process ? Z_DATA_ERROR : Z_OK;
} /* deflateEnd() */

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

int 
deflateReset (z_stream* strm)
{
    if (strm == Z_NULL || strm->state == Z_NULL) 
       return Z_STREAM_ERROR;
    
    strm->total_in = strm->total_out = 0;
    strm->msg = Z_NULL; 
    strm->data_type = Z_UNKNOWN;
    strm->adler = 0;

    if(ippsEncodeLZ77Reset_8u(strm->state) < 0)
      return Z_STREAM_ERROR;

    return Z_OK;
} /* deflateReset() */

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


#ifdef NATIVE_INFLATE
/**********************************************************************************/

int 
inflateInit_(z_stream* strm, const char *version, int stream_size)
{
  return inflateInit2_(strm, MAX_WBITS, version, stream_size);
} /* inflateInit_() */

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

int 
inflateInit2_(z_stream* strm, int  windowBits, const char *version, int stream_size)
{
    struct inflate_state *state;

    if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
        stream_size != (int)(sizeof(z_stream)))
        return Z_VERSION_ERROR;
    if (strm == Z_NULL) return Z_STREAM_ERROR;
    strm->msg = Z_NULL;                 
    if (strm->zalloc == (alloc_func)0) {
        strm->zalloc = (alloc_func)0;
        strm->opaque = (void*)0;
    }
    if (strm->zfree == (free_func)0) strm->zfree = (free_func)0;
    state = (struct inflate_state *) calloc(1, sizeof(struct inflate_state));
    if (state == Z_NULL) return Z_MEM_ERROR;

    strm->state = (void*)state;
    if (windowBits < 0) {
        state->wrap = 0;
        windowBits = -windowBits;
    }
    else {
        state->wrap = (windowBits >> 3) + 1;
#ifdef GZIP
        if (windowBits < 48) windowBits &= 15;
#endif
    }
    if (windowBits < 8 || windowBits > 15) {
        free(state);
        strm->state = Z_NULL;
        return Z_STREAM_ERROR;
    }
    state->wbits = (unsigned)windowBits;
    state->window = Z_NULL;
    return inflateReset(strm);

} /* inflateInit2_() */

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

int 
inflate(z_stream* strm, int flush)
{
    struct inflate_state *state;
    unsigned char *next;    /* next input */
    unsigned char *put;     /* next output */
    unsigned have, left;        /* available input and output */
    unsigned long hold;         /* bit buffer */
    unsigned bits;              /* bits in bit buffer */
    unsigned in, out;           /* save starting available input and output */
    unsigned copy;              /* number of stored or match bytes to copy */
    unsigned char FAR *from;    /* where to copy match bytes from */
    code this;                  /* current decoding table entry */
    code last;                  /* parent table entry */
    unsigned len;               /* length to copy for repeats, bits to drop */
    int ret;                    /* return code */
#ifdef GZIP
    unsigned char hbuf[4];      /* buffer for gzip header crc calculation */
#endif
    static const unsigned short order[19] = /* permutation of code lengths */
        {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};

    if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL ||
        (strm->next_in == Z_NULL && strm->avail_in != 0))
        return Z_STREAM_ERROR;

    state = (struct inflate_state FAR *)strm->state;
    if (state->mode == TYPE) state->mode = TYPEDO;      /* skip check */
    LOAD();
    in = have;
    out = left;
    ret = Z_OK;
    for (;;)
        switch (state->mode) {
        case HEAD:
            if (state->wrap == 0) {
                state->mode = TYPEDO;
                break;
            }
            NEEDBITS(16);
#ifdef GZIP
            if ((state->wrap & 2) && hold == 0x8b1f) {  /* gzip header */
                state->check = crc32(0L, Z_NULL, 0);
                CRC2(state->check, hold);
                INITBITS();
                state->mode = FLAGS;
                break;
            }
            state->flags = 0;           /* expect zlib header */
            if (!(state->wrap & 1) ||   /* check if zlib header allowed */
#else
            if (
#endif
                ((BITS(8) << 8) + (hold >> 8)) % 31) {
                strm->msg = (char *)"incorrect header check";
                state->mode = BAD;
                break;
            }
            if (BITS(4) != Z_DEFLATED) {
                strm->msg = (char *)"unknown compression method";
                state->mode = BAD;
                break;
            }
            DROPBITS(4);
            if (BITS(4) + 8 > state->wbits) {
                strm->msg = (char *)"invalid window size";
                state->mode = BAD;
                break;
            }
            strm->adler = state->check = adler32(0L, Z_NULL, 0);
            state->mode = hold & 0x200 ? DICTID : TYPE;
            INITBITS();
            break;
#ifdef GZIP
        case FLAGS:
            NEEDBITS(16);
            state->flags = (int)(hold);
            if ((state->flags & 0xff) != Z_DEFLATED) {
                strm->msg = (char *)"unknown compression method";
                state->mode = BAD;
                break;
            }
            if (state->flags & 0xe000) {
                strm->msg = (char *)"unknown header flags set";
                state->mode = BAD;
                break;
            }
            if (state->flags & 0x0200) CRC2(state->check, hold);
            INITBITS();
            state->mode = TIME;
        case TIME:
            NEEDBITS(32);
            if (state->flags & 0x0200) CRC4(state->check, hold);
            INITBITS();
            state->mode = OS;
        case OS:
            NEEDBITS(16);
            if (state->flags & 0x0200) CRC2(state->check, hold);
            INITBITS();
            state->mode = EXLEN;
        case EXLEN:
            if (state->flags & 0x0400) {
                NEEDBITS(16);
                state->length = (unsigned)(hold);
                if (state->flags & 0x0200) CRC2(state->check, hold);
                INITBITS();
            }
            state->mode = EXTRA;
        case EXTRA:
            if (state->flags & 0x0400) {
                copy = state->length;
                if (copy > have) copy = have;
                if (copy) {
                    if (state->flags & 0x0200)
                        state->check = crc32(state->check, next, copy);
                    have -= copy;
                    next += copy;
                    state->length -= copy;
                }
                if (state->length) goto inf_leave;
            }
            state->mode = NAME;
        case NAME:
            if (state->flags & 0x0800) {
                if (have == 0) goto inf_leave;
                copy = 0;
                do {
                    len = (unsigned)(next[copy++]);
                } while (len && copy < have);
                if (state->flags & 0x02000)
                    state->check = crc32(state->check, next, copy);
                have -= copy;
                next += copy;
                if (len) goto inf_leave;
            }
            state->mode = ICOMMENT;
        case ICOMMENT:
            if (state->flags & 0x1000) {
                if (have == 0) goto inf_leave;
                copy = 0;
                do {
                    len = (unsigned)(next[copy++]);
                } while (len && copy < have);
                if (state->flags & 0x02000)
                    state->check = crc32(state->check, next, copy);
                have -= copy;
                next += copy;
                if (len) goto inf_leave;
            }
            state->mode = HCRC;
        case HCRC:
            if (state->flags & 0x0200) {
                NEEDBITS(16);
                if (hold != (state->check & 0xffff)) {
                    strm->msg = (char *)"header crc mismatch";
                    state->mode = BAD;
                    break;
                }
                INITBITS();
            }
            strm->adler = state->check = crc32(0L, Z_NULL, 0);
            state->mode = TYPE;
            break;

#endif
        case DICTID:
            NEEDBITS(32);
            strm->adler = state->check = REVERSE(hold);
            INITBITS();
            state->mode = DICT;
        case DICT:
            if (state->havedict == 0) {
                RESTORE();
                return Z_NEED_DICT;
            }
            strm->adler = state->check = adler32(0L, Z_NULL, 0);
            state->mode = TYPE;
        case TYPE:
            if (flush == Z_BLOCK) goto inf_leave;
        case TYPEDO:
            if (state->last) {
                BYTEBITS();
                state->mode = CHECK;
                break;
            }
            NEEDBITS(3);
            state->last = BITS(1);
            DROPBITS(1);
            switch (BITS(2)) {
            case 0:                             /* stored block */
                state->mode = STORED;
                break;
            case 1:                             /* fixed block */
                fixedtables(state);
                state->mode = LEN;              /* decode codes */
                break;
            case 2:                             /* dynamic block */
                state->mode = TABLE;
                break;
            case 3:
                strm->msg = (char *)"invalid block type";
                state->mode = BAD;
            }
            DROPBITS(2);
            break;
        case STORED:
            BYTEBITS();                         /* go to byte boundary */
            NEEDBITS(32);
            if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
                strm->msg = (char *)"invalid stored block lengths";
                state->mode = BAD;
                break;
            }
            state->length = (unsigned)hold & 0xffff;
            INITBITS();
            state->mode = COPY;
        case COPY:
            copy = state->length;
            if (copy) {
                if (copy > have) copy = have;
                if (copy > left) copy = left;
                if (copy == 0) goto inf_leave;
                zmemcpy(put, next, copy);
                have -= copy;
                next += copy;
                left -= copy;
                put += copy;
                state->length -= copy;
                break;
            }
            state->mode = TYPE;
            break;
        case TABLE:
            NEEDBITS(14);
            state->nlen = BITS(5) + 257;
            DROPBITS(5);
            state->ndist = BITS(5) + 1;
            DROPBITS(5);
            state->ncode = BITS(4) + 4;
            DROPBITS(4);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久一区二区三区四区| jiyouzz国产精品久久| 亚洲一区中文日韩| 亚洲欧美中日韩| 中文字幕在线播放不卡一区| 国产精品全国免费观看高清| 欧美国产日韩在线观看| 国产精品色呦呦| 中文字幕制服丝袜一区二区三区 | 丁香五精品蜜臀久久久久99网站| 免费黄网站欧美| 日本美女一区二区三区| 日韩国产一二三区| 国产乱码一区二区三区| 成人免费看黄yyy456| 成人午夜碰碰视频| 在线看国产一区二区| 91黄视频在线| 欧美日韩免费高清一区色橹橹| 色一情一乱一乱一91av| 欧美福利电影网| 精品国产区一区| 欧美激情一区在线观看| 国产精品福利一区| 亚洲 欧美综合在线网络| 麻豆精品一区二区av白丝在线| 国产一区在线观看麻豆| 91在线观看高清| 制服丝袜成人动漫| 国产欧美精品一区二区色综合朱莉 | www.欧美.com| 欧美乱妇一区二区三区不卡视频| 日韩一级黄色片| 亚洲国产精品精华液ab| 日韩精品电影一区亚洲| 国产精品一线二线三线精华| 在线精品视频小说1| 日韩欧美第一区| 亚洲欧美aⅴ...| 精品中文字幕一区二区小辣椒| 91一区二区在线| 精品国产91乱码一区二区三区| 中文字幕中文字幕一区| 久久精品国产精品亚洲红杏| 99久久久国产精品免费蜜臀| 精品美女在线观看| 一区二区三区资源| 成人精品一区二区三区中文字幕| 欧美日韩精品一区二区三区| 国产精品九色蝌蚪自拍| 久久99久久99| 欧美日本精品一区二区三区| 国产精品国产三级国产aⅴ原创| 日韩二区三区四区| 色欲综合视频天天天| 久久久影院官网| 蜜臀av一区二区三区| 欧美在线小视频| 日韩伦理免费电影| 国产成人精品三级麻豆| 日韩亚洲欧美成人一区| 视频一区在线播放| 欧美日韩成人综合在线一区二区| 亚洲人成网站色在线观看| 高清av一区二区| 久久久久免费观看| 狠狠狠色丁香婷婷综合激情| 欧美一级欧美三级| 日韩av不卡在线观看| 欧美熟乱第一页| 亚洲成在人线在线播放| 欧美亚洲一区二区在线| 亚洲一区二区三区四区五区中文| av午夜精品一区二区三区| 中文字幕在线一区| av中文字幕在线不卡| ...av二区三区久久精品| 99综合电影在线视频| 中文字幕制服丝袜一区二区三区 | 亚洲精品久久嫩草网站秘色| 成人黄色电影在线 | 91精品中文字幕一区二区三区| 亚洲成人免费影院| 欧美一区二视频| 免费的国产精品| 久久免费午夜影院| 成人免费高清在线| 亚洲最新视频在线观看| 欧美日韩一区三区四区| 奇米四色…亚洲| 久久久噜噜噜久噜久久综合| 不卡av免费在线观看| 伊人夜夜躁av伊人久久| 91精品国产一区二区人妖| 久久精品72免费观看| 国产婷婷色一区二区三区四区| 国产一区二区久久| 亚洲美女视频在线观看| 678五月天丁香亚洲综合网| 久久国产精品99久久久久久老狼| 久久亚洲综合色一区二区三区| av午夜一区麻豆| 人人精品人人爱| 欧美激情中文字幕一区二区| 欧美影院一区二区三区| 国内欧美视频一区二区 | 亚洲图片欧美一区| 欧美videos中文字幕| 处破女av一区二区| 午夜日韩在线观看| 国产精品网站导航| 欧美一级精品在线| 91碰在线视频| 韩国三级在线一区| 亚洲一区自拍偷拍| 中文字幕免费不卡| 在线播放欧美女士性生活| 成人一级黄色片| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美激情一区在线观看| 欧美久久高跟鞋激| 97精品国产97久久久久久久久久久久| 日韩国产精品91| 亚洲美女视频在线| 国产精品婷婷午夜在线观看| 日韩欧美国产1| 欧美亚洲一区二区在线| aaa亚洲精品一二三区| 久久精品二区亚洲w码| 亚洲一级二级在线| 欧美国产精品一区二区| 欧美大肚乱孕交hd孕妇| 欧美色综合影院| 日本丶国产丶欧美色综合| 国产成人综合精品三级| 麻豆视频一区二区| 青青青爽久久午夜综合久久午夜| 亚洲激情图片qvod| 亚洲天堂免费看| 国产精品国产三级国产aⅴ原创| 久久美女高清视频| 欧美一区二区三区日韩| 欧美妇女性影城| 欧美久久久久久久久中文字幕| 在线欧美小视频| 99久久久久久99| 99精品热视频| 91网站在线播放| 日本韩国欧美国产| 欧美亚洲综合一区| 欧美色网一区二区| 欧美视频一区二区三区四区| 欧美亚州韩日在线看免费版国语版| 北条麻妃国产九九精品视频| av成人动漫在线观看| 成人美女视频在线观看18| 99在线热播精品免费| 色天天综合色天天久久| 色婷婷久久综合| 在线观看一区日韩| 欧美日韩dvd在线观看| 91精品黄色片免费大全| 精品国产在天天线2019| 亚洲精品一区二区在线观看| 久久久久国色av免费看影院| 国产亲近乱来精品视频| 亚洲欧洲三级电影| 亚洲一区在线看| 日韩精品午夜视频| 国产精品小仙女| av一区二区三区四区| 欧美手机在线视频| 精品少妇一区二区三区日产乱码 | 久久精品国内一区二区三区 | 久久蜜桃香蕉精品一区二区三区| 久久久久99精品一区| 亚洲婷婷综合色高清在线| 亚洲国产乱码最新视频| 久久精品免费看| av资源网一区| 8x8x8国产精品| 国产日韩欧美高清| 一区二区三区在线观看动漫| 视频一区国产视频| 成人18视频日本| 91麻豆精品国产91久久久久久久久 | 日本欧美在线看| 国产精品一区二区久久不卡| 91网页版在线| 精品日韩一区二区三区| 中文字幕一区二区在线播放| 午夜影视日本亚洲欧洲精品| 国产在线不卡一卡二卡三卡四卡| 成人av电影观看| 欧美一级精品在线| 一区二区三区日韩欧美| 蜜桃视频一区二区三区在线观看| 成人黄色电影在线 | 国产精品亚洲专一区二区三区| 99综合电影在线视频|