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
Yushin Cho
aom-rav1e
Commits
47665452
Commit
47665452
authored
Oct 25, 2013
by
Yunqing Wang
Committed by
Gerrit Code Review
Oct 25, 2013
Browse files
Merge "Add 32x32 idct function for eob<=34 case"
parents
39b6ab6a
f88315cb
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_idct.c
View file @
47665452
...
...
@@ -1280,6 +1280,31 @@ void vp9_idct32x32_1024_add_c(const int16_t *input, uint8_t *dest, int stride) {
}
}
void
vp9_idct32x32_34_add_c
(
const
int16_t
*
input
,
uint8_t
*
dest
,
int
stride
)
{
int16_t
out
[
32
*
32
]
=
{
0
};
int16_t
*
outptr
=
out
;
int
i
,
j
;
int16_t
temp_in
[
32
],
temp_out
[
32
];
// Rows
// only upper-left 8x8 has non-zero coeff
for
(
i
=
0
;
i
<
8
;
++
i
)
{
idct32_1d
(
input
,
outptr
);
input
+=
32
;
outptr
+=
32
;
}
// Columns
for
(
i
=
0
;
i
<
32
;
++
i
)
{
for
(
j
=
0
;
j
<
32
;
++
j
)
temp_in
[
j
]
=
out
[
j
*
32
+
i
];
idct32_1d
(
temp_in
,
temp_out
);
for
(
j
=
0
;
j
<
32
;
++
j
)
dest
[
j
*
stride
+
i
]
=
clip_pixel
(
ROUND_POWER_OF_TWO
(
temp_out
[
j
],
6
)
+
dest
[
j
*
stride
+
i
]);
}
}
void
vp9_idct32x32_1_add_c
(
const
int16_t
*
input
,
uint8_t
*
dest
,
int
stride
)
{
int
i
,
j
;
int
a1
;
...
...
@@ -1350,6 +1375,9 @@ void vp9_idct32x32_add(const int16_t *input, uint8_t *dest, int stride,
if
(
eob
)
{
if
(
eob
==
1
)
vp9_idct32x32_1_add
(
input
,
dest
,
stride
);
else
if
(
eob
<=
34
)
// non-zero coeff only in upper-left 8x8
vp9_idct32x32_34_add
(
input
,
dest
,
stride
);
else
vp9_idct32x32_1024_add
(
input
,
dest
,
stride
);
}
...
...
vp9/common/vp9_rtcd_defs.sh
View file @
47665452
...
...
@@ -294,6 +294,9 @@ specialize vp9_idct16x16_10_add sse2 neon dspr2
prototype void vp9_idct32x32_1024_add
"const int16_t *input, uint8_t *dest, int dest_stride"
specialize vp9_idct32x32_1024_add sse2 neon dspr2
prototype void vp9_idct32x32_34_add
"const int16_t *input, uint8_t *dest, int dest_stride"
specialize vp9_idct32x32_34_add sse2
prototype void vp9_idct32x32_1_add
"const int16_t *input, uint8_t *dest, int dest_stride"
specialize vp9_idct32x32_1_add sse2 dspr2
...
...
vp9/common/x86/vp9_idct_intrin_sse2.c
View file @
47665452
This diff is collapsed.
Click to expand it.
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