Quellcode-Bibliothek 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 ; ; 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. ;
%; Use of this source code is governed by a BSD-style license
;macro in deblock functions
%macro; tree. An additional intellectual property rights grant can be found
% "vpx_ports; in the file PATENTS. All contributing project authors may
movdqa , xmm0;macro in deblock functions FIRST_2_ROWS xmm4java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
pavgbjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
;get mask
psubusb, xmm6psubusb,psubusb, xmm4
xmm3
pcmpeqb xmm1
pcmpeqb xmm2 xmm3 java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
por, xmm2 xmm5
por xmm5xmm0
decide,xmm7
;decide if or not to use filtered valuemacro0
pand
pandn xmm0
paddusb
%endmacro rbx
macro java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
, java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
movdqu; int size;)globalsym
rbx
%endmacropush rbp
t
;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 16 java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
sym):
rbp mov rbp,UPDATE_FLIMIT
SHADOW_ARGS_TO_STACK
SAVE_XMM 7 push push , arg
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 ; end prolog
rdx ;col sub rsp push
; put flimit on stack mov, PTR ]
UPDATE_FLIMIT
%define flimit
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 mov(1);dst_ptr
movsxd xmm3 XMMWORD [rsi java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movsxdPTR)
.nextrow: xor rdx xmm1[+ rax
.;load above 2 rows ;load current and next 2 rows
movdqu, XMMWORD [rsi
movdqu xmm1
mm3
FIRST_2_ROWS
;load above 2 rows neg rsi java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
movdquUPDATE_FLIMIT
movdquneg
mm1
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
neg rax ; positive stride add, java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 add rdi
.downdone: mm1 java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 ; done with the all cols, start the across filtering in place sub rsi mm1
rdi
mov rbx mm1
UPDATE_FLIMIT
; dup the first byte into the left border 8 times
movq mm1,movq [rdixmm3 XMMWORD rdi -]
punpcklbw, mm1
punpcklwd mm1 movdqu xmm1, PTR + rdx]
punpckldq, mm1 mov movdqumm1
movq+rdx,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movdqu xmm0, XMMWORDQWORD PTR [java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movdqu , XMMWORDPTR[ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movdqu .throw_last_8 PTR], mm1
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 QWORD .
movdq2q, xmm0
psrldq xmm0 .nextrow;next row
movdq2q; done with this rwo
add, 16
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
rbx
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 jmp.
.acrossdone:
movq QWORD PTR .nextrow;next row
cmp, dword(4) jne .throw_last_8
movq QWORD PTRjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
.throw_last_8 rbp ; done with this rwo
RESTORE_XMM mov
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ALIGN_STACK6 java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
mov
UPDATE_FLIMIT
decmov], eax jnznextrow;next row
add rsp SAVE_XMM java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14 poppush rsidefinepush java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 ; begin epilog pop rdi create flimit4 at [rsp]
rbx
RESTORE_XMM rsp
UNSHADOW_ARGS pop rbp[+8], eax ret
%undef
;void vpx_mbpost_proc_across_ip_sse2(unsigned char *src, ; int pitch, int rows, int cols,int flimit)
globalsym [si] mm1
sym): push mov, rsp
SHADOW_ARGS_TO_STACK,rsi+-1
SAVE_XMM mm1,mm1
GET_GOT push rsi mm1mm1 pushpunpckldq ,mm1 ; end prolog
ALIGN_STACK sub
; create flimit4 at [rsp] eax ptr();flimit mov], eax mov rsp mov mm1 mov [rsp mm1
% java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
;for(r=0;r<rows;r++)add , java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
.ip_row_loop:
xor rdx, rdx ;sumsq=0; xor, rcx mov rsi, arg(0); s
; dup the first byte into the left border 8 times .ip_var_loop
movq
punpcklbw xmm7edx
punpcklwd
punpckldq mm1
mov rdi, -8
movzx eax, byte [rsirdi]
; dup the last byte into the right border
movsxd rdx dwordarg(3)
movq edxeax
punpcklbw mm1, rcx
punpcklwd mm1, mm1
punpckldq mm1 rdx,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movq[rsi], mm1
paddd, xmm6
padddjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
xmm3 movsxddword(
packssdw,xmm0
packuswb xmm1, xmm0
pand , xmm4
pandn xmm5
porxmm5
movdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
movdq2qmm1, xmm5
psrldq xmm7, 1
psrldq RESTORE_GOT
UNSHADOW_ARGS
.java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
;s+=pitch;
movsxd: add
sub arg 11 ;rows-=1 cmpdword arg(2), 0 jg .ip_row_loop
add rsp, 16 pop psubd, xmm3
; begin epilog pop pop rsi
RESTORE_GOT
RESTORE_XMM
packssdw xmm0 pop ret
%undef movdxmm1 DWORD PTR[rsi+rcx
SECTION_RODATA align 16
four8s:
times 4 dd 8
Messung V0.5
¤ 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.0.8Bemerkung:
¤
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.