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
4b4e5eef
Commit
4b4e5eef
authored
Oct 25, 2016
by
Sarah Parker
Committed by
Gerrit Code Review
Oct 25, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Extend warp_frame functions to average compound predictions" into nextgenv2
parents
7bc1fa19
43d56f32
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
11 deletions
+24
-11
av1/common/reconinter.c
av1/common/reconinter.c
+1
-1
av1/common/warped_motion.c
av1/common/warped_motion.c
+22
-9
av1/common/warped_motion.h
av1/common/warped_motion.h
+1
-1
No files found.
av1/common/reconinter.c
View file @
4b4e5eef
...
...
@@ -788,7 +788,7 @@ void build_inter_predictors(MACROBLOCKD *xd, int plane,
pre_buf
->
buf0
,
pre_buf
->
width
,
pre_buf
->
height
,
pre_buf
->
stride
,
dst
,
(
mi_x
>>
pd
->
subsampling_x
)
+
x
,
(
mi_y
>>
pd
->
subsampling_y
)
+
y
,
w
,
h
,
dst_buf
->
stride
,
pd
->
subsampling_x
,
pd
->
subsampling_y
,
xs
,
ys
);
pd
->
subsampling_x
,
pd
->
subsampling_y
,
xs
,
ys
,
ref
);
else
#endif // CONFIG_GLOBAL_MOTION
#endif // CONFIG_EXT_INTER
...
...
av1/common/warped_motion.c
View file @
4b4e5eef
...
...
@@ -487,7 +487,7 @@ static void highbd_warp_plane(WarpedMotionParams *wm, uint8_t *ref8, int width,
int
p_row
,
int
p_width
,
int
p_height
,
int
p_stride
,
int
subsampling_x
,
int
subsampling_y
,
int
x_scale
,
int
y_scale
,
int
bd
)
{
int
bd
,
int
ref_frm
)
{
int
i
,
j
;
ProjectPointsFunc
projectpoints
=
get_project_points_type
(
wm
->
wmtype
);
uint16_t
*
pred
=
CONVERT_TO_SHORTPTR
(
pred8
);
...
...
@@ -502,8 +502,15 @@ static void highbd_warp_plane(WarpedMotionParams *wm, uint8_t *ref8, int width,
subsampling_y
);
out
[
0
]
=
ROUND_POWER_OF_TWO_SIGNED
(
out
[
0
]
*
x_scale
,
4
);
out
[
1
]
=
ROUND_POWER_OF_TWO_SIGNED
(
out
[
1
]
*
y_scale
,
4
);
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
highbd_warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
,
bd
);
if
(
ref_frm
)
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
ROUND_POWER_OF_TWO
(
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
+
highbd_warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
,
bd
),
1
);
else
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
highbd_warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
,
bd
);
}
}
}
...
...
@@ -542,7 +549,7 @@ static void warp_plane(WarpedMotionParams *wm, uint8_t *ref, int width,
int
height
,
int
stride
,
uint8_t
*
pred
,
int
p_col
,
int
p_row
,
int
p_width
,
int
p_height
,
int
p_stride
,
int
subsampling_x
,
int
subsampling_y
,
int
x_scale
,
int
y_scale
)
{
int
y_scale
,
int
ref_frm
)
{
int
i
,
j
;
ProjectPointsFunc
projectpoints
=
get_project_points_type
(
wm
->
wmtype
);
if
(
projectpoints
==
NULL
)
return
;
...
...
@@ -555,8 +562,14 @@ static void warp_plane(WarpedMotionParams *wm, uint8_t *ref, int width,
subsampling_y
);
out
[
0
]
=
ROUND_POWER_OF_TWO_SIGNED
(
out
[
0
]
*
x_scale
,
4
);
out
[
1
]
=
ROUND_POWER_OF_TWO_SIGNED
(
out
[
1
]
*
y_scale
,
4
);
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
);
if
(
ref_frm
)
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
ROUND_POWER_OF_TWO
(
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
+
warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
),
1
);
else
pred
[(
j
-
p_col
)
+
(
i
-
p_row
)
*
p_stride
]
=
warp_interpolate
(
ref
,
out
[
0
],
out
[
1
],
width
,
height
,
stride
);
}
}
}
...
...
@@ -587,17 +600,17 @@ void av1_warp_plane(WarpedMotionParams *wm,
uint8_t
*
ref
,
int
width
,
int
height
,
int
stride
,
uint8_t
*
pred
,
int
p_col
,
int
p_row
,
int
p_width
,
int
p_height
,
int
p_stride
,
int
subsampling_x
,
int
subsampling_y
,
int
x_scale
,
int
y_scale
)
{
int
subsampling_y
,
int
x_scale
,
int
y_scale
,
int
ref_frm
)
{
#if CONFIG_AOM_HIGHBITDEPTH
if
(
use_hbd
)
highbd_warp_plane
(
wm
,
ref
,
width
,
height
,
stride
,
pred
,
p_col
,
p_row
,
p_width
,
p_height
,
p_stride
,
subsampling_x
,
subsampling_y
,
x_scale
,
y_scale
,
bd
);
x_scale
,
y_scale
,
bd
,
ref_frm
);
else
#endif // CONFIG_AOM_HIGHBITDEPTH
warp_plane
(
wm
,
ref
,
width
,
height
,
stride
,
pred
,
p_col
,
p_row
,
p_width
,
p_height
,
p_stride
,
subsampling_x
,
subsampling_y
,
x_scale
,
y_scale
);
y_scale
,
ref_frm
);
}
void
av1_integerize_model
(
const
double
*
model
,
TransformationType
wmtype
,
...
...
av1/common/warped_motion.h
View file @
4b4e5eef
...
...
@@ -64,7 +64,7 @@ void av1_warp_plane(WarpedMotionParams *wm,
uint8_t
*
ref
,
int
width
,
int
height
,
int
stride
,
uint8_t
*
pred
,
int
p_col
,
int
p_row
,
int
p_width
,
int
p_height
,
int
p_stride
,
int
subsampling_x
,
int
subsampling_y
,
int
x_scale
,
int
y_scale
);
int
subsampling_y
,
int
x_scale
,
int
y_scale
,
int
ref_frm
);
// Integerize model into the WarpedMotionParams structure
void
av1_integerize_model
(
const
double
*
model
,
TransformationType
wmtype
,
...
...
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