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

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

?? sad.asm

?? H264EncPlayer,H264協議解碼與播放代碼
?? ASM
字號:
;/*****************************************************************************
; *
; *  T264 AVC CODEC
; *
; *  Copyright(C) 2004-2005 llcc <lcgate1@yahoo.com.cn>
; *               2004-2005 visionany <visionany@yahoo.com.cn>
; *
; *  This program 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
; *
; ****************************************************************************/

bits 32

; ideal from xvid
; modify by Thomascatlee@163.com
; for GCC
%macro cglobal 1
	%ifdef NOPREFIX
		global %1
	%else
		global _%1
		%define %1 _%1
	%endif
%endmacro

; from xvid
%macro new_sad16b 0
    movdqu  xmm0, [edx]
    movdqu  xmm1, [edx+ebx]
    lea edx,[edx+2*ebx]
    movdqa  xmm2, [eax]
    movdqa  xmm3, [eax+ecx]
    lea eax,[eax+2*ecx]
    psadbw  xmm0, xmm2
    paddusw xmm6,xmm0
    psadbw  xmm1, xmm3
    paddusw xmm6,xmm1
%endmacro

%macro new_sad8b 0
    movq mm0, [esi]
    movq mm1, [edi]
    psadbw mm0, mm1
    add    esi, ebx             ; src + src_stride
    add    edi, edx             ; dst + dst_stride
	paddusw mm2, mm0
%endmacro

%macro new_sad4b 0
    movq mm0, [esi]
    movq mm1, [edi]
    ; we only need low 4 bytes
    pand mm0, mm3
    pand mm1, mm3
    psadbw mm0, mm1
    add    esi, ebx             ; src + src_stride
    add    edi, edx             ; dst + dst_stride
	paddusw mm2,mm0
%endmacro

section .rodata data align=16

align 16
    mmx_mask01 db 0xff, 0xff, 0xff, 0xff, 0, 0, 0, 0

section .text

