Add control function to get sequence level index

Add interface only; implementations to come.

BUG=aomedia:2332

Change-Id: Ib01396b8ae5509532c6d73c68e37993c5ab0aa7d
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index d765242..df9d73b 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -2121,6 +2121,13 @@
   return update_extra_cfg(ctx, &extra_cfg);
 }
 
+static aom_codec_err_t ctrl_get_seq_level_idx(aom_codec_alg_priv_t *ctx,
+                                              va_list args) {
+  int *const arg = va_arg(args, int *);
+  if (arg == NULL) return AOM_CODEC_INVALID_PARAM;
+  return av1_get_seq_level_idx(ctx->cpi, arg);
+}
+
 static aom_codec_ctrl_fn_map_t encoder_ctrl_maps[] = {
   { AV1_COPY_REFERENCE, ctrl_copy_reference },
   { AOME_USE_REFERENCE, ctrl_use_reference },
@@ -2245,6 +2252,7 @@
   { AV1_COPY_NEW_FRAME_IMAGE, ctrl_copy_new_frame_image },
   { AV1E_SET_CHROMA_SUBSAMPLING_X, ctrl_set_chroma_subsampling_x },
   { AV1E_SET_CHROMA_SUBSAMPLING_Y, ctrl_set_chroma_subsampling_y },
+  { AV1E_GET_SEQ_LEVEL_IDX, ctrl_get_seq_level_idx },
   { -1, NULL },
 };
 
diff --git a/av1/encoder/level.c b/av1/encoder/level.c
index 3a5f937..0e8b34b 100644
--- a/av1/encoder/level.c
+++ b/av1/encoder/level.c
@@ -355,3 +355,13 @@
     check_level_constraints(cpi, i, level_spec);
   }
 }
+
+aom_codec_err_t av1_get_seq_level_idx(const AV1_COMP *cpi, int *seq_level_idx) {
+  // TODO(chiyotsai@, kyslov@, huisu@): put in real implementations.
+  (void)cpi;
+  for (int i = 0; i < MAX_NUM_OPERATING_POINTS; ++i) {
+    seq_level_idx[i] = (int)SEQ_LEVEL_MAX;
+  }
+
+  return AOM_CODEC_OK;
+}
diff --git a/av1/encoder/level.h b/av1/encoder/level.h
index 09ffe49..32c7088 100644
--- a/av1/encoder/level.h
+++ b/av1/encoder/level.h
@@ -47,4 +47,8 @@
 void av1_update_level_info(struct AV1_COMP *cpi, size_t size, int64_t ts_start,
                            int64_t ts_end);
 
+// Return sequence level indices in seq_level_idx[MAX_NUM_OPERATING_POINTS].
+aom_codec_err_t av1_get_seq_level_idx(const struct AV1_COMP *cpi,
+                                      int *seq_level_idx);
+
 #endif  // AOM_AV1_ENCODER_LEVEL_H_