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

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

?? pnggccrd.c

?? 一款最完整的工業組態軟源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
static unsigned long long _mask24_2 = 0x0101010202020404LL;
static unsigned long long _mask24_1 = 0x0408080810101020LL;
static unsigned long long _mask24_0 = 0x2020404040808080LL;

static unsigned long long _mask32_3 = 0x0101010102020202LL;
static unsigned long long _mask32_2 = 0x0404040408080808LL;
static unsigned long long _mask32_1 = 0x1010101020202020LL;
static unsigned long long _mask32_0 = 0x4040404080808080LL;

static unsigned long long _mask48_5 = 0x0101010101010202LL;
static unsigned long long _mask48_4 = 0x0202020204040404LL;
static unsigned long long _mask48_3 = 0x0404080808080808LL;
static unsigned long long _mask48_2 = 0x1010101010102020LL;
static unsigned long long _mask48_1 = 0x2020202040404040LL;
static unsigned long long _mask48_0 = 0x4040808080808080LL;

static unsigned long long _const4   = 0x0000000000FFFFFFLL;
//static unsigned long long _const5 = 0x000000FFFFFF0000LL;     // NOT USED
static unsigned long long _const6   = 0x00000000000000FFLL;

// These are used in the row-filter routines and should/would be local
//  variables if not for gcc addressing limitations.
// WARNING: Their presence probably defeats the thread safety of libpng.

#ifdef PNG_THREAD_UNSAFE_OK
static png_uint_32  _FullLength;
static png_uint_32  _MMXLength;
static int          _dif;
static int          _patemp; // temp variables for Paeth routine
static int          _pbtemp;
static int          _pctemp;
#endif

void /* PRIVATE */
png_squelch_warnings(void)
{
#ifdef PNG_THREAD_UNSAFE_OK
   _dif = _dif;
   _patemp = _patemp;
   _pbtemp = _pbtemp;
   _pctemp = _pctemp;
   _MMXLength = _MMXLength;
#endif
   _const4  = _const4;
   _const6  = _const6;
   _mask8_0  = _mask8_0;
   _mask16_1 = _mask16_1;
   _mask16_0 = _mask16_0;
   _mask24_2 = _mask24_2;
   _mask24_1 = _mask24_1;
   _mask24_0 = _mask24_0;
   _mask32_3 = _mask32_3;
   _mask32_2 = _mask32_2;
   _mask32_1 = _mask32_1;
   _mask32_0 = _mask32_0;
   _mask48_5 = _mask48_5;
   _mask48_4 = _mask48_4;
   _mask48_3 = _mask48_3;
   _mask48_2 = _mask48_2;
   _mask48_1 = _mask48_1;
   _mask48_0 = _mask48_0;
}
#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */


static int _mmx_supported = 2;

/*===========================================================================*/
/*                                                                           */
/*                       P N G _ C O M B I N E _ R O W                       */
/*                                                                           */
/*===========================================================================*/

#if defined(PNG_HAVE_ASSEMBLER_COMBINE_ROW)

#define BPP2  2
#define BPP3  3 /* bytes per pixel (a.k.a. pixel_bytes) */
#define BPP4  4
#define BPP6  6 /* (defined only to help avoid cut-and-paste errors) */
#define BPP8  8

/* Combines the row recently read in with the previous row.
   This routine takes care of alpha and transparency if requested.
   This routine also handles the two methods of progressive display
   of interlaced images, depending on the mask value.
   The mask value describes which pixels are to be combined with
   the row.  The pattern always repeats every 8 pixels, so just 8
   bits are needed.  A one indicates the pixel is to be combined; a
   zero indicates the pixel is to be skipped.  This is in addition
   to any alpha or transparency value associated with the pixel.
   If you want all pixels to be combined, pass 0xff (255) in mask. */

/* Use this routine for the x86 platform - it uses a faster MMX routine
   if the machine supports MMX. */

