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
94996b9d
Commit
94996b9d
authored
Apr 14, 2013
by
Ronald S. Bultje
Browse files
Slightly hackish workaround to support rectangles in directional intra predictors.
Change-Id: I8a4da6925f2d58a426c4d122df8b97bb69452e49
parent
07cde4fd
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_reconintra.c
View file @
94996b9d
...
...
@@ -373,24 +373,95 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride,
ypred_ptr
+=
y_stride
;
}
break
;
#if CONFIG_SBSEGMENT
case
D45_PRED
:
d45_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D135_PRED
:
d135_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D117_PRED
:
d117_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D153_PRED
:
d153_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D27_PRED
:
d27_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D63_PRED
:
d63_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
if
(
bw
==
bh
)
{
switch
(
mode
)
{
#endif
case
D45_PRED
:
d45_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D135_PRED
:
d135_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D117_PRED
:
d117_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D153_PRED
:
d153_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D27_PRED
:
d27_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D63_PRED
:
d63_predictor
(
ypred_ptr
,
y_stride
,
bw
,
bh
,
yabove_row
,
yleft_col
);
break
;
#if CONFIG_SBSEGMENT
default:
assert
(
0
);
}
}
else
if
(
bw
>
bh
)
{
uint8_t
pred
[
64
*
64
];
memset
(
yleft_col
+
bh
,
yleft_col
[
bh
-
1
],
bw
-
bh
);
switch
(
mode
)
{
case
D45_PRED
:
d45_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
case
D135_PRED
:
d135_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
case
D117_PRED
:
d117_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
case
D153_PRED
:
d153_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
case
D27_PRED
:
d27_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
case
D63_PRED
:
d63_predictor
(
pred
,
64
,
bw
,
bw
,
yabove_row
,
yleft_col
);
break
;
default:
assert
(
0
);
}
for
(
i
=
0
;
i
<
bh
;
i
++
)
memcpy
(
ypred_ptr
+
y_stride
*
i
,
pred
+
i
*
64
,
bw
);
}
else
{
uint8_t
pred
[
64
*
64
];
memset
(
yabove_row
+
bw
,
yabove_row
[
bw
-
1
],
bh
-
bw
);
switch
(
mode
)
{
case
D45_PRED
:
d45_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D135_PRED
:
d135_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D117_PRED
:
d117_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D153_PRED
:
d153_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D27_PRED
:
d27_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
case
D63_PRED
:
d63_predictor
(
pred
,
64
,
bh
,
bh
,
yabove_row
,
yleft_col
);
break
;
default:
assert
(
0
);
}
for
(
i
=
0
;
i
<
bh
;
i
++
)
memcpy
(
ypred_ptr
+
y_stride
*
i
,
pred
+
i
*
64
,
bw
);
}
break
;
#endif
default:
break
;
}
...
...
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