Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
fa94dbda
Commit
fa94dbda
authored
Jul 14, 2015
by
Alex Converse
Committed by
Gerrit Code Review
Jul 14, 2015
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Add an SSE2 version of vp9_iwht4x4_16_add"
parents
e11878c8
d8426d6f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
112 additions
and
1 deletion
+112
-1
test/fdct4x4_test.cc
test/fdct4x4_test.cc
+8
-0
vp9/common/vp9_rtcd_defs.pl
vp9/common/vp9_rtcd_defs.pl
+1
-1
vp9/common/x86/vp9_idct_sse2.asm
vp9/common/x86/vp9_idct_sse2.asm
+102
-0
vp9/vp9_common.mk
vp9/vp9_common.mk
+1
-0
No files found.
test/fdct4x4_test.cc
View file @
fa94dbda
...
...
@@ -494,6 +494,14 @@ INSTANTIATE_TEST_CASE_P(
make_tuple
(
&
vp9_fwht4x4_mmx
,
&
vp9_iwht4x4_16_add_c
,
0
,
VPX_BITS_8
)));
#endif
#if CONFIG_USE_X86INC && HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && \
!CONFIG_EMULATE_HARDWARE
INSTANTIATE_TEST_CASE_P
(
SSE2
,
Trans4x4WHT
,
::
testing
::
Values
(
make_tuple
(
&
vp9_fwht4x4_c
,
&
vp9_iwht4x4_16_add_sse2
,
0
,
VPX_BITS_8
)));
#endif
#if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
INSTANTIATE_TEST_CASE_P
(
SSE2
,
Trans4x4DCT
,
...
...
vp9/common/vp9_rtcd_defs.pl
View file @
fa94dbda
...
...
@@ -475,7 +475,7 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
specialize
qw/vp9_iwht4x4_1_add msa/
;
add_proto
qw/void vp9_iwht4x4_16_add/
,
"
const tran_low_t *input, uint8_t *dest, int dest_stride
";
specialize
qw/vp9_iwht4x4_16_add msa/
;
specialize
qw/vp9_iwht4x4_16_add msa/
,
"
$sse2_x86inc
"
;
}
}
...
...
vp9/common/x86/vp9_idct_sse2.asm
0 → 100644
View file @
fa94dbda
;
; Copyright (c) 2015 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.
;
%include "third_party/x86inc/x86inc.asm"
SECTION
.text
%macro REORDER_INPUTS 0
; a c d b to a b c d
SWAP
1
,
3
,
2
%endmacro
%macro TRANSFORM_COLS 0
; input:
; m0 a
; m1 b
; m2 c
; m3 d
paddw
m0
,
m2
psubw
m3
,
m1
; wide subtract
punpcklwd
m4
,
m0
punpcklwd
m5
,
m3
psrad
m4
,
16
psrad
m5
,
16
psubd
m4
,
m5
psrad
m4
,
1
packssdw
m4
,
m4
; e
psubw
m5
,
m4
,
m1
; b
psubw
m4
,
m2
; c
psubw
m0
,
m5
paddw
m3
,
m4
; m0 a
SWAP
1
,
5
; m1 b
SWAP
2
,
4
; m2 c
; m3 d
%endmacro
%macro TRANSPOSE_4X4 0
punpcklwd
m0
,
m2
punpcklwd
m1
,
m3
mova
m2
,
m0
punpcklwd
m0
,
m1
punpckhwd
m2
,
m1
pshufd
m1
,
m0
,
0x0e
pshufd
m3
,
m2
,
0x0e
%endmacro
; transpose a 4x4 int16 matrix in xmm0 and xmm1 to the bottom half of xmm0-xmm3
%macro TRANSPOSE_4X4_WIDE 0
mova
m3
,
m0
punpcklwd
m0
,
m1
punpckhwd
m3
,
m1
mova
m2
,
m0
punpcklwd
m0
,
m3
punpckhwd
m2
,
m3
pshufd
m1
,
m0
,
0x0e
pshufd
m3
,
m2
,
0x0e
%endmacro
%macro ADD_STORE_4P_2X 5
; src1, src2, tmp1, tmp2, zero
movq
m
%
3
,
[
outputq
]
movq
m
%
4
,
[
outputq
+
strideq
]
punpcklbw
m
%
3
,
m
%
5
punpcklbw
m
%
4
,
m
%
5
paddw
m
%
1
,
m
%
3
paddw
m
%
2
,
m
%
4
packuswb
m
%
1
,
m
%
5
packuswb
m
%
2
,
m
%
5
movd
[
outputq
],
m
%
1
movd
[
outputq
+
strideq
],
m
%
2
%endmacro
INIT_XMM
ss
e2
cglobal
iwht4x4_16_add
,
3
,
3
,
7
,
input
,
output
,
stride
mova
m0
,
[
inputq
+
0
]
mova
m1
,
[
inputq
+
16
]
psraw
m0
,
2
psraw
m1
,
2
TRANSPOSE_4X4_WIDE
REORDER_INPUTS
TRANSFORM_COLS
TRANSPOSE_4X4
REORDER_INPUTS
TRANSFORM_COLS
pxor
m4
,
m4
ADD_STORE_4P_2X
0
,
1
,
5
,
6
,
4
lea
outputq
,
[
outputq
+
2
*
strideq
]
ADD_STORE_4P_2X
2
,
3
,
5
,
6
,
4
RET
vp9/vp9_common.mk
View file @
fa94dbda
...
...
@@ -75,6 +75,7 @@ VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC) += common/vp9_postproc.h
VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC)
+=
common/vp9_postproc.c
VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC)
+=
common/vp9_mfqe.h
VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC)
+=
common/vp9_mfqe.c
VP9_COMMON_SRCS-$(HAVE_SSE2)
+=
common/x86/vp9_idct_sse2.asm
VP9_COMMON_SRCS-$(HAVE_MMX)
+=
common/x86/vp9_loopfilter_mmx.asm
VP9_COMMON_SRCS-$(HAVE_SSE2)
+=
common/x86/vp9_subpixel_8t_sse2.asm
VP9_COMMON_SRCS-$(HAVE_SSE2)
+=
common/x86/vp9_subpixel_bilinear_sse2.asm
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment