Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Yushin Cho
aom-rav1e
Commits
ca4df948
Commit
ca4df948
authored
Jan 13, 2016
by
Yaowu Xu
Committed by
Gerrit Code Review
Jan 13, 2016
Browse files
Merge "Fix encoder crashes and enc/dec mismatches"
parents
ea48370a
d803e8a2
Changes
3
Show whitespace changes
Inline
Side-by-side
vp10/encoder/aq_complexity.c
View file @
ca4df948
...
@@ -51,7 +51,7 @@ void vp10_setup_in_frame_q_adj(VP10_COMP *cpi) {
...
@@ -51,7 +51,7 @@ void vp10_setup_in_frame_q_adj(VP10_COMP *cpi) {
// Make SURE use of floating point in this function is safe.
// Make SURE use of floating point in this function is safe.
vpx_clear_system_state
();
vpx_clear_system_state
();
if
(
cm
->
frame_
type
==
KEY_FRAME
||
if
(
frame_
is_intra_only
(
cm
)
||
cm
->
error_resilient_mode
||
cpi
->
refresh_alt_ref_frame
||
cpi
->
refresh_alt_ref_frame
||
(
cpi
->
refresh_golden_frame
&&
!
cpi
->
rc
.
is_src_frame_alt_ref
))
{
(
cpi
->
refresh_golden_frame
&&
!
cpi
->
rc
.
is_src_frame_alt_ref
))
{
int
segment
;
int
segment
;
...
...
vp10/encoder/aq_variance.c
View file @
ca4df948
...
@@ -47,7 +47,7 @@ void vp10_vaq_frame_setup(VP10_COMP *cpi) {
...
@@ -47,7 +47,7 @@ void vp10_vaq_frame_setup(VP10_COMP *cpi) {
struct
segmentation
*
seg
=
&
cm
->
seg
;
struct
segmentation
*
seg
=
&
cm
->
seg
;
int
i
;
int
i
;
if
(
cm
->
frame_
type
==
KEY_FRAME
||
if
(
frame_
is_intra_only
(
cm
)
||
cm
->
error_resilient_mode
||
cpi
->
refresh_alt_ref_frame
||
cpi
->
refresh_alt_ref_frame
||
(
cpi
->
refresh_golden_frame
&&
!
cpi
->
rc
.
is_src_frame_alt_ref
))
{
(
cpi
->
refresh_golden_frame
&&
!
cpi
->
rc
.
is_src_frame_alt_ref
))
{
vp10_enable_segmentation
(
seg
);
vp10_enable_segmentation
(
seg
);
...
...
vp10/encoder/segmentation.c
View file @
ca4df948
...
@@ -273,7 +273,7 @@ void vp10_choose_segmap_coding_method(VP10_COMMON *cm, MACROBLOCKD *xd) {
...
@@ -273,7 +273,7 @@ void vp10_choose_segmap_coding_method(VP10_COMMON *cm, MACROBLOCKD *xd) {
no_pred_cost
=
cost_segmap
(
no_pred_segcounts
,
no_pred_tree
);
no_pred_cost
=
cost_segmap
(
no_pred_segcounts
,
no_pred_tree
);
// Key frames cannot use temporal prediction
// Key frames cannot use temporal prediction
if
(
!
frame_is_intra_only
(
cm
))
{
if
(
!
frame_is_intra_only
(
cm
)
&&
!
cm
->
error_resilient_mode
)
{
// Work out probability tree for coding those segments not
// Work out probability tree for coding those segments not
// predicted using the temporal method and the cost.
// predicted using the temporal method and the cost.
calc_segtree_probs
(
t_unpred_seg_counts
,
t_pred_tree
,
segp
->
tree_probs
);
calc_segtree_probs
(
t_unpred_seg_counts
,
t_pred_tree
,
segp
->
tree_probs
);
...
@@ -300,6 +300,7 @@ void vp10_choose_segmap_coding_method(VP10_COMMON *cm, MACROBLOCKD *xd) {
...
@@ -300,6 +300,7 @@ void vp10_choose_segmap_coding_method(VP10_COMMON *cm, MACROBLOCKD *xd) {
// Now choose which coding method to use.
// Now choose which coding method to use.
if
(
t_pred_cost
<
no_pred_cost
)
{
if
(
t_pred_cost
<
no_pred_cost
)
{
assert
(
!
cm
->
error_resilient_mode
);
seg
->
temporal_update
=
1
;
seg
->
temporal_update
=
1
;
#if !CONFIG_MISC_FIXES
#if !CONFIG_MISC_FIXES
memcpy
(
segp
->
tree_probs
,
t_pred_tree
,
sizeof
(
t_pred_tree
));
memcpy
(
segp
->
tree_probs
,
t_pred_tree
,
sizeof
(
t_pred_tree
));
...
...
Write
Preview
Supports
Markdown
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