Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
3c4e9e34
Commit
3c4e9e34
authored
Oct 01, 2013
by
Dmitry Kovalev
Browse files
Adding SSE2 optimized vp9_short_idct32x32_1_add function.
Change-Id: I4b1c6bb9ff615f5872b96ed07dbf0f5e18e63643
parent
e83ebc89
Changes
2
Show whitespace changes
Inline
Side-by-side
vp9/common/vp9_rtcd_defs.sh
View file @
3c4e9e34
...
...
@@ -311,7 +311,7 @@ prototype void vp9_short_idct32x32_add "int16_t *input, uint8_t *dest, int dest_
specialize vp9_short_idct32x32_add sse2 neon
prototype void vp9_short_idct32x32_1_add
"int16_t *input, uint8_t *dest, int dest_stride"
specialize vp9_short_idct32x32_1_add
specialize vp9_short_idct32x32_1_add
sse2
prototype void vp9_short_iht4x4_add
"int16_t *input, uint8_t *dest, int dest_stride, int tx_type"
specialize vp9_short_iht4x4_add sse2 neon
...
...
vp9/common/x86/vp9_idct_intrin_sse2.c
View file @
3c4e9e34
...
...
@@ -3549,3 +3549,51 @@ void vp9_short_idct32x32_add_sse2(int16_t *input, uint8_t *dest, int stride) {
}
}
}
//NOLINT
void
vp9_short_idct32x32_1_add_sse2
(
int16_t
*
input
,
uint8_t
*
dest
,
int
stride
)
{
__m128i
dc_value
;
const
__m128i
zero
=
_mm_setzero_si128
();
int
a
,
i
;
a
=
dct_const_round_shift
(
input
[
0
]
*
cospi_16_64
);
a
=
dct_const_round_shift
(
a
*
cospi_16_64
);
a
=
ROUND_POWER_OF_TWO
(
a
,
6
);
dc_value
=
_mm_set1_epi16
(
a
);
for
(
i
=
0
;
i
<
4
;
++
i
)
{
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
RECON_AND_STORE
(
dest
,
dc_value
);
dest
+=
8
-
(
stride
*
32
);
}
}
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