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

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

?? rgb2rgb_template.c.svn-base

?? ffmpeg最新源碼
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
        "punpckhwd     %5, %%mm5    \n\t"        "psllq         $8, %%mm1    \n\t"        "psllq        $16, %%mm2    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm2, %%mm0    \n\t"        "psllq         $8, %%mm4    \n\t"        "psllq        $16, %%mm5    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm5, %%mm3    \n\t"        :"=m"(*d)        :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r),"m"(mmx_null)        :"memory");        /* borrowed 32 to 24 */        asm volatile(        "movq       %%mm0, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "movq       %%mm6, %%mm0    \n\t"        "movq       %%mm7, %%mm1    \n\t"        "movq       %%mm4, %%mm6    \n\t"        "movq       %%mm5, %%mm7    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm1, %%mm3    \n\t"        "psrlq         $8, %%mm2    \n\t"        "psrlq         $8, %%mm3    \n\t"        "psrlq         $8, %%mm6    \n\t"        "psrlq         $8, %%mm7    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %2, %%mm1    \n\t"        "pand          %2, %%mm4    \n\t"        "pand          %2, %%mm5    \n\t"        "pand          %3, %%mm2    \n\t"        "pand          %3, %%mm3    \n\t"        "pand          %3, %%mm6    \n\t"        "pand          %3, %%mm7    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm3, %%mm1    \n\t"        "por        %%mm6, %%mm4    \n\t"        "por        %%mm7, %%mm5    \n\t"        "movq       %%mm1, %%mm2    \n\t"        "movq       %%mm4, %%mm3    \n\t"        "psllq        $48, %%mm2    \n\t"        "psllq        $32, %%mm3    \n\t"        "pand          %4, %%mm2    \n\t"        "pand          %5, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "psrlq        $16, %%mm1    \n\t"        "psrlq        $32, %%mm4    \n\t"        "psllq        $16, %%mm5    \n\t"        "por        %%mm3, %%mm1    \n\t"        "pand          %6, %%mm5    \n\t"        "por        %%mm5, %%mm4    \n\t"        MOVNTQ"     %%mm0,   %0     \n\t"        MOVNTQ"     %%mm1,  8%0     \n\t"        MOVNTQ"     %%mm4, 16%0"        :"=m"(*d)        :"m"(*s),"m"(mask24l),"m"(mask24h),"m"(mask24hh),"m"(mask24hhh),"m"(mask24hhhh)        :"memory");        d += 24;        s += 8;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register uint16_t bgr;        bgr = *s++;        *d++ = (bgr&0x1F)<<3;        *d++ = (bgr&0x7E0)>>3;        *d++ = (bgr&0xF800)>>8;    }}static inline void RENAME(rgb15to32)(const uint8_t *src, uint8_t *dst, long src_size){    const uint16_t *end;#ifdef HAVE_MMX    const uint16_t *mm_end;#endif    uint8_t *d = dst;    const uint16_t *s = (const uint16_t *)src;    end = s + src_size/2;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*s):"memory");    asm volatile("pxor    %%mm7,%%mm7    \n\t":::"memory");    mm_end = end - 3;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movq          %1, %%mm0    \n\t"        "movq          %1, %%mm1    \n\t"        "movq          %1, %%mm2    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %3, %%mm1    \n\t"        "pand          %4, %%mm2    \n\t"        "psllq         $3, %%mm0    \n\t"        "psrlq         $2, %%mm1    \n\t"        "psrlq         $7, %%mm2    \n\t"        "movq       %%mm0, %%mm3    \n\t"        "movq       %%mm1, %%mm4    \n\t"        "movq       %%mm2, %%mm5    \n\t"        "punpcklwd  %%mm7, %%mm0    \n\t"        "punpcklwd  %%mm7, %%mm1    \n\t"        "punpcklwd  %%mm7, %%mm2    \n\t"        "punpckhwd  %%mm7, %%mm3    \n\t"        "punpckhwd  %%mm7, %%mm4    \n\t"        "punpckhwd  %%mm7, %%mm5    \n\t"        "psllq         $8, %%mm1    \n\t"        "psllq        $16, %%mm2    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm2, %%mm0    \n\t"        "psllq         $8, %%mm4    \n\t"        "psllq        $16, %%mm5    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm5, %%mm3    \n\t"        MOVNTQ"     %%mm0,  %0      \n\t"        MOVNTQ"     %%mm3, 8%0      \n\t"        :"=m"(*d)        :"m"(*s),"m"(mask15b),"m"(mask15g),"m"(mask15r)        :"memory");        d += 16;        s += 4;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {#if 0 //slightly slower on Athlon        int bgr= *s++;        *((uint32_t*)d)++ = ((bgr&0x1F)<<3) + ((bgr&0x3E0)<<6) + ((bgr&0x7C00)<<9);#else        register uint16_t bgr;        bgr = *s++;#ifdef WORDS_BIGENDIAN        *d++ = 0;        *d++ = (bgr&0x7C00)>>7;        *d++ = (bgr&0x3E0)>>2;        *d++ = (bgr&0x1F)<<3;#else        *d++ = (bgr&0x1F)<<3;        *d++ = (bgr&0x3E0)>>2;        *d++ = (bgr&0x7C00)>>7;        *d++ = 0;#endif#endif    }}static inline void RENAME(rgb16to32)(const uint8_t *src, uint8_t *dst, long src_size){    const uint16_t *end;#ifdef HAVE_MMX    const uint16_t *mm_end;#endif    uint8_t *d = dst;    const uint16_t *s = (const uint16_t*)src;    end = s + src_size/2;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*s):"memory");    asm volatile("pxor    %%mm7,%%mm7    \n\t":::"memory");    mm_end = end - 3;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movq          %1, %%mm0    \n\t"        "movq          %1, %%mm1    \n\t"        "movq          %1, %%mm2    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %3, %%mm1    \n\t"        "pand          %4, %%mm2    \n\t"        "psllq         $3, %%mm0    \n\t"        "psrlq         $3, %%mm1    \n\t"        "psrlq         $8, %%mm2    \n\t"        "movq       %%mm0, %%mm3    \n\t"        "movq       %%mm1, %%mm4    \n\t"        "movq       %%mm2, %%mm5    \n\t"        "punpcklwd  %%mm7, %%mm0    \n\t"        "punpcklwd  %%mm7, %%mm1    \n\t"        "punpcklwd  %%mm7, %%mm2    \n\t"        "punpckhwd  %%mm7, %%mm3    \n\t"        "punpckhwd  %%mm7, %%mm4    \n\t"        "punpckhwd  %%mm7, %%mm5    \n\t"        "psllq         $8, %%mm1    \n\t"        "psllq        $16, %%mm2    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm2, %%mm0    \n\t"        "psllq         $8, %%mm4    \n\t"        "psllq        $16, %%mm5    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm5, %%mm3    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        MOVNTQ"     %%mm3, 8%0      \n\t"        :"=m"(*d)        :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r)        :"memory");        d += 16;        s += 4;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register uint16_t bgr;        bgr = *s++;#ifdef WORDS_BIGENDIAN        *d++ = 0;        *d++ = (bgr&0xF800)>>8;        *d++ = (bgr&0x7E0)>>3;        *d++ = (bgr&0x1F)<<3;#else        *d++ = (bgr&0x1F)<<3;        *d++ = (bgr&0x7E0)>>3;        *d++ = (bgr&0xF800)>>8;        *d++ = 0;#endif    }}static inline void RENAME(rgb32tobgr32)(const uint8_t *src, uint8_t *dst, long src_size){    long idx = 15 - src_size;    const uint8_t *s = src-idx;    uint8_t *d = dst-idx;#ifdef HAVE_MMX    asm volatile(    "test          %0, %0           \n\t"    "jns           2f               \n\t"    PREFETCH"       (%1, %0)        \n\t"    "movq          %3, %%mm7        \n\t"    "pxor          %4, %%mm7        \n\t"    "movq       %%mm7, %%mm6        \n\t"    "pxor          %5, %%mm7        \n\t"    ASMALIGN(4)    "1:                             \n\t"    PREFETCH"     32(%1, %0)        \n\t"    "movq           (%1, %0), %%mm0 \n\t"    "movq          8(%1, %0), %%mm1 \n\t"# ifdef HAVE_MMX2    "pshufw      $177, %%mm0, %%mm3 \n\t"    "pshufw      $177, %%mm1, %%mm5 \n\t"    "pand       %%mm7, %%mm0        \n\t"    "pand       %%mm6, %%mm3        \n\t"    "pand       %%mm7, %%mm1        \n\t"    "pand       %%mm6, %%mm5        \n\t"    "por        %%mm3, %%mm0        \n\t"    "por        %%mm5, %%mm1        \n\t"# else    "movq       %%mm0, %%mm2        \n\t"    "movq       %%mm1, %%mm4        \n\t"    "pand       %%mm7, %%mm0        \n\t"    "pand       %%mm6, %%mm2        \n\t"    "pand       %%mm7, %%mm1        \n\t"    "pand       %%mm6, %%mm4        \n\t"    "movq       %%mm2, %%mm3        \n\t"    "movq       %%mm4, %%mm5        \n\t"    "pslld        $16, %%mm2        \n\t"    "psrld        $16, %%mm3        \n\t"    "pslld        $16, %%mm4        \n\t"    "psrld        $16, %%mm5        \n\t"    "por        %%mm2, %%mm0        \n\t"    "por        %%mm4, %%mm1        \n\t"    "por        %%mm3, %%mm0        \n\t"    "por        %%mm5, %%mm1        \n\t"# endif    MOVNTQ"     %%mm0,  (%2, %0)    \n\t"    MOVNTQ"     %%mm1, 8(%2, %0)    \n\t"    "add          $16, %0           \n\t"    "js            1b               \n\t"    SFENCE"                         \n\t"    EMMS"                           \n\t"    "2:                             \n\t"    : "+&r"(idx)    : "r" (s), "r" (d), "m" (mask32b), "m" (mask32r), "m" (mmx_one)    : "memory");#endif    for (; idx<15; idx+=4) {        register int v = *(const uint32_t *)&s[idx], g = v & 0xff00ff00;        v &= 0xff00ff;        *(uint32_t *)&d[idx] = (v>>16) + g + (v<<16);    }}static inline void RENAME(rgb24tobgr24)(const uint8_t *src, uint8_t *dst, long src_size){    unsigned i;#ifdef HAVE_MMX    long mmx_size= 23 - src_size;    asm volatile (    "test             %%"REG_a", %%"REG_a"          \n\t"    "jns                     2f                     \n\t"    "movq     "MANGLE(mask24r)", %%mm5              \n\t"    "movq     "MANGLE(mask24g)", %%mm6              \n\t"    "movq     "MANGLE(mask24b)", %%mm7              \n\t"    ASMALIGN(4)    "1:                                             \n\t"    PREFETCH" 32(%1, %%"REG_a")                     \n\t"    "movq       (%1, %%"REG_a"), %%mm0              \n\t" // BGR BGR BG    "movq       (%1, %%"REG_a"), %%mm1              \n\t" // BGR BGR BG    "movq      2(%1, %%"REG_a"), %%mm2              \n\t" // R BGR BGR B    "psllq                  $16, %%mm0              \n\t" // 00 BGR BGR    "pand                 %%mm5, %%mm0              \n\t"    "pand                 %%mm6, %%mm1              \n\t"    "pand                 %%mm7, %%mm2              \n\t"    "por                  %%mm0, %%mm1              \n\t"    "por                  %%mm2, %%mm1              \n\t"    "movq      6(%1, %%"REG_a"), %%mm0              \n\t" // BGR BGR BG    MOVNTQ"               %%mm1,   (%2, %%"REG_a")  \n\t" // RGB RGB RG    "movq      8(%1, %%"REG_a"), %%mm1              \n\t" // R BGR BGR B    "movq     10(%1, %%"REG_a"), %%mm2              \n\t" // GR BGR BGR    "pand                 %%mm7, %%mm0              \n\t"    "pand                 %%mm5, %%mm1              \n\t"    "pand                 %%mm6, %%mm2              \n\t"    "por                  %%mm0, %%mm1              \n\t"    "por                  %%mm2, %%mm1              \n\t"    "movq     14(%1, %%"REG_a"), %%mm0              \n\t" // R BGR BGR B    MOVNTQ"               %%mm1,  8(%2, %%"REG_a")  \n\t" // B RGB RGB R    "movq     16(%1, %%"REG_a"), %%mm1              \n\t" // GR BGR BGR    "movq     18(%1, %%"REG_a"), %%mm2              \n\t" // BGR BGR BG    "pand                 %%mm6, %%mm0              \n\t"    "pand                 %%mm7, %%mm1              \n\t"    "pand                 %%mm5, %%mm2              \n\t"    "por                  %%mm0, %%mm1              \n\t"    "por                  %%mm2, %%mm1              \n\t"    MOVNTQ"               %%mm1, 16(%2, %%"REG_a")  \n\t"    "add                    $24, %%"REG_a"          \n\t"    " js                     1b                     \n\t"    "2:                                             \n\t"    : "+a" (mmx_size)    : "r" (src-mmx_size), "r"(dst-mmx_size)    );    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");    if (mmx_size==23) return; //finished, was multiple of 8    src+= src_size;    dst+= src_size;    src_size= 23-mmx_size;    src-= src_size;    dst-= src_size;#endif    for (i=0; i<src_size; i+=3)    {        register uint8_t x;        x          = src[i + 2];        dst[i + 1] = src[i + 1];        dst[i + 2] = src[i + 0];        dst[i + 0] = x;    }}static inline void RENAME(yuvPlanartoyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,                                           long width, long height,                                           long lumStride, long chromStride, long dstStride, long vertLumPerChroma){    long y;    const long chromWidth= width>>1;    for (y=0; y<height; y++)    {#ifdef HAVE_MMX//FIXME handle 2 lines at once (fewer prefetches, reuse some chroma, but very likely memory-limited anyway)        asm volatile(        "xor                 %%"REG_a", %%"REG_a"   \n\t"        ASMALIGN(4)        "1:                                         \n\t"        PREFETCH"    32(%1, %%"REG_a", 2)           \n\t"        PREFETCH"    32(%2, %%"REG_a")              \n\t"        PREFETCH"    32(%3, %%"REG_a")              \n\t"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合视频在线观看| 久久免费美女视频| 精品视频999| 欧美日韩三级视频| 欧美日韩国产成人在线91| 成人av在线观| 91丨porny丨蝌蚪视频| 色综合久久综合网| 色激情天天射综合网| 91国偷自产一区二区三区成为亚洲经典 | 国产精品麻豆久久久| 中文字幕高清不卡| 亚洲柠檬福利资源导航| 亚洲国产中文字幕| 日本免费在线视频不卡一不卡二| 亚洲福利视频三区| 琪琪久久久久日韩精品| 久久爱www久久做| 夫妻av一区二区| 99精品国产热久久91蜜凸| 99re这里都是精品| 欧美日韩午夜在线| 精品国产乱码久久久久久老虎| 久久伊99综合婷婷久久伊| 国产视频一区在线播放| 亚洲欧美日本在线| 人人精品人人爱| 国产美女精品人人做人人爽| www.久久精品| 欧美美女一区二区在线观看| 日韩美一区二区三区| 久久久久99精品一区| 中文字幕一区二区在线观看| 香蕉久久一区二区不卡无毒影院 | 免费看欧美女人艹b| 国产一区日韩二区欧美三区| 97精品久久久午夜一区二区三区| 欧美三区在线观看| 久久综合久色欧美综合狠狠| 亚洲欧美综合色| 奇米精品一区二区三区在线观看一| 国产麻豆精品一区二区| 色婷婷av一区| 精品国产精品网麻豆系列| 亚洲免费在线观看视频| 久久精品国产精品亚洲红杏| www.日韩av| 日韩欧美一级二级| 亚洲视频免费观看| 国产在线精品一区在线观看麻豆| 91在线你懂得| 精品国产乱码久久久久久老虎 | 麻豆成人久久精品二区三区红| 国产盗摄精品一区二区三区在线| 在线观看免费一区| 国产欧美精品一区aⅴ影院| 偷窥国产亚洲免费视频| 97精品视频在线观看自产线路二| 欧美一级专区免费大片| 亚洲黄一区二区三区| 国产精品影视网| 6080日韩午夜伦伦午夜伦| 国产精品成人免费精品自在线观看 | 国产欧美日韩另类一区| 亚洲va韩国va欧美va精品| 成人avav在线| 久久久久九九视频| 日韩高清在线一区| 色综合天天视频在线观看| 国产人伦精品一区二区| 久久草av在线| 欧美精品一级二级| 亚洲午夜精品一区二区三区他趣| 成人深夜在线观看| 精品欧美乱码久久久久久| 亚洲成a人在线观看| 99国产精品久久久久久久久久久| 精品国偷自产国产一区| 日本一不卡视频| 欧洲另类一二三四区| 国产精品女主播在线观看| 国产精品99精品久久免费| 欧美v国产在线一区二区三区| 亚洲成av人**亚洲成av**| 在线免费亚洲电影| 一区视频在线播放| 99久久综合精品| 中文乱码免费一区二区| 国产精品一区二区三区四区| 精品久久久久久久久久久久久久久久久| 亚洲444eee在线观看| 日本韩国欧美在线| 亚洲三级免费观看| 91蜜桃传媒精品久久久一区二区| 亚洲欧洲精品一区二区精品久久久 | 国产精品国产三级国产三级人妇| 国产精品综合久久| 国产色婷婷亚洲99精品小说| 国产在线精品一区二区夜色| 精品欧美乱码久久久久久1区2区| 蜜桃av一区二区三区| 精品三级在线看| 国产乱人伦精品一区二区在线观看| 欧美不卡激情三级在线观看| 狠狠色丁香久久婷婷综合丁香| 精品久久久久久亚洲综合网| 精品一区二区三区在线观看| 精品av久久707| 国产麻豆视频一区二区| 国产精品久久久久久久久图文区| av亚洲精华国产精华| 日韩理论在线观看| 欧美三级三级三级| 免费国产亚洲视频| 久久色成人在线| 国产99一区视频免费| 日韩毛片在线免费观看| 欧美婷婷六月丁香综合色| 日韩精品每日更新| www日韩大片| 波多野结衣中文一区| 亚洲欧美日韩国产另类专区| 欧美日韩在线观看一区二区 | 免播放器亚洲一区| 久久一区二区三区国产精品| 国产福利视频一区二区三区| 中文字幕一区在线| 欧美日韩精品专区| 精品亚洲国产成人av制服丝袜| 国产午夜亚洲精品理论片色戒| 97久久精品人人做人人爽50路| 亚洲午夜日本在线观看| 日韩无一区二区| 成人av网站在线观看免费| 亚洲综合小说图片| 欧美变态口味重另类| 北条麻妃国产九九精品视频| 亚洲一区二区三区小说| 日韩欧美一区二区视频| 99久久精品免费精品国产| 日韩精品一级中文字幕精品视频免费观看| 欧美成人免费网站| 日本精品一区二区三区四区的功能| 日韩精品电影一区亚洲| 中文字幕av免费专区久久| 欧美色图免费看| 国产一二精品视频| 一区二区免费视频| xf在线a精品一区二区视频网站| 99久久99久久综合| 天堂在线亚洲视频| 国产精品免费看片| 欧美一区二区日韩| 99久久久国产精品| 麻豆精品视频在线| 亚洲欧美一区二区在线观看| 欧美日韩国产高清一区二区| 国产成人福利片| 男男成人高潮片免费网站| 自拍偷自拍亚洲精品播放| 欧美tk—视频vk| 色94色欧美sute亚洲线路一久 | 国产**成人网毛片九色| 亚洲h在线观看| 国产精品美女视频| 日韩美女一区二区三区四区| 色哟哟一区二区在线观看| 国产一区中文字幕| 丝袜美腿高跟呻吟高潮一区| 亚洲人成在线播放网站岛国| 久久亚洲精精品中文字幕早川悠里| 欧美亚一区二区| jizzjizzjizz欧美| 国产精品77777竹菊影视小说| 视频一区视频二区中文| 亚洲色图一区二区| 国产精品污污网站在线观看| 欧美r级在线观看| 欧美男女性生活在线直播观看| 91丨九色丨尤物| 岛国一区二区在线观看| 久久99国产精品久久99果冻传媒| 亚洲不卡av一区二区三区| 一区二区免费视频| 亚洲品质自拍视频网站| 国产精品久久久久四虎| 国产精品污污网站在线观看| 久久免费的精品国产v∧| 欧美一区二区三区视频在线观看| 91蝌蚪国产九色| 99视频有精品| 成人免费视频一区二区| 国产精品综合二区| 国产综合一区二区| 激情欧美一区二区| 久久97超碰色| 国产综合色在线| 国产成人在线网站| 高清不卡一二三区| av成人免费在线|