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
Xiph.Org
aom-rav1e
Commits
4f581529
Commit
4f581529
authored
Jul 18, 2013
by
Ronald S. Bultje
Committed by
Gerrit Code Review
Jul 18, 2013
Browse files
Merge "Fix bug which skips zeromv even if near/nearest is not 0,0."
parents
ced3c201
deb74560
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_rdopt.c
View file @
4f581529
...
...
@@ -1875,15 +1875,28 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x,
int
c3
=
cost_mv_ref
(
cpi
,
ZEROMV
,
rfc
);
if
(
this_mode
==
NEARMV
)
{
if
(
c1
>=
c2
||
c1
>
c3
)
if
(
c1
>
c3
)
continue
;
}
else
if
(
this_mode
==
NEARESTMV
)
{
if
(
c2
>
c1
||
c2
>
c3
)
if
(
c2
>
c3
)
continue
;
}
else
{
assert
(
this_mode
==
ZEROMV
);
if
(
c3
>=
c2
||
c3
>=
c1
)
continue
;
if
(
mbmi
->
ref_frame
[
1
]
<=
0
)
{
if
((
c3
>=
c2
&&
frame_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
)
||
(
c3
>=
c1
&&
frame_mv
[
NEARMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
))
continue
;
}
else
{
if
((
c3
>=
c2
&&
frame_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
&&
frame_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
1
]].
as_int
==
0
)
||
(
c3
>=
c1
&&
frame_mv
[
NEARMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
&&
frame_mv
[
NEARMV
][
mbmi
->
ref_frame
[
1
]].
as_int
==
0
))
continue
;
}
}
}
...
...
@@ -2719,15 +2732,28 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
int
c3
=
cost_mv_ref
(
cpi
,
ZEROMV
,
rfc
);
if
(
this_mode
==
NEARMV
)
{
if
(
c1
>=
c2
||
c1
>
c3
)
if
(
c1
>
c3
)
return
INT64_MAX
;
}
else
if
(
this_mode
==
NEARESTMV
)
{
if
(
c2
>
c1
||
c2
>
c3
)
if
(
c2
>
c3
)
return
INT64_MAX
;
}
else
{
assert
(
this_mode
==
ZEROMV
);
if
(
c3
>=
c2
||
c3
>=
c1
)
return
INT64_MAX
;
if
(
num_refs
==
1
)
{
if
((
c3
>=
c2
&&
mode_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
)
||
(
c3
>=
c1
&&
mode_mv
[
NEARMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
))
return
INT64_MAX
;
}
else
{
if
((
c3
>=
c2
&&
mode_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
&&
mode_mv
[
NEARESTMV
][
mbmi
->
ref_frame
[
1
]].
as_int
==
0
)
||
(
c3
>=
c1
&&
mode_mv
[
NEARMV
][
mbmi
->
ref_frame
[
0
]].
as_int
==
0
&&
mode_mv
[
NEARMV
][
mbmi
->
ref_frame
[
1
]].
as_int
==
0
))
return
INT64_MAX
;
}
}
}
...
...
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