void /* PRIVATE */
png_combine_row(png_structp png_ptr, png_bytep row, int mask)
{
   png_debug(1, "in png_combine_row (pnggccrd.c)\n");

#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
   if (_mmx_supported == 2) {
#if !defined(PNG_1_0_X)
       /* this should have happened in png_init_mmx_flags() already */
       png_warning(png_ptr, "asm_flags may not have been initialized");
#endif
       png_mmx_support();
   }
#endif

   if (mask == 0xff)
   {
      png_debug(2,"mask == 0xff:  doing single png_memcpy()\n");
      png_memcpy(row, png_ptr->row_buf + 1,
       (png_size_t)PNG_ROWBYTES(png_ptr->row_info.pixel_depth,png_ptr->width));
   }
   else   /* (png_combine_row() is never called with mask == 0) */
   {
      switch (png_ptr->row_info.pixel_depth)
      {
         case 1:        /* png_ptr->row_info.pixel_depth */
         {
            png_bytep sp;
            png_bytep dp;
            int s_inc, s_start, s_end;
            int m;
            int shift;
            png_uint_32 i;

            sp = png_ptr->row_buf + 1;
            dp = row;
            m = 0x80;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
            if (png_ptr->transformations & PNG_PACKSWAP)
            {
                s_start = 0;
                s_end = 7;
                s_inc = 1;
            }
            else
#endif
            {
                s_start = 7;
                s_end = 0;
                s_inc = -1;
            }

            shift = s_start;

            for (i = 0; i < png_ptr->width; i++)
            {
               if (m & mask)
               {
                  int value;

                  value = (*sp >> shift) & 0x1;
                  *dp &= (png_byte)((0x7f7f >> (7 - shift)) & 0xff);
                  *dp |= (png_byte)(value << shift);
               }

               if (shift == s_end)
               {
                  shift = s_start;
                  sp++;
                  dp++;
               }
               else
                  shift += s_inc;

               if (m == 1)
                  m = 0x80;
               else
                  m >>= 1;
            }
            break;
         }

         case 2:        /* png_ptr->row_info.pixel_depth */
         {
            png_bytep sp;
            png_bytep dp;
            int s_start, s_end, s_inc;
            int m;
            int shift;
            png_uint_32 i;
            int value;

            sp = png_ptr->row_buf + 1;
            dp = row;
            m = 0x80;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
            if (png_ptr->transformations & PNG_PACKSWAP)
            {
               s_start = 0;
               s_end = 6;
               s_inc = 2;
            }
            else
#endif
            {
               s_start = 6;
               s_end = 0;
               s_inc = -2;
            }

            shift = s_start;

            for (i = 0; i < png_ptr->width; i++)
            {
               if (m & mask)
               {
                  value = (*sp >> shift) & 0x3;
                  *dp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff);
                  *dp |= (png_byte)(value << shift);
               }

               if (shift == s_end)
               {
                  shift = s_start;
                  sp++;
                  dp++;
               }
               else
                  shift += s_inc;
               if (m == 1)
                  m = 0x80;
               else
                  m >>= 1;
            }
            break;
         }

         case 4:        /* png_ptr->row_info.pixel_depth */
         {
            png_bytep sp;
            png_bytep dp;
            int s_start, s_end, s_inc;
            int m;
            int shift;
            png_uint_32 i;
            int value;

            sp = png_ptr->row_buf + 1;
            dp = row;
            m = 0x80;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
            if (png_ptr->transformations & PNG_PACKSWAP)
            {
               s_start = 0;
               s_end = 4;
               s_inc = 4;
            }
            else
#endif
            {
               s_start = 4;
               s_end = 0;
               s_inc = -4;
            }
            shift = s_start;

            for (i = 0; i < png_ptr->width; i++)
            {
               if (m & mask)
               {
                  value = (*sp >> shift) & 0xf;
                  *dp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff);
                  *dp |= (png_byte)(value << shift);
               }

               if (shift == s_end)
               {
                  shift = s_start;
                  sp++;
                  dp++;
               }
               else
                  shift += s_inc;
               if (m == 1)
                  m = 0x80;
               else
                  m >>= 1;
            }
            break;
         }

         case 8:        /* png_ptr->row_info.pixel_depth */
         {
            png_bytep srcptr;
            png_bytep dstptr;

#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_THREAD_UNSAFE_OK)
#if !defined(PNG_1_0_X)
            if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW)
                /* && _mmx_supported */ )
