From 8225c405c4a257c2312cd00125da650c13bff309 Mon Sep 17 00:00:00 2001 From: johannkoenig Date: Thu, 26 Jan 2017 13:23:44 -0800 Subject: [PATCH] Remove svc_context.h include Features in this header rely on configuring libvpx with --enable-experimental and --enable-spatial-svc This was mistakenly used to get access to vpx_svc_extra_cfg_t through SvcInternal_t. BUG=chromium:575651 https://bugzilla.mozilla.org/show_bug.cgi?id=1332664 Review-Url: https://codereview.webrtc.org/2654633002 Cr-Commit-Position: refs/heads/master@{#16308} --- .../video_coding/codecs/vp9/vp9_impl.cc | 32 +++++++++---------- .../video_coding/codecs/vp9/vp9_impl.h | 4 +-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc b/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc index 47ca8726b0..82afd9e6c0 100644 --- a/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc +++ b/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc @@ -83,7 +83,7 @@ VP9EncoderImpl::VP9EncoderImpl() // Use two spatial when screensharing with flexible mode. spatial_layer_(new ScreenshareLayersVP9(2)) { memset(&codec_, 0, sizeof(codec_)); - memset(&svc_internal_.svc_params, 0, sizeof(vpx_svc_extra_cfg_t)); + memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t)); uint32_t seed = rtc::Time32(); srand(seed); } @@ -148,14 +148,14 @@ bool VP9EncoderImpl::SetSvcRates() { float total = 0; for (i = 0; i < num_spatial_layers_; ++i) { - if (svc_internal_.svc_params.scaling_factor_num[i] <= 0 || - svc_internal_.svc_params.scaling_factor_den[i] <= 0) { + if (svc_params_.scaling_factor_num[i] <= 0 || + svc_params_.scaling_factor_den[i] <= 0) { LOG(LS_ERROR) << "Scaling factors not specified!"; return false; } rate_ratio[i] = - static_cast(svc_internal_.svc_params.scaling_factor_num[i]) / - svc_internal_.svc_params.scaling_factor_den[i]; + static_cast(svc_params_.scaling_factor_num[i]) / + svc_params_.scaling_factor_den[i]; total += rate_ratio[i]; } @@ -396,22 +396,22 @@ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) { // Set QP-min/max per spatial and temporal layer. int tot_num_layers = num_spatial_layers_ * num_temporal_layers_; for (int i = 0; i < tot_num_layers; ++i) { - svc_internal_.svc_params.max_quantizers[i] = config_->rc_max_quantizer; - svc_internal_.svc_params.min_quantizers[i] = config_->rc_min_quantizer; + svc_params_.max_quantizers[i] = config_->rc_max_quantizer; + svc_params_.min_quantizers[i] = config_->rc_min_quantizer; } config_->ss_number_layers = num_spatial_layers_; if (ExplicitlyConfiguredSpatialLayers()) { for (int i = 0; i < num_spatial_layers_; ++i) { const auto& layer = codec_.spatialLayers[i]; - svc_internal_.svc_params.scaling_factor_num[i] = layer.scaling_factor_num; - svc_internal_.svc_params.scaling_factor_den[i] = layer.scaling_factor_den; + svc_params_.scaling_factor_num[i] = layer.scaling_factor_num; + svc_params_.scaling_factor_den[i] = layer.scaling_factor_den; } } else { int scaling_factor_num = 256; for (int i = num_spatial_layers_ - 1; i >= 0; --i) { // 1:2 scaling in each dimension. - svc_internal_.svc_params.scaling_factor_num[i] = scaling_factor_num; - svc_internal_.svc_params.scaling_factor_den[i] = 256; + svc_params_.scaling_factor_num[i] = scaling_factor_num; + svc_params_.scaling_factor_den[i] = 256; if (codec_.mode != kScreensharing) scaling_factor_num /= 2; } @@ -435,7 +435,7 @@ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) { (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0); if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) { vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS, - &svc_internal_.svc_params); + &svc_params_); } // Register callback for getting each spatial layer. vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = { @@ -648,11 +648,11 @@ void VP9EncoderImpl::PopulateCodecSpecific(CodecSpecificInfo* codec_specific, vp9_info->spatial_layer_resolution_present = true; for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) { vp9_info->width[i] = codec_.width * - svc_internal_.svc_params.scaling_factor_num[i] / - svc_internal_.svc_params.scaling_factor_den[i]; + svc_params_.scaling_factor_num[i] / + svc_params_.scaling_factor_den[i]; vp9_info->height[i] = codec_.height * - svc_internal_.svc_params.scaling_factor_num[i] / - svc_internal_.svc_params.scaling_factor_den[i]; + svc_params_.scaling_factor_num[i] / + svc_params_.scaling_factor_den[i]; } if (!vp9_info->flexible_mode) { vp9_info->gof.CopyGofInfoVP9(gof_); diff --git a/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h b/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h index 7078c50a70..d507b355f7 100644 --- a/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h +++ b/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h @@ -18,7 +18,7 @@ #include "webrtc/modules/video_coding/codecs/vp9/include/vp9.h" #include "webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h" -#include "vpx/svc_context.h" +#include "vpx/vp8cx.h" #include "vpx/vpx_decoder.h" #include "vpx/vpx_encoder.h" @@ -113,7 +113,7 @@ class VP9EncoderImpl : public VP9Encoder { vpx_codec_ctx_t* encoder_; vpx_codec_enc_cfg_t* config_; vpx_image_t* raw_; - SvcInternal_t svc_internal_; + vpx_svc_extra_cfg_t svc_params_; const VideoFrame* input_image_; GofInfoVP9 gof_; // Contains each frame's temporal information for // non-flexible mode.