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

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

?? skl_mb_edges.asm

?? mpeg4編解碼器
?? ASM
字號:
;/********************************************************; * Some code. Copyright (C) 2003 by Pascal Massimino.   *; * All Rights Reserved.      (http://skal.planet-d.net) *; * For Educational/Academic use ONLY. See 'LICENSE.TXT'.*; ********************************************************/;//////////////////////////////////////////////////////////////////////;// MMX/x86 versions of;//  void Skl_Make_Edges(SKL_BYTE **YUV, const int Width,;//                      const int Height, const int BpS);//////////////////////////////////////////////////////////////////////; [BITS 32]%include "../../include/skl_syst/skl_nasm.h"globl Skl_Make_Edges_MMXglobl Skl_Make_Edges_SSEglobl Skl_Make_Edges_x86;//////////////////////////////////////////////////////////////////////TEXT%macro B_TO_Q_MMX 4   ; %1:SrcLeft, %2:Width, %3:mm#0, %4:mm#1    ; replicate left and right bytes into quardwords  movq %3, [%1]  punpcklbw %3,%3  movq %4, [%1+%2-8]    ; <- -8 offset: we align Right read  punpcklwd %3,%3  punpckhbw %4,%4  punpckldq %3,%3  punpckhwd %4,%4  punpckhdq %4,%4%endmacro%macro B_TO_Q_SSE 4   ; %1:SrcLeft, %2:Width, %3:mm#0, %4:mm#1    ; replicate left and right bytes into quardwords  movq %4, [%1+%2-8]    ; <- -8 offset: we align Right read  movq %3, [%1]  punpckhbw %4,%4  punpcklbw %3,%3  pshufw %4,%4,0xff  pshufw %3,%3,0x00%endmacro%macro MAIN_MMX_SSE_LOOP 1    ; %1: B_TO_Q macro to use  push ebx  push esi  push edi  push ebp  mov esi, [esp+ 4 +16]  ; YVU  mov ebp, [esp+16 +16]  ; BpS    ; //// Y border loops ////      ; 1) Left/Right        mov edx, [esp+ 8 +16]  ; Width  mov edi, [esp+12 +16]  ; Height  mov ebx, [esi +0]      ; Y  jmp .Loop_LR_Yalign 16.Loop_LR_Y  %1 ebx, edx, mm0, mm1 ; B_TO_Q  dec edi  movq [ebx-16], mm0  movq [ebx+edx], mm1  movq [ebx- 8], mm0  movq [ebx+edx+8], mm1  jle .Out_LR_Y  lea  ebx, [ebx+ebp]  jmp .Loop_LR_Y.Out_LR_Y      ; 2) Bottom Y  ; ebx is correctly positioned  lea ebx, [ebx+edx]  mov eax, 16  mov ecx, ebx  mov edi, -16  sub edi, edx    ; edi=-16-Width  mov edx, edi  lea ebx, [ebx+ebp]  jmp .Loop_B_Yalign 16.Loop_B_Y  add edx, 16  movq mm0, [ecx+edx-16  ]  movq mm1, [ecx+edx-16+8]  movq [ebx+edx-16  ], mm0  movq [ebx+edx-16+8], mm1  jle .Loop_B_Y  dec eax  mov edx, edi  jle .Out_B_Y  lea ebx, [ebx+ebp]  jmp .Loop_B_Y.Out_B_Y:    ; 3) Top Y  mov eax, [esp+ 8 +16]  xor ebp, -1  mov ebx, [esi+0]  inc ebp       ; ebp = -BpS  add ebx, eax  ; Y+Width  mov eax, 16  lea ecx, [ebx+ebp]  jmp .Loop_T_Yalign 16.Loop_T_Y  add edx, 16  movq mm0, [ebx+edx-16  ]  movq mm1, [ebx+edx-16+8]  movq [ecx+edx-16  ], mm0  movq [ecx+edx-16+8], mm1  jle .Loop_T_Y  dec eax    jle .Out_T_Y  mov edx, edi    lea ecx, [ecx+ebp]  jmp .Loop_T_Y.Out_T_Y    ; //// UV border loops ////      ; 1) left/right    mov esi, [esp+ 4 +16]  ; YVU  mov edx, [esp+ 8 +16]  ; Width  mov edi, [esp+12 +16]  ; Height  mov ebp, [esp+16 +16]  ; BpS  shr edx, 1             ; width/=2  shr edi, 1             ; Height/2  mov ebx, [esi +4]      ; U  mov ecx, [esi +8]      ; V  jmp .Skip_LR_UValign 16.Loop_LR_UV  lea  ebx, [ebx+ebp]  lea  ecx, [ecx+ebp].Skip_LR_UV   %1 ebx, edx, mm0, mm1   ; <-B_TO_Q  %1 ecx, edx, mm2, mm3   ; <-B_TO_Q  dec edi    movq [ebx-8], mm0  movq [ebx+edx+0], mm1  movq [ecx-8], mm2  movq [ecx+edx+0], mm3  jg .Loop_LR_UV    ; 2) Bottom UV   ; ebx/ecx are correctly positioned  lea ebx, [ebx+edx]  lea ecx, [ecx+edx]  mov edi, ecx  mov esi, ebx  mov eax,-16  sub eax, edx    ; eax = -16-Width/2  mov edx, 8  push eax.Loop_B_UV_y  mov eax, [esp]  lea ebx, [ebx+ebp]  lea ecx, [ecx+ebp]  jmp .Loop_B_UValign 16.Loop_B_UV  add eax, 8  movq mm0, [esi+eax]  movq mm1, [edi+eax]  movq [ebx+eax], mm0  movq [ecx+eax], mm1  jl .Loop_B_UV  dec edx  jle .Out_B_UV  jmp .Loop_B_UV_y.Out_B_UV:    ; 3) Top UV  mov esi, [esp+ 4 +16+4]  ; YVU  mov edx, [esp+ 8 +16+4]  ; Width  mov edi, [esi+4]  ; U  mov esi, [esi+8]  ; V  shr edx, 1  lea edi, [edi+edx]  lea esi, [esi+edx]  xor ebp, -1  mov ebx, esi  inc ebp       ; ebp = -BpS  mov ecx, edi  mov edx, 8.Loop_T_UV_y  mov eax, [esp]  lea ebx, [ebx+ebp]  lea ecx, [ecx+ebp]  jmp .Loop_T_UValign 16.Loop_T_UV  add eax, 8  movq mm0, [esi+eax]  movq mm1, [edi+eax]  movq [ebx+eax], mm0  movq [ecx+eax], mm1  jl .Loop_T_UV  dec edx  jg .Loop_T_UV_y  pop eax  pop ebp  pop edi  pop esi  pop ebx%endmacro;//////////////////////////////////////////////////////////////////////align 16Skl_Make_Edges_MMX: ; approx.: ~20200c@512x384, ~21500c@640x352, ~13460c@352x240  MAIN_MMX_SSE_LOOP B_TO_Q_MMX  retalign 16Skl_Make_Edges_SSE: ; approx.: ~20200c@512x384, ~21500c@640x352, ~13460c@352x240  MAIN_MMX_SSE_LOOP B_TO_Q_SSE  ret;//////////////////////////////////////////////////////////////////////%macro B_TO_DW_X86 3   ; %1:Src  %2/%3: tmp reg    ; replicate byte into dword  mov al, [%1]  mov ah, al  mov %2, eax  shl eax,16  mov ax, %3%endmacroalign 16Skl_Make_Edges_x86:  push ebx  push esi  push edi  push ebp  mov esi, [esp+ 4 +16]  ; YVU  mov ebp, [esp+16 +16]  ; BpS    ; //// Y border loops ////      ; 1) Left/Right        mov edx, [esp+ 8 +16]  ; Width  mov edi, [esp+12 +16]  ; Height  mov ebx, [esi +0]      ; Y  jmp .Loop_LR_Yalign 16.Loop_LR_Y  B_TO_DW_X86 ebx, ecx, cx  mov [ebx-16], eax  mov [ebx-12], eax  mov [ebx-8], eax  mov [ebx-4], eax  B_TO_DW_X86 ebx+edx-1, ecx, cx  mov [ebx+edx], eax  mov [ebx+edx+4], eax  mov [ebx+edx+8], eax  mov [ebx+edx+12], eax  dec edi  jle .Out_LR_Y  lea  ebx, [ebx+ebp]  jmp .Loop_LR_Y.Out_LR_Y      ; 2) Bottom Y  ; ebx is correctly positioned  lea ebx, [ebx+edx]  mov eax, 16  mov ecx, ebx  mov edi, -16  sub edi, edx    ; edi=-16-Width  mov edx, edi  lea ebx, [ebx+ebp]  jmp .Loop_B_Yalign 16.Loop_B_Y  add edx, 16  fld qword [ecx+edx-16  ]  fld qword [ecx+edx-16+8]  fxch st1  fstp qword [ebx+edx-16  ]  fstp qword [ebx+edx-16+8]  jle .Loop_B_Y  dec eax  mov edx, edi  jle .Out_B_Y  lea ebx, [ebx+ebp]  jmp .Loop_B_Y.Out_B_Y:    ; 3) Top Y  mov eax, [esp+ 8 +16]  xor ebp, -1  mov ebx, [esi+0]  inc ebp       ; ebp = -BpS  add ebx, eax  ; Y+Width  mov eax, 16  lea ecx, [ebx+ebp]  jmp .Loop_T_Yalign 16.Loop_T_Y  add edx, 16  fld qword [ebx+edx-16  ]  fld qword [ebx+edx-16+8]  fxch st1  fstp qword [ecx+edx-16  ]  fstp qword [ecx+edx-16+8]  jle .Loop_T_Y  dec eax    jle .Out_T_Y  mov edx, edi    lea ecx, [ecx+ebp]  jmp .Loop_T_Y.Out_T_Y    ; //// UV border loops ////      ; 1) left/right    mov esi, [esp+ 4 +16]  ; YVU  mov edx, [esp+ 8 +16]  ; Width  mov edi, [esp+12 +16]  ; Height  mov ebp, [esp+16 +16]  ; BpS  shr edx, 1             ; width/=2  shr edi, 1             ; Height/2  mov ebx, [esi +4]      ; U  mov ecx, [esi +8]      ; V  jmp .Skip_LR_UValign 16.Loop_LR_UV  lea  ebx, [ebx+ebp]  lea  ecx, [ecx+ebp].Skip_LR_UV   B_TO_DW_X86 ebx, esi, si  mov [ebx-8], eax  mov [ebx-4], eax  B_TO_DW_X86 ebx+edx-1, esi, si  mov [ebx+edx], eax  mov [ebx+edx+4], eax  B_TO_DW_X86 ecx, esi, si  mov [ecx-8], eax  mov [ecx-4], eax  B_TO_DW_X86 ecx+edx-1, esi, si  mov [ecx+edx], eax  mov [ecx+edx+4], eax  dec edi  jg .Loop_LR_UV    ; 2) Bottom UV   ; ebx/ecx are correctly positioned  lea ebx, [ebx+edx]  lea ecx, [ecx+edx]  mov edi, ecx  mov esi, ebx  mov eax,-16  sub eax, edx    ; eax = -16-Width/2  mov edx, 8  push eax.Loop_B_UV_y  mov eax, [esp]  lea ebx, [ebx+ebp]  lea ecx, [ecx+ebp]  jmp .Loop_B_UValign 16.Loop_B_UV  add eax, 8  fld qword [esi+eax]  fld qword [edi+eax]  fxch st1  fstp qword [ebx+eax]  fstp qword [ecx+eax]  jl .Loop_B_UV  dec edx  jle .Out_B_UV  jmp .Loop_B_UV_y.Out_B_UV:    ; 3) Top UV  mov esi, [esp+ 4 +16+4]  ; YVU  mov edx, [esp+ 8 +16+4]  ; Width  mov edi, [esi+4]  ; U  mov esi, [esi+8]  ; V  shr edx, 1  lea edi, [edi+edx]  lea esi, [esi+edx]  xor ebp, -1  mov ebx, esi  inc ebp       ; ebp = -BpS  mov ecx, edi  mov edx, 8.Loop_T_UV_y  mov eax, [esp]  lea ebx, [ebx+ebp]  lea ecx, [ecx+ebp]  jmp .Loop_T_UValign 16.Loop_T_UV  add eax, 8  fld qword [esi+eax]  fld qword [edi+eax]  fxch st1  fstp qword [ebx+eax]  fstp qword [ecx+eax]  jl .Loop_T_UV  dec edx  jg .Loop_T_UV_y  pop eax  pop ebp  pop edi  pop esi  pop ebx  ret;//////////////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩片之四级片| 欧美高清视频在线高清观看mv色露露十八| 亚洲一区二区三区爽爽爽爽爽 | 亚洲在线视频一区| 中文字幕日韩av资源站| ㊣最新国产の精品bt伙计久久| 国产精品色噜噜| 亚洲欧美成人一区二区三区| 亚洲另类春色国产| 亚洲成人精品影院| 久久99最新地址| 国产91精品精华液一区二区三区| 懂色一区二区三区免费观看| 91在线观看下载| 欧美在线影院一区二区| 欧美一级视频精品观看| 久久久精品免费免费| 国产精品久久99| 亚洲18女电影在线观看| 欧美aaaaaa午夜精品| 国产美女主播视频一区| www.视频一区| 4438亚洲最大| 国产欧美视频在线观看| 亚洲一区二区三区精品在线| 美女脱光内衣内裤视频久久网站| 国产高清不卡一区| 色综合色综合色综合| 欧美变态tickle挠乳网站| 中文一区二区在线观看| 亚洲成在人线免费| 国产乱淫av一区二区三区| 色老汉av一区二区三区| 日韩精品一区二区三区中文不卡 | 老司机精品视频在线| 国产高清视频一区| 欧美精品色一区二区三区| 久久婷婷久久一区二区三区| 亚洲一区二区四区蜜桃| 国产jizzjizz一区二区| 欧美精三区欧美精三区 | 色吧成人激情小说| 精品成人免费观看| 亚欧色一区w666天堂| 国产成人一区二区精品非洲| 欧美日韩一二区| 国产精品妹子av| 九九精品一区二区| 欧美日本国产一区| 亚洲精品日韩一| 成人在线综合网| 日韩欧美国产小视频| 伊人婷婷欧美激情| av在线不卡免费看| 久久毛片高清国产| 精品系列免费在线观看| 欧美日本一道本| 亚洲国产日日夜夜| 色呦呦网站一区| 亚洲女人****多毛耸耸8| 成人性色生活片免费看爆迷你毛片| 欧美一区二区视频观看视频 | 欧美不卡激情三级在线观看| 亚洲一区二区三区国产| 色婷婷综合在线| 亚洲日本丝袜连裤袜办公室| 丁香一区二区三区| 久久青草国产手机看片福利盒子 | 一区二区免费在线播放| 国产成+人+日韩+欧美+亚洲| 久久免费国产精品| 国产一区二区三区四区五区入口| 日韩精品中文字幕在线不卡尤物| 奇米一区二区三区av| 日韩欧美一级特黄在线播放| 日韩高清不卡一区二区| 91精品国产欧美一区二区18| 视频一区二区中文字幕| 7777精品伊人久久久大香线蕉经典版下载 | 欧美精品一卡二卡| 视频一区二区欧美| 日韩视频在线一区二区| 久久成人免费网站| 久久精品人人做人人综合| 国产一区二区毛片| 中文字幕精品综合| 91视频你懂的| 丝袜美腿成人在线| 欧美电视剧免费全集观看| 激情文学综合插| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲天堂福利av| 欧美在线观看一区二区| 天堂av在线一区| 久久精品人人爽人人爽| fc2成人免费人成在线观看播放| 最新高清无码专区| 在线成人免费视频| 国产jizzjizz一区二区| 国产精品久久久久aaaa| 欧美精品第1页| 国产一区二区在线看| 亚洲乱码国产乱码精品精的特点| 欧美中文字幕一区| 日本成人在线电影网| 欧美韩国一区二区| 欧美精品一二三四| 国产精品99久久久久久有的能看| 国产精品黄色在线观看| 日韩色视频在线观看| 99国产欧美久久久精品| 蜜桃在线一区二区三区| 国产精品久久精品日日| 欧美一区二区三区在线视频 | 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区人人喊爽| 成人一级黄色片| 日本欧洲一区二区| 中文字幕一区av| 91麻豆精品国产91久久久久| 不卡的看片网站| 蜜臀av在线播放一区二区三区| 中文字幕一区二区视频| 欧美成人video| 欧美图区在线视频| 成人黄色在线视频| 麻豆91免费观看| 亚洲成人自拍网| 中文字幕精品一区二区精品绿巨人| 91精品国产综合久久精品麻豆 | 99精品国产热久久91蜜凸| 蜜臀av性久久久久蜜臀aⅴ| 亚洲女同一区二区| 国产精品国产三级国产三级人妇| 26uuu精品一区二区三区四区在线| 欧美综合久久久| 色一情一伦一子一伦一区| 国产不卡视频在线播放| 国内精品写真在线观看| 男男视频亚洲欧美| 丝袜美腿亚洲色图| 天使萌一区二区三区免费观看| 亚洲码国产岛国毛片在线| 亚洲国产精品成人综合| 国产视频亚洲色图| 久久久不卡影院| 久久久精品免费免费| 久久久久久久免费视频了| 精品国产一区久久| 久久亚洲综合av| 精品久久久久久久久久久久久久久久久 | 久久久久久久久久久久久女国产乱| 欧美日韩一区高清| 欧美日韩日本视频| 欧美视频一区在线| 欧美美女黄视频| 91精品国产色综合久久| 制服视频三区第一页精品| 4438成人网| 久久先锋资源网| 国产欧美精品一区| 中文字幕日韩精品一区| 一区二区三区丝袜| 婷婷久久综合九色综合伊人色| 午夜影院在线观看欧美| 日本大胆欧美人术艺术动态| 免费国产亚洲视频| 国产宾馆实践打屁股91| 成人av在线看| 欧美日本在线观看| 久久中文娱乐网| 亚洲欧美怡红院| 日日嗨av一区二区三区四区| 久草这里只有精品视频| 国产成人精品三级麻豆| aaa国产一区| 欧美日韩中文一区| www国产成人| 亚洲免费三区一区二区| 亚洲1区2区3区4区| 国产高清不卡一区| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区不卡| 欧美激情一区二区三区蜜桃视频 | 欧美性做爰猛烈叫床潮| 91精品一区二区三区久久久久久| 精品久久久久久久一区二区蜜臀| 日韩一区在线免费观看| 日本vs亚洲vs韩国一区三区二区| 国产资源精品在线观看| 欧美在线你懂得| 欧美韩日一区二区三区| 日本91福利区| 91亚洲永久精品| 日韩精品最新网址| 亚洲精品福利视频网站| 久久国产夜色精品鲁鲁99| 在线精品视频一区二区三四| 久久久不卡网国产精品二区| 亚洲香蕉伊在人在线观|