Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
1aac0224
Commit
1aac0224
authored
Feb 10, 2016
by
James Zern
Committed by
Gerrit Code Review
Feb 10, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge "intrapred/d135: flatten border results before storing"
parents
31a31272
05437805
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
12 deletions
+21
-12
vpx_dsp/intrapred.c
vpx_dsp/intrapred.c
+21
-12
No files found.
vpx_dsp/intrapred.c
View file @
1aac0224
...
...
@@ -158,20 +158,29 @@ static INLINE void d117_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
static
INLINE
void
d135_predictor
(
uint8_t
*
dst
,
ptrdiff_t
stride
,
int
bs
,
const
uint8_t
*
above
,
const
uint8_t
*
left
)
{
int
r
,
c
;
dst
[
0
]
=
AVG3
(
left
[
0
],
above
[
-
1
],
above
[
0
]);
for
(
c
=
1
;
c
<
bs
;
c
++
)
dst
[
c
]
=
AVG3
(
above
[
c
-
2
],
above
[
c
-
1
],
above
[
c
]);
int
i
;
#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 7
// silence a spurious -Warray-bounds warning, possibly related to:
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273
uint8_t
border
[
69
];
#else
uint8_t
border
[
32
+
32
-
1
];
// outer border from bottom-left to top-right
#endif
dst
[
stride
]
=
AVG3
(
above
[
-
1
],
left
[
0
],
left
[
1
]);
for
(
r
=
2
;
r
<
bs
;
++
r
)
dst
[
r
*
stride
]
=
AVG3
(
left
[
r
-
2
],
left
[
r
-
1
],
left
[
r
]);
// dst(bs, bs - 2)[0], i.e., border starting at bottom-left
for
(
i
=
0
;
i
<
bs
-
2
;
++
i
)
{
border
[
i
]
=
AVG3
(
left
[
bs
-
3
-
i
],
left
[
bs
-
2
-
i
],
left
[
bs
-
1
-
i
]);
}
border
[
bs
-
2
]
=
AVG3
(
above
[
-
1
],
left
[
0
],
left
[
1
]);
border
[
bs
-
1
]
=
AVG3
(
left
[
0
],
above
[
-
1
],
above
[
0
]);
border
[
bs
-
0
]
=
AVG3
(
above
[
-
1
],
above
[
0
],
above
[
1
]);
// dst[0][2, size), i.e., remaining top border ascending
for
(
i
=
0
;
i
<
bs
-
2
;
++
i
)
{
border
[
bs
+
1
+
i
]
=
AVG3
(
above
[
i
],
above
[
i
+
1
],
above
[
i
+
2
]);
}
dst
+=
stride
;
for
(
r
=
1
;
r
<
bs
;
++
r
)
{
for
(
c
=
1
;
c
<
bs
;
c
++
)
dst
[
c
]
=
dst
[
-
stride
+
c
-
1
];
dst
+=
stride
;
for
(
i
=
0
;
i
<
bs
;
++
i
)
{
memcpy
(
dst
+
i
*
stride
,
border
+
bs
-
1
-
i
,
bs
);
}
}
...
...
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