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

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

?? pngvcrd.c

?? A*算法 A*算法 A*算法 A*算法A*算法A*算法
?? C
?? 第 1 頁 / 共 5 頁
字號:

            sp = row + (png_size_t)((row_info->width - 1) >> 2);
            dp = row + (png_size_t)((final_width - 1) >> 2);
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
            if (transformations & PNG_PACKSWAP)
            {
               sshift = (png_size_t)(((row_info->width + 3) & 3) << 1);
               dshift = (png_size_t)(((final_width + 3) & 3) << 1);
               s_start = 6;
               s_end = 0;
               s_inc = -2;
            }
            else
#endif
            {
               sshift = (png_size_t)((3 - ((row_info->width + 3) & 3)) << 1);
               dshift = (png_size_t)((3 - ((final_width + 3) & 3)) << 1);
               s_start = 0;
               s_end = 6;
               s_inc = 2;
            }

            for (i = row_info->width; i; i--)
            {
               png_byte v;
               int j;

               v = (png_byte)((*sp >> sshift) & 0x3);
               for (j = 0; j < png_pass_inc[pass]; j++)
               {
                  *dp &= (png_byte)((0x3f3f >> (6 - dshift)) & 0xff);
                  *dp |= (png_byte)(v << dshift);
                  if (dshift == s_end)
                  {
                     dshift = s_start;
                     dp--;
                  }
                  else
                     dshift += s_inc;
               }
               if (sshift == s_end)
               {
                  sshift = s_start;
                  sp--;
               }
               else
                  sshift += s_inc;
            }
            break;
         }

         case 4:
         {
            png_bytep sp, dp;
            int sshift, dshift;
            int s_start, s_end, s_inc;
            png_uint_32 i;

            sp = row + (png_size_t)((row_info->width - 1) >> 1);
            dp = row + (png_size_t)((final_width - 1) >> 1);
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
            if (transformations & PNG_PACKSWAP)
            {
               sshift = (png_size_t)(((row_info->width + 1) & 1) << 2);
               dshift = (png_size_t)(((final_width + 1) & 1) << 2);
               s_start = 4;
               s_end = 0;
               s_inc = -4;
            }
            else
#endif
            {
               sshift = (png_size_t)((1 - ((row_info->width + 1) & 1)) << 2);
               dshift = (png_size_t)((1 - ((final_width + 1) & 1)) << 2);
               s_start = 0;
               s_end = 4;
               s_inc = 4;
            }

            for (i = row_info->width; i; i--)
            {
               png_byte v;
               int j;

               v = (png_byte)((*sp >> sshift) & 0xf);
               for (j = 0; j < png_pass_inc[pass]; j++)
               {
                  *dp &= (png_byte)((0xf0f >> (4 - dshift)) & 0xff);
                  *dp |= (png_byte)(v << dshift);
                  if (dshift == s_end)
                  {
                     dshift = s_start;
                     dp--;
                  }
                  else
                     dshift += s_inc;
               }
               if (sshift == s_end)
               {
                  sshift = s_start;
                  sp--;
               }
               else
                  sshift += s_inc;
            }
            break;
         }

         default:         /* This is the place where the routine is modified */
         {
            __int64 const4 = 0x0000000000FFFFFF;
            /* __int64 const5 = 0x000000FFFFFF0000;  // unused... */
            __int64 const6 = 0x00000000000000FF;
            png_bytep sptr, dp;
            png_uint_32 i;
            png_size_t pixel_bytes;
            int width = row_info->width;

            pixel_bytes = (row_info->pixel_depth >> 3);

            sptr = row + (width - 1) * pixel_bytes;
            dp = row + (final_width - 1) * pixel_bytes;
            /* New code by Nirav Chhatrapati - Intel Corporation */
            /* sign fix by GRR */
            /* NOTE:  there is NO MMX code for 48-bit and 64-bit images */

            // use MMX routine if machine supports it
#if !defined(PNG_1_0_X)
            if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_INTERLACE)
                /* && mmx_supported */ )
#else
            if (mmx_supported)
