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

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

?? zlib.c

?? 可用于TM1300/PNX1300系列DSP(主要用于視頻處理)壓縮庫即應(yīng)用例子。
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* zlib.c -- usage example of the zlib compression library for TCS  */

/* @(#) $Id$ */

#include <stdio.h>
#include "zlib.h"

#include <string.h>
#include <stdlib.h>

#include <tmlib/dprintf.h>


#define TESTFILE "foo.gz"

#define CHECK_ERR(err, msg) { \
    if (err != Z_OK) { \
        DP(( "%s error: %d\n", msg, err)); \
        exit(1); \
    } \
}

const char hello[] = "hello, hello!";
/* "hello world" would be more standard, but the repeated "hello"
 * stresses the compression code better, sorry...
 */

const char dictionary[] = "hello";
uLong dictId; /* Adler32 value of the dictionary */

void test_compress      OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
void test_gzio          OF((const char *out, const char *in, 
		            Byte *uncompr, int uncomprLen));
void test_deflate       OF((Byte *compr, uLong comprLen));
void test_inflate       OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
void test_large_deflate OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
void test_large_inflate OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
void test_flush         OF((Byte *compr, uLong *comprLen));
void test_sync          OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
void test_dict_deflate  OF((Byte *compr, uLong comprLen));
void test_dict_inflate  OF((Byte *compr, uLong comprLen,
		            Byte *uncompr, uLong uncomprLen));
int  main               OF((int argc, char *argv[]));

/* ===========================================================================
 * Test compress() and uncompress()
 */
void test_compress(compr, comprLen, uncompr, uncomprLen)
    Byte *compr, *uncompr;
    uLong comprLen, uncomprLen;
{
    int err;
    uLong len = strlen(hello)+1;

    err = compress(compr, &comprLen, (const Bytef*)hello, len);
    CHECK_ERR(err, "compress");

    strcpy((char*)uncompr, "garbage");

    err = uncompress(uncompr, &uncomprLen, compr, comprLen);
    CHECK_ERR(err, "uncompress");

    if (strcmp((char*)uncompr, hello)) {
        DP(( "bad uncompress\n"));
	exit(1);
    } else {
        DP(("uncompress(): %s\n", (char *)uncompr));
    }
}

/* ===========================================================================
 * Test read/write of .gz files
 */
void test_gzio(out, in, uncompr, uncomprLen)
    const char *out; /* compressed output file */
    const char *in;  /* compressed input file */
    Byte *uncompr;
    int  uncomprLen;
{
    int err;
    int len = strlen(hello)+1;
    gzFile file;
    z_off_t pos;

    file = gzopen(out, "wb");
    if (file == NULL) {
        DP(("gzopen error\n"));
        exit(1);
    }
    gzputc(file, 'h');
    if (gzputs(file, "ello") != 4) {
        DP(("gzputs err: %s\n", gzerror(file, &err)));
	exit(1);
    }
    if (gzprintf(file, ", %s!", "hello") != 8) {
        DP(("gzprintf err: %s\n", gzerror(file, &err)));
	exit(1);
    }
    gzseek(file, 1L, SEEK_CUR); /* add one zero byte */
    gzclose(file);

    file = gzopen(in, "rb");
    if (file == NULL) {
        DP(("gzopen error\n"));
    }
    strcpy((char*)uncompr, "garbage");

    uncomprLen = gzread(file, uncompr, (unsigned)uncomprLen);
    if (uncomprLen != len) {
        DP(("gzread err: %s\n", gzerror(file, &err)));
	exit(1);
    }
    if (strcmp((char*)uncompr, hello)) {
        DP(("bad gzread: %s\n", (char*)uncompr));
	exit(1);
    } else {
        DP(("gzread(): %s\n", (char *)uncompr));
    }

    pos = gzseek(file, -8L, SEEK_CUR);
    if (pos != 6 || gztell(file) != pos) {
	DP(("gzseek error, pos=%ld, gztell=%ld\n",
		(long)pos, (long)gztell(file)));
	exit(1);
    }

    if (gzgetc(file) != ' ') {
	DP(("gzgetc error\n"));
	exit(1);
    }

    gzgets(file, (char*)uncompr, uncomprLen);
    uncomprLen = strlen((char*)uncompr);
    if (uncomprLen != 6) { /* "hello!" */
        DP(("gzgets err after gzseek: %s\n", gzerror(file, &err)));
	exit(1);
    }
    if (strcmp((char*)uncompr, hello+7)) {
        DP(("bad gzgets after gzseek\n"));
	exit(1);
    } else {
        DP(("gzgets() after gzseek: %s\n", (char *)uncompr));
    }

    gzclose(file);
}

/* ===========================================================================
 * Test deflate() with small buffers
 */
