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
a41fe749
Commit
a41fe749
authored
Jun 16, 2015
by
Scott LaVarnway
Committed by
Gerrit Code Review
Jun 16, 2015
Browse files
Merge "Update use_prev_frame_mvs flag in decoder."
parents
e820ca69
c9976b32
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_onyxc_int.h
View file @
a41fe749
...
...
@@ -162,7 +162,8 @@ typedef struct VP9Common {
int
show_existing_frame
;
// Flag signaling that the frame is encoded using only INTRA modes.
int
intra_only
;
uint8_t
intra_only
;
uint8_t
last_intra_only
;
int
allow_high_precision_mv
;
...
...
vp9/decoder/vp9_decodeframe.c
View file @
a41fe749
...
...
@@ -1648,6 +1648,7 @@ static size_t read_uncompressed_header(VP9Decoder *pbi,
size_t
sz
;
cm
->
last_frame_type
=
cm
->
frame_type
;
cm
->
last_intra_only
=
cm
->
intra_only
;
if
(
vp9_rb_read_literal
(
rb
,
2
)
!=
VP9_FRAME_MARKER
)
vpx_internal_error
(
&
cm
->
error
,
VPX_CODEC_UNSUP_BITSTREAM
,
...
...
@@ -1996,8 +1997,9 @@ void vp9_decode_frame(VP9Decoder *pbi,
cm
->
use_prev_frame_mvs
=
!
cm
->
error_resilient_mode
&&
cm
->
width
==
cm
->
last_width
&&
cm
->
height
==
cm
->
last_height
&&
!
cm
->
intra_only
&&
cm
->
last_show_frame
;
!
cm
->
last_intra_only
&&
cm
->
last_show_frame
&&
(
cm
->
last_frame_type
!=
KEY_FRAME
);
vp9_setup_block_planes
(
xd
,
cm
->
subsampling_x
,
cm
->
subsampling_y
);
...
...
vp9/decoder/vp9_decodemv.c
View file @
a41fe749
...
...
@@ -599,19 +599,20 @@ void vp9_read_mode_info(VP9Decoder *const pbi, MACROBLOCKD *xd,
MV_REF
*
frame_mvs
=
cm
->
cur_frame
->
mvs
+
mi_row
*
cm
->
mi_cols
+
mi_col
;
int
w
,
h
;
if
(
frame_is_intra_only
(
cm
))
if
(
frame_is_intra_only
(
cm
))
{
read_intra_frame_mode_info
(
cm
,
xd
,
mi_row
,
mi_col
,
r
);
else
}
else
{
read_inter_frame_mode_info
(
pbi
,
xd
,
tile
,
mi_row
,
mi_col
,
r
);
for
(
h
=
0
;
h
<
y_mis
;
++
h
)
{
MV_REF
*
const
frame_mv
=
frame_mvs
+
h
*
cm
->
mi_cols
;
for
(
w
=
0
;
w
<
x_mis
;
++
w
)
{
MV_REF
*
const
mv
=
frame_mv
+
w
;
mv
->
ref_frame
[
0
]
=
mi
->
mbmi
.
ref_frame
[
0
];
mv
->
ref_frame
[
1
]
=
mi
->
mbmi
.
ref_frame
[
1
];
mv
->
mv
[
0
].
as_int
=
mi
->
mbmi
.
mv
[
0
].
as_int
;
mv
->
mv
[
1
].
as_int
=
mi
->
mbmi
.
mv
[
1
].
as_int
;
for
(
h
=
0
;
h
<
y_mis
;
++
h
)
{
MV_REF
*
const
frame_mv
=
frame_mvs
+
h
*
cm
->
mi_cols
;
for
(
w
=
0
;
w
<
x_mis
;
++
w
)
{
MV_REF
*
const
mv
=
frame_mv
+
w
;
mv
->
ref_frame
[
0
]
=
mi
->
mbmi
.
ref_frame
[
0
];
mv
->
ref_frame
[
1
]
=
mi
->
mbmi
.
ref_frame
[
1
];
mv
->
mv
[
0
].
as_int
=
mi
->
mbmi
.
mv
[
0
].
as_int
;
mv
->
mv
[
1
].
as_int
=
mi
->
mbmi
.
mv
[
1
].
as_int
;
}
}
}
}
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