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

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

?? idct_sse2_dmitry.asm

?? xvid的視頻編解碼庫文件
?? ASM
字號:
;/****************************************************************************; *; *  XVID MPEG-4 VIDEO CODEC; *  - SSE2 inverse discrete cosine transform -; *; *  Copyright(C) 2002 Dmitry Rozhdestvensky; *; *  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; *; * $Id$; *; ***************************************************************************/BITS 32;=============================================================================; Macros and other preprocessor constants;=============================================================================%macro cglobal 1	%ifdef PREFIX		global _%1		%define %1 _%1	%else		global %1	%endif%endmacro%define BITS_INV_ACC    5                           ; 4 or 5 for IEEE%define SHIFT_INV_ROW   16 - BITS_INV_ACC%define SHIFT_INV_COL   1 + BITS_INV_ACC%define RND_INV_ROW     1024 * (6 - BITS_INV_ACC)   ; 1 << (SHIFT_INV_ROW-1)%define RND_INV_COL     16 * (BITS_INV_ACC - 3)     ; 1 << (SHIFT_INV_COL-1)%define RND_INV_CORR    RND_INV_COL - 1             ; correction -1.0 and round%define BITS_FRW_ACC    3                           ; 2 or 3 for accuracy%define SHIFT_FRW_COL   BITS_FRW_ACC%define SHIFT_FRW_ROW   BITS_FRW_ACC + 17%define RND_FRW_ROW     262144 * (BITS_FRW_ACC - 1) ; 1 << (SHIFT_FRW_ROW-1)	;=============================================================================; Local Data (Read Only);=============================================================================%ifdef FORMAT_COFFSECTION .rodata data%elseSECTION .rodata data align=16%endifALIGN 16tab_i_04:  dw  16384,  21407,  16384,   8867 ; movq-> w05 w04 w01 w00  dw  16384,  -8867,  16384, -21407 ; w13 w12 w09 w08  dw  16384,   8867, -16384, -21407 ; w07 w06 w03 w02  dw -16384,  21407,  16384,  -8867 ; w15 w14 w11 w10  dw  22725,  19266,  19266,  -4520 ; w21 w20 w17 w16  dw  12873, -22725,   4520, -12873 ; w29 w28 w25 w24  dw  12873,   4520, -22725, -12873 ; w23 w22 w19 w18  dw   4520,  19266,  19266, -22725 ; w31 w30 w27 w26; Table for rows 1,7 - constants are multiplied by cos_1_16tab_i_17:  dw  22725,  29692,  22725,  12299 ; movq-> w05 w04 w01 w00  dw  22725, -12299,  22725, -29692 ; w13 w12 w09 w08  dw  22725,  12299, -22725, -29692 ; w07 w06 w03 w02  dw -22725,  29692,  22725, -12299 ; w15 w14 w11 w10  dw  31521,  26722,  26722,  -6270 ; w21 w20 w17 w16  dw  17855, -31521,   6270, -17855 ; w29 w28 w25 w24  dw  17855,   6270, -31521, -17855 ; w23 w22 w19 w18  dw   6270,  26722,  26722, -31521 ; w31 w30 w27 w26; Table for rows 2,6 - constants are multiplied by cos_2_16tab_i_26:  dw  21407,  27969,  21407,  11585 ; movq-> w05 w04 w01 w00  dw  21407, -11585,  21407, -27969 ; w13 w12 w09 w08  dw  21407,  11585, -21407, -27969 ; w07 w06 w03 w02  dw -21407,  27969,  21407, -11585 ; w15 w14 w11 w10  dw  29692,  25172,  25172,  -5906 ; w21 w20 w17 w16  dw  16819, -29692,   5906, -16819 ; w29 w28 w25 w24  dw  16819,   5906, -29692, -16819 ; w23 w22 w19 w18  dw   5906,  25172,  25172, -29692 ; w31 w30 w27 w26; Table for rows 3,5 - constants are multiplied by cos_3_16tab_i_35:  dw  19266,  25172,  19266,  10426 ; movq-> w05 w04 w01 w00  dw  19266, -10426,  19266, -25172 ; w13 w12 w09 w08  dw  19266,  10426, -19266, -25172 ; w07 w06 w03 w02  dw -19266,  25172,  19266, -10426 ; w15 w14 w11 w10  dw  26722,  22654,  22654,  -5315 ; w21 w20 w17 w16  dw  15137, -26722,   5315, -15137 ; w29 w28 w25 w24  dw  15137,   5315, -26722, -15137 ; w23 w22 w19 w18  dw   5315,  22654,  22654, -26722 ; w31 w30 w27 w26%if SHIFT_INV_ROW == 12   ; assume SHIFT_INV_ROW == 12rounder_2_0: dd  65536, 65536             dd  65536, 65536rounder_2_4: dd      0,     0             dd      0,     0rounder_2_1: dd   7195,  7195             dd   7195,  7195rounder_2_7: dd   1024,  1024             dd   1024,  1024rounder_2_2: dd   4520,  4520             dd   4520,  4520rounder_2_6: dd   1024,  1024             dd   1024,  1024rounder_2_3: dd   2407,  2407             dd   2407,  2407rounder_2_5: dd    240,   240             dd    240,   240%elif SHIFT_INV_ROW == 11   ; assume SHIFT_INV_ROW == 11rounder_2_0: dd  65536, 65536             dd  65536, 65536rounder_2_4: dd      0,     0             dd      0,     0rounder_2_1: dd   3597,  3597             dd   3597,  3597rounder_2_7: dd    512,   512             dd    512,   512rounder_2_2: dd   2260,  2260             dd   2260,  2260rounder_2_6: dd    512,   512             dd    512,   512rounder_2_3: dd   1203,  1203             dd   1203,  1203rounder_2_5: dd    120,   120             dd    120,   120%else%error Invalid SHIFT_INV_ROW specified%endiftg_1_16: dw  13036,  13036,  13036,  13036      ; tg * (2<<16) + 0.5         dw  13036,  13036,  13036,  13036tg_2_16: dw  27146,  27146,  27146,  27146      ; tg * (2<<16) + 0.5         dw  27146,  27146,  27146,  27146tg_3_16: dw -21746, -21746, -21746, -21746      ; tg * (2<<16) + 0.5         dw -21746, -21746, -21746, -21746ocos_4_16: dw  23170,  23170,  23170,  23170    ; cos * (2<<15) + 0.5           dw  23170,  23170,  23170,  23170;=============================================================================; Code;=============================================================================SECTION .textcglobal idct_sse2_dmitry;-----------------------------------------------------------------------------; Helper macro - ROW iDCT;-----------------------------------------------------------------------------%macro DCT_8_INV_ROW_1_SSE2  4  pshufhw xmm1, [%1], 11011000b     ;x 75643210  pshuflw xmm1, xmm1, 11011000b     ;x 75643120  pshufd xmm0, xmm1, 00000000b      ;x 20202020  pmaddwd xmm0, [%3]                ;w 13 12 9 8 5410  ;a 3210 first part  pshufd xmm2, xmm1, 10101010b      ;x 64646464  pmaddwd xmm2, [%3+16]             ;w 15 14 11 10 7632  ;a 3210 second part  paddd xmm2, xmm0                  ;a 3210 ready  paddd xmm2, [%4]                  ;must be 4 dwords long, not 2 as for sse1  movdqa xmm5, xmm2  pshufd xmm3, xmm1, 01010101b      ;x 31313131  pmaddwd xmm3, [%3+32]             ;w 29 28 25 24 21 20 17 16  ;b 3210 first part  pshufd xmm4, xmm1, 11111111b      ;x 75757575  pmaddwd xmm4, [%3+48]             ;w 31 30 27 26 23 22 19 18  ;b 3210 second part  paddd xmm3,xmm4                   ;b 3210 ready  paddd xmm2, xmm3                  ;will be y 3210  psubd xmm5, xmm3                  ;will be y 4567  psrad xmm2, SHIFT_INV_ROW  psrad xmm5, SHIFT_INV_ROW  packssdw xmm2, xmm5               ;y 45673210  pshufhw xmm6, xmm2, 00011011b     ;y 76543210  movdqa [%2], xmm6        %endmacro;-----------------------------------------------------------------------------; Helper macro - Columns iDCT;-----------------------------------------------------------------------------%macro DCT_8_INV_COL_4_SSE2 2  movdqa xmm0, [%1+16*0]          	;x0 (all columns)  movdqa xmm2, [%1+16*4]          	;x4  movdqa xmm1, xmm0  movdqa xmm4, [%1+16*2]          	;x2  movdqa xmm5, [%1+16*6]          	;x6  movdqa xmm6, [tg_2_16]  movdqa xmm7, xmm6  paddsw xmm0, xmm2                  ;u04=x0+x4  psubsw xmm1, xmm2                  ;v04=x0-x4  movdqa xmm3, xmm0  movdqa xmm2, xmm1  pmulhw xmm6, xmm4  pmulhw xmm7, xmm5  psubsw xmm6, xmm5                  ;v26=x2*T2-x6  paddsw xmm7, xmm4                  ;u26=x6*T2+x2  paddsw xmm1, xmm6                  ;a1=v04+v26  paddsw xmm0, xmm7                  ;a0=u04+u26  psubsw xmm2, xmm6                  ;a2=v04-v26  psubsw xmm3, xmm7                  ;a3=u04-u26  movdqa [%2+16*0], xmm0          	;store a3-a0 to   movdqa [%2+16*6], xmm1          	;free registers  movdqa [%2+16*2], xmm2  movdqa [%2+16*4], xmm3  movdqa xmm0, [%1+16*1]          	;x1  movdqa xmm1, [%1+16*7]          	;x7  movdqa xmm2, [tg_1_16]  movdqa xmm3, xmm2  movdqa xmm4, [%1+16*3]          	;x3  movdqa xmm5, [%1+16*5]          	;x5  movdqa xmm6, [tg_3_16]  movdqa xmm7, xmm6  pmulhw xmm2, xmm0  pmulhw xmm3, xmm1  psubsw xmm2, xmm1                  ;v17=x1*T1-x7  paddsw xmm3, xmm0                  ;u17=x7*T1+x1  movdqa xmm0, xmm3                  ;u17  movdqa xmm1, xmm2                  ;v17  pmulhw xmm6, xmm4                  ;x3*(t3-1)  pmulhw xmm7, xmm5                  ;x5*(t3-1)  paddsw xmm6, xmm4  paddsw xmm7, xmm5  psubsw xmm6, xmm5                  ;v35=x3*T3-x5  paddsw xmm7, xmm4                  ;u35=x5*T3+x3  movdqa xmm4, [ocos_4_16]  paddsw xmm0, xmm7                 ;b0=u17+u35  psubsw xmm1, xmm6                 ;b3=v17-v35  psubsw xmm3, xmm7                 ;u12=u17-v35  paddsw xmm2, xmm6                 ;v12=v17+v35  movdqa xmm5, xmm3  paddsw xmm3, xmm2                 ;tb1  psubsw xmm5, xmm2                 ;tb2  pmulhw xmm5, xmm4  pmulhw xmm4, xmm3  paddsw xmm5, xmm5  paddsw xmm4, xmm4  movdqa xmm6, [%2+16*0]          	;a0  movdqa xmm7, xmm6  movdqa xmm2, [%2+16*4]          	;a3  movdqa xmm3, xmm2  paddsw xmm6, xmm0  psubsw xmm7, xmm0  psraw xmm6, SHIFT_INV_COL      	;y0=a0+b0  psraw xmm7, SHIFT_INV_COL      	;y7=a0-b0  movdqa [%2+16*0], xmm6  movdqa [%2+16*7], xmm7  paddsw xmm2, xmm1  psubsw xmm3, xmm1  psraw xmm2, SHIFT_INV_COL      	;y3=a3+b3  psraw xmm3, SHIFT_INV_COL      	;y4=a3-b3  movdqa [%2+16*3], xmm2  movdqa [%2+16*4], xmm3  movdqa xmm0, [%2+16*6]          	;a1  movdqa xmm1, xmm0  movdqa xmm6, [%2+16*2]          	;a2  movdqa xmm7, xmm6    paddsw xmm0, xmm4  psubsw xmm1, xmm4  psraw xmm0, SHIFT_INV_COL      	;y1=a1+b1  psraw xmm1, SHIFT_INV_COL      	;y6=a1-b1  movdqa [%2+16*1], xmm0  movdqa [%2+16*6], xmm1  paddsw xmm6, xmm5  psubsw xmm7, xmm5  psraw xmm6, SHIFT_INV_COL      	;y2=a2+b2  psraw xmm7, SHIFT_INV_COL      	;y5=a2-b2  movdqa [%2+16*2], xmm6  movdqa [%2+16*5], xmm7%endmacro;-----------------------------------------------------------------------------; void idct_sse2_dmitry(int16_t coeff[64]);;-----------------------------------------------------------------------------ALIGN 16idct_sse2_dmitry:  mov eax, [esp + 4]  DCT_8_INV_ROW_1_SSE2 eax+  0, eax+  0, tab_i_04, rounder_2_0  DCT_8_INV_ROW_1_SSE2 eax+ 16, eax+ 16, tab_i_17, rounder_2_1  DCT_8_INV_ROW_1_SSE2 eax+ 32, eax+ 32, tab_i_26, rounder_2_2  DCT_8_INV_ROW_1_SSE2 eax+ 48, eax+ 48, tab_i_35, rounder_2_3  DCT_8_INV_ROW_1_SSE2 eax+ 64, eax+ 64, tab_i_04, rounder_2_4  DCT_8_INV_ROW_1_SSE2 eax+ 80, eax+ 80, tab_i_35, rounder_2_5  DCT_8_INV_ROW_1_SSE2 eax+ 96, eax+ 96, tab_i_26, rounder_2_6  DCT_8_INV_ROW_1_SSE2 eax+112, eax+112, tab_i_17, rounder_2_7  DCT_8_INV_COL_4_SSE2 eax, eax  ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久er99精品| 欧美一区二区网站| 69堂国产成人免费视频| 久久久亚洲综合| 婷婷综合五月天| 99热精品一区二区| 国产日韩欧美精品在线| 日本欧美肥老太交大片| 色狠狠色噜噜噜综合网| 国产日本欧美一区二区| 高清不卡一区二区在线| 在线电影一区二区三区| 一二三四区精品视频| 99视频国产精品| 久久久精品蜜桃| 激情偷乱视频一区二区三区| 欧美日韩精品欧美日韩精品一| ...av二区三区久久精品| 国产老肥熟一区二区三区| 91精品国产黑色紧身裤美女| 一区二区高清在线| 色综合久久久久综合99| 国产精品美日韩| 国产高清视频一区| 国产清纯白嫩初高生在线观看91| 蜜桃视频在线一区| 91精选在线观看| 日韩二区在线观看| 69堂成人精品免费视频| 三级久久三级久久久| 欧美三级电影在线看| 亚洲综合在线第一页| 一本一本久久a久久精品综合麻豆| 国产精品卡一卡二卡三| 成人午夜伦理影院| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产成人午夜精品影院观看视频 | 亚洲成人av福利| 在线精品视频免费观看| 亚洲成在人线免费| 在线不卡一区二区| 美女尤物国产一区| 久久精品在这里| 国产电影一区在线| 18成人在线观看| 欧美综合视频在线观看| 日韩精品一卡二卡三卡四卡无卡| 91精品国产一区二区三区香蕉| 日韩—二三区免费观看av| 欧美www视频| 成人丝袜18视频在线观看| 亚洲免费观看高清完整版在线| 色先锋aa成人| 日韩电影免费在线看| 精品美女被调教视频大全网站| 国产精品18久久久久久久久久久久 | 蜜臀a∨国产成人精品| 久久青草国产手机看片福利盒子| 丁香亚洲综合激情啪啪综合| 亚洲精品国产精华液| 在线不卡免费欧美| 国产成人无遮挡在线视频| 亚洲激情五月婷婷| 欧美刺激脚交jootjob| 欧美日韩电影一区| 国产麻豆91精品| 亚洲少妇屁股交4| 欧美一区二区三区在线观看| 国产福利91精品| 亚洲午夜激情av| 久久―日本道色综合久久| 欧洲精品中文字幕| 国产精品 日产精品 欧美精品| 亚洲欧美色一区| wwwwww.欧美系列| 欧美性做爰猛烈叫床潮| 国产麻豆一精品一av一免费 | 成人综合在线观看| 日韩综合小视频| 国产精品国产三级国产| 日韩三级伦理片妻子的秘密按摩| 不卡欧美aaaaa| 精品午夜久久福利影院| 亚洲乱码国产乱码精品精98午夜 | 亚洲国产精品一区二区www在线| 2023国产精品| 欧美美女喷水视频| 99国内精品久久| 国产一区二区三区香蕉| 日韩精品视频网站| 亚洲精品乱码久久久久久久久 | 美洲天堂一区二卡三卡四卡视频 | 精品女同一区二区| 欧美精三区欧美精三区| 色域天天综合网| 成人sese在线| 成人午夜在线视频| 国产精品主播直播| 经典一区二区三区| 麻豆精品在线播放| 日韩中文字幕一区二区三区| 亚洲精品视频观看| 综合久久给合久久狠狠狠97色| 久久亚洲欧美国产精品乐播| 日韩视频在线一区二区| 91麻豆精品91久久久久久清纯| 欧美在线影院一区二区| 色婷婷激情综合| 色哟哟精品一区| 91麻豆福利精品推荐| 成人18视频在线播放| 国产91高潮流白浆在线麻豆 | 国产亚洲婷婷免费| 久久久亚洲高清| 久久精品欧美日韩| 午夜日韩在线观看| 亚洲宅男天堂在线观看无病毒| 日韩一区欧美小说| 亚洲美女精品一区| 亚洲香肠在线观看| 五月综合激情日本mⅴ| 偷拍日韩校园综合在线| 青青草伊人久久| 美腿丝袜在线亚洲一区| 九色|91porny| 高清成人在线观看| 色综合婷婷久久| 欧美伊人久久大香线蕉综合69| 欧美三级韩国三级日本一级| 欧美精品久久99| 2021久久国产精品不只是精品| 国产亚洲视频系列| 亚洲免费大片在线观看| 亚欧色一区w666天堂| 久久国产乱子精品免费女| 国产一区二区免费视频| 成人污污视频在线观看| 91成人在线精品| 日韩三级在线观看| 国产片一区二区三区| 自拍偷拍亚洲综合| 日韩精品亚洲专区| 国产91精品在线观看| 91久久国产最好的精华液| 欧美肥妇bbw| 国产精品视频九色porn| 亚洲午夜日本在线观看| 国产一区在线视频| 一本色道久久综合亚洲aⅴ蜜桃 | 成人高清av在线| 欧美日韩你懂得| 国产色产综合产在线视频| 亚洲精品久久嫩草网站秘色| 久久精品国产亚洲高清剧情介绍 | 五月天激情小说综合| 极品少妇xxxx精品少妇| 91社区在线播放| 欧美一区二区三区思思人| 国产精品福利影院| 青青草国产成人av片免费| 99久久伊人久久99| 日韩一区二区三区电影| 亚洲欧美日韩精品久久久久| 精品中文字幕一区二区小辣椒| 91蝌蚪porny九色| 久久久美女艺术照精彩视频福利播放| 亚洲天堂久久久久久久| 精品中文字幕一区二区小辣椒 | 欧美一区二区免费观在线| 国产精品美日韩| 国内偷窥港台综合视频在线播放| 欧洲日韩一区二区三区| 中文字幕av资源一区| 免费观看30秒视频久久| 欧美三区在线观看| 《视频一区视频二区| 国产精品1区2区| 精品久久久三级丝袜| 日韩精品一二三| 欧美日韩在线三区| 亚洲精品自拍动漫在线| 风间由美性色一区二区三区| 欧美成人午夜电影| 五月婷婷色综合| 欧美视频在线一区| 一区二区三区精品视频在线| 99久久精品免费精品国产| 亚洲成人免费av| 91麻豆产精品久久久久久 | 高潮精品一区videoshd| 精品国产1区2区3区| 男女男精品视频网| 91精品国产欧美一区二区 | 亚洲精品水蜜桃| 91香蕉视频黄| 亚洲免费观看在线视频| 99国产精品视频免费观看| 国产精品美女视频| 99精品视频一区二区三区| 中文欧美字幕免费|