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

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

?? colorspace_rgb_mmx.asm

?? xvid的視頻編解碼庫文件
?? ASM
字號:
;/*****************************************************************************; *; *  XVID MPEG-4 VIDEO CODEC; *  - RGB colorspace conversions -; *; *  Copyright(C) 2002-2003 Michael Militzer <isibaar@xvid.org>; *               2002-2003 Peter Ross <pross@xvid.org>; *; *  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;=============================================================================; Some constants;=============================================================================;-----------------------------------------------------------------------------; RGB->YV12 yuv constants;-----------------------------------------------------------------------------%define Y_R		0.257%define Y_G		0.504%define Y_B		0.098%define Y_ADD	16%define U_R		0.148%define U_G		0.291%define U_B		0.439%define U_ADD	128%define V_R		0.439%define V_G		0.368%define V_B		0.071%define V_ADD	128; Scaling used during conversion%define SCALEBITS 6;=============================================================================; Read only data;=============================================================================%ifdef FORMAT_COFFSECTION .rodata data%elseSECTION .rodata data align=16%endifALIGN 16;-----------------------------------------------------------------------------; RGB->YV12 multiplication matrices;-----------------------------------------------------------------------------;         FIX(Y_B)	FIX(Y_G)	FIX(Y_R) Ignoredy_mul: dw    25,      129,        66,      0u_mul: dw   112,      -74,       -38,      0v_mul: dw   -18,      -94,       112,      0;-----------------------------------------------------------------------------; YV12->RGB data;-----------------------------------------------------------------------------Y_SUB: dw  16,  16,  16,  16U_SUB: dw 128, 128, 128, 128V_SUB: dw 128, 128, 128, 128Y_MUL: dw  74,  74,  74,  74UG_MUL: dw  25,  25,  25,  25VG_MUL: dw  52,  52,  52,  52UB_MUL: dw 129, 129, 129, 129VR_MUL: dw 102, 102, 102, 102BRIGHT: db 128, 128, 128, 128, 128, 128, 128, 128;=============================================================================; Helper macros used with the colorspace_mmx.inc file;=============================================================================;------------------------------------------------------------------------------; BGR_TO_YV12( BYTES );; BYTES		3=bgr(24bit), 4=bgra(32-bit);; bytes=3/4, pixels = 2, vpixels=2;------------------------------------------------------------------------------%macro BGR_TO_YV12_INIT		2  movq mm7, [y_mul]%endmacro%macro BGR_TO_YV12			2    ; y_out  pxor mm4, mm4  pxor mm5, mm5  movd mm0, [edi]               ; x_ptr[0...]  movd mm2, [edi+edx]           ; x_ptr[x_stride...]  punpcklbw mm0, mm4            ; [  |b |g |r ]  punpcklbw mm2, mm5            ; [  |b |g |r ]  movq mm6, mm0                 ; = [  |b4|g4|r4]  paddw mm6, mm2                ; +[  |b4|g4|r4]  pmaddwd mm0, mm7              ; *= Y_MUL  pmaddwd mm2, mm7              ; *= Y_MUL  movq mm4, mm0                 ; [r]  movq mm5, mm2                 ; [r]  psrlq mm4, 32                 ; +[g]  psrlq mm5, 32                 ; +[g]  paddd mm0, mm4                ; +[b]  paddd mm2, mm5                ; +[b]  pxor mm4, mm4  pxor mm5, mm5  movd mm1, [edi+%1]            ; src[%1...]  movd mm3, [edi+edx+%1]        ; src[x_stride+%1...]  punpcklbw mm1, mm4            ; [  |b |g |r ]  punpcklbw mm3, mm5            ; [  |b |g |r ]  paddw mm6, mm1                ; +[  |b4|g4|r4]  paddw mm6, mm3                ; +[  |b4|g4|r4]  pmaddwd mm1, mm7              ; *= Y_MUL  pmaddwd mm3, mm7              ; *= Y_MUL  movq mm4, mm1                 ; [r]  movq mm5, mm3                 ; [r]  psrlq mm4, 32                 ; +[g]  psrlq mm5, 32                 ; +[g]  paddd mm1, mm4                ; +[b]  paddd mm3, mm5                ; +[b]  push edx  movd edx, mm0  shr edx, 8  add edx, Y_ADD  mov [esi], dl                 ; y_ptr[0]  movd edx, mm1  shr edx, 8  add edx, Y_ADD  mov [esi + 1], dl             ; y_ptr[1]  movd edx, mm2  shr edx, 8  add edx, Y_ADD  mov [esi + eax + 0], dl       ; y_ptr[y_stride + 0]  movd edx, mm3  shr edx, 8  add edx, Y_ADD  mov [esi + eax + 1], dl       ; y_ptr[y_stride + 1]  ; u_ptr, v_ptr  movq mm0, mm6                 ; = [  |b4|g4|r4]  pmaddwd mm6, [v_mul]          ; *= V_MUL  pmaddwd mm0, [u_mul]          ; *= U_MUL  movq mm1, mm0  movq mm2, mm6  psrlq mm1, 32  psrlq mm2, 32  paddd mm0, mm1  paddd mm2, mm6  movd edx, mm0  shr edx, 10  add edx, U_ADD  mov [ebx], dl  movd edx, mm2  shr edx, 10  add edx, V_ADD  mov [ecx], dl  pop edx%endmacro;------------------------------------------------------------------------------; YV12_TO_BGR( BYTES );; BYTES		3=bgr(24-bit), 4=bgra(32-bit);; bytes=3/4, pixels = 8, vpixels=2;------------------------------------------------------------------------------%macro YV12_TO_BGR_INIT		2  pxor mm7, mm7			; clear mm7%endmacro%macro YV12_TO_BGR			2%define TEMP_Y1  esp%define TEMP_Y2  esp + 8%define TEMP_G1  esp + 16%define TEMP_G2  esp + 24%define TEMP_B1  esp + 32%define TEMP_B2  esp + 40  movd mm2, [ebx]           ; u_ptr[0]  movd mm3, [ecx]           ; v_ptr[0]  punpcklbw mm2, mm7        ; u3u2u1u0 -> mm2  punpcklbw mm3, mm7        ; v3v2v1v0 -> mm3  psubsw mm2, [U_SUB]       ; U - 128  psubsw mm3, [V_SUB]       ; V - 128  movq mm4, mm2  movq mm5, mm3  pmullw mm2, [UG_MUL]  pmullw mm3, [VG_MUL]  movq mm6, mm2             ; u3u2u1u0 -> mm6  punpckhwd mm2, mm2        ; u3u3u2u2 -> mm2  punpcklwd mm6, mm6        ; u1u1u0u0 -> mm6  pmullw mm4, [UB_MUL]      ; B_ADD -> mm4  movq mm0, mm3  punpckhwd mm3, mm3        ; v3v3v2v2 -> mm2  punpcklwd mm0, mm0        ; v1v1v0v0 -> mm6  paddsw mm2, mm3  paddsw mm6, mm0  pmullw mm5, [VR_MUL]      ; R_ADD -> mm5  movq mm0, [esi]           ; y7y6y5y4y3y2y1y0 -> mm0  movq mm1, mm0  punpckhbw mm1, mm7        ; y7y6y5y4 -> mm1  punpcklbw mm0, mm7        ; y3y2y1y0 -> mm0  psubsw mm0, [Y_SUB]       ; Y - Y_SUB  psubsw mm1, [Y_SUB]       ; Y - Y_SUB  pmullw mm1, [Y_MUL]  pmullw mm0, [Y_MUL]  movq [TEMP_Y2], mm1       ; y7y6y5y4 -> mm3  movq [TEMP_Y1], mm0       ; y3y2y1y0 -> mm7  psubsw mm1, mm2           ; g7g6g5g4 -> mm1  psubsw mm0, mm6           ; g3g2g1g0 -> mm0  psraw mm1, SCALEBITS  psraw mm0, SCALEBITS  packuswb mm0, mm1         ;g7g6g5g4g3g2g1g0 -> mm0  movq [TEMP_G1], mm0  movq mm0, [esi+eax]       ; y7y6y5y4y3y2y1y0 -> mm0  movq mm1, mm0  punpckhbw mm1, mm7        ; y7y6y5y4 -> mm1  punpcklbw mm0, mm7        ; y3y2y1y0 -> mm0  psubsw mm0, [Y_SUB]       ; Y - Y_SUB  psubsw mm1, [Y_SUB]       ; Y - Y_SUB  pmullw mm1, [Y_MUL]  pmullw mm0, [Y_MUL]  movq mm3, mm1  psubsw mm1, mm2           ; g7g6g5g4 -> mm1  movq mm2, mm0  psubsw mm0, mm6           ; g3g2g1g0 -> mm0  psraw mm1, SCALEBITS  psraw mm0, SCALEBITS  packuswb mm0, mm1         ; g7g6g5g4g3g2g1g0 -> mm0  movq [TEMP_G2], mm0  movq mm0, mm4  punpckhwd mm4, mm4        ; u3u3u2u2 -> mm2  punpcklwd mm0, mm0        ; u1u1u0u0 -> mm6  movq mm1, mm3             ; y7y6y5y4 -> mm1  paddsw mm3, mm4           ; b7b6b5b4 -> mm3  movq mm7, mm2             ; y3y2y1y0 -> mm7  paddsw mm2, mm0           ; b3b2b1b0 -> mm2  psraw mm3, SCALEBITS  psraw mm2, SCALEBITS  packuswb mm2, mm3         ; b7b6b5b4b3b2b1b0 -> mm2  movq [TEMP_B2], mm2  movq mm3, [TEMP_Y2]  movq mm2, [TEMP_Y1]  movq mm6, mm3             ; TEMP_Y2 -> mm6  paddsw mm3, mm4           ; b7b6b5b4 -> mm3  movq mm4, mm2             ; TEMP_Y1 -> mm4  paddsw mm2, mm0           ; b3b2b1b0 -> mm2  psraw mm3, SCALEBITS  psraw mm2, SCALEBITS  packuswb mm2, mm3         ; b7b6b5b4b3b2b1b0 -> mm2  movq [TEMP_B1], mm2  movq mm0, mm5  punpckhwd mm5, mm5        ; v3v3v2v2 -> mm5  punpcklwd mm0, mm0        ; v1v1v0v0 -> mm0  paddsw mm1, mm5           ; r7r6r5r4 -> mm1  paddsw mm7, mm0           ; r3r2r1r0 -> mm7  psraw mm1, SCALEBITS  psraw mm7, SCALEBITS  packuswb mm7, mm1         ; r7r6r5r4r3r2r1r0 -> mm7 (TEMP_R2)  paddsw mm6, mm5           ; r7r6r5r4 -> mm6  paddsw mm4, mm0           ; r3r2r1r0 -> mm4  psraw mm6, SCALEBITS  psraw mm4, SCALEBITS  packuswb mm4, mm6         ; r7r6r5r4r3r2r1r0 -> mm4 (TEMP_R1)  movq mm0, [TEMP_B1]  movq mm1, [TEMP_G1]  movq mm6, mm7  movq mm2, mm0  punpcklbw mm2, mm4        ; r3b3r2b2r1b1r0b0 -> mm2  punpckhbw mm0, mm4        ; r7b7r6b6r5b5r4b4 -> mm0  pxor mm7, mm7  movq mm3, mm1  punpcklbw mm1, mm7        ; 0g30g20g10g0 -> mm1  punpckhbw mm3, mm7        ; 0g70g60g50g4 -> mm3  movq mm4, mm2  punpcklbw mm2, mm1        ; 0r1g1b10r0g0b0 -> mm2  punpckhbw mm4, mm1        ; 0r3g3b30r2g2b2 -> mm4  movq mm5, mm0  punpcklbw mm0, mm3        ; 0r5g5b50r4g4b4 -> mm0  punpckhbw mm5, mm3        ; 0r7g7b70r6g6b6 -> mm5%if %1 == 3     ; BGR (24-bit)  movd [edi], mm2  psrlq mm2, 32  movd [edi + 3], mm2  movd [edi + 6], mm4  psrlq mm4, 32  movd [edi + 9], mm4  movd [edi + 12], mm0  psrlq mm0, 32  movd [edi + 15], mm0  movq mm2, mm5  psrlq mm0, 8              ; 000000r5g5 -> mm0  psllq mm2, 32             ; 0r6g6b60000 -> mm2  psrlq mm5, 32             ; 00000r7g7b7 -> mm5  psrlq mm2, 16             ; 000r6g6b600 -> mm2  por mm0, mm2              ; 000r6g6b6r5g5 -> mm0  psllq mm5, 40             ; r7g7b700000 -> mm5  por mm5, mm0              ; r7g7b7r6g6b6r5g5 -> mm5  movq [edi + 16], mm5  movq mm0, [TEMP_B2]  movq mm1, [TEMP_G2]  movq mm2, mm0  punpcklbw mm2, mm6        ; r3b3r2b2r1b1r0b0 -> mm2  punpckhbw mm0, mm6        ; r7b7r6b6r5b5r4b4 -> mm0  movq mm3, mm1  punpcklbw mm1, mm7        ; 0g30g20g10g0 -> mm1  punpckhbw mm3, mm7        ; 0g70g60g50g4 -> mm3  movq mm4, mm2  punpcklbw mm2, mm1        ; 0r1g1b10r0g0b0 -> mm2  punpckhbw mm4, mm1        ; 0r3g3b30r2g2b2 -> mm4  movq mm5, mm0  punpcklbw mm0, mm3        ; 0r5g5b50r4g4b4 -> mm0  punpckhbw mm5, mm3        ; 0r7g7b70r6g6b6 -> mm5  movd [edi+edx], mm2  psrlq mm2, 32  movd [edi+edx + 3], mm2  movd [edi+edx + 6], mm4  psrlq mm4, 32  movd [edi+edx + 9], mm4  movd [edi+edx + 12], mm0  psrlq mm0, 32  movd [edi+edx + 15], mm0  movq mm2, mm5  psrlq mm0, 8              ; 000000r5g5 -> mm0  psllq mm2, 32             ; 0r6g6b60000 -> mm2  psrlq mm5, 32             ; 00000r7g7b7 -> mm5  psrlq mm2, 16             ; 000r6g6b600 -> mm2  por mm0, mm2              ; 000r6g6b6r5g5 -> mm0  psllq mm5, 40             ; r7g7b700000 -> mm5  por mm5, mm0              ; r7g7b7r6g6b6r5g5 -> mm5  movq [edi + edx + 16], mm5%else       ; BGRA (32-bit)  movq [edi], mm2  movq [edi + 8], mm4  movq [edi + 16], mm0  movq [edi + 24], mm5  movq mm0, [TEMP_B2]  movq mm1, [TEMP_G2]  movq mm2, mm0  punpcklbw mm2, mm6        ; r3b3r2b2r1b1r0b0 -> mm2  punpckhbw mm0, mm6        ; r7b7r6b6r5b5r4b4 -> mm0  movq mm3, mm1  punpcklbw mm1, mm7        ; 0g30g20g10g0 -> mm1  punpckhbw mm3, mm7        ; 0g70g60g50g4 -> mm3  movq mm4, mm2  punpcklbw mm2, mm1        ; 0r1g1b10r0g0b0 -> mm2  punpckhbw mm4, mm1        ; 0r3g3b30r2g2b2 -> mm4  movq mm5, mm0  punpcklbw mm0, mm3        ; 0r5g5b50r4g4b4 -> mm0  punpckhbw mm5, mm3        ; 0r7g7b70r6g6b6 -> mm5  movq [edi + edx], mm2  movq [edi + edx + 8], mm4  movq [edi + edx + 16], mm0  movq [edi + edx + 24], mm5%endif%undef TEMP_Y1%undef TEMP_Y2%undef TEMP_G1%undef TEMP_G2%undef TEMP_B1%undef TEMP_B2%endmacro;=============================================================================; Code;=============================================================================SECTION .text%include "colorspace_mmx.inc"; inputMAKE_COLORSPACE  bgr_to_yv12_mmx,0,    3,2,2,  BGR_TO_YV12,  3, -1MAKE_COLORSPACE  bgra_to_yv12_mmx,0,   4,2,2,  BGR_TO_YV12,  4, -1; outputMAKE_COLORSPACE  yv12_to_bgr_mmx,48,   3,8,2,  YV12_TO_BGR,  3, -1MAKE_COLORSPACE  yv12_to_bgra_mmx,48,  4,8,2,  YV12_TO_BGR,  4, -1

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色图一区二区三区| 成人午夜精品在线| 亚洲男帅同性gay1069| 国产精品美女www爽爽爽| 精品国产乱码久久久久久免费 | 亚洲日本丝袜连裤袜办公室| 久久久.com| 日本一区二区视频在线观看| 久久免费美女视频| 欧美激情综合五月色丁香小说| 国产精品久久久久影院| 日本一区二区久久| 亚洲欧美欧美一区二区三区| 亚洲黄网站在线观看| 一级中文字幕一区二区| 日本不卡的三区四区五区| 精品在线亚洲视频| 成人免费视频网站在线观看| 91视频观看视频| 欧美人牲a欧美精品| 久久伊人蜜桃av一区二区| 欧美经典一区二区| 亚洲欧美日韩中文播放| 日韩成人一级大片| 国产精品中文字幕日韩精品| 色呦呦一区二区三区| 欧美一级爆毛片| 国产精品免费视频网站| 夜夜嗨av一区二区三区四季av| 日韩黄色在线观看| 国产电影精品久久禁18| 在线日韩av片| 久久一区二区三区四区| 亚洲高清在线精品| 国产一区二区不卡在线| 欧美日韩国产系列| 久久伊人蜜桃av一区二区| 亚洲一区在线免费观看| 国产成人精品在线看| 欧美日韩精品三区| 亚洲欧洲另类国产综合| 麻豆一区二区99久久久久| 91热门视频在线观看| 精品久久国产字幕高潮| 亚洲精品老司机| 福利一区福利二区| 欧美一区二区三区免费在线看| 国产性做久久久久久| 免费在线成人网| 在线一区二区三区| 国产亚洲精品bt天堂精选| 男女性色大片免费观看一区二区| 99国产麻豆精品| 国产欧美日韩不卡免费| 麻豆久久久久久久| 欧美日韩国产美女| 亚洲精品第1页| 成人精品国产福利| 久久久噜噜噜久久人人看 | 日本色综合中文字幕| 色婷婷综合激情| 国产精品免费观看视频| 大胆亚洲人体视频| 久久亚洲影视婷婷| 激情久久五月天| 欧美va日韩va| 久久国内精品视频| 精品久久一区二区| 蜜桃精品在线观看| 日韩视频免费直播| 久久精品国产**网站演员| 日韩一区二区三区视频在线| 亚洲狠狠爱一区二区三区| 欧美探花视频资源| 亚洲综合色在线| 欧美吞精做爰啪啪高潮| 亚洲国产日韩a在线播放性色| 在线观看欧美精品| 亚洲国产综合色| 91精品福利在线一区二区三区| 亚洲成av人片在线| 91精品在线观看入口| 免费观看一级欧美片| 精品少妇一区二区三区在线视频| 精品一区二区三区在线观看国产| 日韩欧美一二区| 国产高清不卡一区| 国产精品久久久久影院亚瑟 | 麻豆成人在线观看| 日韩午夜中文字幕| 国产一区二区三区综合| 国产拍欧美日韩视频二区| aa级大片欧美| 天天爽夜夜爽夜夜爽精品视频| 欧美一区三区四区| 精品一区二区三区在线播放视频| 久久久久国色av免费看影院| av在线不卡网| 日韩国产欧美一区二区三区| 国产亚洲女人久久久久毛片| 色999日韩国产欧美一区二区| 亚洲h在线观看| 久久先锋影音av鲁色资源网| 99国产精品久| 日韩成人免费电影| 国产精品麻豆欧美日韩ww| 欧美日韩精品一区二区天天拍小说| 美洲天堂一区二卡三卡四卡视频| 国产人伦精品一区二区| 欧美图区在线视频| 国产精品资源在线| 亚洲成人福利片| 欧美国产亚洲另类动漫| 欧美精品在线一区二区| 成人免费高清视频在线观看| 丝袜诱惑制服诱惑色一区在线观看| 久久久精品国产免大香伊| 欧亚洲嫩模精品一区三区| 国产一区二区在线视频| 亚洲一卡二卡三卡四卡| 国产欧美日韩精品a在线观看| 91精品国产全国免费观看| 99久久免费精品高清特色大片| 免费视频最近日韩| 一级日本不卡的影视| 国产精品久久免费看| 欧美一级爆毛片| 欧美精品久久一区二区三区| 99综合电影在线视频| 国产一区二区免费在线| 午夜精品久久久久久| 亚洲欧美日韩中文字幕一区二区三区| 精品国产一区二区三区av性色| 欧美性受xxxx黑人xyx| 国产99久久久国产精品潘金| 男女男精品视频网| 五月婷婷欧美视频| 亚洲综合一二区| 亚洲精品日产精品乱码不卡| 国产精品久久久久久久蜜臀| 国产欧美日韩另类一区| 久久一夜天堂av一区二区三区| 日韩午夜激情视频| 欧美女孩性生活视频| 欧美午夜一区二区| 91久久精品一区二区三| 色综合一个色综合| 91蜜桃视频在线| 色婷婷亚洲综合| 欧美日韩视频在线一区二区 | 国产激情视频一区二区三区欧美 | 欧日韩精品视频| 欧美午夜精品理论片a级按摩| 99九九99九九九视频精品| 成人动漫一区二区三区| 成人激情动漫在线观看| jizzjizzjizz欧美| 91在线视频官网| 欧美在线影院一区二区| 欧美日韩卡一卡二| 欧美精品色综合| 欧美一级理论片| 精品福利在线导航| 久久久久国产精品麻豆| 国产女人18水真多18精品一级做| 中文字幕第一区二区| 亚洲欧美一区二区三区国产精品| 亚洲另类春色校园小说| 午夜视频一区在线观看| 蜜桃av噜噜一区二区三区小说| 激情成人综合网| www.久久精品| 欧美日韩免费不卡视频一区二区三区| 欧美精品自拍偷拍| 精品剧情v国产在线观看在线| 国产日韩欧美高清在线| 亚洲卡通动漫在线| 视频一区二区国产| 国产麻豆欧美日韩一区| 成人av电影免费在线播放| 在线亚洲欧美专区二区| 日韩一级完整毛片| 国产精品免费av| 喷白浆一区二区| av影院午夜一区| 日韩亚洲欧美一区| 国产精品国产精品国产专区不蜜| 亚洲国产一区在线观看| 国产一区二区电影| 欧美在线视频不卡| 国产欧美1区2区3区| 五月激情六月综合| 国产乱一区二区| 91精品国产综合久久久久| 国产网红主播福利一区二区| 亚洲成人免费电影| 97精品电影院| 久久品道一品道久久精品| 亚洲国产日韩一级| 99re成人精品视频|