Re-design drl index coding to remove ctx parsing dep
Re-design the dynamic motion vector index coding system to remove
the context parsing dependency on the reconstructed motion vectors.
Change-Id: I01dd6eda239a0bed32d8dc98f0f10f18249a76d4
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 078eb3f..2f05da8 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -149,7 +149,8 @@
if (new_mv) {
int idx;
for (idx = 0; idx < 2; ++idx) {
- if (mbmi_ext->ref_mv_count[ref_frame_type] > idx + 1) {
+ if (mbmi_ext->ref_mv_count[ref_frame_type] > idx + 1 ||
+ CONFIG_OPT_REF_MV) {
uint8_t drl_ctx =
av1_drl_ctx(mbmi_ext->ref_mv_stack[ref_frame_type], idx);
@@ -165,7 +166,8 @@
int idx;
// TODO(jingning): Temporary solution to compensate the NEARESTMV offset.
for (idx = 1; idx < 3; ++idx) {
- if (mbmi_ext->ref_mv_count[ref_frame_type] > idx + 1) {
+ if (mbmi_ext->ref_mv_count[ref_frame_type] > idx + 1 ||
+ CONFIG_OPT_REF_MV) {
uint8_t drl_ctx =
av1_drl_ctx(mbmi_ext->ref_mv_stack[ref_frame_type], idx);
aom_write_symbol(w, mbmi->ref_mv_idx != (idx - 1),