#else
            if (_mmx_supported)
#endif
            {
               png_uint_32 len;
               int diff;
               int dummy_value_a;   // fix 'forbidden register spilled' error
               int dummy_value_d;
               int dummy_value_c;
               int dummy_value_S;
               int dummy_value_D;
               _unmask = ~mask;            // global variable for -fPIC version
               srcptr = png_ptr->row_buf + 1;
               dstptr = row;
               len  = png_ptr->width &~7;  // reduce to multiple of 8
               diff = (int) (png_ptr->width & 7);  // amount lost

               __asm__ __volatile__ (
                  "movd      _unmask, %%mm7  \n\t" // load bit pattern
                  "psubb     %%mm6, %%mm6    \n\t" // zero mm6
                  "punpcklbw %%mm7, %%mm7    \n\t"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三中文字幕| 欧美精品三级在线观看| 韩国三级中文字幕hd久久精品| 午夜电影网一区| 亚洲国产日韩一级| 一区二区三区不卡视频| 亚洲老司机在线| 亚洲精选视频在线| 一区二区三区av电影| 夜夜亚洲天天久久| 亚洲午夜成aⅴ人片| 午夜电影久久久| 久久不见久久见中文字幕免费| 蓝色福利精品导航| 极品少妇一区二区| 不卡的av在线播放| 欧美在线综合视频| 欧美卡1卡2卡| 国产无人区一区二区三区| 久久久亚洲国产美女国产盗摄| 国产欧美va欧美不卡在线| 国产精品久久久久天堂| 夜夜嗨av一区二区三区网页 | 日本网站在线观看一区二区三区| 亚洲成a人片在线观看中文| 日韩精品电影在线观看| 蜜臀av一区二区三区| 国产成人高清视频| 色综合久久中文字幕| 欧美日产在线观看| 日韩一区二区精品| 国产精品每日更新在线播放网址| 亚洲精品免费在线观看| 久久国产尿小便嘘嘘尿| 不卡av电影在线播放| 欧美日产在线观看| 国产午夜精品一区二区| 亚洲成人一区二区在线观看| 国产美女在线精品| 欧美午夜宅男影院| 国产视频一区二区在线观看| 亚洲一区二区三区视频在线播放| 免费成人av在线| 色综合色综合色综合| 欧美高清www午色夜在线视频| 国产无一区二区| 日韩综合在线视频| 91理论电影在线观看| 精品免费视频一区二区| 亚洲三级免费电影| 国产精品综合视频| 3751色影院一区二区三区| 国产精品无码永久免费888| 日本不卡1234视频| 欧美亚洲动漫精品| 国产精品每日更新| 国产成人免费9x9x人网站视频| 欧美色视频一区| 国产精品免费视频观看| 国产麻豆日韩欧美久久| 日韩欧美美女一区二区三区| 亚洲六月丁香色婷婷综合久久| caoporn国产精品| 久久亚洲精华国产精华液| 天天爽夜夜爽夜夜爽精品视频| 92国产精品观看| 欧美国产日韩a欧美在线观看| 久久99深爱久久99精品| 欧美疯狂性受xxxxx喷水图片| 中文字幕一区二区三区乱码在线| 国产精品888| 久久亚洲精精品中文字幕早川悠里| 秋霞国产午夜精品免费视频| 欧美丰满嫩嫩电影| 奇米影视一区二区三区| 在线综合亚洲欧美在线视频| 午夜视频一区在线观看| 欧美撒尿777hd撒尿| 香蕉成人伊视频在线观看| 欧美在线free| 亚洲无人区一区| 精品视频一区二区三区免费| 水蜜桃久久夜色精品一区的特点| 精品1区2区3区| 午夜视频在线观看一区| 777奇米四色成人影色区| 日韩中文字幕一区二区三区| 69久久夜色精品国产69蝌蚪网| 性欧美疯狂xxxxbbbb| 91精品国产91久久久久久一区二区| 亚洲图片欧美色图| 5566中文字幕一区二区电影| 奇米一区二区三区| 久久综合久久综合亚洲| 国产成人午夜99999| 国产欧美视频一区二区三区| 成人一二三区视频| 国产精品国产三级国产| 色综合天天综合网天天狠天天| 亚洲日本在线看| 在线观看亚洲a| 天天影视涩香欲综合网| 日韩午夜激情视频| 国产91露脸合集magnet | 色呦呦日韩精品| 亚洲影院在线观看| 777午夜精品视频在线播放| 成人听书哪个软件好| 国产精品国产三级国产aⅴ无密码| 色女孩综合影院| 免费欧美日韩国产三级电影| 中文字幕av资源一区| 色欧美片视频在线观看 | 欧美激情一区二区三区全黄| 色婷婷激情久久| 国产一区二区三区在线看麻豆| 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕乱码亚洲精品一区| 在线观看亚洲成人| 韩国女主播成人在线| 亚洲自拍偷拍欧美| 久久综合中文字幕| 91麻豆产精品久久久久久| 日本不卡视频一二三区| 国产精品久久久久久久久快鸭| 91精品福利在线一区二区三区| 97久久久精品综合88久久| 免费成人在线视频观看| 一区二区不卡在线播放| 日本一区二区三区免费乱视频| 欧美日韩精品综合在线| 99综合电影在线视频| 久色婷婷小香蕉久久| 亚洲午夜私人影院| 国产精品理论片| 久久亚洲春色中文字幕久久久| 欧美日韩高清一区| www.欧美精品一二区| 国内精品伊人久久久久av影院| 亚洲精品日韩一| 国产精品欧美极品| 久久综合九色综合欧美就去吻| 欧美一区二区三区不卡| 欧美日韩亚洲综合一区二区三区| 99国产精品久| 国产69精品久久99不卡| 国产精品一区不卡| 国内精品伊人久久久久av影院| 日韩电影一二三区| 日韩av一级片| 午夜精品成人在线| 香港成人在线视频| 亚洲第一电影网| 亚洲一区二区精品久久av| 亚洲精品视频观看| 亚洲女同一区二区| 国产精品天干天干在观线| 国产农村妇女毛片精品久久麻豆 | 欧美亚洲国产bt| 91九色最新地址| 91久久精品一区二区二区| 91免费视频网址| 91久久精品一区二区| 欧美精品丝袜中出| 欧美成人性战久久| 久久久久久久久久看片| 国产亚洲婷婷免费| 国产精品久久777777| 亚洲色图欧美在线| 亚洲a一区二区| 日本成人在线看| 国产一区二区视频在线| 丁香另类激情小说| 91精品福利视频| 91精品国产高清一区二区三区| 欧美变态tickle挠乳网站| 国产欧美日韩精品在线| 自拍偷拍亚洲欧美日韩| 亚洲大片在线观看| 久久国产精品72免费观看| 国产电影一区在线| 91亚洲精品久久久蜜桃网站 | 2020国产精品自拍| 最新久久zyz资源站| 夜夜精品浪潮av一区二区三区| 日韩福利视频导航| 国产东北露脸精品视频| 91久久精品一区二区| 久久久久久久久97黄色工厂| 一区二区三区久久| 国产福利精品一区二区| 欧美人妇做爰xxxⅹ性高电影| 精品国产污网站| 国产精品久久久久久亚洲毛片| 亚洲大片在线观看| 不卡高清视频专区| 欧美va天堂va视频va在线| 综合av第一页| 国产专区欧美精品| 欧美影院一区二区三区|