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

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

?? interpolate8x8_3dn.asm

?? xvid的視頻編解碼庫(kù)文件
?? ASM
字號(hào):
;/*****************************************************************************; *; *  XVID MPEG-4 VIDEO CODEC; *  - 3dnow 8x8 block-based halfpel interpolation -; *; *  Copyright(C) 2001 Peter Ross <pross@xvid.org>; *               2002 Michael Militzer <isibaar@xvid.org>; *               2002 Pascal Massimino <skal@planet-d.net>; *; *  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%macro cglobal 1	%ifdef PREFIX		global _%1		%define %1 _%1	%else		global %1	%endif%endmacro;=============================================================================; Read Only data;=============================================================================%ifdef FORMAT_COFFSECTION .rodata data%elseSECTION .rodata data align=16%endifALIGN 16mmx_one:	times 8 db 1;=============================================================================; Code;=============================================================================SECTION .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一区二区三区免费野_久草精品视频
另类成人小视频在线| 国产精品自拍毛片| 中文字幕在线观看不卡| 久久影院电视剧免费观看| 精品欧美一区二区三区精品久久| 欧美日本韩国一区二区三区视频| 欧美日韩1234| 欧美人体做爰大胆视频| 91精品国产一区二区三区| 欧美一区二区三区四区在线观看| 日韩欧美激情在线| 精品国产一区二区三区四区四 | 国产日韩欧美一区二区三区综合| 久久午夜电影网| 国产精品美女www爽爽爽| 国产精品丝袜一区| 亚洲欧美电影一区二区| 亚洲高清不卡在线| 美美哒免费高清在线观看视频一区二区 | 91精品国产丝袜白色高跟鞋| 在线播放日韩导航| 亚洲精品一区在线观看| 亚洲国产精品t66y| 亚洲综合免费观看高清完整版在线| 亚洲丰满少妇videoshd| 精品一区二区三区欧美| 99在线精品一区二区三区| 欧美亚洲日本国产| 欧美va亚洲va香蕉在线| 亚洲欧洲性图库| 五月激情丁香一区二区三区| 国产一区欧美二区| 欧洲亚洲精品在线| 久久久一区二区| 一区二区三区精密机械公司| 免费高清视频精品| 97se狠狠狠综合亚洲狠狠| 制服丝袜日韩国产| 国产精品成人网| 七七婷婷婷婷精品国产| 99在线热播精品免费| 91精品国产一区二区| 亚洲欧洲制服丝袜| 国产美女娇喘av呻吟久久| 在线一区二区三区四区五区 | 91捆绑美女网站| 日韩视频在线永久播放| 亚洲精品高清视频在线观看| 国产一区二区三区综合| 欧美日韩成人综合在线一区二区| 亚洲国产成人一区二区三区| 日本中文一区二区三区| 91免费版在线| 国产精品日韩成人| 国产精品一区二区免费不卡| 欧美一区二区福利在线| 香蕉成人伊视频在线观看| 99久久婷婷国产| 欧美激情综合五月色丁香| 久久精品久久综合| 日韩午夜在线播放| 日韩经典中文字幕一区| 欧美午夜精品一区二区三区| 欧美国产日韩在线观看| 国产九色sp调教91| 久久久精品国产99久久精品芒果| 日韩1区2区3区| 欧美日韩亚洲综合在线| 亚洲综合免费观看高清完整版 | 欧美日韩国产免费| 亚洲国产视频网站| 欧美在线影院一区二区| 亚洲图片欧美综合| 欧美性色aⅴ视频一区日韩精品| 亚洲欧美另类图片小说| 99精品视频免费在线观看| 亚洲婷婷综合久久一本伊一区| 国产成人日日夜夜| 国产精品嫩草99a| 成人国产一区二区三区精品| 国产精品久久久久永久免费观看 | 欧美一级日韩一级| 久久激五月天综合精品| 欧美精品一区二区不卡| 国产成人啪免费观看软件| 国产三级久久久| av男人天堂一区| 一区二区三区四区乱视频| 色视频欧美一区二区三区| 亚洲一区二区三区四区中文字幕| 在线观看亚洲精品视频| 视频一区二区欧美| 精品国产不卡一区二区三区| 粉嫩一区二区三区在线看| 综合网在线视频| 欧美三级电影在线观看| 老司机精品视频一区二区三区| 久久久久久久久99精品| 99riav一区二区三区| 亚洲va国产va欧美va观看| 精品国产一区二区三区忘忧草| 国产成人啪午夜精品网站男同| 国产精品电影一区二区三区| 欧美视频中文字幕| 国产一区二区三区免费观看 | 欧美色综合天天久久综合精品| 日韩精品欧美成人高清一区二区| 久久亚洲一区二区三区明星换脸 | 亚洲成人黄色影院| 26uuu国产在线精品一区二区| 99精品视频一区二区| 日韩电影免费在线观看网站| 国产欧美日韩另类一区| 欧美精品在线一区二区三区| 国产成人精品三级麻豆| 婷婷夜色潮精品综合在线| 日本一区二区视频在线| 欧美乱妇一区二区三区不卡视频| 国产精品99久久久| 奇米色一区二区| 亚洲精品乱码久久久久| 欧美国产1区2区| 欧美一级一级性生活免费录像| gogogo免费视频观看亚洲一| 蜜桃一区二区三区在线| 亚洲一区在线看| 亚洲欧美日韩在线| 国产精品午夜春色av| 欧美xxxxxxxxx| 在线不卡中文字幕播放| 91丨国产丨九色丨pron| 国产91高潮流白浆在线麻豆 | 国产亚洲精品7777| 6080国产精品一区二区| 在线观看不卡视频| 91麻豆自制传媒国产之光| 国产91综合一区在线观看| 久久精品国产成人一区二区三区 | 91视频精品在这里| 成人午夜短视频| 国产精品88av| 国产精品一区专区| 理论片日本一区| 蜜臀av一区二区在线观看| 亚洲h动漫在线| 亚洲国产人成综合网站| 亚洲一区在线播放| 亚洲在线视频网站| 亚洲国产综合在线| 婷婷久久综合九色国产成人| 亚洲bdsm女犯bdsm网站| 亚洲电影中文字幕在线观看| 亚洲图片欧美色图| 五月婷婷另类国产| 日韩av网站在线观看| 美女脱光内衣内裤视频久久网站| 亚洲123区在线观看| 亚洲一区二区三区四区不卡| 亚洲超碰97人人做人人爱| 亚洲 欧美综合在线网络| 日本 国产 欧美色综合| 久久er精品视频| 国产成人免费视频网站| 91免费精品国自产拍在线不卡| 91丨九色丨蝌蚪丨老版| 欧美视频一区在线| 欧美大度的电影原声| 国产亚洲欧洲997久久综合| 国产精品网友自拍| 亚洲一线二线三线久久久| 视频一区二区中文字幕| 国产一区二区精品久久91| 成人性生交大片| 色狠狠桃花综合| 欧美一区二区三区不卡| 亚洲国产精品成人综合色在线婷婷| 亚洲少妇屁股交4| 日韩中文字幕91| 国产精品12区| 欧美中文字幕亚洲一区二区va在线| 欧美一区永久视频免费观看| 国产拍欧美日韩视频二区 | 4438x亚洲最大成人网| 久久久影视传媒| 一区二区理论电影在线观看| 日韩和欧美的一区| 国产福利视频一区二区三区| 日本韩国一区二区三区| 亚洲精品一线二线三线| 一区二区三区色| 国产成人综合在线播放| 欧美日韩一区二区三区四区五区| 精品久久久久香蕉网| 亚洲一区在线视频观看| 福利91精品一区二区三区| 911精品产国品一二三产区| 中文字幕一区在线观看视频| 美女www一区二区| 欧美午夜精品一区二区蜜桃| 国产精品你懂的在线欣赏|