#endif
            {
               if (pixel_bytes == 3)
               {
                  if (((pass == 0) || (pass == 1)) && width)
                  {
                     _asm
                     {
                        mov esi, sptr
                        mov edi, dp
                        mov ecx, width
                        sub edi, 21   /* (png_pass_inc[pass] - 1)*pixel_bytes */
loop_pass0:
                        movd mm0, [esi]     ; X X X X X v2 v1 v0
                        pand mm0, const4    ; 0 0 0 0 0 v2 v1 v0
                        movq mm1, mm0       ; 0 0 0 0 0 v2 v1 v0
                        psllq mm0, 16       ; 0 0 0 v2 v1 v0 0 0
                        movq mm2, mm0       ; 0 0 0 v2 v1 v0 0 0
                        psllq mm0, 24       ; v2 v1 v0 0 0 0 0 0
                        psrlq mm1, 8        ; 0 0 0 0 0 0 v2 v1
                        por mm0, mm2        ; v2 v1 v0 v2 v1 v0 0 0
                        por mm0, mm1        ; v2 v1 v0 v2 v1 v0 v2 v1
                        movq mm3, mm0       ; v2 v1 v0 v2 v1 v0 v2 v1
                        psllq mm0, 16       ; v0 v2 v1 v0 v2 v1 0 0
                        movq mm4, mm3       ; v2 v1 v0 v2 v1 v0 v2 v1
                        punpckhdq mm3, mm0  ; v0 v2 v1 v0 v2 v1 v0 v2
                        movq [edi+16] , mm4
                        psrlq mm0, 32       ; 0 0 0 0 v0 v2 v1 v0
                        movq [edi+8] , mm3
                        punpckldq mm0, mm4  ; v1 v0 v2 v1 v0 v2 v1 v0
                        sub esi, 3
                        movq [edi], mm0
                        sub edi, 24
                        /*sub esi, 3 */
                        dec ecx
                        jnz loop_pass0
                        EMMS
                     }
                  }
                  else if (((pass == 2) || (pass == 3)) && width)
                  {
                     _asm
                     {
                        mov esi, sptr
                        mov edi, dp
                        mov ecx, width
                        sub edi, 9   /* (png_pass_inc[pass] - 1)*pixel_bytes */
loop_pass2:
                        movd mm0, [esi]     ; X X X X X v2 v1 v0
                        pand mm0, const4    ; 0 0 0 0 0 v2 v1 v0
                        movq mm1, mm0       ; 0 0 0 0 0 v2 v1 v0
                        psllq mm0, 16       ; 0 0 0 v2 v1 v0 0 0
                        movq mm2, mm0       ; 0 0 0 v2 v1 v0 0 0
                        psllq mm0, 24       ; v2 v1 v0 0 0 0 0 0
                        psrlq mm1, 8        ; 0 0 0 0 0 0 v2 v1
                        por mm0, mm2        ; v2 v1 v0 v2 v1 v0 0 0
                        por mm0, mm1        ; v2 v1 v0 v2 v1 v0 v2 v1
                        movq [edi+4], mm0   ; move to memory
                        psrlq mm0, 16       ; 0 0 v2 v1 v0 v2 v1 v0
                        movd [edi], mm0     ; move to memory
                        sub esi, 3
                        sub edi, 12
                        dec ecx
                        jnz loop_pass2
                        EMMS
                     }
                  }
                  else if (width) /* && ((pass == 4) || (pass == 5)) */
                  {
                     int width_mmx = ((width >> 1) << 1) - 8;
                     if (width_mmx < 0)
                         width_mmx = 0;
                     width -= width_mmx;        /* 8 or 9 pix, 24 or 27 bytes */
                     if (width_mmx)
                     {
                        _asm
                        {
                           mov esi, sptr
                           mov edi, dp
                           mov ecx, width_mmx
                           sub esi, 3
                           sub edi, 9
loop_pass4:
                           movq mm0, [esi]     ; X X v2 v1 v0 v5 v4 v3
                           movq mm7, mm0       ; X X v2 v1 v0 v5 v4 v3
                           movq mm6, mm0       ; X X v2 v1 v0 v5 v4 v3
                           psllq mm0, 24       ; v1 v0 v5 v4 v3 0 0 0
                           pand mm7, const4    ; 0 0 0 0 0 v5 v4 v3
                           psrlq mm6, 24       ; 0 0 0 X X v2 v1 v0
                           por mm0, mm7        ; v1 v0 v5 v4 v3 v5 v4 v3
                           movq mm5, mm6       ; 0 0 0 X X v2 v1 v0
                           psllq mm6, 8        ; 0 0 X X v2 v1 v0 0
                           movq [edi], mm0     ; move quad to memory
                           psrlq mm5, 16       ; 0 0 0 0 0 X X v2
                           pand mm5, const6    ; 0 0 0 0 0 0 0 v2
                           por mm6, mm5        ; 0 0 X X v2 v1 v0 v2
                           movd [edi+8], mm6   ; move double to memory
                           sub esi, 6
                           sub edi, 12
                           sub ecx, 2
                           jnz loop_pass4
                           EMMS
                        }
                     }

                     sptr -= width_mmx*3;
                     dp -= width_mmx*6;
                     for (i = width; i; i--)
                     {
                        png_byte v[8];
                        int j;

                        png_memcpy(v, sptr, 3);
                        for (j = 0; j < png_pass_inc[pass]; j++)
                        {
                           png_memcpy(dp, v, 3);
                           dp -= 3;
                        }
                        sptr -= 3;
                     }
                  }
               } /* end of pixel_bytes == 3 */

               else if (pixel_bytes == 1)
               {
                  if (((pass == 0) || (pass == 1)) && width)
                  {
                     int width_mmx = ((width >> 2) << 2);
                     width -= width_mmx;
                     if (width_mmx)
                     {
                        _asm
                        {
                           mov esi, sptr
                           mov edi, dp
                           mov ecx, width_mmx
                           sub edi, 31
                           sub esi, 3
loop1_pass0:
                           movd mm0, [esi]     ; X X X X v0 v1 v2 v3
                           movq mm1, mm0       ; X X X X v0 v1 v2 v3
                           punpcklbw mm0, mm0  ; v0 v0 v1 v1 v2 v2 v3 v3
                           movq mm2, mm0       ; v0 v0 v1 v1 v2 v2 v3 v3
                           punpcklwd mm0, mm0  ; v2 v2 v2 v2 v3 v3 v3 v3
                           movq mm3, mm0       ; v2 v2 v2 v2 v3 v3 v3 v3
                           punpckldq mm0, mm0  ; v3 v3 v3 v3 v3 v3 v3 v3
                           punpckhdq mm3, mm3  ; v2 v2 v2 v2 v2 v2 v2 v2
                           movq [edi], mm0     ; move to memory v3
                           punpckhwd mm2, mm2  ; v0 v0 v0 v0 v1 v1 v1 v1
                           movq [edi+8], mm3   ; move to memory v2
                           movq mm4, mm2       ; v0 v0 v0 v0 v1 v1 v1 v1
                           punpckldq mm2, mm2  ; v1 v1 v1 v1 v1 v1 v1 v1
                           punpckhdq mm4, mm4  ; v0 v0 v0 v0 v0 v0 v0 v0
                           movq [edi+16], mm2  ; move to memory v1
                           movq [edi+24], mm4  ; move to memory v0
                           sub esi, 4
                           sub edi, 32
                           sub ecx, 4
                           jnz loop1_pass0
                           EMMS
                        }
                     }

                     sptr -= width_mmx;
                     dp -= width_mmx*8;
                     for (i = width; i; i--)
                     {
                        int j;

                       /* I simplified this part in version 1.0.4e
                        * here and in several other instances where
                        * pixel_bytes == 1  -- GR-P
                        *
                        * Original code:
                        *
                        * png_byte v[8];
                        * png_memcpy(v, sptr, pixel_bytes);
                        * for (j = 0; j < png_pass_inc[pass]; j++)
                        * {
                        *    png_memcpy(dp, v, pixel_bytes);
                        *    dp -= pixel_bytes;
                        * }
                        * sptr -= pixel_bytes;
                        *
                        * Replacement code is in the next three lines:
                        */

                        for (j = 0; j < png_pass_inc[pass]; j++)
                           *dp-- = *sptr;
                        sptr--;
                     }
                  }
                  else if (((pass == 2) || (pass == 3)) && width)
                  {
                     int width_mmx = ((width >> 2) << 2);
                     width -= width_mmx;
                     if (width_mmx)
                     {
                        _asm
                        {
                           mov esi, sptr
                           mov edi, dp
                           mov ecx, width_mmx
                           sub edi, 15
                           sub esi, 3
loop1_pass2:
                           movd mm0, [esi]     ; X X X X v0 v1 v2 v3
                           punpcklbw mm0, mm0  ; v0 v0 v1 v1 v2 v2 v3 v3
                           movq mm1, mm0       ; v0 v0 v1 v1 v2 v2 v3 v3
                           punpcklwd mm0, mm0  ; v2 v2 v2 v2 v3 v3 v3 v3
                           punpckhwd mm1, mm1  ; v0 v0 v0 v0 v1 v1 v1 v1
                           movq [edi], mm0     ; move to memory v2 and v3
                           sub esi, 4
                           movq [edi+8], mm1   ; move to memory v1     and v0
                           sub edi, 16
                           sub ecx, 4
                           jnz loop1_pass2
                           EMMS
                        }
                     }

                     sptr -= width_mmx;
                     dp -= width_mmx*4;
                     for (i = width; i; i--)
                     {
                        int j;

                        for (j = 0; j < png_pass_inc[pass]; j++)
                        {
                           *dp-- = *sptr;
                        }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜激情综合网| 2021中文字幕一区亚洲| 日本欧美久久久久免费播放网| 91在线视频播放地址| 中文字幕va一区二区三区| 粉嫩久久99精品久久久久久夜| 欧美激情一区二区三区蜜桃视频 | **性色生活片久久毛片| 成人一区二区三区视频| 亚洲天天做日日做天天谢日日欢| 91毛片在线观看| 亚洲综合无码一区二区| 制服丝袜中文字幕一区| 免费在线观看精品| 久久久久久9999| 91视频免费播放| 亚洲第一电影网| 久久亚洲影视婷婷| 在线观看日韩电影| 久久精品国产99国产精品| 久久品道一品道久久精品| 成人的网站免费观看| 午夜影院久久久| 亚洲精品一区二区三区福利| 成人美女视频在线看| 一区二区三区四区亚洲| 日韩一卡二卡三卡四卡| 成人激情免费电影网址| 日本中文字幕一区| 久久久久久久网| 91老司机福利 在线| 美女性感视频久久| 中文字幕中文乱码欧美一区二区 | 日韩一区二区在线观看视频| 成人午夜免费视频| 亚洲午夜精品在线| 久久精品视频免费| 欧美在线观看视频在线| 国产精品亚洲综合一区在线观看| 一区二区三区四区在线播放| 久久一日本道色综合| 欧美性xxxxx极品少妇| 国产精品一二三| 91视频免费播放| 韩国女主播一区二区三区| 亚洲自拍偷拍九九九| 久久久精品黄色| 欧美日韩一区二区三区在线看| 国产成人免费高清| 免费成人在线观看| 亚洲一级二级三级| 亚洲欧洲日韩一区二区三区| 久久蜜桃av一区精品变态类天堂| 欧美日韩精品是欧美日韩精品| 粉嫩绯色av一区二区在线观看| 日本不卡123| 亚洲成av人在线观看| 亚洲三级在线看| 久久精品亚洲精品国产欧美| 日韩视频免费直播| 欧美日本一道本| 91激情在线视频| caoporn国产精品| 国产一区二区按摩在线观看| 日韩不卡免费视频| 天天色天天操综合| 亚洲一区二区在线免费观看视频| 亚洲色图视频网站| 国产精品国产三级国产a| 久久精品人人做人人爽人人| 精品人在线二区三区| 欧美一区二区三区不卡| 欧美日本免费一区二区三区| 欧美日韩综合在线| 欧美视频一区在线| 欧美日韩你懂得| 欧美日韩日日摸| 在线观看av一区| 欧美日韩在线不卡| 国产欧美精品一区| 日本一区二区综合亚洲| 国产亚洲欧美日韩日本| 久久精品日产第一区二区三区高清版 | 色婷婷综合久久久| 欧洲精品一区二区| 欧美日本一道本| 欧美一区二区三区成人| 精品国产免费人成在线观看| 国产午夜精品久久| 国产精品久久久久婷婷二区次| 中文字幕成人网| 亚洲精品成人天堂一二三| 亚洲黄色在线视频| 日韩成人dvd| 精品一区二区精品| 成人网在线播放| 色婷婷亚洲婷婷| 欧美一区二区久久| 久久久精品一品道一区| 中文字幕一区在线观看视频| 亚洲愉拍自拍另类高清精品| 日韩av不卡一区二区| 国产一区二区久久| 99久久国产综合精品色伊| 在线观看欧美日本| 精品国产123| 国产精品国产三级国产普通话99 | 日韩一区精品字幕| 狠狠色伊人亚洲综合成人| 高清国产午夜精品久久久久久| 99re这里只有精品首页| 欧美日韩国产a| 久久久久久久电影| 一区二区三区中文字幕| 另类中文字幕网| 91污片在线观看| 日韩欧美亚洲国产另类| 中文字幕在线观看一区| 日韩精品三区四区| 国产精品1024| 欧美日韩高清一区二区三区| 久久久精品免费免费| 一区二区三区国产精华| 国内精品嫩模私拍在线| 91福利社在线观看| 久久亚洲二区三区| 亚洲成人免费看| 成人激情动漫在线观看| 欧美一区二区三区四区视频| 中文字幕一区视频| 国产乱国产乱300精品| 精品视频免费看| 中文天堂在线一区| 九九视频精品免费| 欧美高清www午色夜在线视频| 中日韩免费视频中文字幕| 国产91色综合久久免费分享| 3d动漫精品啪啪1区2区免费 | 久久综合九色综合久久久精品综合| 亚洲欧美一区二区三区久本道91| 精品午夜久久福利影院 | 91麻豆精品国产91久久久久久久久| 久久九九久久九九| 日产欧产美韩系列久久99| 日本大香伊一区二区三区| 国产日韩欧美高清在线| 麻豆专区一区二区三区四区五区| 99精品偷自拍| 亚洲国产精品二十页| 韩国毛片一区二区三区| 日韩一级成人av| 香蕉成人啪国产精品视频综合网 | 欧美精品视频www在线观看| 亚洲婷婷在线视频| 成人av在线一区二区三区| 久久久综合九色合综国产精品| 日韩精品福利网| 欧美午夜电影在线播放| 一区二区三区四区在线免费观看| aaa国产一区| 国产精品美女一区二区在线观看| 国产精品99久久久久| 久久久久国产一区二区三区四区 | 风流少妇一区二区| 国产亚洲精品资源在线26u| 久久国产精品色婷婷| 欧美va亚洲va在线观看蝴蝶网| 亚洲aaa精品| 欧美精品乱码久久久久久| 午夜视频一区二区| 在线成人高清不卡| 日本中文在线一区| 日韩欧美国产高清| 九色综合国产一区二区三区| 精品美女在线播放| 国产乱码精品一区二区三区忘忧草| 精品国产一区二区三区久久久蜜月| 日本三级亚洲精品| 欧美成人国产一区二区| 国产一区二区调教| 国产日韩欧美激情| 一本久久a久久精品亚洲| 亚洲精品美国一| 中文字幕亚洲不卡| 成人美女视频在线观看18| 中文一区在线播放| 色婷婷亚洲一区二区三区| 午夜亚洲福利老司机| 欧美成人性福生活免费看| 国产一区二区剧情av在线| 亚洲欧美综合在线精品| 欧美视频三区在线播放| 免费成人在线网站| 中文字幕乱码亚洲精品一区| 色诱亚洲精品久久久久久| 婷婷综合五月天| 国产日韩欧美精品电影三级在线| 91视频免费看| 久久成人麻豆午夜电影| 1024亚洲合集|