Documentation for CommonQuantParams

Also, a few renames for clarity.

BUG=aomedia:2610

Change-Id: Id5e3096d8493f57b606bacbc428cde926daedcc7
diff --git a/av1/common/av1_common_int.h b/av1/common/av1_common_int.h
index 9232755..3b8cb13 100644
--- a/av1/common/av1_common_int.h
+++ b/av1/common/av1_common_int.h
@@ -419,19 +419,28 @@
                     int height);
 };
 
-// Parameters related to quantization.
+// Parameters related to quantization at the frame level.
 typedef struct CommonQuantParams CommonQuantParams;
 struct CommonQuantParams {
-  // Base qIndex of the frame in the range 0 to 255.
-  // The qindex per block may have a delta from this: see 'delta_q_info' below.
+  // Base qindex of the frame in the range 0 to 255.
   int base_qindex;
 
+  // Delta of qindex (from base_qindex) for Y plane DC coefficient.
+  // Note: y_ac_delta_q is implicitly 0.
   int y_dc_delta_q;
+
+  // Delta of qindex (from base_qindex) for U plane DC and AC coefficients.
   int u_dc_delta_q;
   int v_dc_delta_q;
+
+  // Delta of qindex (from base_qindex) for V plane DC and AC coefficients.
+  // Same as those for U plane if cm->seq_params.separate_uv_delta_q == 0.
   int u_ac_delta_q;
   int v_ac_delta_q;
 
+  // Note: The qindex per superblock may have a delta from the qindex obtained
+  // at frame level from parameters above, based on 'cm->delta_q_info'.
+
   // The dequantizers below are true dequantizers used only in the
   // dequantization process.  They have the same coefficient
   // shift/scale as TX.
@@ -448,10 +457,14 @@
   const qm_val_t *u_iqmatrix[MAX_SEGMENTS][TX_SIZES_ALL];
   const qm_val_t *v_iqmatrix[MAX_SEGMENTS][TX_SIZES_ALL];
 
-  int using_qmatrix;
-  int qm_y;
-  int qm_u;
-  int qm_v;
+  // Flag indicating whether quantization matrices are being used:
+  //  - If true, qm_level_y, qm_level_u and qm_level_v indicate the level
+  //    indices to be used to access appropriate global quant matrix tables.
+  //  - If false, we implicitly use level index 'NUM_QM_LEVELS - 1'.
+  bool using_qmatrix;
+  int qmatrix_level_y;
+  int qmatrix_level_u;
+  int qmatrix_level_v;
 };
 
 // Context used for transmitting various symbols in the bistream.
diff --git a/av1/common/quant_common.c b/av1/common/quant_common.c
index 9b967fe..e976752 100644
--- a/av1/common/quant_common.c
+++ b/av1/common/quant_common.c
@@ -226,8 +226,8 @@
 }
 
 bool av1_use_qmatrix(const CommonQuantParams *quant_params,
-                     const MACROBLOCKD *const xd, int segment_id) {
-  // True if we are using Q matrix and this is not a lossless segment.
+                     const struct macroblockd *xd, int segment_id) {
+  // True if explicit Q matrix levels and this is not a lossless segment.
   return quant_params->using_qmatrix && !xd->lossless[segment_id];
 }
 
diff --git a/av1/common/quant_common.h b/av1/common/quant_common.h
index fb27326..9c30204 100644
--- a/av1/common/quant_common.h
+++ b/av1/common/quant_common.h
@@ -47,7 +47,7 @@
 int av1_get_qindex(const struct segmentation *seg, int segment_id,
                    int base_qindex);
 
-// Returns true if we should use quantization matrix.
+// Returns true if we are using quantization matrix.
 bool av1_use_qmatrix(const struct CommonQuantParams *quant_params,
                      const struct macroblockd *xd, int segment_id);
 
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 0dc539f..3634dec 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2064,16 +2064,16 @@
   }
   quant_params->using_qmatrix = aom_rb_read_bit(rb);
   if (quant_params->using_qmatrix) {
-    quant_params->qm_y = aom_rb_read_literal(rb, QM_LEVEL_BITS);
-    quant_params->qm_u = aom_rb_read_literal(rb, QM_LEVEL_BITS);
+    quant_params->qmatrix_level_y = aom_rb_read_literal(rb, QM_LEVEL_BITS);
+    quant_params->qmatrix_level_u = aom_rb_read_literal(rb, QM_LEVEL_BITS);
     if (!separate_uv_delta_q)
-      quant_params->qm_v = quant_params->qm_u;
+      quant_params->qmatrix_level_v = quant_params->qmatrix_level_u;
     else
-      quant_params->qm_v = aom_rb_read_literal(rb, QM_LEVEL_BITS);
+      quant_params->qmatrix_level_v = aom_rb_read_literal(rb, QM_LEVEL_BITS);
   } else {
-    quant_params->qm_y = 0;
-    quant_params->qm_u = 0;
-    quant_params->qm_v = 0;
+    quant_params->qmatrix_level_y = 0;
+    quant_params->qmatrix_level_u = 0;
+    quant_params->qmatrix_level_v = 0;
   }
 }
 
@@ -2101,17 +2101,20 @@
     const int use_qmatrix = av1_use_qmatrix(quant_params, xd, i);
     // NB: depends on base index so there is only 1 set per frame
     // No quant weighting when lossless or signalled not using QM
-    const int qmlevel_y = use_qmatrix ? quant_params->qm_y : NUM_QM_LEVELS - 1;
+    const int qmlevel_y =
+        use_qmatrix ? quant_params->qmatrix_level_y : NUM_QM_LEVELS - 1;
     for (int j = 0; j < TX_SIZES_ALL; ++j) {
       quant_params->y_iqmatrix[i][j] =
           av1_iqmatrix(quant_params, qmlevel_y, AOM_PLANE_Y, j);
     }
