Minor DAMR fixes
Fix two minor issues in DAMR (one similar to #305 and another related to skip mode). No impact on performance.
Change-Id: Ib4a1536a17657651f5af97ace749f686ca299e78
diff --git a/av1/common/reconinter.h b/av1/common/reconinter.h
index e2eb245..1ec6895 100644
--- a/av1/common/reconinter.h
+++ b/av1/common/reconinter.h
@@ -735,7 +735,6 @@
if (mbmi->skip_mode && COMP_REFINE_TYPE_FOR_SKIP < COMP_AFFINE_REFINE_START)
return 0;
- if (!mbmi->ref_frame[1]) return 0;
return 1;
}
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 8c030ca..fc22b85 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -3225,7 +3225,9 @@
get_default_refinemv_flag(cm, mbmi);
#endif // CONFIG_REFINEMV && !CONFIG_CWP
#if CONFIG_AFFINE_REFINEMENT
- mbmi->comp_refine_type = COMP_REFINE_TYPE_FOR_SKIP;
+ mbmi->comp_refine_type = mbmi->mode == NEAR_NEARMV_OPTFLOW
+ ? COMP_REFINE_TYPE_FOR_SKIP
+ : COMP_REFINE_SUBBLK2P;
#endif // CONFIG_AFFINE_REFINEMENT
} else {
if (segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP) ||
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index d2394c0..5115034 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -7414,7 +7414,9 @@
mbmi->cwp_idx = CWP_EQUAL;
#endif // CONFIG_CWP
#if CONFIG_AFFINE_REFINEMENT
- mbmi->comp_refine_type = COMP_REFINE_TYPE_FOR_SKIP;
+ mbmi->comp_refine_type = this_mode == NEAR_NEARMV_OPTFLOW
+ ? COMP_REFINE_TYPE_FOR_SKIP
+ : COMP_REFINE_SUBBLK2P;
#endif // CONFIG_AFFINE_REFINEMENT
#if CONFIG_IBC_SR_EXT
mbmi->use_intrabc[xd->tree_type == CHROMA_PART] = 0;
@@ -7768,7 +7770,10 @@
search_state->best_mbmode.mode = NEAR_NEARMV;
#endif // CONFIG_OPTFLOW_REFINEMENT
#if CONFIG_AFFINE_REFINEMENT
- search_state->best_mbmode.comp_refine_type = COMP_REFINE_TYPE_FOR_SKIP;
+ search_state->best_mbmode.comp_refine_type =
+ search_state->best_mbmode.mode == NEAR_NEARMV_OPTFLOW
+ ? COMP_REFINE_TYPE_FOR_SKIP
+ : COMP_REFINE_SUBBLK2P;
#endif // CONFIG_AFFINE_REFINEMENT
search_state->best_mbmode.ref_frame[0] = mbmi->ref_frame[0];
search_state->best_mbmode.ref_frame[1] = mbmi->ref_frame[1];