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
Guillaume Martres
aom-rav1e
Commits
13eed79c
Commit
13eed79c
authored
Aug 22, 2013
by
Dmitry Kovalev
Committed by
Gerrit Code Review
Aug 22, 2013
Browse files
Merge "Adding vp9_is_scaled function."
parents
8adc20ce
640dea4d
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_reconinter.c
View file @
13eed79c
...
...
@@ -257,8 +257,7 @@ void vp9_setup_scale_factors(VP9_COMMON *cm, int i) {
fb
->
y_crop_width
,
fb
->
y_crop_height
,
cm
->
width
,
cm
->
height
);
if
(
sf
->
x_scale_fp
!=
VP9_REF_NO_SCALE
||
sf
->
y_scale_fp
!=
VP9_REF_NO_SCALE
)
if
(
vp9_is_scaled
(
sf
))
vp9_extend_frame_borders
(
fb
,
cm
->
subsampling_x
,
cm
->
subsampling_y
);
}
}
...
...
vp9/common/vp9_scale.h
View file @
13eed79c
...
...
@@ -40,4 +40,9 @@ void vp9_setup_scale_factors_for_frame(struct VP9Common *cm,
int
other_w
,
int
other_h
,
int
this_w
,
int
this_h
);
static
int
vp9_is_scaled
(
const
struct
scale_factors
*
sf
)
{
return
sf
->
x_scale_fp
!=
VP9_REF_NO_SCALE
||
sf
->
y_scale_fp
!=
VP9_REF_NO_SCALE
;
}
#endif // VP9_COMMON_VP9_SCALE_H_
vp9/encoder/vp9_rdopt.c
View file @
13eed79c
...
...
@@ -2285,8 +2285,7 @@ static void setup_buffer_inter(VP9_COMP *cpi, MACROBLOCK *x,
// Further refinement that is encode side only to test the top few candidates
// in full and choose the best as the centre point for subsequent searches.
// The current implementation doesn't support scaling.
if
(
scale
[
frame_type
].
x_scale_fp
==
VP9_REF_NO_SCALE
&&
scale
[
frame_type
].
y_scale_fp
==
VP9_REF_NO_SCALE
)
if
(
!
vp9_is_scaled
(
&
scale
[
frame_type
]))
mv_pred
(
cpi
,
x
,
yv12_mb
[
frame_type
][
0
].
buf
,
yv12
->
y_stride
,
frame_type
,
block_size
);
}
...
...
@@ -3272,14 +3271,12 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
// TODO(jingning, jkoleszar): scaling reference frame not supported for
// SPLITMV.
if
(
ref_frame
>
0
&&
(
scale_factor
[
ref_frame
].
x_scale_fp
!=
VP9_REF_NO_SCALE
||
scale_factor
[
ref_frame
].
y_scale_fp
!=
VP9_REF_NO_SCALE
)
&&
vp9_is_scaled
(
&
scale_factor
[
ref_frame
])
&&
this_mode
==
SPLITMV
)
continue
;
if
(
second_ref_frame
>
0
&&
(
scale_factor
[
second_ref_frame
].
x_scale_fp
!=
VP9_REF_NO_SCALE
||
scale_factor
[
second_ref_frame
].
y_scale_fp
!=
VP9_REF_NO_SCALE
)
&&
vp9_is_scaled
(
&
scale_factor
[
second_ref_frame
])
&&
this_mode
==
SPLITMV
)
continue
;
...
...
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