]> granicus.if.org Git - libvpx/commitdiff
Fix initialization of delta_q_uv
authorJerome Jiang <jianj@google.com>
Tue, 28 Jan 2020 23:25:31 +0000 (15:25 -0800)
committerJerome Jiang <jianj@google.com>
Tue, 28 Jan 2020 23:25:31 +0000 (15:25 -0800)
Change-Id: If778c6534a5e68a9bcd5974f778e97e1c5cc89ee

vp9/vp9_cx_iface.c

index 244089e41b2157241e21b49c3871e928b935e7af..3aa4c3ddfd6c9665935269763b351138f609d26d 100644 (file)
@@ -61,6 +61,7 @@ typedef struct vp9_extracfg {
   int render_height;
   unsigned int row_mt;
   unsigned int motion_vector_unit_test;
+  int delta_q_uv;
 } vp9_extracfg;
 
 static struct vp9_extracfg default_extra_cfg = {
@@ -95,6 +96,7 @@ static struct vp9_extracfg default_extra_cfg = {
   0,                     // render height
   0,                     // row_mt
   0,                     // motion_vector_unit_test
+  0,                     // delta_q_uv
 };
 
 struct vpx_codec_alg_priv {
@@ -601,6 +603,8 @@ static vpx_codec_err_t set_encoder_config(
   oxcf->row_mt = extra_cfg->row_mt;
   oxcf->motion_vector_unit_test = extra_cfg->motion_vector_unit_test;
 
+  oxcf->delta_q_uv = extra_cfg->delta_q_uv;
+
   for (sl = 0; sl < oxcf->ss_number_layers; ++sl) {
     for (tl = 0; tl < oxcf->ts_number_layers; ++tl) {
       oxcf->layer_target_bitrate[sl * oxcf->ts_number_layers + tl] =
@@ -1642,12 +1646,11 @@ static vpx_codec_err_t ctrl_set_svc_spatial_layer_sync(
 
 static vpx_codec_err_t ctrl_set_delta_q_uv(vpx_codec_alg_priv_t *ctx,
                                            va_list args) {
+  struct vp9_extracfg extra_cfg = ctx->extra_cfg;
   int data = va_arg(args, int);
-  VP9_COMP *const cpi = ctx->cpi;
   data = VPXMIN(VPXMAX(data, -20), 20);
-  cpi->oxcf.delta_q_uv = data;
-  ctx->oxcf.delta_q_uv = data;
-  return VPX_CODEC_OK;
+  extra_cfg.delta_q_uv = data;
+  return update_extra_cfg(ctx, &extra_cfg);
 }
 
 static vpx_codec_err_t ctrl_register_cx_callback(vpx_codec_alg_priv_t *ctx,