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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? interpolate8x8_3dn.asm

?? xvid MPEG-4 編解碼源代碼
?? ASM
字號(hào):
;/*****************************************************************************; *; *  XVID MPEG-4 VIDEO CODEC; *	 3dnow 8x8 block-based halfpel interpolation; *; *  Copyright(C) 2002 Peter Ross <pross@xvid.org>; *  Copyright(C) 2002 Michael Militzer <michael@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: interpolate8x8_3dn.asm,v 1.3 2002/11/17 00:20:30 edgomez Exp $; *; ****************************************************************************/bits 32%macro cglobal 1 	%ifdef PREFIX		global _%1 		%define %1 _%1	%else		global %1	%endif%endmacrosection .dataalign 16mmx_onetimes 8 db 1section .textcglobal interpolate8x8_halfpel_h_3dncglobal interpolate8x8_halfpel_v_3dncglobal interpolate8x8_halfpel_hv_3dn;===========================================================================;; void interpolate8x8_halfpel_h_3dn(uint8_t * const dst,;						const uint8_t * const src,;						const uint32_t stride,;						const uint32_t rounding);;;===========================================================================%macro COPY_H_3DN_RND0 0  movq mm0,  [eax]  pavgusb mm0, [eax+1]  movq mm1,  [eax+edx]  pavgusb mm1, [eax+edx+1]  lea eax,[eax+2*edx]  movq [ecx],mm0  movq [ecx+edx],mm1%endmacro%macro COPY_H_3DN_RND1 0  movq mm0, [eax]  movq mm1, [eax+edx]  movq mm4, mm0  movq mm5, mm1  movq mm2, [eax+1]    movq mm3, [eax+edx+1]  pavgusb mm0, mm2  pxor mm2, mm4  pavgusb mm1, mm3  lea eax,[eax+2*edx]  pxor mm3, mm5  pand mm2, mm7  pand mm3, mm7  psubb mm0, mm2  movq [ecx], mm0  psubb mm1, mm3  movq [ecx+edx], mm1%endmacroalign 16interpolate8x8_halfpel_h_3dn:  mov eax, [esp+16] ; rounding  mov ecx, [esp+ 4] ; Dst  test eax,eax  mov eax, [esp+ 8] ; Src  mov edx, [esp+12] ; stride  jnz near .rounding1  COPY_H_3DN_RND0  lea ecx,[ecx+2*edx]  COPY_H_3DN_RND0  lea ecx,[ecx+2*edx]  COPY_H_3DN_RND0  lea ecx,[ecx+2*edx]  COPY_H_3DN_RND0  ret.rounding1   ; we use: (i+j)/2 = ( i+j+1 )/2 - (i^j)&1  movq mm7, [mmx_one]  COPY_H_3DN_RND1  lea ecx, [ecx+2*edx]  COPY_H_3DN_RND1  lea ecx,[ecx+2*edx]  COPY_H_3DN_RND1  lea ecx,[ecx+2*edx]  COPY_H_3DN_RND1  ret;===========================================================================;; void interpolate8x8_halfpel_v_3dn(uint8_t * const dst,;						const uint8_t * const src,;						const uint32_t stride,;						const uint32_t rounding);;;===========================================================================%macro COPY_V_3DN_RND0 0  movq mm0,  [eax]    movq mm1,  [eax+edx]  pavgusb mm0, mm1  pavgusb mm1, [eax+2*edx]  lea eax,[eax+2*edx]  movq [ecx],mm0  movq [ecx+edx],mm1%endmacro%macro COPY_V_3DN_RND1 0  movq mm0, mm2  movq mm1, [eax]  movq mm2, [eax+edx]  lea eax,[eax+2*edx]  movq mm4, mm0  movq mm5, mm1  pavgusb mm0, mm1  pxor mm4, mm1    pavgusb mm1, mm2  pxor mm5, mm2  pand mm4, mm7    ; lsb's of (i^j)...  pand mm5, mm7    ; lsb's of (i^j)...  psubb mm0, mm4   ; ...are substracted from result of pavgusb  movq [ecx], mm0  psubb mm1, mm5   ; ...are substracted from result of pavgusb  movq [ecx+edx], mm1%endmacroalign 16interpolate8x8_halfpel_v_3dn:  mov eax, [esp+16] ; rounding  mov ecx, [esp+ 4] ; Dst  test eax,eax  mov eax, [esp+ 8] ; Src  mov edx, [esp+12] ; stride    ; we process 2 line at a time  jnz near .rounding1  COPY_V_3DN_RND0  lea ecx, [ecx+2*edx]  COPY_V_3DN_RND0  lea ecx, [ecx+2*edx]  COPY_V_3DN_RND0  lea ecx, [ecx+2*edx]  COPY_V_3DN_RND0  ret.rounding1   ; we use: (i+j)/2 = ( i+j+1 )/2 - (i^j)&1  movq mm7, [mmx_one]  movq mm2, [eax]   ; loop invariant  add eax, edx  COPY_V_3DN_RND1  lea ecx,[ecx+2*edx]  COPY_V_3DN_RND1  lea ecx,[ecx+2*edx]  COPY_V_3DN_RND1  lea ecx,[ecx+2*edx]  COPY_V_3DN_RND1  ret;===========================================================================;; void interpolate8x8_halfpel_hv_3dn(uint8_t * const dst,;						const uint8_t * const src,;						const uint32_t stride, ;						const uint32_t rounding);;;;===========================================================================; The trick is to correct the result of 'pavgusb' with some combination of the; lsb's of the 4 input values i,j,k,l, and their intermediate 'pavgusb' (s and t).; The boolean relations are:;   (i+j+k+l+3)/4 = (s+t+1)/2 - (ij&kl)&st ;   (i+j+k+l+2)/4 = (s+t+1)/2 - (ij|kl)&st;   (i+j+k+l+1)/4 = (s+t+1)/2 - (ij&kl)|st;   (i+j+k+l+0)/4 = (s+t+1)/2 - (ij|kl)|st; with  s=(i+j+1)/2, t=(k+l+1)/2, ij = i^j, kl = k^l, st = s^t.; Moreover, we process 2 lines at a times, for better overlapping (~15% faster).%macro COPY_HV_3DN_RND0 0    lea eax,[eax+edx]    movq mm0, [eax]    movq mm1, [eax+1]    movq mm6, mm0    pavgusb mm0, mm1  ; mm0=(j+k+1)/2. preserved for next step    lea eax,[eax+edx]    pxor mm1, mm6	  ; mm1=(j^k).     preserved for next step    por mm3, mm1      ; ij |= jk    movq mm6, mm2    pxor mm6, mm0     ; mm6 = s^t    pand mm3, mm6     ; (ij|jk) &= st    pavgusb mm2, mm0  ; mm2 = (s+t+1)/2    pand mm3, mm7     ; mask lsb    psubb mm2, mm3    ; apply.    movq [ecx], mm2    movq mm2, [eax]    movq mm3, [eax+1]    movq mm6, mm2    pavgusb mm2, mm3  ; preserved for next iteration    lea ecx,[ecx+edx]    pxor mm3, mm6     ; preserved for next iteration    por mm1, mm3    movq mm6, mm0    pxor mm6, mm2    pand mm1, mm6    pavgusb mm0, mm2    pand mm1, mm7    psubb mm0, mm1    movq [ecx], mm0%endmacro%macro COPY_HV_3DN_RND1 0    lea eax,[eax+edx]    movq mm0, [eax]    movq mm1, [eax+1]    movq mm6, mm0    pavgusb mm0, mm1  ; mm0=(j+k+1)/2. preserved for next step    lea eax,[eax+edx]    pxor mm1, mm6     ; mm1=(j^k).     preserved for next step    pand mm3, mm1    movq mm6, mm2    pxor mm6, mm0    por mm3, mm6    pavgusb mm2, mm0    pand mm3, mm7    psubb mm2, mm3    movq [ecx], mm2    movq mm2, [eax]    movq mm3, [eax+1]    movq mm6, mm2    pavgusb mm2, mm3  ; preserved for next iteration    lea ecx,[ecx+edx]    pxor mm3, mm6     ; preserved for next iteration    pand mm1, mm3    movq mm6, mm0    pxor mm6, mm2    por mm1, mm6    pavgusb mm0, mm2    pand mm1, mm7    psubb mm0, mm1    movq [ecx], mm0%endmacroalign 16interpolate8x8_halfpel_hv_3dn  mov eax, [esp+16] ; rounding  mov ecx, [esp+ 4] ; Dst  test eax,eax  mov eax, [esp+ 8] ; Src  mov edx, [esp+12] ; stride  movq mm7, [mmx_one]    ; loop invariants: mm2=(i+j+1)/2  and  mm3= i^j  movq mm2, [eax]  movq mm3, [eax+1]  movq mm6, mm2  pavgusb mm2, mm3  pxor mm3, mm6   ; mm2/mm3 ready  jnz near .rounding1  COPY_HV_3DN_RND0  add ecx, edx  COPY_HV_3DN_RND0  add ecx, edx  COPY_HV_3DN_RND0  add ecx, edx  COPY_HV_3DN_RND0  ret.rounding1  COPY_HV_3DN_RND1  add ecx, edx  COPY_HV_3DN_RND1  add ecx, edx  COPY_HV_3DN_RND1  add ecx, edx  COPY_HV_3DN_RND1  ret                    

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美亚洲一区二区| 久99久精品视频免费观看| 久久久久久久久一| 精品国产亚洲在线| 26uuu精品一区二区| 久久夜色精品一区| 久久久久久久国产精品影院| 久久久精品免费网站| 久久精品视频网| 日本一区二区在线不卡| 国产亚洲一二三区| 国产精品区一区二区三| ...av二区三区久久精品| 亚洲免费电影在线| 亚洲成人av免费| 日韩精品1区2区3区| 久久99国产精品麻豆| 国产成人免费视频| 欧美性猛交xxxxxxxx| 911国产精品| 久久久精品国产99久久精品芒果 | 欧美日韩亚洲综合一区二区三区| 欧美性三三影院| 欧美一区二区三区在线电影| 欧美大胆一级视频| 国产精品女人毛片| 偷拍一区二区三区| 国产在线不卡一区| 色综合久久中文字幕综合网| 欧美日韩一级大片网址| 精品成人佐山爱一区二区| 国产精品久久久久久久第一福利| 亚洲综合图片区| 激情小说亚洲一区| 在线一区二区三区四区五区| 精品国产免费一区二区三区香蕉| 中文无字幕一区二区三区| 亚洲午夜三级在线| 成人性生交大合| 日韩三级在线观看| 亚洲三级在线播放| 久久精品国产亚洲aⅴ| 91麻豆国产精品久久| 日韩精品一区二区三区中文精品| 亚洲色图制服诱惑| 国产专区综合网| 欧美精选一区二区| 自拍偷拍国产精品| 国产一区二区在线电影| 欧美日韩亚洲综合在线 | 欧美视频中文字幕| 国产欧美一区二区精品秋霞影院| 亚洲gay无套男同| 91亚洲精品久久久蜜桃网站| 精品国产乱码久久久久久久| 亚洲国产一区在线观看| 99久久伊人精品| 久久久精品影视| 久久精品国产精品亚洲综合| 欧美日韩色一区| 亚洲黄色在线视频| 成人黄页在线观看| 欧美激情综合在线| 国产伦精品一区二区三区在线观看| 欧美日韩国产成人在线91| 亚洲精品中文字幕乱码三区| jlzzjlzz欧美大全| 国产精品色一区二区三区| 国产福利91精品一区| 精品免费99久久| 久久精品免费观看| 26uuu欧美| 国产白丝精品91爽爽久久| 久久精品男人天堂av| 国产一区二区三区四区五区美女| 欧美一级夜夜爽| 美国精品在线观看| 欧美v日韩v国产v| 久久99精品国产麻豆婷婷| 精品久久久久一区二区国产| 久久不见久久见免费视频1| 精品免费视频一区二区| 国产精品中文有码| 亚洲国产精品99久久久久久久久 | 一本色道a无线码一区v| 亚洲视频一区在线| 一本大道综合伊人精品热热| 亚洲国产va精品久久久不卡综合| 欧美日韩国产三级| 免费的成人av| 国产日产欧美一区二区三区| 不卡视频一二三四| 伊人色综合久久天天人手人婷| 色婷婷综合久色| 亚洲国产综合视频在线观看| 4438亚洲最大| 国产成人午夜视频| 亚洲精品视频免费观看| 91精品国产乱| 成人毛片在线观看| 亚洲国产一区二区三区| 欧美一区二区三区在线| 成人动漫一区二区| 日韩成人精品在线| 国产精品免费丝袜| 在线观看视频一区二区| 久久成人免费日本黄色| 国产精品久久久久久久蜜臀 | 日本女人一区二区三区| 国产午夜精品美女毛片视频| 色老综合老女人久久久| 精品中文字幕一区二区小辣椒| 国产精品久久久久永久免费观看 | 精品久久久久久久久久久久久久久 | 久久精品人人做人人综合| 在线观看欧美黄色| 国产在线播精品第三| 亚洲一卡二卡三卡四卡| 国产欧美综合在线| 欧美日韩亚洲综合| aaa欧美日韩| 久久99国产乱子伦精品免费| 夜夜精品视频一区二区| 久久久久久97三级| 91精品国产aⅴ一区二区| 91丨porny丨最新| 韩日欧美一区二区三区| 天天综合日日夜夜精品| 中文欧美字幕免费| 2021国产精品久久精品| 欧美日韩dvd在线观看| 色婷婷综合激情| 粉嫩高潮美女一区二区三区| 久久99国产精品成人| 日韩精品色哟哟| 91免费小视频| 天堂成人免费av电影一区| 国产精品天干天干在观线| 日韩一级免费一区| 在线观看www91| 9色porny自拍视频一区二区| 国产麻豆精品视频| 韩国v欧美v亚洲v日本v| 免费观看30秒视频久久| 日韩和欧美的一区| 婷婷综合在线观看| 亚洲综合图片区| 亚洲一区二区视频在线观看| 亚洲色图欧洲色图| 亚洲精品视频一区| 一区二区三区四区不卡视频| 国产精品久久久久永久免费观看| 亚洲精品一区二区三区精华液 | 天天色图综合网| 亚洲乱码日产精品bd| 亚洲乱码日产精品bd| 一区二区三区四区不卡在线| 一区二区三区欧美亚洲| 一区二区三区日韩在线观看| 亚洲精品国产视频| 一区二区三区成人在线视频| 亚洲国产一区二区三区 | 欧美高清www午色夜在线视频| 色婷婷狠狠综合| 欧美视频三区在线播放| 欧美日韩免费高清一区色橹橹| 欧美日韩精品一区二区三区| 欧美一区二区性放荡片| 精品乱码亚洲一区二区不卡| 久久久久久久久久久久久久久99| 久久精品在线免费观看| 国产精品久久久久久久久晋中 | 欧美国产日韩精品免费观看| 国产精品国产三级国产| 亚洲少妇最新在线视频| 亚洲电影在线播放| 日本aⅴ精品一区二区三区| 国产精品亚洲人在线观看| 95精品视频在线| 在线成人高清不卡| 久久免费看少妇高潮| 一区二区三区四区在线播放| 日韩中文字幕区一区有砖一区 | 亚洲一区二区三区四区中文字幕| 五月激情综合网| 韩国av一区二区三区四区| 99综合影院在线| 7777精品伊人久久久大香线蕉完整版 | 日韩你懂的在线播放| 国产精品久久久久精k8| 日韩av二区在线播放| 国产91丝袜在线观看| 欧美精品粉嫩高潮一区二区| 亚洲精品在线三区| 一区二区三区在线视频观看| 国内一区二区视频| 欧美图片一区二区三区| 亚洲国产精品99久久久久久久久| 日韩va欧美va亚洲va久久| 99久久国产免费看|