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

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

?? rgb2rgb_template.c.svn-base

?? ffmpeg最新源碼
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號(hào):
    "add           $16,  %1     \n\t"    "add            $8,  %0     \n\t"    "2:                         \n\t"    "cmp            %2,  %1     \n\t"    " jb            1b          \n\t"    : "+r" (d), "+r"(s)    : "r" (mm_end), "m" (mask3216g), "m" (mask3216br), "m" (mul3216)    );#else    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq    %0, %%mm7    \n\t"        "movq    %1, %%mm6    \n\t"        ::"m"(red_16mask),"m"(green_16mask));    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         4%1, %%mm3    \n\t"        "punpckldq    8%1, %%mm0    \n\t"        "punpckldq   12%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psrlq         $3, %%mm0    \n\t"        "psrlq         $3, %%mm3    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %2, %%mm3    \n\t"        "psrlq         $5, %%mm1    \n\t"        "psrlq         $5, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"        "psrlq         $8, %%mm2    \n\t"        "psrlq         $8, %%mm5    \n\t"        "pand       %%mm7, %%mm2    \n\t"        "pand       %%mm7, %%mm5    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm5, %%mm3    \n\t"        "psllq        $16, %%mm3    \n\t"        "por        %%mm3, %%mm0    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        :"=m"(*d):"m"(*s),"m"(blue_16mask):"memory");        d += 4;        s += 16;    }#endif    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register int rgb = *(const uint32_t*)s; s += 4;        *d++ = ((rgb&0xFF)>>3) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>8);    }}static inline void RENAME(rgb32tobgr16)(const uint8_t *src, uint8_t *dst, long src_size){    const uint8_t *s = src;    const uint8_t *end;#ifdef HAVE_MMX    const uint8_t *mm_end;#endif    uint16_t *d = (uint16_t *)dst;    end = s + src_size;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq          %0, %%mm7    \n\t"        "movq          %1, %%mm6    \n\t"        ::"m"(red_16mask),"m"(green_16mask));    mm_end = end - 15;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         4%1, %%mm3    \n\t"        "punpckldq    8%1, %%mm0    \n\t"        "punpckldq   12%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psllq         $8, %%mm0    \n\t"        "psllq         $8, %%mm3    \n\t"        "pand       %%mm7, %%mm0    \n\t"        "pand       %%mm7, %%mm3    \n\t"        "psrlq         $5, %%mm1    \n\t"        "psrlq         $5, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"        "psrlq        $19, %%mm2    \n\t"        "psrlq        $19, %%mm5    \n\t"        "pand          %2, %%mm2    \n\t"        "pand          %2, %%mm5    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm5, %%mm3    \n\t"        "psllq        $16, %%mm3    \n\t"        "por        %%mm3, %%mm0    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        :"=m"(*d):"m"(*s),"m"(blue_16mask):"memory");        d += 4;        s += 16;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register int rgb = *(const uint32_t*)s; s += 4;        *d++ = ((rgb&0xF8)<<8) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>19);    }}static inline void RENAME(rgb32to15)(const uint8_t *src, uint8_t *dst, long src_size){    const uint8_t *s = src;    const uint8_t *end;#ifdef HAVE_MMX    const uint8_t *mm_end;#endif    uint16_t *d = (uint16_t *)dst;    end = s + src_size;#ifdef HAVE_MMX    mm_end = end - 15;#if 1 //is faster only if multiplies are reasonably fast (FIXME figure out on which CPUs this is faster, on Athlon it is slightly faster)    asm volatile(    "movq           %3, %%mm5   \n\t"    "movq           %4, %%mm6   \n\t"    "movq           %5, %%mm7   \n\t"    "jmp            2f          \n\t"    ASMALIGN(4)    "1:                         \n\t"    PREFETCH"   32(%1)          \n\t"    "movd         (%1), %%mm0   \n\t"    "movd        4(%1), %%mm3   \n\t"    "punpckldq   8(%1), %%mm0   \n\t"    "punpckldq  12(%1), %%mm3   \n\t"    "movq        %%mm0, %%mm1   \n\t"    "movq        %%mm3, %%mm4   \n\t"    "pand        %%mm6, %%mm0   \n\t"    "pand        %%mm6, %%mm3   \n\t"    "pmaddwd     %%mm7, %%mm0   \n\t"    "pmaddwd     %%mm7, %%mm3   \n\t"    "pand        %%mm5, %%mm1   \n\t"    "pand        %%mm5, %%mm4   \n\t"    "por         %%mm1, %%mm0   \n\t"    "por         %%mm4, %%mm3   \n\t"    "psrld          $6, %%mm0   \n\t"    "pslld         $10, %%mm3   \n\t"    "por         %%mm3, %%mm0   \n\t"    MOVNTQ"      %%mm0, (%0)    \n\t"    "add           $16,  %1     \n\t"    "add            $8,  %0     \n\t"    "2:                         \n\t"    "cmp            %2,  %1     \n\t"    " jb            1b          \n\t"    : "+r" (d), "+r"(s)    : "r" (mm_end), "m" (mask3215g), "m" (mask3216br), "m" (mul3215)    );#else    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq          %0, %%mm7    \n\t"        "movq          %1, %%mm6    \n\t"        ::"m"(red_15mask),"m"(green_15mask));    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         4%1, %%mm3    \n\t"        "punpckldq    8%1, %%mm0    \n\t"        "punpckldq   12%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psrlq         $3, %%mm0    \n\t"        "psrlq         $3, %%mm3    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %2, %%mm3    \n\t"        "psrlq         $6, %%mm1    \n\t"        "psrlq         $6, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"        "psrlq         $9, %%mm2    \n\t"        "psrlq         $9, %%mm5    \n\t"        "pand       %%mm7, %%mm2    \n\t"        "pand       %%mm7, %%mm5    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm5, %%mm3    \n\t"        "psllq        $16, %%mm3    \n\t"        "por        %%mm3, %%mm0    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        :"=m"(*d):"m"(*s),"m"(blue_15mask):"memory");        d += 4;        s += 16;    }#endif    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register int rgb = *(const uint32_t*)s; s += 4;        *d++ = ((rgb&0xFF)>>3) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>9);    }}static inline void RENAME(rgb32tobgr15)(const uint8_t *src, uint8_t *dst, long src_size){    const uint8_t *s = src;    const uint8_t *end;#ifdef HAVE_MMX    const uint8_t *mm_end;#endif    uint16_t *d = (uint16_t *)dst;    end = s + src_size;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq          %0, %%mm7    \n\t"        "movq          %1, %%mm6    \n\t"        ::"m"(red_15mask),"m"(green_15mask));    mm_end = end - 15;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         4%1, %%mm3    \n\t"        "punpckldq    8%1, %%mm0    \n\t"        "punpckldq   12%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psllq         $7, %%mm0    \n\t"        "psllq         $7, %%mm3    \n\t"        "pand       %%mm7, %%mm0    \n\t"        "pand       %%mm7, %%mm3    \n\t"        "psrlq         $6, %%mm1    \n\t"        "psrlq         $6, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"        "psrlq        $19, %%mm2    \n\t"        "psrlq        $19, %%mm5    \n\t"        "pand          %2, %%mm2    \n\t"        "pand          %2, %%mm5    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm5, %%mm3    \n\t"        "psllq        $16, %%mm3    \n\t"        "por        %%mm3, %%mm0    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        :"=m"(*d):"m"(*s),"m"(blue_15mask):"memory");        d += 4;        s += 16;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        register int rgb = *(const uint32_t*)s; s += 4;        *d++ = ((rgb&0xF8)<<7) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>19);    }}static inline void RENAME(rgb24to16)(const uint8_t *src, uint8_t *dst, long src_size){    const uint8_t *s = src;    const uint8_t *end;#ifdef HAVE_MMX    const uint8_t *mm_end;#endif    uint16_t *d = (uint16_t *)dst;    end = s + src_size;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq         %0, %%mm7     \n\t"        "movq         %1, %%mm6     \n\t"        ::"m"(red_16mask),"m"(green_16mask));    mm_end = end - 11;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         3%1, %%mm3    \n\t"        "punpckldq    6%1, %%mm0    \n\t"        "punpckldq    9%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psrlq         $3, %%mm0    \n\t"        "psrlq         $3, %%mm3    \n\t"        "pand          %2, %%mm0    \n\t"        "pand          %2, %%mm3    \n\t"        "psrlq         $5, %%mm1    \n\t"        "psrlq         $5, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"        "psrlq         $8, %%mm2    \n\t"        "psrlq         $8, %%mm5    \n\t"        "pand       %%mm7, %%mm2    \n\t"        "pand       %%mm7, %%mm5    \n\t"        "por        %%mm1, %%mm0    \n\t"        "por        %%mm4, %%mm3    \n\t"        "por        %%mm2, %%mm0    \n\t"        "por        %%mm5, %%mm3    \n\t"        "psllq        $16, %%mm3    \n\t"        "por        %%mm3, %%mm0    \n\t"        MOVNTQ"     %%mm0, %0       \n\t"        :"=m"(*d):"m"(*s),"m"(blue_16mask):"memory");        d += 4;        s += 12;    }    asm volatile(SFENCE:::"memory");    asm volatile(EMMS:::"memory");#endif    while (s < end)    {        const int b = *s++;        const int g = *s++;        const int r = *s++;        *d++ = (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8);    }}static inline void RENAME(rgb24tobgr16)(const uint8_t *src, uint8_t *dst, long src_size){    const uint8_t *s = src;    const uint8_t *end;#ifdef HAVE_MMX    const uint8_t *mm_end;#endif    uint16_t *d = (uint16_t *)dst;    end = s + src_size;#ifdef HAVE_MMX    asm volatile(PREFETCH"    %0"::"m"(*src):"memory");    asm volatile(        "movq         %0, %%mm7     \n\t"        "movq         %1, %%mm6     \n\t"        ::"m"(red_16mask),"m"(green_16mask));    mm_end = end - 15;    while (s < mm_end)    {        asm volatile(        PREFETCH"    32%1           \n\t"        "movd          %1, %%mm0    \n\t"        "movd         3%1, %%mm3    \n\t"        "punpckldq    6%1, %%mm0    \n\t"        "punpckldq    9%1, %%mm3    \n\t"        "movq       %%mm0, %%mm1    \n\t"        "movq       %%mm0, %%mm2    \n\t"        "movq       %%mm3, %%mm4    \n\t"        "movq       %%mm3, %%mm5    \n\t"        "psllq         $8, %%mm0    \n\t"        "psllq         $8, %%mm3    \n\t"        "pand       %%mm7, %%mm0    \n\t"        "pand       %%mm7, %%mm3    \n\t"        "psrlq         $5, %%mm1    \n\t"        "psrlq         $5, %%mm4    \n\t"        "pand       %%mm6, %%mm1    \n\t"        "pand       %%mm6, %%mm4    \n\t"

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区精华| 亚洲综合色在线| 色一区在线观看| 国产原创一区二区| 日韩福利电影在线| 亚洲一区二区高清| 亚洲视频在线观看三级| 国产精品国产三级国产专播品爱网| 日韩女优电影在线观看| 日本不卡视频在线| 麻豆中文一区二区| 国产精品嫩草99a| 久久午夜羞羞影院免费观看| 欧美三级电影一区| 欧美私人免费视频| 成人综合在线观看| 国产很黄免费观看久久| 精品写真视频在线观看| 爽爽淫人综合网网站| 亚洲成人7777| 亚洲mv在线观看| 亚洲精品福利视频网站| 午夜精品影院在线观看| 亚洲精品老司机| 中文字幕 久热精品 视频在线| 日本一区二区三区dvd视频在线 | 国产98色在线|日韩| 国模无码大尺度一区二区三区| 亚洲午夜久久久久久久久电影院| 亚洲午夜在线电影| 奇米影视一区二区三区| 久久国产精品色婷婷| 久久99日本精品| 成人听书哪个软件好| 成人性生交大片免费看在线播放| 成人一道本在线| 成人的网站免费观看| 99久久伊人网影院| 日本高清视频一区二区| 在线观看一区二区精品视频| 欧美日韩高清一区二区不卡| 欧美日韩aaa| 欧美成人r级一区二区三区| 精品久久久久99| 亚洲国产精品精华液2区45| 欧美一级黄色录像| 欧美激情综合在线| 亚洲日本在线视频观看| 一区二区三区四区在线播放| 日韩不卡在线观看日韩不卡视频| 理论电影国产精品| 久久爱www久久做| 成人ar影院免费观看视频| 色噜噜狠狠色综合中国| 欧美日韩欧美一区二区| 26uuu色噜噜精品一区二区| 中文字幕在线免费不卡| 亚洲欧美日韩国产一区二区三区| 亚洲成人三级小说| 国产一区二区免费看| 成人激情免费网站| 欧美日韩成人综合天天影院| 久久久久久电影| 国产精品二区一区二区aⅴ污介绍| 亚洲乱码国产乱码精品精小说| 日韩精品电影一区亚洲| 国产成人a级片| 欧美美女直播网站| 久久久不卡影院| 国产精品成人网| 日日夜夜精品视频天天综合网| 国产乱人伦精品一区二区在线观看 | 欧美一区二区黄色| 国产无一区二区| 亚洲va欧美va人人爽| 极品销魂美女一区二区三区| 91香蕉国产在线观看软件| 欧美一区二区网站| 亚洲色图.com| 精品无人区卡一卡二卡三乱码免费卡| jvid福利写真一区二区三区| 欧美日韩一区二区在线观看| 欧美高清在线精品一区| 久久99热这里只有精品| 欧美日韩一区二区在线观看视频| 国产欧美精品区一区二区三区| 日韩在线卡一卡二| 91亚洲精华国产精华精华液| 91精品国产欧美一区二区18| 国产精品家庭影院| 国内精品不卡在线| 69成人精品免费视频| 亚洲美女在线国产| 国产成人精品一区二| 欧美精品三级日韩久久| 一区二区三区在线视频免费| 国产999精品久久| 国产午夜精品久久| 久久精品国产**网站演员| 99久久99久久精品免费看蜜桃| 精品国产麻豆免费人成网站| 亚洲电影第三页| 欧美日韩一区二区三区四区| 亚洲人精品午夜| www..com久久爱| 国产日产欧产精品推荐色| 麻豆国产一区二区| 欧美大白屁股肥臀xxxxxx| 亚洲成a人v欧美综合天堂下载| 99re66热这里只有精品3直播| 亚洲欧洲三级电影| 国产精品羞羞答答xxdd| 色婷婷久久久久swag精品 | 91丨国产丨九色丨pron| 国产欧美一区二区在线| 国产一区二区福利视频| 精品国产区一区| 久久99最新地址| 欧美精选一区二区| 国产精品不卡视频| 91免费视频网| 亚洲精品欧美专区| 精品视频一区二区不卡| 午夜视频在线观看一区二区三区| 91国偷自产一区二区使用方法| 亚洲精品中文字幕在线观看| 91婷婷韩国欧美一区二区| 亚洲国产婷婷综合在线精品| 欧美无人高清视频在线观看| 亚洲尤物在线视频观看| 欧美一区二区在线看| 青草av.久久免费一区| 欧美天天综合网| 日韩av电影免费观看高清完整版在线观看| 亚洲一区中文在线| 91激情在线视频| 蜜桃视频在线一区| 91精品国产综合久久精品麻豆| 午夜视频久久久久久| 精品噜噜噜噜久久久久久久久试看| 久久99热99| 精品免费一区二区三区| 国产成人av影院| 中文字幕中文字幕在线一区| 欧美色视频在线| 日本伊人色综合网| 日韩亚洲欧美综合| 成人h版在线观看| 亚洲精品精品亚洲| 欧美一区二区免费| 国产精品一二三| 亚洲欧洲制服丝袜| 欧美r级电影在线观看| 国产成人av一区二区三区在线| 国产欧美一区二区三区鸳鸯浴 | 日韩高清在线电影| 国产午夜三级一区二区三| 色综合天天综合色综合av| 亚洲第一电影网| 国产欧美精品一区aⅴ影院| 色欧美日韩亚洲| 亚洲一区二区三区四区在线免费观看 | 欧美一区二区三区的| 国产精品综合二区| 一级女性全黄久久生活片免费| 日韩精品中文字幕在线一区| 国产精品1区二区.| 日韩电影在线观看电影| 久久欧美中文字幕| 在线观看精品一区| 成人三级伦理片| 午夜精品影院在线观看| 国产精品成人免费在线| 91精品国产高清一区二区三区| 丁香激情综合国产| 亚洲gay无套男同| 国产三级精品三级在线专区| 欧美午夜电影一区| 国产成人aaa| 亚洲精品视频在线观看免费| 国产日韩视频一区二区三区| 欧美少妇性性性| 激情久久五月天| 亚洲综合在线视频| 久久九九久久九九| 欧美va亚洲va在线观看蝴蝶网| 91论坛在线播放| 日韩电影在线免费| 五月天丁香久久| 国产精品成人免费精品自在线观看| 欧美精品一区二区三区高清aⅴ| 日本精品一级二级| 国产露脸91国语对白| 免费在线观看视频一区| 亚洲三级电影全部在线观看高清| 日韩免费在线观看| 欧美日产国产精品| av电影在线不卡| 成人av资源在线| 激情图片小说一区|