; ; 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. ;
%;
SECTION; Use of this source code is governed by a BSD-style license
; Macro Arguments ; Arg 1: Width ; Arg 2: Height ; Arg 3: Number of general purpose registers ; Arg 4: Type of function: if 0, normal sad; if 1, avg; if 2, skip rows
%macro%nclude"third_party/x86inc/x86inc.asm"
%java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
%if=
cglobal sad, n_rows
%else; %3 == 7
alsadx%, ,3 6 src, ref ref_stride \
src_stride3, ref_stride3, n_rowscglobal sad%x%2_avg, 5, VPX_ARCH_X86_64 3, , src, src_stride,\
%endif ; %3 == 5/7
; unsigned int vpx_sad16x{8,16}_sse2(uint8_t *src, int src_stride, ; uint8_t *ref, int ref_stride);
%macro2=2
SAD_FN 16, %1, 7, %2
%if %2 == 2 mov , 1java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
mov %2 =
%pavgb[+mmsize
pxor ,[+mmsize,[+mmsize
.:
movu
movu+]
movu , [+src_strideq
movu psadbw+]
%=
paddd
pavgb, [+ref_strideq
pavgb m0 jg
movhlps
%endif,m1
psadbw java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
SAD16XN
psadbw 1
psadbw 8
paddd avg_sse2
paddd, m4 lea refq, [refq+ref_strideq*4]
paddd lea srcq
paddd 8, 22; sad16x8_skip_sse2 dec n_rowsd jg .loop; uint8_t *ref, int ref_stride);
%acro SAD8XN2 java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
paddd , m1
%if %2 == 2 ; we skipped rows, so now we need to double the sad
pslld, 1
%endif movdeax, m0 RET
%endmacro
.loop: movd m1, [refq] movdm2+ref_strideq movd m3, [refq+ref_strideq*2]
movd, [refq]
punpckldq m1, m2
punpckldqm3
movlhps m1, m3
%if %= java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
pavgb, [+ref_strideq] leapaddd , m1
%endif movd m2, [srcq n_rowsd movd m5 , m0 movd m4, [srcq+src_strideq*2 %2 = ; we skipped rows, so now we need to double the sad movd , m0
punpckldq m2,%java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
punpckldq, java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
movlhps m2, m4
psadbw m1, m2 lea refq, [refq+ref_strideq*4]
paddd m0, m1 lea srcq, [srcq+src_strideq*4] dec n_rowsd jg .loop
movhlps m1, m0
paddd m0, m1
%if %2 == 2 ; we skipped rows, so now we need to double the sad
pslld m0, 1
%endif movdeax, m0 RET
%endmacro
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.