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

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

?? sad_mmx.asm

?? xvid MPEG-4 編解碼源代碼
?? ASM
字號:
;/*****************************************************************************; *; *  XVID MPEG-4 VIDEO CODEC; *  mmx sum of absolute difference; *; *  Copyright(C) 2002 Peter Ross <pross@xvid.org>; *; *  This file is part of XviD, a free MPEG-4 video encoder/decoder; *; *  XviD is free software; you can redistribute it and/or modify it; *  under the terms of the GNU General Public License as published by; *  the Free Software Foundation; either version 2 of the License, or; *  (at your option) any later version.; *; *  This program is distributed in the hope that it will be useful,; *  but WITHOUT ANY WARRANTY; without even the implied warranty of; *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the; *  GNU General Public License for more details.; *; *  You should have received a copy of the GNU General Public License; *  along with this program; if not, write to the Free Software; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA; *; *  Under section 8 of the GNU General Public License, the copyright; *  holders of XVID explicitly forbid distribution in the following; *  countries:; *; *    - Japan; *    - United States of America; *; *  Linking XviD statically or dynamically with other modules is making a; *  combined work based on XviD.  Thus, the terms and conditions of the; *  GNU General Public License cover the whole combination.; *; *  As a special exception, the copyright holders of XviD give you; *  permission to link XviD with independent modules that communicate with; *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the; *  license terms of these independent modules, and to copy and distribute; *  the resulting combined work under terms of your choice, provided that; *  every copy of the combined work is accompanied by a complete copy of; *  the source code of XviD (the version of XviD used to produce the; *  combined work), being distributed under the terms of the GNU General; *  Public License plus this exception.  An independent module is a module; *  which is not derived from or based on XviD.; *; *  Note that people who make modified versions of XviD are not obligated; *  to grant this special exception for their modified versions; it is; *  their choice whether to do so.  The GNU General Public License gives; *  permission to release a modified version without this exception; this; *  exception also makes it possible to release a modified version which; *  carries forward this exception.; *; * $Id: sad_mmx.asm,v 1.10 2002/11/17 00:32:06 edgomez Exp $; *; ****************************************************************************/bits 32%macro cglobal 1 	%ifdef PREFIX		global _%1 		%define %1 _%1	%else		global %1	%endif%endmacrosection .dataalign 16mmx_one	times 4	dw 1section .textcglobal  sad16_mmxcglobal  sad8_mmxcglobal  sad16bi_mmxcglobal  sad8bi_mmxcglobal  dev16_mmx;===========================================================================;; uint32_t sad16_mmx(const uint8_t * const cur,;					 const uint8_t * const ref,;					 const uint32_t stride,;					 const uint32_t best_sad);;; (early termination ignore; slows this down);;===========================================================================%macro SAD_16x16_MMX 0    movq mm0, [eax]    movq mm1, [edx]    movq mm2, [eax+8]    movq mm3, [edx+8]    movq mm4, mm0    psubusb mm0, mm1    lea eax,[eax+ecx]    movq mm5, mm2    psubusb mm2, mm3    lea edx,[edx+ecx]    psubusb mm1, mm4    por mm0, mm1    psubusb mm3, mm5    por mm2, mm3    movq mm1,mm0    movq mm3,mm2    punpcklbw mm0,mm7    punpckhbw mm1,mm7    punpcklbw mm2,mm7    punpckhbw mm3,mm7    paddusw mm0,mm1    paddusw mm6,mm0    paddusw mm2,mm3    paddusw mm6,mm2%endmacroalign 16sad16_mmx:    mov eax, [esp+ 4] ; Src1    mov edx, [esp+ 8] ; Src2    mov ecx, [esp+12] ; Stride        pxor mm6, mm6 ; accum    pxor mm7, mm7 ; zero    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    SAD_16x16_MMX    pmaddwd mm6, [mmx_one] ; collapse    movq mm7, mm6    psrlq mm7, 32     paddd mm6, mm7    movd eax, mm6    ret;===========================================================================;; uint32_t sad8_mmx(const uint8_t * const cur,;					const uint8_t * const ref,;					const uint32_t stride);;;===========================================================================%macro SAD_8x8_MMX  0    movq mm0, [eax]    movq mm1, [edx]    movq mm2, [eax+ecx]    movq mm3, [edx+ecx]    lea eax,[eax+2*ecx]    lea edx,[edx+2*ecx]    movq mm4, mm0     psubusb mm0, mm1    movq mm5, mm2    psubusb mm2, mm3    psubusb mm1, mm4    por mm0, mm1    psubusb mm3, mm5    por mm2, mm3    movq mm1,mm0    movq mm3,mm2    punpcklbw mm0,mm7    punpckhbw mm1,mm7    punpcklbw mm2,mm7    punpckhbw mm3,mm7    paddusw mm0,mm1    paddusw mm6,mm0    paddusw mm2,mm3    paddusw mm6,mm2%endmacroalign 16sad8_mmx:    mov eax, [esp+ 4] ; Src1    mov edx, [esp+ 8] ; Src2    mov ecx, [esp+12] ; Stride        pxor mm6, mm6 ; accum    pxor mm7, mm7 ; zero    SAD_8x8_MMX    SAD_8x8_MMX    SAD_8x8_MMX    SAD_8x8_MMX    pmaddwd mm6, [mmx_one] ; collapse    movq mm7, mm6    psrlq mm7, 32     paddd mm6, mm7    movd eax, mm6    ret;=========================================================================== ; ; uint32_t sad16bi_mmx(const uint8_t * const cur, ; const uint8_t * const ref1, ; const uint8_t * const ref2, ; const uint32_t stride); ; ;=========================================================================== %macro SADBI_16x16_MMX 2    ; SADBI_16x16_MMX( int_ptr_offset, bool_increment_ptr );    movq mm0, [edx+%1]    movq mm2, [ebx+%1]    movq mm1, mm0    movq mm3, mm2 %if %2 != 0    add edx, ecx %endif    punpcklbw mm0, mm7    punpckhbw mm1, mm7 punpcklbw mm2, mm7 punpckhbw mm3, mm7 %if %2 != 0    add ebx, ecx %endif paddusw mm0, mm2    ; mm01 = ref1 + ref2 paddusw mm1, mm3 paddusw mm0, [mmx_one] ; mm01 += 1 paddusw mm1, [mmx_one] psrlw mm0, 1     ; mm01 >>= 1 psrlw mm1, 1    movq mm2, [eax+%1]    movq mm3, mm2    punpcklbw mm2, mm7          ; mm23 = src    punpckhbw mm3, mm7 %if %2 != 0    add eax, ecx %endif    movq mm4, mm0    movq mm5, mm1    psubusw mm0, mm2    psubusw mm1, mm3    psubusw mm2, mm4    psubusw mm3, mm5    por mm0, mm2                ; mm01 = ABS(mm01 - mm23)    por mm1, mm3    paddusw mm6,mm0             ; mm6 += mm01    paddusw mm6,mm1 %endmacro align 16 sad16bi_mmx:    push ebx    mov eax, [esp+4+ 4] ; Src    mov edx, [esp+4+ 8] ; Ref1    mov ebx, [esp+4+12] ; Ref2    mov ecx, [esp+4+16] ; Stride    pxor mm6, mm6 ; accum2 pxor mm7, mm7 .Loop    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    SADBI_16x16_MMX 0, 0    SADBI_16x16_MMX 8, 1    pmaddwd mm6, [mmx_one] ; collapse    movq mm7, mm6    psrlq mm7, 32    paddd mm6, mm7    movd eax, mm6    pop ebx    ret ;=========================================================================== ; ; uint32_t sad8bi_mmx(const uint8_t * const cur, ; const uint8_t * const ref1, ; const uint8_t * const ref2, ; const uint32_t stride); ; ;=========================================================================== align 16 sad8bi_mmx:    push ebx    mov eax, [esp+4+ 4] ; Src    mov edx, [esp+4+ 8] ; Ref1    mov ebx, [esp+4+12] ; Ref2    mov ecx, [esp+4+16] ; Stride    pxor mm6, mm6 ; accum2 pxor mm7, mm7 .Loop    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    SADBI_16x16_MMX 0, 1    pmaddwd mm6, [mmx_one] ; collapse    movq mm7, mm6    psrlq mm7, 32    paddd mm6, mm7    movd eax, mm6    pop ebx    ret ;===========================================================================;; uint32_t dev16_mmx(const uint8_t * const cur,;					const uint32_t stride);;;===========================================================================%macro MEAN_16x16_MMX 0    movq mm0, [eax]    movq mm2, [eax+8]    lea eax,[eax+ecx]        movq mm1, mm0    movq mm3, mm2    punpcklbw mm0,mm7    punpcklbw mm2,mm7    punpckhbw mm1,mm7    punpckhbw mm3,mm7     paddw mm5, mm0     paddw mm6, mm1     paddw mm5, mm2    paddw mm6, mm3   %endmacro%macro ABS_16x16_MMX 0    movq mm0, [eax]    movq mm2, [eax+8]    lea eax,[eax+ecx]    movq mm1, mm0    movq mm3, mm2    punpcklbw mm0, mm7    punpcklbw mm2, mm7    punpckhbw mm1, mm7    punpckhbw mm3, mm7    movq mm4, mm6	psubusw mm4, mm0			psubusw mm0, mm6	por mm0, mm4	movq mm4, mm6	psubusw mm4, mm1	psubusw mm1, mm6	por mm1, mm4    movq mm4, mm6	psubusw mm4, mm2	psubusw mm2, mm6	por mm2, mm4	movq mm4, mm6	psubusw mm4, mm3	psubusw mm3, mm6	por mm3, mm4	paddw mm0, mm1	paddw mm2, mm3	paddw mm5, mm0	paddw mm5, mm2%endmacroalign 16dev16_mmx:    mov eax, [esp+ 4] ; Src    mov ecx, [esp+ 8] ; Stride        pxor mm7, mm7 ; zero    pxor mm5, mm5 ; accum1    pxor mm6, mm6 ; accum2    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    MEAN_16x16_MMX    paddusw mm6, mm5    pmaddwd mm6, [mmx_one] ; collapse    movq mm5, mm6    psrlq mm5, 32     paddd mm6, mm5    psllq mm6, 32			; blank upper dword	psrlq mm6, 32 + 8 ;  /= (16*16)	punpckldq mm6, mm6	packssdw mm6, mm6    ; mm6 contains the mean    ; mm5 is the new accum    pxor mm5, mm5    mov eax, [esp+ 4] ; Src    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    ABS_16x16_MMX    pmaddwd mm5, [mmx_one] ; collapse    movq mm6, mm5    psrlq mm6, 32    paddd mm6, mm5    movd eax, mm6    ret	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色小视频| 99久久综合99久久综合网站| 国产精品视频一二三| 欧美成人bangbros| 欧美一级电影网站| 91精品国产高清一区二区三区蜜臀| 欧美探花视频资源| 欧美卡1卡2卡| 日韩欧美中文字幕一区| 国产精品国产精品国产专区不片| 中文字幕在线一区二区三区| 欧美一区二区三区视频在线 | 日本亚洲三级在线| 免费国产亚洲视频| 久久99九九99精品| 国产成人自拍高清视频在线免费播放| 国产福利91精品| 欧美日韩高清一区二区三区| 日韩精品一区在线观看| 国产视频亚洲色图| 亚洲欧美一区二区三区极速播放| 亚洲精品水蜜桃| 国产精品一区二区你懂的| 成人18精品视频| 色菇凉天天综合网| 欧美一区二区二区| 亚洲国产成人高清精品| 极品少妇xxxx精品少妇偷拍| 欧美精品色综合| 亚洲一区二区中文在线| 精品一区二区三区香蕉蜜桃| 欧美精品一二三| 丝袜美腿亚洲色图| 国产91综合网| 日韩一区二区影院| 水野朝阳av一区二区三区| 欧美性猛交xxxx乱大交退制版 | xfplay精品久久| 亚洲婷婷国产精品电影人久久| 午夜久久久久久久久| 国产精品一线二线三线| 欧美精品一区二区高清在线观看| 亚洲女同女同女同女同女同69| 91丨porny丨国产| 精品sm在线观看| 国产一区二区三区久久悠悠色av| 色婷婷一区二区| 国产欧美日韩激情| 首页欧美精品中文字幕| 制服丝袜亚洲精品中文字幕| 亚洲日本免费电影| 欧美综合一区二区三区| 国产精品无遮挡| 99久久婷婷国产综合精品电影 | 欧美三级电影精品| 国产精品私房写真福利视频| 不卡电影一区二区三区| 国产精品家庭影院| 欧美少妇xxx| 韩国精品在线观看| 日韩精品一区二区三区在线播放| 九九视频精品免费| 欧美国产亚洲另类动漫| 国产一区二区精品久久91| 国产精品不卡视频| 欧美吻胸吃奶大尺度电影 | 亚洲人成7777| 91精品国产色综合久久| 国产精品一线二线三线精华| 一区二区三区国产| 色综合久久综合中文综合网| 五月天中文字幕一区二区| 精品日韩一区二区三区| 91视频xxxx| 久久99国内精品| 亚洲精品高清在线观看| 欧美哺乳videos| 色婷婷狠狠综合| 六月丁香婷婷久久| 精品国产乱码久久久久久久久| bt7086福利一区国产| 日韩电影网1区2区| 专区另类欧美日韩| 精品久久久久久最新网址| 99久久精品国产导航| 日韩电影一区二区三区| 日韩毛片精品高清免费| 精品久久久久久最新网址| 欧美性受xxxx黑人xyx| 成人av影院在线| 久久66热re国产| 五月婷婷另类国产| 亚洲精选视频在线| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩国产高清一区| 99热精品一区二区| 国产精品白丝jk白祙喷水网站| 亚洲成av人影院| 精品成a人在线观看| 欧美日本国产一区| 色婷婷久久综合| 91一区二区在线| www.av亚洲| 国v精品久久久网| 国产一区二区三区久久悠悠色av| 五月综合激情婷婷六月色窝| 精品国产乱码久久久久久闺蜜| 国产电影精品久久禁18| 免费成人美女在线观看.| 五月天婷婷综合| 男男gaygay亚洲| 樱桃视频在线观看一区| 日韩理论片网站| 最新久久zyz资源站| 国产精品色婷婷久久58| 成人av免费在线观看| 国产一区在线看| 国产精品白丝jk白祙喷水网站| 国模娜娜一区二区三区| 国内精品第一页| 国产精品一级二级三级| 国产美女视频一区| 国产精品一区二区黑丝 | 成人欧美一区二区三区黑人麻豆| 久久久精品欧美丰满| aaa亚洲精品| 91网站最新地址| 在线视频一区二区免费| 欧美熟乱第一页| 日韩天堂在线观看| 日韩精品一区二区三区在线| 久久久久久久久久久黄色| 26uuu成人网一区二区三区| 欧美国产日韩在线观看| 亚洲色图一区二区三区| 亚洲在线一区二区三区| 日本欧洲一区二区| 激情综合色播激情啊| 国产福利91精品一区二区三区| 国产69精品久久久久777| 色婷婷亚洲一区二区三区| 91精品国产综合久久国产大片| 日韩视频永久免费| 国产亚洲精品久| 亚洲一区二区三区小说| 美脚の诱脚舐め脚责91| 午夜精品一区二区三区三上悠亚 | 日韩视频免费观看高清完整版| 欧美成人三级在线| 欧美激情在线免费观看| 一区二区三区在线观看动漫| 秋霞影院一区二区| 成人av电影在线观看| 欧美日韩国产区一| 久久久不卡网国产精品一区| 亚洲精品视频免费看| 青青草97国产精品免费观看 | 国产成人免费在线| 一本一本大道香蕉久在线精品| 宅男噜噜噜66一区二区66| 精品乱人伦小说| 亚洲国产精品一区二区久久| 国产资源精品在线观看| 色吊一区二区三区 | 日韩欧美电影一区| 最新久久zyz资源站| 麻豆国产欧美日韩综合精品二区| 99久久精品免费精品国产| 日韩丝袜美女视频| 一区二区三区欧美久久| 国产在线不卡一卡二卡三卡四卡| 欧美在线啊v一区| 国产日产欧美精品一区二区三区| 亚洲第一福利一区| www.爱久久.com| 久久久99久久精品欧美| 日本伊人精品一区二区三区观看方式| 不卡一区二区三区四区| 欧美电影免费观看高清完整版 | 成人一级黄色片| av电影在线观看完整版一区二区| 欧美日本免费一区二区三区| 最新国产成人在线观看| 国产又黄又大久久| 在线不卡中文字幕播放| 日韩理论在线观看| 成人一区二区视频| 久久久亚洲精品石原莉奈| 亚洲 欧美综合在线网络| 92国产精品观看| 国产精品无码永久免费888| 国产在线麻豆精品观看| 在线成人免费观看| 亚洲午夜久久久久久久久电影院 | 国产精品自拍在线| 91精品免费在线观看| 日日摸夜夜添夜夜添精品视频| 在线免费观看日本欧美| 亚洲欧美日韩一区二区三区在线观看| 从欧美一区二区三区|