;======================================================
;
; uint32_t 
; T264_sad_u_16x16_sse2(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_16x16_sse2
T264_sad_u_16x16_sse2
   
    push ebx
    
    mov eax, [esp + 4 + 4]      ; src
    mov ecx, [esp + 8 + 4]      ; src_stride
    mov edx, [esp + 12 + 4]     ; data
    mov ebx, [esp + 16 + 4]     ; dst_stride
    
    pxor xmm6, xmm6

    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    
    pshufd  xmm5, xmm6, 00000010b
    paddusw xmm6, xmm5
    pextrw  eax, xmm6, 0
    
    pop ebx
    
    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_16x8_sse2(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_16x8_sse2
T264_sad_u_16x8_sse2
    
    push ebx
    
    mov eax, [esp + 4 + 4]      ; src
    mov ecx, [esp + 8 + 4]      ; src_stride
    mov edx, [esp + 12 + 4]     ; data
    mov ebx, [esp + 16 + 4]     ; dst_stride
    
    pxor xmm6, xmm6

    new_sad16b
    new_sad16b
    new_sad16b
    new_sad16b
    
    pshufd  xmm5, xmm6, 00000010b
    paddusw xmm6, xmm5
    pextrw  eax, xmm6, 0
    
    pop ebx

    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_8x16_sse(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_8x16_sse
T264_sad_u_8x16_sse
    
    push ebx
    push esi
    push edi
    
    mov esi, [esp + 4 + 12]      ; src
    mov ebx, [esp + 8 + 12]      ; src_stride
    mov edi, [esp + 12+ 12]      ; data
    mov edx, [esp + 16+ 12]      ; dst_stride
    
	pxor mm2, mm2;
    
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;

	pextrw eax, mm2, 0

    pop edi
    pop esi
    pop ebx

    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_8x8_sse(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_8x8_sse
T264_sad_u_8x8_sse
    
    push ebx
    push esi
    push edi
    
    mov esi, [esp + 4 + 12]      ; src
    mov ebx, [esp + 8 + 12]      ; src_stride
    mov edi, [esp + 12+ 12]      ; data
    mov edx, [esp + 16+ 12]      ; dst_stride
    
	pxor mm2, mm2;
    
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;

	pextrw eax, mm2, 0

    pop edi
    pop esi
    pop ebx

    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_8x4_sse(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_8x4_sse
T264_sad_u_8x4_sse
    
    push ebx
    push esi
    push edi
    
    mov esi, [esp + 4 + 12]      ; src
    mov ebx, [esp + 8 + 12]      ; src_stride
    mov edi, [esp + 12+ 12]      ; data
    mov edx, [esp + 16+ 12]      ; dst_stride
    
	pxor mm2, mm2;
    
    new_sad8b;
    new_sad8b;
    new_sad8b;
    new_sad8b;

	pextrw eax, mm2, 0

    pop edi
    pop esi
    pop ebx

    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_4x8_sse(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_4x8_sse
T264_sad_u_4x8_sse
    
    push ebx
    push esi
    push edi
    
    mov esi, [esp + 4 + 12]      ; src
    mov ebx, [esp + 8 + 12]      ; src_stride
    mov edi, [esp + 12+ 12]      ; data
    mov edx, [esp + 16+ 12]      ; dst_stride
    movq mm3, [mmx_mask01]
    
    pxor mm2, mm2
    
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;

	pextrw eax, mm2, 0
	
    pop edi
    pop esi
    pop ebx

    ret
    
;======================================================
;
; uint32_t 
; T264_sad_u_4x4_sse(uint8_t* src, int32_t src_stride, uint8_t* data, int32_t dst_stride);
;
;======================================================

align 16

cglobal T264_sad_u_4x4_sse
T264_sad_u_4x4_sse
    
    push ebx
    push esi
    push edi
    
    mov esi, [esp + 4 + 12]      ; src
    mov ebx, [esp + 8 + 12]      ; src_stride
    mov edi, [esp + 12+ 12]      ; data
    mov edx, [esp + 16+ 12]      ; dst_stride
    movq mm3, [mmx_mask01]
    
    pxor mm2, mm2
    
    new_sad4b;
    new_sad4b;
    new_sad4b;
    new_sad4b;

	pextrw eax, mm2, 0

    pop edi
    pop esi
    pop ebx

    ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲aaa精品| 国产精品18久久久久久久网站| 欧美一区二区三区在| 国产精品资源站在线| 亚洲高清免费一级二级三级| 久久久不卡网国产精品一区| 欧美在线观看一二区| 九九**精品视频免费播放| 夜夜夜精品看看| 国产精品久久久久久户外露出 | 日韩一区精品视频| 亚洲少妇30p| 国产欧美久久久精品影院| 日韩三级在线免费观看| 欧美自拍偷拍一区| a在线欧美一区| 成人一区二区在线观看| 国产真实乱偷精品视频免| 日韩中文字幕一区二区三区| 亚洲精品中文字幕在线观看| 亚洲国产精品精华液ab| 精品国产乱码久久久久久图片 | 国产精品网站在线| 久久美女艺术照精彩视频福利播放| 欧美日韩的一区二区| 97久久精品人人做人人爽| 国产成人av网站| 国产永久精品大片wwwapp | 99视频一区二区三区| 国产精品资源网站| 激情欧美一区二区三区在线观看| 日本一不卡视频| 亚洲成人一区二区在线观看| 亚洲精品老司机| 一区二区在线看| 亚洲一区在线免费观看| 亚洲色图丝袜美腿| 亚洲色图欧洲色图| 亚洲精品日韩一| 一区二区三区在线观看视频| 亚洲欧洲制服丝袜| 亚洲综合色视频| 五月婷婷综合激情| 日本在线播放一区二区三区| 麻豆成人免费电影| 国产精品18久久久久| 福利一区二区在线观看| av日韩在线网站| 在线观看欧美精品| 欧美一区永久视频免费观看| 日韩欧美自拍偷拍| 精品电影一区二区| 日本一区二区三区在线观看| 亚洲视频在线观看三级| 亚洲一区二区三区爽爽爽爽爽| 亚洲一区二区三区美女| 日韩专区一卡二卡| 国产一区二区三区香蕉| 成人黄色a**站在线观看| 色综合久久久久综合体| 欧美日韩激情一区| 2021久久国产精品不只是精品| 中国av一区二区三区| 亚洲女同ⅹxx女同tv| 婷婷久久综合九色综合绿巨人| 久久国产精品免费| 国产91综合一区在线观看| 93久久精品日日躁夜夜躁欧美| 欧美精品一二三| 久久精品在线免费观看| 亚洲黄色免费电影| 免费一级欧美片在线观看| 国产福利一区二区三区视频在线| 一本久道久久综合中文字幕| 欧美丰满一区二区免费视频| 久久久久久久综合色一本| 亚洲色图一区二区三区| 麻豆国产精品官网| 91小宝寻花一区二区三区| 欧美老人xxxx18| 中文字幕免费观看一区| 日韩二区在线观看| 成人黄色大片在线观看| 制服视频三区第一页精品| 欧美激情在线一区二区| 亚洲国产精品天堂| 处破女av一区二区| 欧美日韩在线一区二区| 国产蜜臀av在线一区二区三区| 日韩国产在线观看| 波多野结衣欧美| 精品国产乱码91久久久久久网站| 亚洲欧美自拍偷拍色图| 免费在线观看一区| 91视频观看视频| 亚洲精品一区二区三区蜜桃下载| 亚洲制服丝袜一区| av网站一区二区三区| 欧美精品一区二区精品网| 亚洲一区免费观看| 成人国产精品视频| 精品国产伦一区二区三区观看方式 | 欧美精品三级日韩久久| 国产精品视频观看| 麻豆一区二区三| 欧美特级限制片免费在线观看| 国产精品乱人伦一区二区| 麻豆91免费观看| 欧美狂野另类xxxxoooo| 亚洲美女淫视频| 成人免费精品视频| 欧美精品一区二区三区蜜桃视频| 午夜欧美视频在线观看| 色欧美日韩亚洲| 国产精品色噜噜| 国产久卡久卡久卡久卡视频精品| 91精品国产乱| 亚洲福利视频一区二区| 91丨porny丨在线| 国产精品传媒入口麻豆| 国产成人免费av在线| 精品噜噜噜噜久久久久久久久试看| 天堂蜜桃一区二区三区| 欧美午夜一区二区三区| 亚洲综合一区在线| 欧美亚洲综合另类| 亚洲一区在线电影| 色婷婷av久久久久久久| 亚洲色图欧美激情| 99久久99精品久久久久久| 国产精品午夜春色av| 欧美亚洲国产一区二区三区va | 日韩一区二区三区免费看 | 亚洲一区成人在线| 91九色02白丝porn| 亚洲免费观看高清| 一本色道a无线码一区v| 亚洲精品中文字幕在线观看| 在线精品视频免费播放| 一区二区三区四区亚洲| 一本大道综合伊人精品热热| 亚洲激情成人在线| 欧美午夜精品理论片a级按摩| 亚洲午夜久久久| 欧美日韩小视频| 日本特黄久久久高潮| 日韩精品一区二| 国产激情一区二区三区| 国产精品久久久久久久久免费相片| 成人av网站在线观看免费| 亚洲欧洲性图库| 欧美在线制服丝袜| 日本成人在线网站| 精品久久久久久最新网址| 国产91对白在线观看九色| 国产精品激情偷乱一区二区∴| 色哟哟在线观看一区二区三区| 夜夜精品视频一区二区| 欧美三级电影在线看| 免费人成精品欧美精品| 久久久不卡网国产精品一区| 91丝袜美女网| 日产精品久久久久久久性色| 亚洲精品一区二区三区在线观看 | 日本网站在线观看一区二区三区| 精品乱人伦一区二区三区| 成人免费视频国产在线观看| 亚洲国产综合色| 亚洲精品一线二线三线| 91免费观看国产| 日本人妖一区二区| 国产精品久99| 91精品国模一区二区三区| 国产成人aaa| 午夜久久久久久久久久一区二区| 精品成人一区二区三区四区| 色香蕉久久蜜桃| 久久国产综合精品| 亚洲女与黑人做爰| 久久伊人中文字幕| 在线观看免费视频综合| 国产乱妇无码大片在线观看| 亚洲一二三四在线观看| 精品国产乱码久久久久久1区2区| 在线观看一区不卡| 国产成人自拍在线| 午夜国产不卡在线观看视频| 日本一区二区三区在线不卡| 91精品视频网| 色综合色综合色综合色综合色综合| 美国欧美日韩国产在线播放| 亚洲精品欧美二区三区中文字幕| 337p粉嫩大胆色噜噜噜噜亚洲| 在线免费观看日本欧美| 国产激情视频一区二区三区欧美| 日韩国产精品91| 亚洲丝袜精品丝袜在线| 国产欧美综合在线| 日韩欧美激情四射| 精品视频在线看|