void test_deflate(compr, comprLen)
    Byte *compr;
    uLong comprLen;
{
    z_stream c_stream; /* compression stream */
    int err;
    int len = strlen(hello)+1;

    c_stream.zalloc = (alloc_func)0;
    c_stream.zfree = (free_func)0;
    c_stream.opaque = (voidpf)0;

    err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
    CHECK_ERR(err, "deflateInit");

    c_stream.next_in  = (Bytef*)hello;
    c_stream.next_out = compr;

    while (c_stream.total_in != (uLong)len && c_stream.total_out < comprLen) {
        c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */
        err = deflate(&c_stream, Z_NO_FLUSH);
        CHECK_ERR(err, "deflate");
    }
    /* Finish the stream, still forcing small buffers: */
    for (;;) {
        c_stream.avail_out = 1;
        err = deflate(&c_stream, Z_FINISH);
        if (err == Z_STREAM_END) break;
        CHECK_ERR(err, "deflate");
    }

    err = deflateEnd(&c_stream);
    CHECK_ERR(err, "deflateEnd");
}

/* ===========================================================================
 * Test inflate() with small buffers
 */
void test_inflate(compr, comprLen, uncompr, uncomprLen)
    Byte *compr, *uncompr;
    uLong comprLen, uncomprLen;
{
    int err;
    z_stream d_stream; /* decompression stream */

    strcpy((char*)uncompr, "garbage");

    d_stream.zalloc = (alloc_func)0;
    d_stream.zfree = (free_func)0;
    d_stream.opaque = (voidpf)0;

    d_stream.next_in  = compr;
    d_stream.avail_in = 0;
    d_stream.next_out = uncompr;

    err = inflateInit(&d_stream);
    CHECK_ERR(err, "inflateInit");

    while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) {
        d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */
        err = inflate(&d_stream, Z_NO_FLUSH);
        if (err == Z_STREAM_END) break;
        CHECK_ERR(err, "inflate");
    }

    err = inflateEnd(&d_stream);
    CHECK_ERR(err, "inflateEnd");

    if (strcmp((char*)uncompr, hello)) {
        DP(("bad inflate\n"));
	exit(1);
    } else {
        DP(("inflate(): %s\n", (char *)uncompr));
    }
}

/* ===========================================================================
 * Test deflate() with large buffers and dynamic change of compression level
 */
