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

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

?? pngvcrd.c

?? game engine, which is useful for everyone who is interested in it. I hope you can enjoy it.
?? C
?? 第 1 頁 / 共 5 頁
字號:
                  mov        edx,mask
                  sal        edx,24        //make low byte the high byte

secondloop8:
                  sal        edx,1         //move high bit to CF
                  jnc        skip8         //if CF = 0
                  mov        al,[esi]
                  mov        [ebx],al
skip8:
                  inc        esi
                  inc        ebx

                  dec        ecx
                  jnz        secondloop8
end8:
                  emms
               }
            }
            else /* mmx not supported - use modified C routine */
            {
               register unsigned int incr1, initial_val, final_val;
               png_size_t pixel_bytes;
               png_uint_32 i;
               register int disp = png_pass_inc[png_ptr->pass];
               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};

               pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
               srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
                  pixel_bytes;
               dstptr = row + offset_table[png_ptr->pass]*pixel_bytes;
               initial_val = offset_table[png_ptr->pass]*pixel_bytes;
               final_val = png_ptr->width*pixel_bytes;
               incr1 = (disp)*pixel_bytes;
               for (i = initial_val; i < final_val; i += incr1)
               {
                  png_memcpy(dstptr, srcptr, pixel_bytes);
                  srcptr += incr1;
                  dstptr += incr1;
               }
            } /* end of else */

            break;
         }       // end 8 bpp

         case 16:
         {
            png_bytep srcptr;
            png_bytep dstptr;
            png_uint_32 len;
            int unmask, diff;
            __int64 mask1=0x0101020204040808,
                    mask0=0x1010202040408080;

#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
            {
               srcptr = png_ptr->row_buf + 1;
               dstptr = row;

               unmask = ~mask;
               len     = (png_ptr->width)&~7;
               diff = (png_ptr->width)&7;
               _asm
               {
                  movd       mm7, unmask       //load bit pattern
                  psubb      mm6,mm6           //zero mm6
                  punpcklbw  mm7,mm7
                  punpcklwd  mm7,mm7
                  punpckldq  mm7,mm7           //fill register with 8 masks

                  movq       mm0,mask0
                  movq       mm1,mask1

                  pand       mm0,mm7
                  pand       mm1,mm7

                  pcmpeqb    mm0,mm6
                  pcmpeqb    mm1,mm6

                  mov        ecx,len           //load length of line
                  mov        esi,srcptr        //load source
                  mov        ebx,dstptr        //load dest
                  cmp        ecx,0             //lcr
                  jz         mainloop16end

mainloop16:
                  movq       mm4,[esi]
                  pand       mm4,mm0
                  movq       mm6,mm0
                  movq       mm7,[ebx]
                  pandn      mm6,mm7
                  por        mm4,mm6
                  movq       [ebx],mm4

                  movq       mm5,[esi+8]
                  pand       mm5,mm1
                  movq       mm7,mm1
                  movq       mm6,[ebx+8]
                  pandn      mm7,mm6
                  por        mm5,mm7
                  movq       [ebx+8],mm5

                  add        esi,16            //inc by 16 bytes processed
                  add        ebx,16
                  sub        ecx,8             //dec by 8 pixels processed

                  ja         mainloop16

mainloop16end:
                  mov        ecx,diff
                  cmp        ecx,0
                  jz         end16

                  mov        edx,mask
                  sal        edx,24            //make low byte the high byte
secondloop16:
                  sal        edx,1             //move high bit to CF
                  jnc        skip16            //if CF = 0
                  mov        ax,[esi]
                  mov        [ebx],ax
skip16:
                  add        esi,2
                  add        ebx,2

                  dec        ecx
                  jnz        secondloop16
end16:
                  emms
               }
            }
            else /* mmx not supported - use modified C routine */
            {
               register unsigned int incr1, initial_val, final_val;
               png_size_t pixel_bytes;
               png_uint_32 i;
               register int disp = png_pass_inc[png_ptr->pass];
               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};

               pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
               srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
                  pixel_bytes;
               dstptr = row + offset_table[png_ptr->pass]*pixel_bytes;
               initial_val = offset_table[png_ptr->pass]*pixel_bytes;
               final_val = png_ptr->width*pixel_bytes;
               incr1 = (disp)*pixel_bytes;
               for (i = initial_val; i < final_val; i += incr1)
               {
                  png_memcpy(dstptr, srcptr, pixel_bytes);
                  srcptr += incr1;
                  dstptr += incr1;
               }
            } /* end of else */

            break;
         }       // end 16 bpp

         case 24:
         {
            png_bytep srcptr;
            png_bytep dstptr;
            png_uint_32 len;
            int unmask, diff;

            __int64 mask2=0x0101010202020404,  //24bpp
                    mask1=0x0408080810101020,
                    mask0=0x2020404040808080;

            srcptr = png_ptr->row_buf + 1;
            dstptr = row;

            unmask = ~mask;
            len     = (png_ptr->width)&~7;
            diff = (png_ptr->width)&7;

#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
            {
               _asm
               {
                  movd       mm7, unmask       //load bit pattern
                  psubb      mm6,mm6           //zero mm6
                  punpcklbw  mm7,mm7
                  punpcklwd  mm7,mm7
                  punpckldq  mm7,mm7           //fill register with 8 masks

                  movq       mm0,mask0
                  movq       mm1,mask1
                  movq       mm2,mask2

                  pand       mm0,mm7
                  pand       mm1,mm7
                  pand       mm2,mm7

                  pcmpeqb    mm0,mm6
                  pcmpeqb    mm1,mm6
                  pcmpeqb    mm2,mm6

                  mov        ecx,len           //load length of line
                  mov        esi,srcptr        //load source
                  mov        ebx,dstptr        //load dest
                  cmp        ecx,0
                  jz         mainloop24end

mainloop24:
                  movq       mm4,[esi]
                  pand       mm4,mm0
                  movq       mm6,mm0
                  movq       mm7,[ebx]
                  pandn      mm6,mm7
                  por        mm4,mm6
                  movq       [ebx],mm4


                  movq       mm5,[esi+8]
                  pand       mm5,mm1
                  movq       mm7,mm1
                  movq       mm6,[ebx+8]
                  pandn      mm7,mm6
                  por        mm5,mm7
                  movq       [ebx+8],mm5

                  movq       mm6,[esi+16]
                  pand       mm6,mm2
                  movq       mm4,mm2
                  movq       mm7,[ebx+16]
                  pandn      mm4,mm7
                  por        mm6,mm4
                  movq       [ebx+16],mm6

                  add        esi,24            //inc by 24 bytes processed
                  add        ebx,24
                  sub        ecx,8             //dec by 8 pixels processed

                  ja         mainloop24

mainloop24end:
                  mov        ecx,diff
                  cmp        ecx,0
                  jz         end24

                  mov        edx,mask
                  sal        edx,24            //make low byte the high byte
secondloop24:
                  sal        edx,1             //move high bit to CF
                  jnc        skip24            //if CF = 0
                  mov        ax,[esi]
                  mov        [ebx],ax
                  xor        eax,eax
                  mov        al,[esi+2]
                  mov        [ebx+2],al
skip24:
                  add        esi,3
                  add        ebx,3

                  dec        ecx
                  jnz        secondloop24

end24:
                  emms
               }
            }
            else /* mmx not supported - use modified C routine */
            {
               register unsigned int incr1, initial_val, final_val;
               png_size_t pixel_bytes;
               png_uint_32 i;
               register int disp = png_pass_inc[png_ptr->pass];
               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};

               pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
               srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
                  pixel_bytes;
               dstptr = row + offset_table[png_ptr->pass]*pixel_bytes;
               initial_val = offset_table[png_ptr->pass]*pixel_bytes;
               final_val = png_ptr->width*pixel_bytes;
               incr1 = (disp)*pixel_bytes;
               for (i = initial_val; i < final_val; i += incr1)
               {
                  png_memcpy(dstptr, srcptr, pixel_bytes);
                  srcptr += incr1;
                  dstptr += incr1;
               }
            } /* end of else */

            break;
         }       // end 24 bpp

         case 32:
         {
            png_bytep srcptr;
            png_bytep dstptr;
            png_uint_32 len;
            int unmask, diff;

            __int64 mask3=0x0101010102020202,  //32bpp
                    mask2=0x0404040408080808,
                    mask1=0x1010101020202020,
                    mask0=0x4040404080808080;

            srcptr = png_ptr->row_buf + 1;
            dstptr = row;

            unmask = ~mask;
            len     = (png_ptr->width)&~7;
            diff = (png_ptr->width)&7;

#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
            {
               _asm
               {
                  movd       mm7, unmask       //load bit pattern
                  psubb      mm6,mm6           //zero mm6
                  punpcklbw  mm7,mm7
                  punpcklwd  mm7,mm7
                  punpckldq  mm7,mm7           //fill register with 8 masks

                  movq       mm0,mask0
                  movq       mm1,mask1
                  movq       mm2,mask2
                  movq       mm3,mask3

                  pand       mm0,mm7
                  pand       mm1,mm7
                  pand       mm2,mm7
                  pand       mm3,mm7

                  pcmpeqb    mm0,mm6
                  pcmpeqb    mm1,mm6
                  pcmpeqb    mm2,mm6
                  pcmpeqb    mm3,mm6

                  mov        ecx,len           //load length of line
                  mov        esi,srcptr        //load source
                  mov        ebx,dstptr        //load dest

                  cmp        ecx,0             //lcr
                  jz         mainloop32end

mainloop32:
                  movq       mm4,[esi]
                  pand       mm4,mm0
                  movq       mm6,mm0
                  movq       mm7,[ebx]
                  pandn      mm6,mm7
                  por        mm4,mm6
                  movq       [ebx],mm4

                  movq       mm5,[esi+8]
                  pand       mm5,mm1
                  movq       mm7,mm1
                  movq       mm6,[ebx+8]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品水蜜桃| 欧美日韩一区三区| 欧美日韩高清在线| 国产精品网站在线播放| 香蕉av福利精品导航| 日韩电影免费在线| 日韩一区二区三区电影在线观看| 成人少妇影院yyyy| 日韩黄色小视频| 99re热这里只有精品免费视频 | 日日夜夜精品视频天天综合网| 国产一区二区三区观看| 91精品久久久久久蜜臀| 亚洲精品高清在线观看| 粉嫩aⅴ一区二区三区四区 | 精品一二线国产| 欧美性感一区二区三区| 国产精品福利影院| 高清国产一区二区| 久久久综合视频| 国产又粗又猛又爽又黄91精品| 秋霞国产午夜精品免费视频| 91网上在线视频| 亚洲午夜电影网| 成人精品免费视频| 久久这里只精品最新地址| 日本女优在线视频一区二区| 欧美人伦禁忌dvd放荡欲情| 亚洲一区二区在线播放相泽| 91福利资源站| 亚洲国产日产av| 欧美日韩美少妇| 视频一区二区三区在线| 91精品国产欧美一区二区成人| 亚洲va在线va天堂| 欧美色视频在线观看| 亚洲第一会所有码转帖| 欧美日产国产精品| 天天影视涩香欲综合网| 日韩一区二区三区免费看| 久久精品久久综合| 精品国产亚洲在线| 国产成人日日夜夜| 国产精品女同互慰在线看| 91污片在线观看| 午夜视频在线观看一区| 精品久久国产97色综合| 国产99久久久国产精品潘金| 中文字幕一区二区在线观看| 色婷婷精品大在线视频| 日韩激情一二三区| 久久久99精品久久| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产综合在线| 精品少妇一区二区三区视频免付费| 久久精品国产第一区二区三区| 久久一区二区三区四区| 精品国产欧美一区二区| 欧美日韩精品欧美日韩精品| 日韩精品乱码av一区二区| 精品国产露脸精彩对白| 成人免费视频视频在线观看免费| 亚洲男人的天堂网| 日韩午夜在线观看| 成人动漫在线一区| 亚洲大片精品永久免费| 国产亚洲综合在线| 欧美午夜不卡视频| 福利一区二区在线观看| 亚洲电影一区二区| 国产精品欧美一区喷水| 欧美三级欧美一级| 成人美女视频在线看| 日韩主播视频在线| 国产精品久久久久久久久晋中| 在线91免费看| 91免费国产在线| 国产一区二区三区免费观看| 伊人色综合久久天天| 久久久精品影视| 欧美最猛黑人xxxxx猛交| 国产精品乡下勾搭老头1| 亚洲大片一区二区三区| 国产精品看片你懂得| 欧美变态口味重另类| 欧美日韩精品电影| 成人av午夜电影| 国产乱码精品一区二区三区忘忧草 | 亚洲国产视频一区二区| 久久日韩精品一区二区五区| 欧美日韩中文字幕一区二区| www.欧美日韩国产在线| 国产一区二区三区视频在线播放| 婷婷中文字幕综合| 亚洲麻豆国产自偷在线| 日本一二三不卡| 国产亚洲精久久久久久| 欧美一区二区不卡视频| 欧美日韩一区二区三区在线看 | 一区二区三区免费观看| 亚洲国产成人自拍| 国产欧美精品一区| 久久久久久**毛片大全| 精品国产精品一区二区夜夜嗨| 欧美乱妇15p| 欧美日本一区二区在线观看| 91浏览器打开| 91麻豆免费看片| 91视频.com| 91社区在线播放| 色综合久久久久综合| 91浏览器入口在线观看| 91久久精品一区二区三区| 欧美中文字幕一二三区视频| 在线观看亚洲一区| 欧美日韩视频在线观看一区二区三区| 91丨porny丨在线| 色婷婷激情一区二区三区| 在线视频一区二区三| 欧美视频在线一区| 欧美精品电影在线播放| 欧美一区二区三区播放老司机| 亚洲天堂中文字幕| 五月天国产精品| 风间由美性色一区二区三区| 欧美无砖专区一中文字| 国产人伦精品一区二区| 午夜久久电影网| 成人性视频网站| 伦理电影国产精品| 日本aⅴ精品一区二区三区| 看电视剧不卡顿的网站| 国产在线精品视频| 波多野洁衣一区| 日本韩国一区二区三区| 91精品国产欧美日韩| 精品久久99ma| 国产精品免费视频观看| 亚洲乱码国产乱码精品精可以看| 亚洲综合久久久| 久久精品理论片| a级精品国产片在线观看| 欧美日产国产精品| 久久精品免费在线观看| 亚洲精品ww久久久久久p站| 日韩中文字幕av电影| 国产传媒一区在线| 欧美专区日韩专区| 久久一夜天堂av一区二区三区| 亚洲视频1区2区| 麻豆精品视频在线观看| 99综合影院在线| 日韩三区在线观看| 亚洲欧美在线另类| 另类专区欧美蜜桃臀第一页| 97成人超碰视| 欧美精品在线一区二区三区| 国产色婷婷亚洲99精品小说| 亚洲国产精品天堂| 国产成人免费视频精品含羞草妖精 | 国产伦精一区二区三区| 色www精品视频在线观看| 国产亚洲欧美日韩俺去了| 亚洲国产精品人人做人人爽| 成人在线一区二区三区| 欧美一级国产精品| 亚洲人吸女人奶水| 国产伦精品一区二区三区免费迷| 日本韩国欧美一区| 国产精品久线观看视频| 经典三级一区二区| 欧美中文字幕一区二区三区亚洲| 日本一区免费视频| 精品制服美女久久| 欧美日韩亚洲综合一区二区三区| 国产精品久久久久久户外露出| 久久精品国产第一区二区三区| 日本高清不卡视频| 国产精品九色蝌蚪自拍| 国产乱子伦视频一区二区三区 | 欧美在线播放高清精品| 中文字幕第一区综合| 精品一区二区三区免费播放 | 美女视频网站久久| 欧美性猛交一区二区三区精品| 国产欧美日韩卡一| 国产一区二区视频在线播放| 精品少妇一区二区三区免费观看| 婷婷国产v国产偷v亚洲高清| 在线观看不卡一区| 亚洲精品国产a久久久久久| 91视频国产资源| 中文字幕字幕中文在线中不卡视频| 国产高清无密码一区二区三区| 精品国产一区二区三区久久久蜜月 | 美女尤物国产一区| 制服.丝袜.亚洲.中文.综合| 亚洲成av人片一区二区三区| 精品视频资源站| 日韩精品高清不卡|