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

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

?? pngvcrd.c

?? 君正早期ucos系統(只有早期的才不沒有打包成庫),MPLAYER,文件系統,圖片解碼,瀏覽,電子書,錄音,想學ucos,識貨的人就下吧 russblock fmradio explore set
?? C
?? 第 1 頁 / 共 5 頁
字號:
#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;
                        }
                        sptr --;
                     }
                  }
                  else if (width) /* && ((pass == 4) || (pass == 5))) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产激情av| 精品一二三四区| 欧美精品在线观看播放| 亚洲h动漫在线| 51精品国自产在线| 精品一区二区在线视频| 中文字幕 久热精品 视频在线| www.日本不卡| 亚洲午夜私人影院| 日韩欧美国产小视频| 国产精品亚洲一区二区三区妖精| 中文字幕av一区二区三区| 91福利区一区二区三区| 轻轻草成人在线| 国产婷婷色一区二区三区 | 日韩电影免费一区| 精品国产欧美一区二区| 国产成人高清在线| 亚洲一区二区三区在线看| 欧美精品v日韩精品v韩国精品v| 极品销魂美女一区二区三区| 日本一区二区三区在线不卡| 91国内精品野花午夜精品| 麻豆精品一二三| 成人免费在线播放视频| 欧美老肥妇做.爰bbww视频| 国产美女在线观看一区| 一区二区在线电影| 日韩精品一区二区三区四区| 成人午夜大片免费观看| 亚洲va欧美va天堂v国产综合| 日韩欧美在线综合网| 欧美sm极限捆绑bd| 成人av在线资源| 亚洲1区2区3区4区| 国产欧美日本一区视频| 欧美在线观看18| 国产福利一区二区| 亚洲成人动漫在线免费观看| 国产日韩欧美制服另类| 欧美日韩在线三区| 成人视屏免费看| 日产国产欧美视频一区精品 | 欧美成人三级电影在线| 91蜜桃在线观看| 裸体健美xxxx欧美裸体表演| 国产精品电影一区二区| 日韩一区二区在线播放| 91视频精品在这里| 国产又粗又猛又爽又黄91精品| 亚洲青青青在线视频| 欧美va亚洲va香蕉在线 | 色婷婷综合久久久中文一区二区 | 视频一区在线视频| 国产区在线观看成人精品| 欧美日韩美少妇| 波多野结衣在线一区| 麻豆精品在线播放| 亚洲国产综合91精品麻豆| 国产精品乱码一区二区三区软件| 宅男在线国产精品| 色av一区二区| 成人精品国产一区二区4080| 久久精品国产一区二区三 | 99精品视频在线播放观看| 精品亚洲aⅴ乱码一区二区三区| 一区二区在线观看免费视频播放| 国产亚洲人成网站| 日韩精品一区二区在线| 欧美亚一区二区| av在线不卡电影| 韩国av一区二区三区四区| 天天色天天爱天天射综合| 亚洲丝袜自拍清纯另类| 久久久午夜精品理论片中文字幕| 欧美一区二区三区在线电影| 欧美午夜电影网| 91在线云播放| 成人激情综合网站| 国产成人在线视频网址| 韩国精品主播一区二区在线观看| 日本va欧美va瓶| 偷窥国产亚洲免费视频| 亚洲精品视频在线看| 中文字幕日本不卡| 欧美国产日韩a欧美在线观看| 26uuu色噜噜精品一区二区| 这里是久久伊人| 538在线一区二区精品国产| 欧美伊人久久大香线蕉综合69 | 亚洲少妇中出一区| 中文成人av在线| 国产婷婷色一区二区三区在线| 亚洲丶国产丶欧美一区二区三区| 亚洲青青青在线视频| 18欧美乱大交hd1984| 国产精品电影一区二区| 亚洲欧洲国产日韩| 亚洲视频你懂的| 1区2区3区欧美| 亚洲人成7777| 亚洲免费观看高清完整版在线观看| 国产精品免费观看视频| 中文字幕不卡的av| 日韩一区日韩二区| 中文字幕一区二区三区精华液 | 中文成人综合网| 中文av一区二区| 中文字幕制服丝袜成人av| 国产精品视频第一区| 国产精品不卡在线观看| 亚洲视频中文字幕| 一区二区免费在线播放| 亚洲综合免费观看高清在线观看| 一区二区三区四区激情| 亚洲一区av在线| 午夜视频久久久久久| 日韩一区欧美二区| 久久精品噜噜噜成人av农村| 精品一区二区三区日韩| 国产乱码精品一区二区三区av| 国产精品一二三区在线| 成人国产在线观看| 色婷婷香蕉在线一区二区| 欧美三级一区二区| 51精品秘密在线观看| 久久一二三国产| 亚洲国产成人自拍| 最好看的中文字幕久久| 亚洲最大的成人av| 无码av中文一区二区三区桃花岛| 免费av成人在线| 国产一区二区成人久久免费影院| 国产成人av在线影院| 97久久久精品综合88久久| 色8久久精品久久久久久蜜| 制服丝袜亚洲网站| 久久毛片高清国产| 亚洲婷婷在线视频| 日韩精品乱码免费| 国产在线视频一区二区| a级高清视频欧美日韩| 欧美日韩极品在线观看一区| 日韩免费高清电影| 国产精品人人做人人爽人人添| 亚洲精品伦理在线| 免费av成人在线| 成人蜜臀av电影| 欧美日韩在线免费视频| 久久综合九色综合欧美98| 成人欧美一区二区三区白人 | 亚洲国产高清aⅴ视频| 亚洲综合丁香婷婷六月香| 日本欧美一区二区三区乱码| 国产伦精品一区二区三区在线观看 | 色偷偷一区二区三区| 欧美一卡二卡在线| 国产精品美女久久久久aⅴ国产馆| 亚洲图片一区二区| 国产精品 欧美精品| 欧日韩精品视频| 久久精品欧美日韩精品| 亚洲一区二区综合| 国内精品久久久久影院薰衣草 | 奇米一区二区三区| 成人a区在线观看| 欧美理论片在线| 中文字幕欧美日本乱码一线二线 | 亚洲国产日韩在线一区模特| 久久99久久精品| 色婷婷av一区二区三区之一色屋| 精品国产百合女同互慰| 亚洲日本一区二区| 精品在线播放午夜| 欧美影院午夜播放| 中文子幕无线码一区tr| 奇米影视一区二区三区小说| 成人av在线资源网站| 欧美大片一区二区| 99天天综合性| 精品久久久久久亚洲综合网| 亚洲黄色小视频| 国产高清久久久久| 91精品国产综合久久久蜜臀粉嫩| 中文字幕第一区综合| 日本不卡一区二区三区| 91麻豆蜜桃一区二区三区| 欧美zozo另类异族| 午夜亚洲国产au精品一区二区| 福利电影一区二区| 欧美一级艳片视频免费观看| 亚洲免费观看高清完整版在线观看熊| 精品一区二区三区在线播放| 欧美日韩免费在线视频| 中文字幕乱码久久午夜不卡 | 免费观看30秒视频久久| 欧美亚洲综合另类| 国产精品久久久久影院老司 | 久久久久久久精| 天天综合网天天综合色|