Index: media/cast/sender/vp8_encoder.cc |
diff --git a/media/cast/sender/vp8_encoder.cc b/media/cast/sender/vp8_encoder.cc |
index f6bad07231248d2afff4dc29893dc4375ddaa0c4..39c8971e0de999faa9054b410193e8101206cbb0 100644 |
--- a/media/cast/sender/vp8_encoder.cc |
+++ b/media/cast/sender/vp8_encoder.cc |
@@ -63,12 +63,12 @@ bool HasSufficientFeedback( |
} // namespace |
-Vp8Encoder::Vp8Encoder(const VideoSenderConfig& video_config) |
+Vp8Encoder::Vp8Encoder(const FrameSenderConfig& video_config) |
: cast_config_(video_config), |
target_encoder_utilization_( |
- video_config.number_of_encode_threads > 2 |
+ video_config.video_codec_params.number_of_encode_threads > 2 |
? kHiTargetEncoderUtilization |
- : (video_config.number_of_encode_threads > 1 |
+ : (video_config.video_codec_params.number_of_encode_threads > 1 |
? kMidTargetEncoderUtilization |
: kLoTargetEncoderUtilization)), |
key_frame_requested_(true), |
@@ -79,8 +79,10 @@ Vp8Encoder::Vp8Encoder(const VideoSenderConfig& video_config) |
base::TimeDelta::FromMicroseconds(kEncodingSpeedAccHalfLife)), |
encoding_speed_(kHighestEncodingSpeed) { |
config_.g_timebase.den = 0; // Not initialized. |
- DCHECK_LE(cast_config_.min_qp, cast_config_.max_cpu_saver_qp); |
- DCHECK_LE(cast_config_.max_cpu_saver_qp, cast_config_.max_qp); |
+ DCHECK_LE(cast_config_.video_codec_params.min_qp, |
+ cast_config_.video_codec_params.max_cpu_saver_qp); |
+ DCHECK_LE(cast_config_.video_codec_params.max_cpu_saver_qp, |
+ cast_config_.video_codec_params.max_qp); |
thread_checker_.DetachFromThread(); |
} |
@@ -110,7 +112,7 @@ void Vp8Encoder::ConfigureForNewFrameSize(const gfx::Size& frame_size) { |
<< frame_size.ToString(); |
config_.g_w = frame_size.width(); |
config_.g_h = frame_size.height(); |
- config_.rc_min_quantizer = cast_config_.min_qp; |
+ config_.rc_min_quantizer = cast_config_.video_codec_params.min_qp; |
if (vpx_codec_enc_config_set(&encoder_, &config_) == VPX_CODEC_OK) |
return; |
DVLOG(1) << "libvpx rejected the attempt to use a smaller frame size in " |
@@ -130,7 +132,7 @@ void Vp8Encoder::ConfigureForNewFrameSize(const gfx::Size& frame_size) { |
CHECK_EQ(vpx_codec_enc_config_default(vpx_codec_vp8_cx(), &config_, 0), |
VPX_CODEC_OK); |
- config_.g_threads = cast_config_.number_of_encode_threads; |
+ config_.g_threads = cast_config_.video_codec_params.number_of_encode_threads; |
config_.g_w = frame_size.width(); |
config_.g_h = frame_size.height(); |
// Set the timebase to match that of base::TimeDelta. |
@@ -147,8 +149,8 @@ void Vp8Encoder::ConfigureForNewFrameSize(const gfx::Size& frame_size) { |
config_.rc_resize_allowed = 0; // TODO(miu): Why not? Investigate this. |
config_.rc_end_usage = VPX_CBR; |
config_.rc_target_bitrate = bitrate_kbit_; |
- config_.rc_min_quantizer = cast_config_.min_qp; |
- config_.rc_max_quantizer = cast_config_.max_qp; |
+ config_.rc_min_quantizer = cast_config_.video_codec_params.min_qp; |
+ config_.rc_max_quantizer = cast_config_.video_codec_params.max_qp; |
// TODO(miu): Revisit these now that the encoder is being successfully |
// micro-managed. |
config_.rc_undershoot_pct = 100; |
@@ -351,7 +353,7 @@ void Vp8Encoder::Encode(const scoped_refptr<media::VideoFrame>& video_frame, |
double actual_encoding_speed = |
encoding_speed_ + |
kEquivalentEncodingSpeedStepPerQpStep * |
- std::max(0, quantizer - cast_config_.min_qp); |
+ std::max(0, quantizer - cast_config_.video_codec_params.min_qp); |
double adjusted_encoding_speed = actual_encoding_speed * |
encoded_frame->encoder_utilization / |
target_encoder_utilization_; |
@@ -370,12 +372,13 @@ void Vp8Encoder::Encode(const scoped_refptr<media::VideoFrame>& video_frame, |
next_encoding_speed = kHighestEncodingSpeed; |
next_min_qp = |
static_cast<int>(remainder / kEquivalentEncodingSpeedStepPerQpStep + |
- cast_config_.min_qp + 0.5); |
- next_min_qp = std::min(next_min_qp, cast_config_.max_cpu_saver_qp); |
+ cast_config_.video_codec_params.min_qp + 0.5); |
+ next_min_qp = std::min(next_min_qp, |
+ cast_config_.video_codec_params.max_cpu_saver_qp); |
} else { |
next_encoding_speed = |
std::max<double>(kLowestEncodingSpeed, next_encoding_speed) + 0.5; |
- next_min_qp = cast_config_.min_qp; |
+ next_min_qp = cast_config_.video_codec_params.min_qp; |
} |
if (encoding_speed_ != static_cast<int>(next_encoding_speed)) { |
encoding_speed_ = static_cast<int>(next_encoding_speed); |