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

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

?? pnggccrd.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
                  "movq      %%mm4, (%%edi)  \n\t"                  "addl      $8, %%esi       \n\t" // inc by 8 bytes processed                  "addl      $8, %%edi       \n\t"                  "subl      $8, %%ecx       \n\t" // dec by 8 pixels processed                  "ja        mainloop8       \n\t"                "mainloop8end:               \n\t"// preload        "movl      diff, %%ecx     \n\t" // (diff is in eax)                  "movl      %%eax, %%ecx    \n\t"                  "cmpl      $0, %%ecx       \n\t"                  "jz        end8            \n\t"// preload        "movl      mask, %%edx     \n\t"                  "sall      $24, %%edx      \n\t" // make low byte, high byte                "secondloop8:                \n\t"                  "sall      %%edx           \n\t" // move high bit to CF                  "jnc       skip8           \n\t" // if CF = 0                  "movb      (%%esi), %%al   \n\t"                  "movb      %%al, (%%edi)   \n\t"                "skip8:                      \n\t"                  "incl      %%esi           \n\t"                  "incl      %%edi           \n\t"                  "decl      %%ecx           \n\t"                  "jnz       secondloop8     \n\t"                "end8:                       \n\t"                  "EMMS                      \n\t"  // DONE                  : "=a" (dummy_value_a),           // output regs (dummy)                    "=d" (dummy_value_d),                    "=c" (dummy_value_c),                    "=S" (dummy_value_S),                    "=D" (dummy_value_D)                  : "3" (srcptr),      // esi       // input regs                    "4" (dstptr),      // edi                    "0" (diff),        // eax// was (unmask)     "b"    RESERVED    // ebx       // Global Offset Table idx                    "2" (len),         // ecx                    "1" (mask)         // edx#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */                  : "%mm0", "%mm4", "%mm6", "%mm7"  // clobber list#endif               );            }            else /* mmx _not supported - Use modified C routine */#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */            {               register png_uint_32 i;               png_uint_32 initial_val = png_pass_start[png_ptr->pass];                 /* png.c:  png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */               register int stride = png_pass_inc[png_ptr->pass];                 /* png.c:  png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */               register int rep_bytes = png_pass_width[png_ptr->pass];                 /* png.c:  png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */               png_uint_32 len = png_ptr->width &~7;  /* reduce to mult. of 8 */               int diff = (int) (png_ptr->width & 7); /* amount lost */               register png_uint_32 final_val = len;  /* GRR bugfix */               srcptr = png_ptr->row_buf + 1 + initial_val;               dstptr = row + initial_val;               for (i = initial_val; i < final_val; i += stride)               {                  png_memcpy(dstptr, srcptr, rep_bytes);                  srcptr += stride;                  dstptr += stride;               }               if (diff)  /* number of leftover pixels:  3 for pngtest */               {                  final_val+=diff /* *BPP1 */ ;                  for (; i < final_val; i += stride)                  {                     if (rep_bytes > (int)(final_val-i))                        rep_bytes = (int)(final_val-i);                     png_memcpy(dstptr, srcptr, rep_bytes);                     srcptr += stride;                     dstptr += stride;                  }               }            } /* end of else (_mmx_supported) */            break;         }       /* end 8 bpp */         case 16:       /* 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"                  "punpcklwd %%mm7, %%mm7     \n\t"                  "punpckldq %%mm7, %%mm7     \n\t" // fill reg with 8 masks                  "movq      _mask16_0, %%mm0 \n\t"                  "movq      _mask16_1, %%mm1 \n\t"                  "pand      %%mm7, %%mm0     \n\t"                  "pand      %%mm7, %%mm1     \n\t"                  "pcmpeqb   %%mm6, %%mm0     \n\t"                  "pcmpeqb   %%mm6, %%mm1     \n\t"// preload        "movl      len, %%ecx       \n\t" // load length of line// preload        "movl      srcptr, %%esi    \n\t" // load source// preload        "movl      dstptr, %%edi    \n\t" // load dest                  "cmpl      $0, %%ecx        \n\t"                  "jz        mainloop16end    \n\t"                "mainloop16:                  \n\t"                  "movq      (%%esi), %%mm4   \n\t"                  "pand      %%mm0, %%mm4     \n\t"                  "movq      %%mm0, %%mm6     \n\t"                  "movq      (%%edi), %%mm7   \n\t"                  "pandn     %%mm7, %%mm6     \n\t"                  "por       %%mm6, %%mm4     \n\t"                  "movq      %%mm4, (%%edi)   \n\t"                  "movq      8(%%esi), %%mm5  \n\t"                  "pand      %%mm1, %%mm5     \n\t"                  "movq      %%mm1, %%mm7     \n\t"                  "movq      8(%%edi), %%mm6  \n\t"                  "pandn     %%mm6, %%mm7     \n\t"                  "por       %%mm7, %%mm5     \n\t"                  "movq      %%mm5, 8(%%edi)  \n\t"                  "addl      $16, %%esi       \n\t" // inc by 16 bytes processed                  "addl      $16, %%edi       \n\t"                  "subl      $8, %%ecx        \n\t" // dec by 8 pixels processed                  "ja        mainloop16       \n\t"                "mainloop16end:               \n\t"// preload        "movl      diff, %%ecx      \n\t" // (diff is in eax)                  "movl      %%eax, %%ecx     \n\t"                  "cmpl      $0, %%ecx        \n\t"                  "jz        end16            \n\t"// preload        "movl      mask, %%edx      \n\t"                  "sall      $24, %%edx       \n\t" // make low byte, high byte                "secondloop16:                \n\t"                  "sall      %%edx            \n\t" // move high bit to CF                  "jnc       skip16           \n\t" // if CF = 0                  "movw      (%%esi), %%ax    \n\t"                  "movw      %%ax, (%%edi)    \n\t"                "skip16:                      \n\t"                  "addl      $2, %%esi        \n\t"                  "addl      $2, %%edi        \n\t"                  "decl      %%ecx            \n\t"                  "jnz       secondloop16     \n\t"                "end16:                       \n\t"                  "EMMS                       \n\t" // DONE                  : "=a" (dummy_value_a),           // output regs (dummy)                    "=c" (dummy_value_c),                    "=d" (dummy_value_d),                    "=S" (dummy_value_S),                    "=D" (dummy_value_D)                  : "0" (diff),        // eax       // input regs// was (unmask)     " "    RESERVED    // ebx       // Global Offset Table idx                    "1" (len),         // ecx                    "2" (mask),        // edx                    "3" (srcptr),      // esi                    "4" (dstptr)       // edi#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */                  : "%mm0", "%mm1", "%mm4"          // clobber list                  , "%mm5", "%mm6", "%mm7"#endif               );            }            else /* mmx _not supported - Use modified C routine */#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */            {               register png_uint_32 i;               png_uint_32 initial_val = BPP2 * png_pass_start[png_ptr->pass];                 /* png.c:  png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */               register int stride = BPP2 * png_pass_inc[png_ptr->pass];                 /* png.c:  png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */               register int rep_bytes = BPP2 * png_pass_width[png_ptr->pass];                 /* png.c:  png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */               png_uint_32 len = png_ptr->width &~7;  /* reduce to mult. of 8 */               int diff = (int) (png_ptr->width & 7); /* amount lost */               register png_uint_32 final_val = BPP2 * len;   /* GRR bugfix */               srcptr = png_ptr->row_buf + 1 + initial_val;               dstptr = row + initial_val;               for (i = initial_val; i < final_val; i += stride)               {                  png_memcpy(dstptr, srcptr, rep_bytes);                  srcptr += stride;                  dstptr += stride;               }               if (diff)  /* number of leftover pixels:  3 for pngtest */               {                  final_val+=diff*BPP2;                  for (; i < final_val; i += stride)                  {                     if (rep_bytes > (int)(final_val-i))                        rep_bytes = (int)(final_val-i);                     png_memcpy(dstptr, srcptr, rep_bytes);                     srcptr += stride;                     dstptr += stride;                  }               }            } /* end of else (_mmx_supported) */            break;         }       /* end 16 bpp */         case 24:       /* 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"                  "punpcklwd %%mm7, %%mm7     \n\t"                  "punpckldq %%mm7, %%mm7     \n\t" // fill reg with 8 masks                  "movq      _mask24_0, %%mm0 \n\t"                  "movq      _mask24_1, %%mm1 \n\t"                  "movq      _mask24_2, %%mm2 \n\t"                  "pand      %%mm7, %%mm0     \n\t"                  "pand      %%mm7, %%mm1     \n\t"                  "pand      %%mm7, %%mm2     \n\t"                  "pcmpeqb   %%mm6, %%mm0     \n\t"                  "pcmpeqb   %%mm6, %%mm1     \n\t"                  "pcmpeqb   %%mm6, %%mm2     \n\t"// preload        "movl      len, %%ecx       \n\t" // load length of line// preload        "movl      srcptr, %%esi    \n\t" // load source// preload        "movl      dstptr, %%edi    \n\t" // load dest                  "cmpl      $0, %%ecx        \n\t"                  "jz        mainloop24end    \n\t"                "mainloop24:                  \n\t"                  "movq      (%%esi), %%mm4   \n\t"                  "pand      %%mm0, %%mm4     \n\t"                  "movq      %%mm0, %%mm6     \n\t"                  "movq      (%%edi), %%mm7   \n\t"                  "pandn     %%mm7, %%mm6     \n\t"                  "por       %%mm6, %%mm4     \n\t"                  "movq      %%mm4, (%%edi)   \n\t"                  "movq      8(%%esi), %%mm5  \n\t"                  "pand      %%mm1, %%mm5     \n\t"                  "movq      %%mm1, %%mm7     \n\t"                  "movq      8(%%edi), %%mm6  \n\t"                  "pandn     %%mm6, %%mm7     \n\t"                  "por       %%mm7, %%mm5     \n\t"                  "movq      %%mm5, 8(%%edi)  \n\t"                  "movq      16(%%esi), %%mm6 \n\t"                  "pand      %%mm2, %%mm6     \n\t"                  "movq      %%mm2, %%mm4     \n\t"                  "movq      16(%%edi), %%mm7 \n\t"                  "pandn     %%mm7, %%mm4     \n\t"                  "por       %%mm4, %%mm6     \n\t"                  "movq      %%mm6, 16(%%edi) \n\t"                  "addl      $24, %%esi       \n\t" // inc by 24 bytes processed                  "addl      $24, %%edi       \n\t"                  "subl      $8, %%ecx        \n\t" // dec by 8 pixels processed                  "ja        mainloop24       \n\t"                "mainloop24end:               \n\t"// preload        "movl      diff, %%ecx      \n\t" // (diff is in eax)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区伦理片| 色哟哟一区二区在线观看| 91精品国产综合久久精品app | 亚洲一区二区三区激情| 99久久久免费精品国产一区二区| 中文字幕二三区不卡| 不卡一区二区三区四区| 欧美激情一区二区| www.激情成人| 亚洲精品成人少妇| 在线看不卡av| 亚洲最大色网站| 在线观看视频欧美| 香蕉久久一区二区不卡无毒影院| 91精品国产综合久久久久| 久久国产麻豆精品| 久久精品视频一区二区三区| 成人中文字幕在线| 亚洲少妇最新在线视频| 欧美一a一片一级一片| 日本va欧美va欧美va精品| 欧美精品一区二区在线播放| 国产一级精品在线| 久久只精品国产| 成人福利在线看| 亚洲美腿欧美偷拍| 欧美精选一区二区| 捆绑紧缚一区二区三区视频| 国产欧美精品一区二区三区四区| av影院午夜一区| 亚洲一级不卡视频| 日韩精品一区二区三区中文精品| 国产精品亚洲一区二区三区在线 | 亚洲激情av在线| 9191久久久久久久久久久| 久久se精品一区精品二区| 欧美韩国一区二区| 91色porny在线视频| 亚洲一区二区三区免费视频| 精品少妇一区二区三区免费观看| 成人国产精品免费| 午夜av一区二区| 国产日产欧美一区| 欧美午夜精品久久久久久孕妇| 蜜桃视频在线观看一区| 欧美国产国产综合| 欧美日韩国产一级片| 国产一区二区伦理| 亚洲制服丝袜av| 国产午夜亚洲精品午夜鲁丝片| 色哟哟国产精品| 久久爱www久久做| 中文字幕第一区综合| 在线观看视频欧美| 久久电影网站中文字幕| 亚洲男人天堂av网| 欧美岛国在线观看| 91网站最新地址| 精品一区二区免费在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 欧美三级视频在线观看| 国模冰冰炮一区二区| 亚洲激情中文1区| 日韩免费成人网| 色噜噜夜夜夜综合网| 国产又粗又猛又爽又黄91精品| 一区二区日韩av| 亚洲国产精品av| 日韩欧美国产wwwww| 一本色道久久综合精品竹菊 | 视频一区中文字幕| 亚洲欧美自拍偷拍| 久久综合九色欧美综合狠狠| 一本到不卡免费一区二区| 欧美a级一区二区| 亚洲欧美一区二区三区极速播放 | 日本麻豆一区二区三区视频| 亚洲天天做日日做天天谢日日欢| 欧美成人a在线| 欧美日韩国产综合一区二区 | 欧美日韩免费不卡视频一区二区三区| 国模一区二区三区白浆 | 亚洲精品第一国产综合野| 久久久久久亚洲综合| 91黄色激情网站| 激情av综合网| 丝袜脚交一区二区| 亚洲乱码国产乱码精品精可以看 | 中文字幕一区二区三区不卡在线| 精品少妇一区二区三区在线播放| 欧美色手机在线观看| 97se亚洲国产综合自在线不卡| 美女一区二区三区| 亚洲高清中文字幕| 亚洲乱码中文字幕综合| 国产欧美日韩亚州综合| 精品国产百合女同互慰| 欧美乱妇20p| 一本色道久久综合精品竹菊| 国产99久久久国产精品潘金| 国内精品不卡在线| 久久av老司机精品网站导航| 日韩精品亚洲一区| 亚洲福利一区二区三区| 亚洲激情五月婷婷| 亚洲男人的天堂av| 中文字幕一区二| 国产精品色在线| 亚洲国产精品精华液ab| 国产亚洲精久久久久久| 精品少妇一区二区三区视频免付费 | 久久免费视频一区| 精品国产乱码久久久久久久 | 国产精品99久久久久久宅男| 久草这里只有精品视频| 琪琪久久久久日韩精品| 午夜电影久久久| 日韩精品一二三| 蜜臀av性久久久久蜜臀av麻豆| 五月婷婷久久丁香| 亚洲成精国产精品女| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩av电影免费观看高清完整版在线观看| 亚洲黄色免费电影| 一区二区三区在线视频免费观看| 亚洲精品国产无套在线观| 亚洲女爱视频在线| 亚洲免费色视频| 一区二区三区波多野结衣在线观看| 一区二区在线观看免费| 亚洲愉拍自拍另类高清精品| 一区二区三区日本| 亚洲国产日日夜夜| 日韩精品成人一区二区三区| 琪琪一区二区三区| 国产一区二区三区视频在线播放| 国产福利一区在线观看| 紧缚捆绑精品一区二区| 国产成人av在线影院| 99热国产精品| 在线一区二区三区四区五区| 欧美午夜精品一区二区三区 | 欧美日韩精品一二三区| 91精品午夜视频| 欧美一区二区三区四区五区| 欧美成人一区二区三区片免费 | 欧美美女网站色| 日韩欧美一二三区| 中文字幕乱码日本亚洲一区二区| 伊人夜夜躁av伊人久久| 手机精品视频在线观看| 国产精品一区二区久久精品爱涩| 91免费视频网址| 欧美一级日韩一级| 中文字幕精品三区| 亚洲大片在线观看| 国产一区二区三区高清播放| 91热门视频在线观看| 欧美一级xxx| 国产精品福利一区二区| 日韩精品色哟哟| 国产91高潮流白浆在线麻豆| 欧美亚洲国产一区二区三区| 精品久久免费看| 一区二区三区在线免费视频| 久久99深爱久久99精品| 色婷婷av一区二区三区gif| 欧美不卡一区二区三区四区| 日韩美女视频一区二区| 蜜臀av一区二区在线免费观看 | 欧美午夜一区二区三区| 久久综合九色综合欧美98| 亚洲制服丝袜av| 国产精品白丝jk黑袜喷水| 欧美日韩精品综合在线| 中文字幕欧美日韩一区| 日韩黄色免费电影| 99久久久国产精品| 26uuu另类欧美| 香蕉成人啪国产精品视频综合网| 国产美女视频91| 4438x亚洲最大成人网| 中文字幕在线不卡一区| 经典三级一区二区| 欧美日韩不卡一区| 亚洲婷婷国产精品电影人久久| 美美哒免费高清在线观看视频一区二区| 99国产一区二区三精品乱码| 久久综合成人精品亚洲另类欧美 | 色美美综合视频| 亚洲国产精品高清| 麻豆91精品视频| 欧美三区免费完整视频在线观看| 亚洲国产精品av| 激情欧美一区二区| 欧美乱熟臀69xxxxxx| 尤物av一区二区| 99热精品一区二区| 国产三级一区二区三区| 美国十次了思思久久精品导航|