-    const int qmlevel_u = use_qmatrix ? quant_params->qm_u : NUM_QM_LEVELS - 1;
+    const int qmlevel_u =
+        use_qmatrix ? quant_params->qmatrix_level_u : NUM_QM_LEVELS - 1;
     for (int j = 0; j < TX_SIZES_ALL; ++j) {
       quant_params->u_iqmatrix[i][j] =
           av1_iqmatrix(quant_params, qmlevel_u, AOM_PLANE_U, j);
     }
-    const int qmlevel_v = use_qmatrix ? quant_params->qm_v : NUM_QM_LEVELS - 1;
+    const int qmlevel_v =
+        use_qmatrix ? quant_params->qmatrix_level_v : NUM_QM_LEVELS - 1;
     for (int j = 0; j < TX_SIZES_ALL; ++j) {
       quant_params->v_iqmatrix[i][j] =
           av1_iqmatrix(quant_params, qmlevel_v, AOM_PLANE_V, j);
diff --git a/av1/encoder/av1_quantize.c b/av1/encoder/av1_quantize.c
index 995c90b..789590f 100644
--- a/av1/encoder/av1_quantize.c
+++ b/av1/encoder/av1_quantize.c
@@ -677,7 +677,8 @@
   const int use_qmatrix = av1_use_qmatrix(quant_params, xd, segment_id);
 
   // Y
-  const int qmlevel_y = use_qmatrix ? quant_params->qm_y : NUM_QM_LEVELS - 1;
+  const int qmlevel_y =
+      use_qmatrix ? quant_params->qmatrix_level_y : NUM_QM_LEVELS - 1;
   x->plane[0].quant_QTX = quants->y_quant[qindex];
   x->plane[0].quant_fp_QTX = quants->y_quant_fp[qindex];
   x->plane[0].round_fp_QTX = quants->y_round_fp[qindex];
@@ -693,7 +694,8 @@
          sizeof(quant_params->giqmatrix[qmlevel_y][0]));
 
   // U
-  const int qmlevel_u = use_qmatrix ? quant_params->qm_u : NUM_QM_LEVELS - 1;
+  const int qmlevel_u =
+      use_qmatrix ? quant_params->qmatrix_level_u : NUM_QM_LEVELS - 1;
   x->plane[1].quant_QTX = quants->u_quant[qindex];
   x->plane[1].quant_fp_QTX = quants->u_quant_fp[qindex];
   x->plane[1].round_fp_QTX = quants->u_round_fp[qindex];
@@ -708,7 +710,8 @@
          quant_params->giqmatrix[qmlevel_u][1],
          sizeof(quant_params->giqmatrix[qmlevel_u][1]));
   // V
-  const int qmlevel_v = use_qmatrix ? quant_params->qm_v : NUM_QM_LEVELS - 1;
+  const int qmlevel_v =
+      use_qmatrix ? quant_params->qmatrix_level_v : NUM_QM_LEVELS - 1;
   x->plane[2].quant_QTX = quants->v_quant[qindex];
   x->plane[2].quant_fp_QTX = quants->v_quant_fp[qindex];
   x->plane[2].round_fp_QTX = quants->v_round_fp[qindex];
@@ -747,16 +750,16 @@
   quant_params->u_ac_delta_q = 0;
   quant_params->v_dc_delta_q = 0;
   quant_params->v_ac_delta_q = 0;
-  quant_params->qm_y = aom_get_qmlevel(quant_params->base_qindex,
-                                       cpi->min_qmlevel, cpi->max_qmlevel);
-  quant_params->qm_u =
+  quant_params->qmatrix_level_y = aom_get_qmlevel(
+      quant_params->base_qindex, cpi->min_qmlevel, cpi->max_qmlevel);
+  quant_params->qmatrix_level_u =
       aom_get_qmlevel(quant_params->base_qindex + quant_params->u_ac_delta_q,
                       cpi->min_qmlevel, cpi->max_qmlevel);
 
   if (!cm->seq_params.separate_uv_delta_q)
-    quant_params->qm_v = quant_params->qm_u;
+    quant_params->qmatrix_level_v = quant_params->qmatrix_level_u;
   else
-    quant_params->qm_v =
+    quant_params->qmatrix_level_v =
         aom_get_qmlevel(quant_params->base_qindex + quant_params->v_ac_delta_q,
                         cpi->min_qmlevel, cpi->max_qmlevel);
 }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 396731a..324ce4c 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2045,12 +2045,12 @@
   }
   aom_wb_write_bit(wb, quant_params->using_qmatrix);
   if (quant_params->using_qmatrix) {
-    aom_wb_write_literal(wb, quant_params->qm_y, QM_LEVEL_BITS);
-    aom_wb_write_literal(wb, quant_params->qm_u, QM_LEVEL_BITS);
+    aom_wb_write_literal(wb, quant_params->qmatrix_level_y, QM_LEVEL_BITS);
+    aom_wb_write_literal(wb, quant_params->qmatrix_level_u, QM_LEVEL_BITS);
     if (!separate_uv_delta_q)
-      assert(quant_params->qm_u == quant_params->qm_v);
+      assert(quant_params->qmatrix_level_u == quant_params->qmatrix_level_v);
     else
-      aom_wb_write_literal(wb, quant_params->qm_v, QM_LEVEL_BITS);
+      aom_wb_write_literal(wb, quant_params->qmatrix_level_v, QM_LEVEL_BITS);
   }
 }