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
Xiph.Org
aom-rav1e
Commits
505784ee
Commit
505784ee
authored
Jul 25, 2012
by
Adrian Grange
Committed by
Gerrit Code Review
Jul 25, 2012
Browse files
Merge "Use macro for filter extension length" into experimental
parents
dcb52c0f
b278a935
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp8/common/reconinter.c
View file @
505784ee
...
...
@@ -461,14 +461,9 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#if CONFIG_PRED_FILTER
if
(
xd
->
mode_info_context
->
mbmi
.
pred_filter_enabled
)
{
int
i
;
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
7
+
(
Interp_Extend
<<
1
);
int
len
=
7
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Input data required by sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
unsigned
char
*
pSrc
=
uptr
;
unsigned
char
*
pDst
=
upred_ptr
;
...
...
@@ -477,7 +472,7 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#if CONFIG_SIXTEENTH_SUBPEL_UV
if
((
omv_row
|
omv_col
)
&
15
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel interpolation
...
...
@@ -487,7 +482,7 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#else
/* CONFIG_SIXTEENTH_SUBPEL_UV */
if
((
mv_row
|
mv_col
)
&
7
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel interpolation
...
...
@@ -631,17 +626,12 @@ void vp8_build_inter16x16_predictors_mby(MACROBLOCKD *xd) {
// Produce predictor from the filtered source
if
((
mv_row
|
mv_col
)
&
7
)
{
// Sub-pel filter needs extended input
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
15
+
(
Interp_Extend
<<
1
);
int
len
=
15
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Data required by sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
ptr
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
ptr
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel interpolation
...
...
@@ -736,17 +726,12 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
if
(
x
->
mode_info_context
->
mbmi
.
pred_filter_enabled
)
{
if
(
_16x16mv
.
as_int
&
0x00070007
)
{
// Sub-pel filter needs extended input
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
15
+
(
Interp_Extend
<<
1
);
int
len
=
15
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Data required by the sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
ptr
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
ptr
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
@@ -809,21 +794,16 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
int
i
;
unsigned
char
*
pSrc
=
uptr
;
unsigned
char
*
pDst
=
dst_u
;
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
7
+
(
Interp_Extend
<<
1
);
int
len
=
7
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Data required by the sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
// U & V
for
(
i
=
0
;
i
<
2
;
i
++
)
{
#if CONFIG_SIXTEENTH_SUBPEL_UV
if
(
_o16x16mv
.
as_int
&
0x000f000f
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
@@ -835,7 +815,7 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
#else
/* CONFIG_SIXTEENTH_SUBPEL_UV */
if
(
_16x16mv
.
as_int
&
0x00070007
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
@@ -921,17 +901,12 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
if
(
x
->
mode_info_context
->
mbmi
.
pred_filter_enabled
)
{
if
((
mv_row
|
mv_col
)
&
7
)
{
// Sub-pel filter needs extended input
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
15
+
(
Interp_Extend
<<
1
);
int
len
=
15
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Data required by sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
ptr
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
ptr
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
@@ -982,14 +957,9 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#if CONFIG_PRED_FILTER
if
(
x
->
mode_info_context
->
mbmi
.
pred_filter_enabled
)
{
int
i
;
#if CONFIG_ENHANCED_INTERP
int
Interp_Extend
=
4
;
// 8-tap filter needs 3+4 pels extension
#else
int
Interp_Extend
=
3
;
// 6-tap filter needs 2+3 pels extension
#endif
int
len
=
7
+
(
Interp_Extend
<<
1
);
int
len
=
7
+
(
INTERP_EXTEND
<<
1
);
unsigned
char
Temp
[
32
*
32
];
// Data required by sub-pel filter
unsigned
char
*
pTemp
=
Temp
+
(
I
nterp_Extend
-
1
)
*
(
len
+
1
);
unsigned
char
*
pTemp
=
Temp
+
(
I
NTERP_EXTEND
-
1
)
*
(
len
+
1
);
unsigned
char
*
pSrc
=
uptr
;
unsigned
char
*
pDst
=
dst_u
;
...
...
@@ -998,7 +968,7 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#if CONFIG_SIXTEENTH_SUBPEL_UV
if
((
omv_row
|
omv_col
)
&
15
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
@@ -1008,7 +978,7 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#else
/* CONFIG_SIXTEENTH_SUBPEL_UV */
if
((
mv_row
|
mv_col
)
&
7
)
{
// Copy extended MB into Temp array, applying the spatial filter
filter_mb
(
pSrc
-
(
I
nterp_Extend
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
filter_mb
(
pSrc
-
(
I
NTERP_EXTEND
-
1
)
*
(
pre_stride
+
1
),
pre_stride
,
Temp
,
len
,
len
,
len
);
// Sub-pel filter
...
...
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