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

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

?? ippcompress.c

?? 這是在PCA下的基于IPP庫示例代碼例子,在網上下了IPP的庫之后,設置相關參數就可以編譯該代碼.
?? C
字號:
/* //////////////////////////////// "ippcompress_bwt.c" /////////////////////////////////                  INTEL CORPORATION PROPRIETARY INFORMATION//     This software is supplied under the terms of a license agreement or//     nondisclosure agreement with Intel Corporation and may not be copied//     or disclosed except in accordance with the terms of that agreement.//          Copyright(c) 2005 Intel Corporation. All Rights Reserved.//////          Sample of IPP DC ( data compression ) domain BWT, MTF, RLE and Huffman//          encoding functions usage*/#include "bwtscheme.h"#include "gitscheme.h"#include "zlibscheme.h"#include "lzssscheme.h"void usage(char *name) {    char usage_message[] = \    "\nCopyright(c) 2005 Intel Corporation. All Rights Reserved.\nippcompress datacompression sample\n"    "Usage: %s [ -bwt | -git | -lzss | -gzip | -zlib ] [-1...-9] source_filename destination_filename\n"    " -bwt, -git, -lzss, -gzip, -zlib ...   Defines compression algorithms chain by name\n"    " -1 ... -9                             Sets the custom size of the input block while encoding from 1...9 \n"    "                                       where 1 means 100Kb, 2 means 200Kb, ... 9 means 900Kb\n"    " source_filename                       File to encode\n"    " destination_filename                  Encoded file\n"    "\nNote, that order of the arguments is predefined!\n"    "\nExample: %s -git -3 file1 file1.compr\n";    fprintf( stderr, usage_message, name, name );    exit(1);}int main( int argC, char **argV ) {    int blocksize       = 0,        DstLen          = 0,        SrcLen          = 0,        filesize        = 0,        filesizer       = 0;    bwtState *pBWTState = NULL;    gitState *pGITState = NULL;    IppHuffState_8u *pHuffState = NULL;    Ipp8u * pSrc        = NULL,          * pDst        = NULL,            header[4];    char    outmode[4];    /* input and output files descriptors (including gzip file descriptor when -gzip method flag)*/    FILE   * fi         = NULL,           * fo         = NULL;    gzFile   fgzip      = NULL;    /* predefined variables values */    IppGITStrategyHint strategyHint = DEFAULTGITSTRATEGY;    int gzipMode                    = GZIPAVERAGE;    int encodeMethod                = 0;    /* in case, when we deal with a static libraries, *     * init the best one for the current architecture */    if( ippStaticInit() < 0 ) {        fprintf( stderr, "Can't init IPP libraries. Exiting.\n");        exit(-1);    }    /* in case when extra parameters or missing some of prints the usage message and exits*/    if( argC < 4 || argC > 5 ) usage( argV[0] );    if( argV[1][0] == '-' ) {        if( strcmp( argV[1], "-bwt"  ) == 0 ) encodeMethod = BWT;        // RLE->BWT->MTF->RLE->Huffman scheme        if( strcmp( argV[1], "-git"  ) == 0 ) encodeMethod = GIT;        // BWT->GIT scheme        if( strcmp( argV[1], "-lzss" ) == 0 ) encodeMethod = LZSS;       // LZSS scheme        if( strcmp( argV[1], "-zlib" ) == 0 ) encodeMethod = ZLIB;       // ZLIB scheme (deflate)        if( strcmp( argV[1], "-gzip" ) == 0 ) encodeMethod = ZGZIP;      // ZGZIP scheme (gzwrite)        if( strcmp( argV[1], "-huffman" ) == 0 ) encodeMethod = HUFFMAN; // ZGZIP scheme (gzwrite)        if( encodeMethod == 0) usage(argV[0]);    }    else usage(argV[0]);    /* prints usage message */    /* gets a size of block parameter from a command line */    if( argV[2][0] != '-' || argV[2][1] > '9' || argV[2][1] < '1' || argV[3] == 0 || argV[4] == 0 ) {        fprintf( stderr, "Error in command line");        usage( argV[0] );    }    /* opens input file */    if( NULL == ( fi = fopen( argV[3], "rb" ) ) ) {        fprintf( stderr, "Error while reading source file!\n" );        exit(1);    } else { /* if everething is OK, checks the filesize */        while( !feof(fi) )            filesize += fread( header, sizeof(Ipp8u), 4, fi );        blocksize = filesize;        rewind(fi);    }    /* Converts blocksize from command line to int       In case of LZSS we have to encode the entire file instead of block-by-block */    if( encodeMethod != LZSS && encodeMethod != ZLIB ) blocksize = (int)(argV[2][1] - 48) * BLOCKUNIT;    /* opens output file (if gzip encoding case - uses gzopen function and 'gzfile *file' descriptor )*/    if( encodeMethod == ZGZIP ) { /* gzip */        sprintf(outmode, "wb%d", gzipMode);        if( ( fgzip = gzopen( argV[4], outmode ) ) == NULL ) {            fprintf(stderr, "Error writing destination file!\n");            exit(2);        }    } else { /* others */        if( NULL == ( fo = fopen( argV[4], "wb" ) ) ) {            fprintf(stderr, "Error writing destination file!\n");            exit(2);        }    }    /*  writes a 5 service bytes in case of -bwt, -git, -lzss and -zlib cases.        for gzip-files compatibility, not writes this bytes in -gzip case */    if( encodeMethod != ZGZIP ) {        /* writes the method (1 to 4) of compression to first byte */        fwrite( &encodeMethod, sizeof(Ipp8u), 1, fo );        /* writes the compression block size (or destination filesize) to next 4 bytes */        fwrite( &blocksize, sizeof(Ipp32u), 1, fo );    } else {        blocksize = GZIPBLOCKSIZE; /* hint: change it to define */    }    /* allocates enough memory for input and output buffer */    pSrc = (Ipp8u *)malloc(sizeof(Ipp8u)*(blocksize<<1));    pDst = (Ipp8u *)malloc(sizeof(Ipp8u)*(blocksize<<1));    /* make method-dependable init */    switch( encodeMethod ) {        case BWT: Compress1StateInitAlloc( &pBWTState, blocksize ); break;        case GIT: Compress2StateInitAlloc( &pGITState, blocksize, strategyHint ); break;    }    switch ( encodeMethod ) {        case BWT: /* BWT -> MTF -> RLE -> Huffman */            while( ( SrcLen = (int)fread( pSrc, sizeof(Ipp8u), blocksize, fi ) ) > 0  ) {                /* sets the size of destination buffer equal to size of memory allocated */                DstLen = (blocksize<<1);                /* compress readed block */                Compress1( &pSrc, SrcLen, &pDst, &DstLen, pBWTState );                /* writes the 4 bytes (block length) into output file */                fwrite( &DstLen, sizeof(Ipp32u), 1, fo );                /* writes the (block length) bytes into output file */                fwrite( pDst, sizeof(Ipp8u), DstLen, fo );            }        break;        case GIT: /* BWT -> GIT */            while( ( SrcLen = (int)fread( pSrc, sizeof(Ipp8u), blocksize, fi ) ) > 0  ) {                /* sets the size of destination buffer equal to size of memory allocated */                DstLen = (blocksize<<1);                /* compress readed block */                Compress2( &pSrc, SrcLen, &pDst, &DstLen, pGITState );                /* writes the 4 bytes (block length) into output file */                fwrite( &DstLen, sizeof(Ipp32u), 1, fo );                /* then writes the (block length) bytes into output file */                fwrite( pDst, sizeof(Ipp8u), DstLen, fo );            }        break;        case LZSS: /* LZSS */            /* read entire file to pSrc vector */            SrcLen = fread( pSrc, sizeof(Ipp8u), blocksize, fi );            DstLen = blocksize << 1;            /* compress readed block */            CompressLZSS( pSrc, SrcLen, pDst, &DstLen );            /* writes the (block length) bytes into output file */            fwrite( pDst, sizeof(Ipp8u), DstLen, fo );        break;        case ZLIB: /* ZLIB */            SrcLen = fread( pSrc, sizeof(Ipp8u), blocksize, fi );            DstLen = blocksize << 1;            CompressZLIB( pSrc, SrcLen, pDst, &DstLen );            fwrite( pDst, sizeof(Ipp8u), DstLen, fo );        break;        case ZGZIP: /* GZIP */            SrcLen = blocksize;            for( ; SrcLen > 0 ; ) {                SrcLen = fread( pSrc, sizeof(Ipp8u), blocksize, fi );                if( ( DstLen = gzwrite( fgzip, pSrc, (unsigned)SrcLen ) != SrcLen ) )                    return (-1);            }        break;        case HUFFMAN: /* HUFFMAN only */            while( ( SrcLen = (int)fread( pSrc, sizeof(Ipp8u), blocksize, fi ) ) > 0  ) {                /* sets the size of destination buffer equal to size of memory allocated */                DstLen = (blocksize<<1);                /* compress readed block */                if( !EncodeHuffman( pSrc, SrcLen, pDst, &DstLen, pHuffState ) ) {            bwtState *pBWTState = NULL;    gitState *pGITState = NULL;                    /* writes the 4 bytes (block length) into output file */                    fwrite( &DstLen, sizeof(Ipp32u), 1, fo );                    /* writes the (block length) bytes into output file */                    fwrite( pDst, sizeof(Ipp8u), DstLen, fo );                }            }        break;    }    /* does finish tasks: close files, clean buffers */    if( encodeMethod == ZGZIP )        gzclose(fgzip);    else        fclose(fo);    fclose(fi);    fo = fopen( argV[4], "rb" );    fseek( fo, 0, SEEK_END );    filesizer = ftell( fo );    fclose( fo );    printf("Compressed file %s (%d bytes) to file %s (%d bytes)\n", argV[3], filesize, argV[4], filesizer);    if( encodeMethod == BWT ) Free1State(pBWTState);    if( encodeMethod == GIT ) Free2State(pGITState);    pBWTState = NULL;    pGITState = NULL;    free(pSrc);    free(pDst);    return 0; /* everything is OK */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成+人+亚洲+综合天堂| 色播五月激情综合网| 99久免费精品视频在线观看| 欧美视频一区在线观看| 国产免费观看久久| 欧美aⅴ一区二区三区视频| 91一区二区三区在线观看| 欧美大度的电影原声| 亚洲国产婷婷综合在线精品| 成人性色生活片免费看爆迷你毛片| 欧美乱妇15p| 一区二区三区在线影院| 成人综合婷婷国产精品久久蜜臀| 这里是久久伊人| 亚洲一区二区美女| 99免费精品视频| 欧美国产综合色视频| 极品美女销魂一区二区三区| 91精品国产一区二区三区| 亚洲狠狠爱一区二区三区| 99精品视频中文字幕| 国产亚洲精品免费| 久久精品国产精品亚洲精品| 制服丝袜成人动漫| 日日欢夜夜爽一区| 欧美三级午夜理伦三级中视频| 国产精品久久福利| 成人激情图片网| 国产日韩三级在线| 成人在线一区二区三区| 国产亚洲女人久久久久毛片| 国产成人一级电影| 国产三级久久久| 国产成人免费视频网站| 国产片一区二区三区| 国产精品综合一区二区三区| 久久亚洲影视婷婷| 国产成人免费视频| 国产精品热久久久久夜色精品三区 | 欧洲精品在线观看| 亚洲欧洲制服丝袜| 91行情网站电视在线观看高清版| 亚洲日本乱码在线观看| 色哟哟国产精品| 一区二区三区在线不卡| 欧美日韩1234| 麻豆久久久久久| 久久精品一二三| 成人18视频日本| 一区二区三区资源| 88在线观看91蜜桃国自产| 久久精品久久精品| 国产精品视频线看| 欧美日韩日日摸| 韩国午夜理伦三级不卡影院| 国产婷婷一区二区| 色婷婷av一区二区三区大白胸| 亚洲成av人片| 久久久影视传媒| 91在线观看下载| 日日摸夜夜添夜夜添亚洲女人| 久久婷婷国产综合精品青草| 97久久精品人人做人人爽| 性久久久久久久| 久久九九全国免费| 日本韩国欧美在线| 精品亚洲国产成人av制服丝袜| 国产精品初高中害羞小美女文| 欧洲一区二区av| 国产成人啪免费观看软件| 亚洲综合精品久久| 欧美变态口味重另类| 不卡av在线免费观看| 五月天激情综合| 国产精品久久久久一区| 欧美久久久影院| 成人av影视在线观看| 免费日韩伦理电影| 一区二区三区成人| 国产欧美一区二区三区鸳鸯浴| 欧美伊人久久大香线蕉综合69 | 成人app软件下载大全免费| 婷婷开心激情综合| 国产精品麻豆99久久久久久| 欧美剧情片在线观看| 99久久久免费精品国产一区二区| 麻豆国产一区二区| 亚洲国产美女搞黄色| 中文字幕免费一区| 精品国精品国产| 69堂精品视频| 欧美性猛片xxxx免费看久爱 | 奇米色777欧美一区二区| 亚洲欧美日韩国产一区二区三区| 精品va天堂亚洲国产| 欧美日韩综合不卡| 91麻豆免费视频| 国产91精品欧美| 国产在线观看一区二区 | 一个色在线综合| 国产精品久久久久久亚洲伦| 亚洲精品一区二区三区四区高清| 欧美日韩你懂得| 欧美三日本三级三级在线播放| 99精品在线免费| 97精品超碰一区二区三区| 国产一区二区伦理| 久久国产精品99久久久久久老狼| 日韩国产欧美在线播放| 天天综合网天天综合色| 亚洲国产欧美一区二区三区丁香婷| 日韩理论片在线| 自拍偷在线精品自拍偷无码专区| 欧美极品xxx| 欧美国产亚洲另类动漫| 亚洲国产激情av| 国产精品高潮呻吟久久| 中文字幕在线一区免费| 国产精品丝袜在线| 亚洲三级小视频| 最新热久久免费视频| 亚洲视频你懂的| 洋洋成人永久网站入口| 亚洲国产欧美在线| 日本亚洲电影天堂| 黄色精品一二区| 国产盗摄精品一区二区三区在线| 国产精品一二三四五| 国产v综合v亚洲欧| 99免费精品在线观看| 欧美性受xxxx黑人xyx| 在线91免费看| 精品少妇一区二区三区日产乱码 | 日韩欧美在线网站| 久久一二三国产| 国产精品久久久久影院老司| 亚洲色图丝袜美腿| 亚洲成人福利片| 美女脱光内衣内裤视频久久网站| 狠狠色综合色综合网络| 国产成人超碰人人澡人人澡| 不卡视频在线看| 欧美撒尿777hd撒尿| 日韩精品综合一本久道在线视频| 精品乱人伦小说| 中文字幕亚洲视频| 日韩成人免费看| 东方aⅴ免费观看久久av| 色婷婷综合视频在线观看| 欧美男同性恋视频网站| 精品国产伦理网| 亚洲天堂2016| 激情文学综合丁香| 在线看国产一区| 久久蜜桃av一区二区天堂 | 色综合久久综合网| 欧美岛国在线观看| 亚洲欧美日韩人成在线播放| 日韩高清不卡一区二区| 成人午夜视频免费看| 欧美怡红院视频| 国产网红主播福利一区二区| 一区二区三区精品久久久| 精品一区二区三区免费播放 | 亚洲国产综合视频在线观看| 韩日精品视频一区| 欧美日韩国产一二三| 中文字幕精品一区| 免费不卡在线视频| 在线国产电影不卡| 久久精品亚洲一区二区三区浴池| 午夜精品一区在线观看| 色视频一区二区| 国产精品网站在线观看| 狂野欧美性猛交blacked| 在线视频国内一区二区| 国产精品污污网站在线观看| 久久精品免费看| 制服丝袜亚洲精品中文字幕| 亚洲精品国产精品乱码不99| 国产精品一区二区不卡| 日韩一区二区三区精品视频| 亚洲小少妇裸体bbw| 99久精品国产| 国产精品久久毛片a| 国产精品资源在线看| 欧美大黄免费观看| 五月天视频一区| 在线观看91av| 三级亚洲高清视频| 欧美撒尿777hd撒尿| 一区二区三区欧美日| 一本在线高清不卡dvd| 国产精品久久久久久久久果冻传媒| 国产精品影视网| 国产日韩三级在线| 成人黄色在线视频| 国产精品久久久久久久裸模| 国产v日产∨综合v精品视频| 欧美国产一区在线|