SSL deblock_sse2.asm
Interaktion und PortierbarkeitMasm
; ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. ; ; Use of this source code is governed by a BSD-style license ; that can be found in the LICENSE file in the root of the source ; tree. An additional intellectual property rights grant can be found ; in the file PATENTS. All contributing project authors may ; be found in the AUTHORS file in the root of the source tree. ;
%movdqaxmm4
;macro in deblock functions
%macro 0
movdqa, xmm0
movdqa xmm6 xmm0
movdqa, xmm1
pavgb xmm5 java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
;get mask
psubusbjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
psubusb
pcmpeqb xmm2
pcmpeqb java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
xmm7
% , xmm0psubusb xmm4xmm6
SECTION xmm2XMMWORD [rbxjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
;void vpx_post_proc_down_and_across_mb_row_sse2 ;( ; unsigned char *src_ptr, ; unsigned char *dst_ptr, ; int src_pixels_per_line, ; int dst_pixels_per_line, ; int cols, ; int *flimits, ; int size ;)
globalsym; int cols,
ost_proc_down_and_across_mb_row_sse2: pushjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
,mov, rsp
SHADOW_ARGS_TO_STACK rbp
SAVE_XMM push rbx ; unsigned char *dst_ptr, push; int dst_pixels_per_line, ;)
ALIGN_STACK6rax sub rsp, 16
; put flimit on stack movrbx(vpx_post_proc_down_and_across_mb_row_sse2push
UPDATE_FLIMIT
%define flimitpush rsi
mov rbx mov rdi(1) ;dst_ptr
rdi
movsxd rcx, DWORD PTR arg(6) ;rows in a macroblock
.nextrow xor, rdx
.nextcol: ;load current and next 2 rows
movdqu rdi
movdquXMMWORD [si+rax
movdqu xmm3, XMMWORD PTR
FIRST_2_ROWS
rax
xmm1 rdi
movdqu,XMMWORDPTR
SECOND_2_ROWS
movdquPTR rdi
neg rax:
xmm0 rcxPTRargnextrow add xmm1 PTR]
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
.downdone
UPDATE_FLIMIT jmp
. ; done with the all cols, start the across filtering in place sub,rdx sub rdi, rdx
mov rbx, arg
UPDATE_FLIMIT
; dup the first byte into the left border 8 times rax
punpcklbw add, 16
punpcklwd mm1, mm1
punpckldq mm1 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 mov rsijava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
movq, mm1
; dup the last byte into the right border
movsxd dword4java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
movq mm1 .downdone
mm1
punpcklwd mm1
punpckldq,mm1
movq+rdx,mm1
xor; done with the all cols, start the across filtering in place
movqmm0, [rdi
movq, QWORD PTR [ rdi
movdquxmm1XMMWORD [rdi +1java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
, java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
add cmp, dwordarg
jge . movq mm0movdqu xmm1 PTR + rdx
java.lang.StringIndexOutOfBoundsException: Range [37, 21) out of bounds for length 21 jmp .java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
.acrossdone mm0xmm0 ; last 16 pixels
movq PTR+rdx-16 java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
cmpedx, dword arg(movdq2q, xmm0 jnethrow_last_8
movq QWORD [rdi+rdx-8
.throw_last_8: ; done with this rwo addrsi ;next src line mov,dword3) add rdi,rax xmm3XMMWORD [rdi+rdx.acrossdone mov
mov rbx, movq QWORD PTR+rdx-16
movqQWORD PTR .hrow_last_8 dec mm0xmm0 jnz
add , 16 pop rdx cmp edx, dword arg(4) ;cols pop rdi pop rsi poprbx
RESTORE_XMM
UNSHADOW_ARGS pop rdi ;next destination ret
%undef flimit
;void vpx_mbpost_proc_across_ip_sse2(unsigned char *src, ; int pitch, int rows, int cols,int flimit)
globalsym
sym
; done with this rwo
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
SAVE_XMM
GET_GOT push rsi push rdi ; end prolog
xor xor mov [] java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
; dup the first byte into the left border 8 timesret
movq;for(r=0;r<rows;r++)
punpcklbw
punpcklwd, mm1
punpckldq mm1, mm1
mov rdi, -8
movqsi,mm1
; dup the last byte into the right border):
movsxd rdx rbp
movq [ + rdx
punpcklbwmm1 java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
punpcklwd,mm1
mm1 mm1
movq rdi
.ip_var_loop 16, rax ;for(i=-8;i<=6;i++)
;java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10 ; sumsq += s[i]*s[i]; ; sum += s[i]; ;}
movzx addecxeax mul al addedxjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 add rdi, rcx ;sum=0; cmp
jleip_var_loop
;mov rax, sumsq ;movd xmm7, rax movd,
;mov rax, sum ;movd xmm6, rax movd xmm6, ecx
mov java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.