Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
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
e4703331
Commit
e4703331
authored
Feb 20, 2015
by
Jingning Han
Browse files
Fix fwd transform sse2 build issue on older gcc version
Change-Id: I3e0e53d129552babf29e6c5d047483733983973c
parent
a28a8cb7
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/x86/vp9_dct_sse2.c
View file @
e4703331
...
...
@@ -712,9 +712,7 @@ static INLINE void load_buffer_8x8(const int16_t *input, __m128i *in,
}
// right shift and rounding
static
INLINE
void
right_shift_8x8
(
__m128i
*
res
,
int
const
bit
)
{
const
__m128i
kOne
=
_mm_set1_epi16
(
1
);
const
int
bit_m02
=
bit
-
2
;
static
INLINE
void
right_shift_8x8
(
__m128i
*
res
,
const
int
bit
)
{
__m128i
sign0
=
_mm_srai_epi16
(
res
[
0
],
15
);
__m128i
sign1
=
_mm_srai_epi16
(
res
[
1
],
15
);
__m128i
sign2
=
_mm_srai_epi16
(
res
[
2
],
15
);
...
...
@@ -724,16 +722,16 @@ static INLINE void right_shift_8x8(__m128i *res, int const bit) {
__m128i
sign6
=
_mm_srai_epi16
(
res
[
6
],
15
);
__m128i
sign7
=
_mm_srai_epi16
(
res
[
7
],
15
);
if
(
bit
_m02
>
=
0
)
{
__m128i
k_
const_rounding
=
_mm_s
lli
_epi16
(
kOne
,
bit_m02
);
res
[
0
]
=
_mm_add_epi16
(
res
[
0
],
k_
const_rounding
);
res
[
1
]
=
_mm_add_epi16
(
res
[
1
],
k_
const_rounding
);
res
[
2
]
=
_mm_add_epi16
(
res
[
2
],
k_
const_rounding
);
res
[
3
]
=
_mm_add_epi16
(
res
[
3
],
k_
const_rounding
);
res
[
4
]
=
_mm_add_epi16
(
res
[
4
],
k_
const_rounding
);
res
[
5
]
=
_mm_add_epi16
(
res
[
5
],
k_
const_rounding
);
res
[
6
]
=
_mm_add_epi16
(
res
[
6
],
k_
const_rounding
);
res
[
7
]
=
_mm_add_epi16
(
res
[
7
],
k_
const_rounding
);
if
(
bit
=
=
2
)
{
const
__m128i
const_rounding
=
_mm_s
et1
_epi16
(
1
);
res
[
0
]
=
_mm_add_epi16
(
res
[
0
],
const_rounding
);
res
[
1
]
=
_mm_add_epi16
(
res
[
1
],
const_rounding
);
res
[
2
]
=
_mm_add_epi16
(
res
[
2
],
const_rounding
);
res
[
3
]
=
_mm_add_epi16
(
res
[
3
],
const_rounding
);
res
[
4
]
=
_mm_add_epi16
(
res
[
4
],
const_rounding
);
res
[
5
]
=
_mm_add_epi16
(
res
[
5
],
const_rounding
);
res
[
6
]
=
_mm_add_epi16
(
res
[
6
],
const_rounding
);
res
[
7
]
=
_mm_add_epi16
(
res
[
7
],
const_rounding
);
}
res
[
0
]
=
_mm_sub_epi16
(
res
[
0
],
sign0
);
...
...
@@ -745,14 +743,25 @@ static INLINE void right_shift_8x8(__m128i *res, int const bit) {
res
[
6
]
=
_mm_sub_epi16
(
res
[
6
],
sign6
);
res
[
7
]
=
_mm_sub_epi16
(
res
[
7
],
sign7
);
res
[
0
]
=
_mm_srai_epi16
(
res
[
0
],
bit
);
res
[
1
]
=
_mm_srai_epi16
(
res
[
1
],
bit
);
res
[
2
]
=
_mm_srai_epi16
(
res
[
2
],
bit
);
res
[
3
]
=
_mm_srai_epi16
(
res
[
3
],
bit
);
res
[
4
]
=
_mm_srai_epi16
(
res
[
4
],
bit
);
res
[
5
]
=
_mm_srai_epi16
(
res
[
5
],
bit
);
res
[
6
]
=
_mm_srai_epi16
(
res
[
6
],
bit
);
res
[
7
]
=
_mm_srai_epi16
(
res
[
7
],
bit
);
if
(
bit
==
1
)
{
res
[
0
]
=
_mm_srai_epi16
(
res
[
0
],
1
);
res
[
1
]
=
_mm_srai_epi16
(
res
[
1
],
1
);
res
[
2
]
=
_mm_srai_epi16
(
res
[
2
],
1
);
res
[
3
]
=
_mm_srai_epi16
(
res
[
3
],
1
);
res
[
4
]
=
_mm_srai_epi16
(
res
[
4
],
1
);
res
[
5
]
=
_mm_srai_epi16
(
res
[
5
],
1
);
res
[
6
]
=
_mm_srai_epi16
(
res
[
6
],
1
);
res
[
7
]
=
_mm_srai_epi16
(
res
[
7
],
1
);
}
else
{
res
[
0
]
=
_mm_srai_epi16
(
res
[
0
],
2
);
res
[
1
]
=
_mm_srai_epi16
(
res
[
1
],
2
);
res
[
2
]
=
_mm_srai_epi16
(
res
[
2
],
2
);
res
[
3
]
=
_mm_srai_epi16
(
res
[
3
],
2
);
res
[
4
]
=
_mm_srai_epi16
(
res
[
4
],
2
);
res
[
5
]
=
_mm_srai_epi16
(
res
[
5
],
2
);
res
[
6
]
=
_mm_srai_epi16
(
res
[
6
],
2
);
res
[
7
]
=
_mm_srai_epi16
(
res
[
7
],
2
);
}
}
// write 8x8 array
...
...
Write
Preview
Supports
Markdown
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