[NORMATIVE] order_hint_bits_minus1

For the adopted EXPLICIT_ORDER_HINT:

* The number of bits for OrderHint is enforced to be 1, hence
  order_hint_bits_minus1 is signaled;

* Signaling of order_hint_bits_minus1 depends on the value of
  enable_order_hint in the sequence header;

* When enable_order_hint is off, order_hint_bits_minus1 is -1
  by default.

BUG=aomedia:1497

Change-Id: I8164fd75f118aae962172ad6fec1f905438ed6ec
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index b22396d..44a9976 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2843,7 +2843,8 @@
 #endif
 
 #if CONFIG_EXPLICIT_ORDER_HINT
-  aom_wb_write_literal(wb, seq_params->order_hint_bits, 3);
+  if (seq_params->enable_order_hint)
+    aom_wb_write_literal(wb, seq_params->order_hint_bits_minus1, 3);
 #endif
 }
 
@@ -3072,8 +3073,8 @@
 #endif  // CONFIG_FRAME_REFS_SIGNALING
 
 #if CONFIG_EXPLICIT_ORDER_HINT
-  aom_wb_write_literal(wb, cm->frame_offset, cm->seq_params.order_hint_bits);
-  // assert(cm->current_video_frame == cm->frame_offset);
+  aom_wb_write_literal(wb, cm->frame_offset,
+                       cm->seq_params.order_hint_bits_minus1 + 1);
 #else
   if (cm->show_frame == 0) {
     int arf_offset = AOMMIN(
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 80b2e10..0d9c19a 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4382,7 +4382,7 @@
     cm->frame_offset = cm->current_video_frame;
   }
 #if CONFIG_EXPLICIT_ORDER_HINT
-  cm->frame_offset %= (1 << cm->seq_params.order_hint_bits);
+  cm->frame_offset %= (1 << (cm->seq_params.order_hint_bits_minus1 + 1));
 #endif  // CONFIG_EXPLICIT_ORDER_HINT
   av1_setup_frame_buf_refs(cm);
   if (cpi->sf.selective_ref_frame >= 2) enforce_max_ref_frames(cpi);
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 0005390..0c1a74a 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2562,7 +2562,7 @@
   cm->allow_filter_intra = 1;
 
 #if CONFIG_EXPLICIT_ORDER_HINT
-  cm->seq_params.order_hint_bits = DEFAULT_EXPLICIT_ORDER_HINT_BITS;
+  cm->seq_params.order_hint_bits_minus1 = DEFAULT_EXPLICIT_ORDER_HINT_BITS - 1;
 #endif  // CONFIG_EXPLICIT_ORDER_HINT
   cm->seq_params.enable_dual_filter = oxcf->enable_dual_filter;
   cm->seq_params.enable_order_hint = oxcf->enable_order_hint;