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

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

?? pngtest.c

?? linux syslinux source code
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* pngtest.c - a simple test program to test libpng * * libpng 1.2.8 - December 3, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * * This program reads in a PNG image, writes it out again, and then * compares the two files.  If the files are identical, this shows that * the basic chunk handling, filtering, and (de)compression code is working * properly.  It does not currently test all of the transforms, although * it probably should. * * The program will report "FAIL" in certain legitimate cases: * 1) when the compression level or filter selection method is changed. * 2) when the maximum IDAT size (PNG_ZBUF_SIZE in pngconf.h) is not 8192. * 3) unknown unsafe-to-copy ancillary chunks or unknown critical chunks *    exist in the input file. * 4) others not listed here... * In these cases, it is best to check with another tool such as "pngcheck" * to see what the differences between the two files are. * * If a filename is given on the command-line, then this file is used * for the input, rather than the default "pngtest.png".  This allows * testing a wide variety of files easily.  You can also test a number * of files at once by typing "pngtest -m file1.png file2.png ..." */#include "png.h"#if defined(_WIN32_WCE)#  if _WIN32_WCE < 211     __error__ (f|w)printf functions are not supported on old WindowsCE.;#  endif#  include <windows.h>#  include <stdlib.h>#  define READFILE(file, data, length, check) \     if (ReadFile(file, data, length, &check,NULL)) check = 0#  define WRITEFILE(file, data, length, check)) \     if (WriteFile(file, data, length, &check, NULL)) check = 0#  define FCLOSE(file) CloseHandle(file)#else#  include <stdio.h>#  include <stdlib.h>#  include <assert.h>#  define READFILE(file, data, length, check) \     check=(png_size_t)fread(data,(png_size_t)1,length,file)#  define WRITEFILE(file, data, length, check) \     check=(png_size_t)fwrite(data,(png_size_t)1, length, file)#  define FCLOSE(file) fclose(file)#endif#if defined(PNG_NO_STDIO)#  if defined(_WIN32_WCE)     typedef HANDLE                png_FILE_p;#  else     typedef FILE                * png_FILE_p;#  endif#endif/* Makes pngtest verbose so we can find problems (needs to be before png.h) */#ifndef PNG_DEBUG#  define PNG_DEBUG 0#endif#if !PNG_DEBUG#  define SINGLE_ROWBUF_ALLOC  /* makes buffer overruns easier to nail */#endif/* Turn on CPU timing#define PNGTEST_TIMING*/#ifdef PNG_NO_FLOATING_POINT_SUPPORTED#undef PNGTEST_TIMING#endif#ifdef PNGTEST_TIMINGstatic float t_start, t_stop, t_decode, t_encode, t_misc;#include <time.h>#endif/* Define png_jmpbuf() in case we are using a pre-1.0.6 version of libpng */#ifndef png_jmpbuf#  define png_jmpbuf(png_ptr) png_ptr->jmpbuf#endif#ifdef PNGTEST_TIMINGstatic float t_start, t_stop, t_decode, t_encode, t_misc;#if !defined(PNG_tIME_SUPPORTED)#include <time.h>#endif#endif#if defined(PNG_TIME_RFC1123_SUPPORTED)static int tIME_chunk_present=0;static char tIME_string[30] = "no tIME chunk present in file";#endifstatic int verbose = 0;int test_one_file PNGARG((PNG_CONST char *inname, PNG_CONST char *outname));#ifdef __TURBOC__#include <mem.h>#endif/* defined so I can write to a file on gui/windowing platforms *//*  #define STDERR stderr  */#define STDERR stdout   /* for DOS *//* example of using row callbacks to make a simple progress meter */static int status_pass=1;static int status_dots_requested=0;static int status_dots=1;void#ifdef PNG_1_0_XPNGAPI#endifread_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);void#ifdef PNG_1_0_XPNGAPI#endifread_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass){    if(png_ptr == NULL || row_number > PNG_UINT_31_MAX) return;    if(status_pass != pass)    {       fprintf(stdout,"\n Pass %d: ",pass);       status_pass = pass;       status_dots = 31;    }    status_dots--;    if(status_dots == 0)    {       fprintf(stdout, "\n         ");       status_dots=30;    }    fprintf(stdout, "r");}void#ifdef PNG_1_0_XPNGAPI#endifwrite_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);void#ifdef PNG_1_0_XPNGAPI#endifwrite_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass){    if(png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7) return;    fprintf(stdout, "w");}#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)/* Example of using user transform callback (we don't transform anything,   but merely examine the row filters.  We set this to 256 rather than   5 in case illegal filter values are present.) */static png_uint_32 filters_used[256];void#ifdef PNG_1_0_XPNGAPI#endifcount_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data);void#ifdef PNG_1_0_XPNGAPI#endifcount_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data){    if(png_ptr != NULL && row_info != NULL)      ++filters_used[*(data-1)];}#endif#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)/* example of using user transform callback (we don't transform anything,   but merely count the zero samples) */static png_uint_32 zero_samples;void#ifdef PNG_1_0_XPNGAPI#endifcount_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data);void#ifdef PNG_1_0_XPNGAPI#endifcount_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data){   png_bytep dp = data;   if(png_ptr == NULL)return;   /* contents of row_info:    *  png_uint_32 width      width of row    *  png_uint_32 rowbytes   number of bytes in row    *  png_byte color_type    color type of pixels    *  png_byte bit_depth     bit depth of samples    *  png_byte channels      number of channels (1-4)    *  png_byte pixel_depth   bits per pixel (depth*channels)    */    /* counts the number of zero samples (or zero pixels if color_type is 3 */    if(row_info->color_type == 0 || row_info->color_type == 3)    {       int pos=0;       png_uint_32 n, nstop;       for (n=0, nstop=row_info->width; n<nstop; n++)       {          if(row_info->bit_depth == 1)          {             if(((*dp << pos++ ) & 0x80) == 0) zero_samples++;             if(pos == 8)             {                pos = 0;                dp++;             }          }          if(row_info->bit_depth == 2)          {             if(((*dp << (pos+=2)) & 0xc0) == 0) zero_samples++;             if(pos == 8)             {                pos = 0;                dp++;             }          }          if(row_info->bit_depth == 4)          {             if(((*dp << (pos+=4)) & 0xf0) == 0) zero_samples++;             if(pos == 8)             {                pos = 0;                dp++;             }          }          if(row_info->bit_depth == 8)             if(*dp++ == 0) zero_samples++;          if(row_info->bit_depth == 16)          {             if((*dp | *(dp+1)) == 0) zero_samples++;             dp+=2;          }       }    }    else /* other color types */    {       png_uint_32 n, nstop;       int channel;       int color_channels = row_info->channels;       if(row_info->color_type > 3)color_channels--;       for (n=0, nstop=row_info->width; n<nstop; n++)       {          for (channel = 0; channel < color_channels; channel++)          {             if(row_info->bit_depth == 8)                if(*dp++ == 0) zero_samples++;             if(row_info->bit_depth == 16)             {                if((*dp | *(dp+1)) == 0) zero_samples++;                dp+=2;             }          }          if(row_info->color_type > 3)          {             dp++;             if(row_info->bit_depth == 16)dp++;          }       }    }}#endif /* PNG_WRITE_USER_TRANSFORM_SUPPORTED */static int wrote_question = 0;#if defined(PNG_NO_STDIO)/* START of code to validate stdio-free compilation *//* These copies of the default read/write functions come from pngrio.c and *//* pngwio.c.  They allow "don't include stdio" testing of the library. *//* This is the function that does the actual reading of data.  If you are   not reading from a standard C stream, you should create a replacement   read_data function and use it at run time with png_set_read_fn(), rather   than changing the library. */#ifndef USE_FAR_KEYWORDstatic voidpngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length){   png_size_t check;   /* fread() returns 0 on error, so it is OK to store this in a png_size_t    * instead of an int, which is what fread() actually returns.    */   READFILE((png_FILE_p)png_ptr->io_ptr, data, length, check);   if (check != length)   {      png_error(png_ptr, "Read Error!");   }}#else/* this is the model-independent version. Since the standard I/O library   can't handle far buffers in the medium and small models, we have to copy   the data.*/#define NEAR_BUF_SIZE 1024#define MIN(a,b) (a <= b ? a : b)static voidpngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length){   int check;   png_byte *n_data;   png_FILE_p io_ptr;   /* Check if data really is near. If so, use usual code. */   n_data = (png_byte *)CVT_PTR_NOCHECK(data);   io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);   if ((png_bytep)n_data == data)   {      READFILE(io_ptr, n_data, length, check);   }   else   {      png_byte buf[NEAR_BUF_SIZE];      png_size_t read, remaining, err;      check = 0;      remaining = length;      do      {         read = MIN(NEAR_BUF_SIZE, remaining);         READFILE(io_ptr, buf, 1, err);         png_memcpy(data, buf, read); /* copy far buffer to near buffer */         if(err != read)            break;         else            check += err;         data += read;         remaining -= read;      }      while (remaining != 0);   }   if (check != length)   {      png_error(png_ptr, "read Error");   }}#endif /* USE_FAR_KEYWORD */#if defined(PNG_WRITE_FLUSH_SUPPORTED)static voidpngtest_flush(png_structp png_ptr){#if !defined(_WIN32_WCE)   png_FILE_p io_ptr;   io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr));   if (io_ptr != NULL)      fflush(io_ptr);#endif}#endif/* This is the function that does the actual writing of data.  If you are   not writing to a standard C stream, you should create a replacement   write_data function and use it at run time with png_set_write_fn(), rather   than changing the library. */#ifndef USE_FAR_KEYWORDstatic voidpngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length){   png_uint_32 check;   WRITEFILE((png_FILE_p)png_ptr->io_ptr,  data, length, check);   if (check != length)   {      png_error(png_ptr, "Write Error");

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久9热精品视频| 欧美一级高清大全免费观看| 成人黄色一级视频| 国产黄人亚洲片| 国产成人午夜精品影院观看视频 | 日韩限制级电影在线观看| 欧美日本在线播放| 欧美美女喷水视频| 日韩欧美国产综合一区| 欧美不卡一区二区三区| 26uuu久久综合| 欧美极品另类videosde| 中文一区二区在线观看| 亚洲精选免费视频| 亚洲午夜在线视频| 天堂资源在线中文精品| 免费欧美在线视频| 国产一区中文字幕| 成人av在线资源| 欧美中文字幕一区| 欧美一区二区大片| 国产午夜精品久久久久久久| 国产精品久久久久永久免费观看 | 亚洲一级二级三级| 蜜桃精品视频在线| 国产精品一区免费在线观看| aaa国产一区| 欧美日本精品一区二区三区| 精品国产一区二区亚洲人成毛片| 久久嫩草精品久久久久| 最近中文字幕一区二区三区| 亚洲高清免费观看高清完整版在线观看 | 国产精品久久久久久久久晋中 | 一区二区三区高清在线| 亚洲第一福利一区| 久久精品国产77777蜜臀| 成人免费毛片app| 欧美少妇xxx| 欧美精品一区二区三区蜜桃视频| 国产精品久久久久天堂| 午夜精品爽啪视频| 粉嫩绯色av一区二区在线观看| 色婷婷av一区二区三区gif| 日韩免费电影网站| 亚洲视频香蕉人妖| 激情综合一区二区三区| 色八戒一区二区三区| 精品欧美乱码久久久久久1区2区 | 国产激情精品久久久第一区二区| 91玉足脚交白嫩脚丫在线播放| 91精品婷婷国产综合久久性色| 国产嫩草影院久久久久| 亚洲成av人影院在线观看网| 国产成人免费在线观看| 欧美日韩国产中文| 国产精品嫩草99a| 麻豆国产欧美一区二区三区| 91欧美一区二区| 久久综合久久综合亚洲| 午夜精品久久久久| 成人av在线看| 久久嫩草精品久久久久| 视频一区中文字幕国产| aaa欧美大片| 久久久久99精品国产片| 日本亚洲欧美天堂免费| 色综合久久久久久久久久久| 久久精品日韩一区二区三区| 日韩av中文字幕一区二区| 色中色一区二区| 国产欧美日韩亚州综合| 强制捆绑调教一区二区| 91福利在线免费观看| 中文字幕av不卡| 国产麻豆日韩欧美久久| 8x8x8国产精品| 亚洲乱码一区二区三区在线观看| 国产精品一二三在| 日韩午夜电影在线观看| 午夜av一区二区| 欧美中文字幕久久| 亚洲欧洲99久久| 成人晚上爱看视频| 国产欧美日韩视频在线观看| 激情综合色综合久久| 日韩西西人体444www| 午夜久久久久久电影| 欧美性大战xxxxx久久久| 亚洲天堂网中文字| av激情综合网| 国产精品久久久久久久久晋中| 国产麻豆视频一区二区| www国产亚洲精品久久麻豆| 麻豆精品一二三| 日韩三级精品电影久久久| 奇米精品一区二区三区在线观看一| 色欧美片视频在线观看| 亚洲欧美色一区| 91免费视频大全| 亚洲欧美另类小说视频| 日本韩国欧美国产| 亚洲精品ww久久久久久p站| 一本一道久久a久久精品| 亚洲欧美成aⅴ人在线观看| 一本一本久久a久久精品综合麻豆| 最新日韩在线视频| 成人av影视在线观看| 亚洲色图在线视频| 色综合久久久久综合体桃花网| 亚洲精品国产视频| 91国产视频在线观看| 香蕉av福利精品导航| 欧美一区二区视频观看视频 | 欧美亚洲国产一卡| 亚洲福利视频一区| 777xxx欧美| 久久er99精品| 亚洲国产高清在线| 色久综合一二码| 丝袜美腿亚洲综合| 精品剧情v国产在线观看在线| 黄网站免费久久| 国产精品亲子伦对白| 色婷婷亚洲综合| 午夜不卡av在线| 久久久久久久性| 91丨porny丨最新| 亚洲v中文字幕| 亚洲精品在线观| 99热精品国产| 日日夜夜精品视频免费| 2023国产精华国产精品| 99re视频精品| 日本中文一区二区三区| 国产欧美精品一区| 欧美在线一二三| 国产一区二区美女| 中文字幕一区二区三区在线播放| 欧美日韩一区久久| 国内精品不卡在线| 亚洲狼人国产精品| 丝袜美腿亚洲综合| 国产乱国产乱300精品| 国产综合久久久久久久久久久久 | 国产在线视频一区二区三区| 久久免费国产精品| 欧洲国内综合视频| 国产一区二区三区在线观看精品| 国产精品国产三级国产aⅴ中文| 精品视频一区二区三区免费| 国产激情一区二区三区桃花岛亚洲| 亚洲精品乱码久久久久| 精品国产亚洲在线| 在线影视一区二区三区| 精品一区二区久久久| 亚洲激情图片一区| 久久精品人人做人人综合 | 91精品国产入口| 99久久久精品免费观看国产蜜| 日韩黄色片在线观看| 亚洲色图19p| 日韩欧美一区二区在线视频| 色老汉av一区二区三区| 国产精选一区二区三区| 爽爽淫人综合网网站| 18涩涩午夜精品.www| 精品国免费一区二区三区| 色视频成人在线观看免| 国产精品自拍在线| 91精品国产黑色紧身裤美女| 欧美国产视频在线| 色悠悠久久综合| 蜜桃传媒麻豆第一区在线观看| 国产精品第四页| 久久色视频免费观看| 欧美久久久久久蜜桃| 99久久精品一区二区| 国产精品一区二区在线观看网站| 午夜电影网一区| 一区二区三区欧美视频| 国产精品视频一二三| 久久免费精品国产久精品久久久久| 欧美美女黄视频| 欧美色中文字幕| 91丨九色porny丨蝌蚪| 成人黄色在线网站| 国产一区二区调教| 美女性感视频久久| 欧美aaa在线| 日韩主播视频在线| 五月婷婷综合激情| 亚洲综合丁香婷婷六月香| 综合久久国产九一剧情麻豆| 国产精品天干天干在观线| 国产女同互慰高潮91漫画| 久久嫩草精品久久久精品| 精品国产91洋老外米糕| 精品久久久久久久久久久久包黑料| 欧美高清精品3d| 欧美日韩高清一区二区不卡 |