Skip to content
GitLab
Projects
Groups
Snippets
/
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
6cf95bd1
Commit
6cf95bd1
authored
Aug 12, 2015
by
Scott LaVarnway
Committed by
Gerrit Code Review
Aug 12, 2015
Browse files
Merge "VPX: remove step == 16 and filter[3] != 128 checks"
parents
17cf545e
a229dbc1
Changes
1
Hide whitespace changes
Inline
Side-by-side
vpx_dsp/x86/convolve.h
View file @
6cf95bd1
...
...
@@ -32,75 +32,74 @@ typedef void filter8_1dfunction (
const int16_t *filter_y, int y_step_q4, \
int w, int h) { \
assert(filter[3] != 128); \
if (step_q4 == 16 && filter[3] != 128) { \
if (filter[0] || filter[1] || filter[2]) { \
while (w >= 16) { \
vpx_filter_block1d16_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 16; \
dst += 16; \
w -= 16; \
} \
while (w >= 8) { \
vpx_filter_block1d8_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 8; \
dst += 8; \
w -= 8; \
} \
while (w >= 4) { \
vpx_filter_block1d4_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 4; \
dst += 4; \
w -= 4; \
} \
} else { \
while (w >= 16) { \
vpx_filter_block1d16_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 16; \
dst += 16; \
w -= 16; \
} \
while (w >= 8) { \
vpx_filter_block1d8_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 8; \
dst += 8; \
w -= 8; \
} \
while (w >= 4) { \
vpx_filter_block1d4_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 4; \
dst += 4; \
w -= 4; \
} \
assert(step_q4 == 16); \
if (filter[0] || filter[1] || filter[2]) { \
while (w >= 16) { \
vpx_filter_block1d16_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 16; \
dst += 16; \
w -= 16; \
} \
while (w >= 8) { \
vpx_filter_block1d8_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 8; \
dst += 8; \
w -= 8; \
} \
while (w >= 4) { \
vpx_filter_block1d4_##dir##8_##avg##opt(src_start, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 4; \
dst += 4; \
w -= 4; \
} \
} else { \
while (w >= 16) { \
vpx_filter_block1d16_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 16; \
dst += 16; \
w -= 16; \
} \
while (w >= 8) { \
vpx_filter_block1d8_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 8; \
dst += 8; \
w -= 8; \
} \
while (w >= 4) { \
vpx_filter_block1d4_##dir##2_##avg##opt(src, \
src_stride, \
dst, \
dst_stride, \
h, \
filter); \
src += 4; \
dst += 4; \
w -= 4; \
} \
} \
}
...
...
@@ -115,25 +114,25 @@ void vpx_convolve8_##avg##opt(const uint8_t *src, ptrdiff_t src_stride, \
assert(filter_y[3] != 128); \
assert(w <= 64); \
assert(h <= 64); \
if
(x_step_q4 == 16
&& y_step_q4 == 16) {
\
if (filter_x[0] || filter_x[1] || filter_x[2] || filter_x[3] == 128 ||
\
filter_
y
[0] || filter_
y
[1] || filter_
y
[2]
||
filter_y[3] == 128) {
\
DECLARE_ALIGNED(16, uint8_t, fdata2[64 * 71]);
\
vpx_convolve8_horiz_##opt(src - 3 * src_stride, src_stride, fdata2, 64,
\
filter_x, x_step_q4, filter_y, y_step_q
4, \
w, h + 7);
\
vpx_convolve8_##avg##vert_##opt(fdata2 + 3 * 64, 64, dst, dst_stride,
\
filter_x, x_step_q4, filter_y
, \
y
_step_q4,
w, h);
\
} else {
\
DECLARE_ALIGNED(16, uint8_t, fdata2[64 * 65]);
\
vpx_convolve8_horiz_##opt(src, src_stride, fdata2, 64,
\
filter_x, x_step_q4, filter_y, y_step_q
4, \
w, h + 1);
\
vpx_convolve8_##avg##vert_##opt(fdata2, 64, dst, dst_stride,
\
filter_x, x_step_q4, filter_y
, \
y
_step_q4,
w, h);
\
}
\
assert
(x_step_q4 == 16
);
\
assert(y_step_q4 == 16);
\
if (
filter_
x
[0] || filter_
x
[1] || filter_
x
[2]|| \
filter_y[0] || filter_y[1] || filter_y[2]) {
\
DECLARE_ALIGNED(16, uint8_t, fdata2[64 * 71]);
\
vpx_convolve8_horiz_##opt(src - 3 * src_stride, src_stride, fdata2, 6
4, \
filter_x, x_step_q4, filter_y, y_step_q4,
\
w, h + 7);
\
vpx_convolve8_##avg##vert_##opt(fdata2 + 3 * 64, 64, dst, dst_stride
, \
filter_x, x
_step_q4,
filter_y,
\
y_step_q4, w, h);
\
} else {
\
DECLARE_ALIGNED(16, uint8_t, fdata2[64 * 65]);
\
vpx_convolve8_horiz_##opt(src, src_stride, fdata2, 6
4, \
filter_x, x_step_q4, filter_y, y_step_q4,
\
w, h + 1);
\
vpx_convolve8_##avg##vert_##opt(fdata2, 64, dst, dst_stride
, \
filter_x, x
_step_q4,
filter_y,
\
y_step_q4, w, h);
\
} \
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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