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

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

?? mc-a2.asm

?? 從服務器上下的x264編碼器C源碼……希望對大家有幫助……這個是09年4月的
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
%macro HPEL 1;-----------------------------------------------------------------------------; void x264_hpel_filter_sse2( uint8_t *dsth, uint8_t *dstv, uint8_t *dstc,;                             uint8_t *src, int stride, int width, int height);-----------------------------------------------------------------------------cglobal x264_hpel_filter_%1, 7,7,16%ifdef WIN64    movsxd   r4, r4d    movsxd   r5, r5d%endif    mov      r10, r3    sub       r5, 16    mov      r11, r1    and      r10, 15    sub       r3, r10    add       r0, r5    add      r11, r5    add      r10, r5    add       r5, r2    mov       r2, r4    neg      r10    lea       r1, [r3+r2]    sub       r3, r2    sub       r3, r2    mov       r4, r10%ifidn %1, sse2    pxor      m0, m0%endif    pcmpeqw  m15, m15    psrlw    m15, 15 ; pw_1    psllw    m15, 4;ALIGN 16.loopy:; first filter_v; prefetching does not help here! lots of variants tested, all slower    DO_FILT_V m8, m7, m13, m12, 0, %1;ALIGN 16.loopx:    DO_FILT_V m6, m5, m11, m10, 16, %1.lastx:    paddw    m15, m15    DO_FILT_CC m9, m8, m7, m6    movdqa   m7, m12        ; not really necessary, but seems free and    movdqa   m6, m11	     ; gives far shorter code    psrlw    m15, 5    DO_FILT_HH m14, m13, m7, m6    psllw    m15, 4 ; pw_16    movdqa   m7, m5    movdqa  m12, m10    add      r4, 16    jl .loopx    cmp      r4, 16    jl .lastx; setup regs for next y    sub      r4, r10    sub      r4, r2    sub      r1, r4    sub      r3, r4    add      r0, r2    add     r11, r2    add      r5, r2    mov      r4, r10    sub     r6d, 1    jg .loopy    sfence    RET%endmacro%define PALIGNR PALIGNR_MMXHPEL sse2%define PALIGNR PALIGNR_SSSE3HPEL ssse3%endifcglobal x264_sfence    sfence    ret;-----------------------------------------------------------------------------; void x264_plane_copy_mmxext( uint8_t *dst, int i_dst,;                              uint8_t *src, int i_src, int w, int h);-----------------------------------------------------------------------------cglobal x264_plane_copy_mmxext, 6,7    movsxdifnidn r1, r1d    movsxdifnidn r3, r3d    add    r4d, 3    and    r4d, ~3    mov    r6d, r4d    and    r6d, ~15    sub    r1,  r6    sub    r3,  r6.loopy:    mov    r6d, r4d    sub    r6d, 64    jl     .endx.loopx:    prefetchnta [r2+256]    movq   mm0, [r2   ]    movq   mm1, [r2+ 8]    movq   mm2, [r2+16]    movq   mm3, [r2+24]    movq   mm4, [r2+32]    movq   mm5, [r2+40]    movq   mm6, [r2+48]    movq   mm7, [r2+56]    movntq [r0   ], mm0    movntq [r0+ 8], mm1    movntq [r0+16], mm2    movntq [r0+24], mm3    movntq [r0+32], mm4    movntq [r0+40], mm5    movntq [r0+48], mm6    movntq [r0+56], mm7    add    r2,  64    add    r0,  64    sub    r6d, 64    jge    .loopx.endx:    prefetchnta [r2+256]    add    r6d, 48    jl .end16.loop16:    movq   mm0, [r2  ]    movq   mm1, [r2+8]    movntq [r0  ], mm0    movntq [r0+8], mm1    add    r2,  16    add    r0,  16    sub    r6d, 16    jge    .loop16.end16:    add    r6d, 12    jl .end4.loop4:    movd   mm2, [r2+r6]    movd   [r0+r6], mm2    sub    r6d, 4    jge .loop4.end4:    add    r2, r3    add    r0, r1    dec    r5d    jg     .loopy    sfence    emms    RET; These functions are not general-use; not only do the SSE ones require aligned input,; but they also will fail if given a non-mod16 size or a size less than 64.; memzero SSE will fail for non-mod128.;-----------------------------------------------------------------------------; void *x264_memcpy_aligned_mmx( void *dst, const void *src, size_t n );;-----------------------------------------------------------------------------cglobal x264_memcpy_aligned_mmx, 3,3    test r2d, 16    jz .copy32    sub r2d, 16    movq mm0, [r1 + r2 + 0]    movq mm1, [r1 + r2 + 8]    movq [r0 + r2 + 0], mm0    movq [r0 + r2 + 8], mm1.copy32:    sub r2d, 32    movq mm0, [r1 + r2 +  0]    movq mm1, [r1 + r2 +  8]    movq mm2, [r1 + r2 + 16]    movq mm3, [r1 + r2 + 24]    movq [r0 + r2 +  0], mm0    movq [r0 + r2 +  8], mm1    movq [r0 + r2 + 16], mm2    movq [r0 + r2 + 24], mm3    jg .copy32    REP_RET;-----------------------------------------------------------------------------; void *x264_memcpy_aligned_sse2( void *dst, const void *src, size_t n );;-----------------------------------------------------------------------------cglobal x264_memcpy_aligned_sse2, 3,3    test r2d, 16    jz .copy32    sub r2d, 16    movdqa xmm0, [r1 + r2]    movdqa [r0 + r2], xmm0.copy32:    test r2d, 32    jz .copy64    sub r2d, 32    movdqa xmm0, [r1 + r2 +  0]    movdqa [r0 + r2 +  0], xmm0    movdqa xmm1, [r1 + r2 + 16]    movdqa [r0 + r2 + 16], xmm1.copy64:    sub r2d, 64    movdqa xmm0, [r1 + r2 +  0]    movdqa [r0 + r2 +  0], xmm0    movdqa xmm1, [r1 + r2 + 16]    movdqa [r0 + r2 + 16], xmm1    movdqa xmm2, [r1 + r2 + 32]    movdqa [r0 + r2 + 32], xmm2    movdqa xmm3, [r1 + r2 + 48]    movdqa [r0 + r2 + 48], xmm3    jg .copy64    REP_RET;-----------------------------------------------------------------------------; void *x264_memzero_aligned( void *dst, size_t n );;-----------------------------------------------------------------------------%macro MEMZERO 1cglobal x264_memzero_aligned_%1, 2,2    pxor m0, m0.loop:    sub r1d, mmsize*8%assign i 0%rep 8    mova [r0 + r1 + i], m0%assign i i+mmsize%endrep    jg .loop    REP_RET%endmacroINIT_MMXMEMZERO mmxINIT_XMMMEMZERO sse2;-----------------------------------------------------------------------------; void x264_integral_init4h_sse4( uint16_t *sum, uint8_t *pix, int stride );-----------------------------------------------------------------------------cglobal x264_integral_init4h_sse4, 3,4    lea     r3, [r0+r2*2]    add     r1, r2    neg     r2    pxor    m4, m4.loop:    movdqa  m0, [r1+r2]    movdqa  m1, [r1+r2+16]    palignr m1, m0, 8    mpsadbw m0, m4, 0    mpsadbw m1, m4, 0    paddw   m0, [r0+r2*2]    paddw   m1, [r0+r2*2+16]    movdqa  [r3+r2*2   ], m0    movdqa  [r3+r2*2+16], m1    add     r2, 16    jl .loop    REP_RETcglobal x264_integral_init8h_sse4, 3,4    lea     r3, [r0+r2*2]    add     r1, r2    neg     r2    pxor    m4, m4.loop:    movdqa  m0, [r1+r2]    movdqa  m1, [r1+r2+16]    palignr m1, m0, 8    movdqa  m2, m0    movdqa  m3, m1    mpsadbw m0, m4, 0    mpsadbw m1, m4, 0    mpsadbw m2, m4, 4    mpsadbw m3, m4, 4    paddw   m0, [r0+r2*2]    paddw   m1, [r0+r2*2+16]    paddw   m0, m2    paddw   m1, m3    movdqa  [r3+r2*2   ], m0    movdqa  [r3+r2*2+16], m1    add     r2, 16    jl .loop    REP_RET%macro INTEGRAL_INIT 1;-----------------------------------------------------------------------------; void x264_integral_init4v_mmx( uint16_t *sum8, uint16_t *sum4, int stride );-----------------------------------------------------------------------------cglobal x264_integral_init4v_%1, 3,5    shl   r2, 1    add   r0, r2    add   r1, r2    lea   r3, [r0+r2*4]    lea   r4, [r0+r2*8]    neg   r2.loop:    movu  m0, [r0+r2+8]    mova  m2, [r0+r2]    movu  m1, [r4+r2+8]    paddw m0, m2    paddw m1, [r4+r2]    mova  m3, [r3+r2]    psubw m1, m0    psubw m3, m2    mova  [r0+r2], m1    mova  [r1+r2], m3    add   r2, mmsize    jl .loop    REP_RET;-----------------------------------------------------------------------------; void x264_integral_init8v_mmx( uint16_t *sum8, int stride );-----------------------------------------------------------------------------cglobal x264_integral_init8v_%1, 3,3    shl   r1, 1    add   r0, r1    lea   r2, [r0+r1*8]    neg   r1.loop:    mova  m0, [r2+r1]    mova  m1, [r2+r1+mmsize]    psubw m0, [r0+r1]    psubw m1, [r0+r1+mmsize]    mova  [r0+r1], m0    mova  [r0+r1+mmsize], m1    add   r1, 2*mmsize    jl .loop    REP_RET%endmacroINIT_MMXINTEGRAL_INIT mmxINIT_XMMINTEGRAL_INIT sse2%macro FILT8x4 7    mova      %3, [r0+%7]    mova      %4, [r0+r5+%7]    pavgb     %3, %4    pavgb     %4, [r0+r5*2+%7]    PALIGNR   %1, %3, 1, m6    PALIGNR   %2, %4, 1, m6    pavgb     %1, %3    pavgb     %2, %4    mova      %5, %1    mova      %6, %2    pand      %1, m7    pand      %2, m7    psrlw     %5, 8    psrlw     %6, 8%endmacro%macro FILT16x2 4    mova      m3, [r0+%4+mmsize]    mova      m2, [r0+%4]    pavgb     m3, [r0+%4+r5+mmsize]    pavgb     m2, [r0+%4+r5]    PALIGNR   %1, m3, 1, m6    pavgb     %1, m3    PALIGNR   m3, m2, 1, m6    pavgb     m3, m2    mova      m5, m3    mova      m4, %1    pand      m3, m7    pand      %1, m7    psrlw     m5, 8    psrlw     m4, 8    packuswb  m3, %1    packuswb  m5, m4    mova    [%2], m3    mova    [%3], m5    mova      %1, m2%endmacro%macro FILT8x2U 3    mova      m3, [r0+%3+8]    mova      m2, [r0+%3]    pavgb     m3, [r0+%3+r5+8]    pavgb     m2, [r0+%3+r5]    mova      m1, [r0+%3+9]    mova      m0, [r0+%3+1]    pavgb     m1, [r0+%3+r5+9]    pavgb     m0, [r0+%3+r5+1]    pavgb     m1, m3    pavgb     m0, m2    mova      m3, m1    mova      m2, m0    pand      m1, m7    pand      m0, m7    psrlw     m3, 8    psrlw     m2, 8    packuswb  m0, m1    packuswb  m2, m3    mova    [%1], m0    mova    [%2], m2%endmacro;-----------------------------------------------------------------------------; void frame_init_lowres_core( uint8_t *src0, uint8_t *dst0, uint8_t *dsth, uint8_t *dstv, uint8_t *dstc,;                              int src_stride, int dst_stride, int width, int height );-----------------------------------------------------------------------------%macro FRAME_INIT_LOWRES 1-2 0 ; FIXMEcglobal x264_frame_init_lowres_core_%1, 6,7,%2%ifdef WIN64    movsxd   r5, r5d%endif    ; src += 2*(height-1)*stride + 2*width    mov      r6d, r8m    dec      r6d    imul     r6d, r5d    add      r6d, r7m    lea       r0, [r0+r6*2]    ; dst += (height-1)*stride + width    mov      r6d, r8m    dec      r6d    imul     r6d, r6m    add      r6d, r7m    add       r1, r6    add       r2, r6    add       r3, r6    add       r4, r6    ; gap = stride - width    mov      r6d, r6m    sub      r6d, r7m    PUSH      r6    %define dst_gap [rsp+gprsize]    mov      r6d, r5d    sub      r6d, r7m    shl      r6d, 1    PUSH      r6    %define src_gap [rsp]%if mmsize == 16    ; adjust for the odd end case    mov      r6d, r7m    and      r6d, 8    sub       r1, r6    sub       r2, r6    sub       r3, r6    sub       r4, r6    add  dst_gap, r6d%endif ; mmsize    pcmpeqb   m7, m7    psrlw     m7, 8.vloop:    mov      r6d, r7m%ifnidn %1, mmxext    mova      m0, [r0]    mova      m1, [r0+r5]    pavgb     m0, m1    pavgb     m1, [r0+r5*2]%endif%if mmsize == 16    test     r6d, 8    jz .hloop    sub       r0, 16    FILT8x4   m0, m1, m2, m3, m4, m5, 0    packuswb  m0, m4    packuswb  m1, m5    movq    [r1], m0    movhps  [r2], m0    movq    [r3], m1    movhps  [r4], m1    mova      m0, m2    mova      m1, m3    sub      r6d, 8%endif ; mmsize.hloop:    sub       r0, mmsize*2    sub       r1, mmsize    sub       r2, mmsize    sub       r3, mmsize    sub       r4, mmsize%ifdef m8    FILT8x4   m0, m1, m2, m3, m10, m11, mmsize    mova      m8, m0    mova      m9, m1    FILT8x4   m2, m3, m0, m1, m4, m5, 0    packuswb  m2, m8    packuswb  m3, m9    packuswb  m4, m10    packuswb  m5, m11    mova    [r1], m2    mova    [r2], m4    mova    [r3], m3    mova    [r4], m5%elifidn %1, mmxext    FILT8x2U  r1, r2, 0    FILT8x2U  r3, r4, r5%else    FILT16x2  m0, r1, r2, 0    FILT16x2  m1, r3, r4, r5%endif    sub      r6d, mmsize    jg .hloop.skip:    mov       r6, dst_gap    sub       r0, src_gap    sub       r1, r6    sub       r2, r6    sub       r3, r6    sub       r4, r6    dec    dword r8m    jg .vloop    ADD      rsp, 2*gprsize    emms    RET%endmacro ; FRAME_INIT_LOWRESINIT_MMX%define PALIGNR PALIGNR_MMXFRAME_INIT_LOWRES mmxext%ifndef ARCH_X86_64FRAME_INIT_LOWRES cache32_mmxext%endifINIT_XMMFRAME_INIT_LOWRES sse2, 12%define PALIGNR PALIGNR_SSSE3FRAME_INIT_LOWRES ssse3, 12

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
图片区日韩欧美亚洲| 97久久久精品综合88久久| 久久99国内精品| 成人丝袜高跟foot| 欧美日韩国产123区| 国产日韩欧美高清在线| 亚洲成人资源网| thepron国产精品| 国产午夜亚洲精品午夜鲁丝片| 一区二区欧美精品| www.在线成人| 欧美日韩国产在线播放网站| 亚洲欧洲日韩一区二区三区| 国产在线一区二区| 欧美精品久久99| 亚洲综合激情另类小说区| 国产91在线|亚洲| 日韩丝袜美女视频| 五月婷婷另类国产| 欧美日本国产一区| 一区二区三区毛片| 91视频.com| 《视频一区视频二区| 国产成人免费在线| 欧美大片日本大片免费观看| 日韩av一二三| 欧美一区二区精品| 日本在线播放一区二区三区| 精品1区2区3区| 亚洲第一主播视频| 欧美日韩国产a| 日韩国产在线一| 欧美久久一二区| 日韩在线一二三区| 欧美日韩一区二区在线观看 | 成人在线视频一区| 久久奇米777| 国产很黄免费观看久久| 国产色婷婷亚洲99精品小说| 蜜桃91丨九色丨蝌蚪91桃色| 蜜臀国产一区二区三区在线播放| 高清在线观看日韩| 国产成人av福利| 国产午夜精品一区二区三区嫩草| 国产一区二区三区蝌蚪| 欧美精品一区二区三区高清aⅴ| 韩国女主播一区| 国产午夜精品美女毛片视频| 成人深夜视频在线观看| 中文字幕字幕中文在线中不卡视频| 91网址在线看| 亚洲成人精品一区二区| 日韩精品一区二区三区四区| 国产中文一区二区三区| 国产精品久久毛片a| 在线影视一区二区三区| 日本一道高清亚洲日美韩| 久久综合九色综合欧美就去吻| 成人综合在线视频| 亚洲综合一区二区三区| 日韩欧美国产一区二区三区| 成人综合婷婷国产精品久久 | 午夜影院在线观看欧美| 91精品国产一区二区| 国产美女视频91| 亚洲欧美日韩成人高清在线一区| 欧美日韩在线直播| 国产成人鲁色资源国产91色综| 亚洲免费伊人电影| 日韩一级黄色大片| 色综合久久综合网| 国产一区二区三区在线观看精品 | 午夜精品福利久久久| 久久久久亚洲综合| 欧美另类videos死尸| 国产成人精品亚洲午夜麻豆| 污片在线观看一区二区| 国产精品美女久久久久aⅴ国产馆| 欧美中文字幕一区二区三区| 国产成人8x视频一区二区| 亚洲福利视频一区二区| 国产精品久久久久桃色tv| 制服丝袜亚洲色图| 一道本成人在线| 国产精品影视网| 日韩avvvv在线播放| 亚洲一区二区影院| 国产精品久久久久久久蜜臀| 日韩欧美区一区二| 欧美久久久一区| 色综合久久久久综合体| proumb性欧美在线观看| 国产露脸91国语对白| 日本成人在线网站| 亚洲综合区在线| 日韩一区欧美一区| 中文文精品字幕一区二区| 日韩欧美激情四射| 91麻豆精品国产91久久久使用方法 | 看片的网站亚洲| 亚洲午夜精品在线| 亚洲裸体xxx| 国产精品成人在线观看| 久久久国产精品午夜一区ai换脸| 日韩美女视频在线| 666欧美在线视频| 91.麻豆视频| 欧美肥胖老妇做爰| 欧美老女人在线| 欧美另类videos死尸| 欧美日韩精品是欧美日韩精品| 日韩精品一区二区三区在线播放| 欧美性极品少妇| 1024成人网| 亚洲视频1区2区| 日韩欧美激情四射| 99久久精品国产精品久久| 亚洲欧美激情插| 欧美成va人片在线观看| 色视频一区二区| 欧美性色黄大片| 国产精品一区二区免费不卡| 99国产精品99久久久久久| 国产超碰在线一区| 成人国产一区二区三区精品| 国产白丝网站精品污在线入口| 精品一区二区三区免费播放| 久久精品国产99| 国产在线视频不卡二| 国产成人午夜精品影院观看视频 | 欧美午夜电影一区| 欧美视频在线观看一区| 91精品一区二区三区在线观看| 91精品中文字幕一区二区三区| 日韩精品一区二区在线观看| 日韩一区二区免费电影| 久久久久久久久久久久久夜| 国产精品久久久久久久久免费相片| 日韩美女视频一区二区 | 国产精品色噜噜| 亚洲欧美一区二区三区国产精品| 亚洲成av人片一区二区梦乃| 激情小说亚洲一区| 成人动漫中文字幕| 在线精品国精品国产尤物884a| 欧美一区二区三区系列电影| 国产午夜精品福利| 亚洲欧美日韩中文播放| 午夜精彩视频在线观看不卡| 精油按摩中文字幕久久| 99v久久综合狠狠综合久久| 欧美精品少妇一区二区三区 | 奇米色777欧美一区二区| 国产一区啦啦啦在线观看| 成人一区二区三区在线观看| 欧美视频你懂的| 国产免费观看久久| 午夜精品一区二区三区三上悠亚| 国产另类ts人妖一区二区| 欧美色欧美亚洲另类二区| 国产午夜精品久久久久久免费视| 亚洲特级片在线| 久久电影国产免费久久电影| 日本高清免费不卡视频| 26uuu国产在线精品一区二区| 一区二区三区免费网站| 懂色av一区二区在线播放| 7777女厕盗摄久久久| 亚洲视频一区二区在线| 久久成人18免费观看| 欧美午夜一区二区三区| 日本一区二区高清| 蜜桃一区二区三区在线观看| 在线观看91视频| 国产精品卡一卡二| 激情综合色综合久久综合| 欧美日韩中文国产| 亚洲美女视频在线| 成人激情免费视频| 久久嫩草精品久久久精品一| 亚洲bt欧美bt精品777| 972aa.com艺术欧美| 欧美极品少妇xxxxⅹ高跟鞋| 国产一区91精品张津瑜| 91精品久久久久久久99蜜桃| 一区二区三区高清| 99久久精品99国产精品| 国产无一区二区| 国产在线精品一区二区三区不卡 | 欧洲另类一二三四区| 亚洲国产成人一区二区三区| 国产一区二区伦理| 亚洲精品一区二区三区在线观看 | 日韩一区二区三区在线观看| 一区二区在线观看免费| 一本到高清视频免费精品| ●精品国产综合乱码久久久久| 播五月开心婷婷综合| 中文字幕一区二区三区在线观看| 亚洲精品在线三区|