void test_large_deflate(compr, comprLen, uncompr, uncomprLen)
    Byte *compr, *uncompr;
    uLong comprLen, uncomprLen;
{
    z_stream c_stream; /* compression stream */
    int err;

    c_stream.zalloc = (alloc_func)0;
    c_stream.zfree = (free_func)0;
    c_stream.opaque = (voidpf)0;

    err = deflateInit(&c_stream, Z_BEST_SPEED);
    CHECK_ERR(err, "deflateInit");

    c_stream.next_out = compr;
    c_stream.avail_out = (uInt)comprLen;

    /* At this point, uncompr is still mostly zeroes, so it should compress
     * very well:
     */
    c_stream.next_in = uncompr;
    c_stream.avail_in = (uInt)uncomprLen;
    err = deflate(&c_stream, Z_NO_FLUSH);
    CHECK_ERR(err, "deflate");
    if (c_stream.avail_in != 0) {
        DP(("deflate not greedy\n"));
	exit(1);
    }

    /* Feed in already compressed data and switch to no compression: */
    deflateParams(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
    c_stream.next_in = compr;
    c_stream.avail_in = (uInt)comprLen/2;
    err = deflate(&c_stream, Z_NO_FLUSH);
    CHECK_ERR(err, "deflate");

    /* Switch back to compressing mode: */
    deflateParams(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
    c_stream.next_in = uncompr;
    c_stream.avail_in = (uInt)uncomprLen;
    err = deflate(&c_stream, Z_NO_FLUSH);
    CHECK_ERR(err, "deflate");

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色成人免费在线| 亚洲高清视频中文字幕| 一本大道综合伊人精品热热| 秋霞电影网一区二区| 国产精品久久久久一区| 欧美一区二区三区性视频| 99麻豆久久久国产精品免费| 另类专区欧美蜜桃臀第一页| 亚洲一区在线看| 中文字幕精品一区| 日韩精品在线一区二区| 欧美午夜精品理论片a级按摩| 国产成人啪午夜精品网站男同| 天天综合天天综合色| 亚洲婷婷国产精品电影人久久| 精品美女在线观看| 在线电影欧美成精品| 91免费看视频| 成人av电影在线网| 国产激情一区二区三区桃花岛亚洲| 视频在线观看国产精品| 亚洲一卡二卡三卡四卡无卡久久| 欧美一二三四区在线| 国产精品久久久久久久久免费桃花 | 91精品国产全国免费观看 | 一本色道a无线码一区v| 国产高清在线精品| 黄页网站大全一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 夜夜爽夜夜爽精品视频| 亚洲私人黄色宅男| 中文字幕一区二区日韩精品绯色| 国产亚洲一区二区三区在线观看| 精品毛片乱码1区2区3区| 69av一区二区三区| 欧美精品v国产精品v日韩精品| 欧美综合在线视频| 欧美亚洲综合久久| 欧美午夜一区二区三区| 亚洲精品日韩专区silk| 国产成人精品影视| 国产一区久久久| 国产在线视频一区二区三区| 裸体歌舞表演一区二区| 免费观看30秒视频久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩精品亚洲专区| 日本中文在线一区| 男女视频一区二区| 久久精品国产久精国产| 久久91精品久久久久久秒播 | 国产成都精品91一区二区三| 粉嫩av亚洲一区二区图片| 不卡一区二区三区四区| 91麻豆精品秘密| 欧美色网站导航| 538在线一区二区精品国产| 欧美一区二区大片| 欧美精品一区二区三区在线播放 | 亚洲国产精品黑人久久久| 欧美韩日一区二区三区四区| 亚洲欧美自拍偷拍色图| 一区二区三区国产| 日本在线不卡一区| 国产伦精品一区二区三区视频青涩| 国产成人aaaa| 欧美亚洲一区二区在线观看| 欧美一区二区三区免费观看视频| 精品国产乱码久久久久久图片| 国产女人18毛片水真多成人如厕 | 国产精品免费人成网站| 一区二区三区在线高清| 奇米888四色在线精品| 国产在线精品视频| 94-欧美-setu| 日韩一区国产二区欧美三区| 国产调教视频一区| 亚洲主播在线播放| 激情综合色播激情啊| 99视频精品免费视频| 欧美日韩一级片网站| 精品国产污污免费网站入口 | 国产成人亚洲精品狼色在线| 色偷偷88欧美精品久久久| 88在线观看91蜜桃国自产| 国产欧美一区视频| 亚洲1区2区3区视频| 国产精品资源在线| 欧美丝袜丝交足nylons图片| 26uuu精品一区二区在线观看| 亚洲精品你懂的| 精品亚洲国产成人av制服丝袜| 色婷婷激情综合| 2023国产精品视频| 亚洲成人激情社区| 成人少妇影院yyyy| 欧美大片在线观看| 亚洲综合一区二区| 成人中文字幕合集| 日韩欧美国产综合一区| 一个色在线综合| 日韩免费观看高清完整版在线观看| 久久精品网站免费观看| 午夜影院在线观看欧美| 国产成人精品免费看| 欧美一级日韩不卡播放免费| 亚洲免费色视频| 成人午夜激情片| 欧美变态tickling挠脚心| 亚洲一二三四区| av日韩在线网站| 久久久久久免费毛片精品| 午夜精彩视频在线观看不卡| 91免费视频网| 国产精品区一区二区三| 国产曰批免费观看久久久| 欧美日韩国产天堂| 一区二区三区鲁丝不卡| 成人激情图片网| 国产欧美精品一区二区三区四区 | 91免费视频大全| 国产亚洲精品资源在线26u| 蜜桃av一区二区在线观看| 欧美日韩一本到| 一片黄亚洲嫩模| 91亚洲永久精品| 日韩一区在线免费观看| 成人久久18免费网站麻豆| 久久精品欧美日韩精品| 韩国av一区二区三区在线观看| 91精品欧美久久久久久动漫| 亚洲成人精品影院| 欧美日韩一二三区| 午夜私人影院久久久久| 欧美性色综合网| 亚洲永久精品国产| 欧美色手机在线观看| 亚洲高清免费在线| 欧美日韩大陆在线| 日日摸夜夜添夜夜添精品视频| 欧美另类高清zo欧美| 午夜成人在线视频| 欧美精品日韩一区| 免费观看在线色综合| 26uuu国产日韩综合| 国产一区二区精品久久99| 久久久九九九九| 成人国产精品免费网站| 亚洲欧美中日韩| 在线观看网站黄不卡| 亚洲成av人片观看| 日韩一卡二卡三卡四卡| 国内精品国产成人| 久久久一区二区| 91在线免费播放| 亚洲一二三四区| 欧美一级片在线观看| 国产精品资源网| 亚洲色欲色欲www| 欧美日韩午夜在线视频| 久久精品999| 国产欧美日韩麻豆91| 色香色香欲天天天影视综合网| 亚洲成a人片在线不卡一二三区| 日韩一区二区三区在线视频| 国产高清在线精品| 亚洲欧洲综合另类| 91精品国产91久久久久久最新毛片 | 日韩欧美久久久| 成人小视频在线| 亚洲一区电影777| 久久综合九色欧美综合狠狠| av一区二区三区| 日韩国产欧美一区二区三区| 久久精品综合网| 欧美亚洲综合在线| 国产在线精品一区在线观看麻豆| 国产精品家庭影院| 3d成人动漫网站| 成人白浆超碰人人人人| 日韩精品乱码免费| 国产人久久人人人人爽| 欧美日韩专区在线| 国产东北露脸精品视频| 亚洲不卡一区二区三区| 国产亚洲精品福利| 欧美男人的天堂一二区| 国产xxx精品视频大全| 三级久久三级久久久| 国产精品女同一区二区三区| 91精品国产日韩91久久久久久| 99久久亚洲一区二区三区青草| 免费观看一级欧美片| 亚洲一级在线观看| 国产精品国产三级国产普通话99| 日韩一区二区三区四区| 在线观看网站黄不卡| 成人av一区二区三区| 国产在线播放一区二区三区| 午夜久久久影院|