Index: webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc |
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc |
index 3dfa0b559d1228725ae8820bbb0f2aecd551b410..2626d5f1ffaf8fafaf507d6836d349f24d7ee1c1 100644 |
--- a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc |
+++ b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc |
@@ -213,9 +213,6 @@ int32_t H264EncoderImpl::InitEncode(const VideoCodec* codec_settings, |
return WEBRTC_VIDEO_CODEC_ERROR; |
} |
// TODO(pbos): Base init params on these values before submitting. |
- quality_scaler_.Init(codec_settings_.codecType, codec_settings_.startBitrate, |
- codec_settings_.width, codec_settings_.height, |
- codec_settings_.maxFramerate); |
int video_format = EVideoFormatType::videoFormatI420; |
openh264_encoder_->SetOption(ENCODER_OPTION_DATAFORMAT, |
&video_format); |
@@ -255,7 +252,6 @@ int32_t H264EncoderImpl::SetRates(uint32_t bitrate, uint32_t framerate) { |
} |
codec_settings_.targetBitrate = bitrate; |
codec_settings_.maxFramerate = framerate; |
- quality_scaler_.ReportFramerate(framerate); |
SBitrateInfo target_bitrate; |
memset(&target_bitrate, 0, sizeof(SBitrateInfo)); |
@@ -287,21 +283,6 @@ int32_t H264EncoderImpl::Encode(const VideoFrame& input_frame, |
return WEBRTC_VIDEO_CODEC_UNINITIALIZED; |
} |
- quality_scaler_.OnEncodeFrame(input_frame.width(), input_frame.height()); |
- rtc::scoped_refptr<const VideoFrameBuffer> frame_buffer = |
- quality_scaler_.GetScaledBuffer(input_frame.video_frame_buffer()); |
- if (frame_buffer->width() != codec_settings_.width || |
- frame_buffer->height() != codec_settings_.height) { |
- LOG(LS_INFO) << "Encoder reinitialized from " << codec_settings_.width |
- << "x" << codec_settings_.height << " to " |
- << frame_buffer->width() << "x" << frame_buffer->height(); |
- codec_settings_.width = frame_buffer->width(); |
- codec_settings_.height = frame_buffer->height(); |
- SEncParamExt encoder_params = CreateEncoderParams(); |
- openh264_encoder_->SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, |
- &encoder_params); |
- } |
- |
bool force_key_frame = false; |
if (frame_types != nullptr) { |
// We only support a single stream. |
@@ -368,15 +349,6 @@ int32_t H264EncoderImpl::Encode(const VideoFrame& input_frame, |
codec_specific.codecType = kVideoCodecH264; |
encoded_image_callback_->Encoded(encoded_image_, &codec_specific, |
&frag_header); |
- |
- // Parse and report QP. |
- h264_bitstream_parser_.ParseBitstream(encoded_image_._buffer, |
- encoded_image_._length); |
- int qp = -1; |
- if (h264_bitstream_parser_.GetLastSliceQp(&qp)) |
- quality_scaler_.ReportQP(qp); |
- } else { |
- quality_scaler_.ReportDroppedFrame(); |
} |
return WEBRTC_VIDEO_CODEC_OK; |
} |
@@ -471,8 +443,8 @@ int32_t H264EncoderImpl::SetPeriodicKeyFrames(bool enable) { |
return WEBRTC_VIDEO_CODEC_OK; |
} |
-void H264EncoderImpl::OnDroppedFrame() { |
- quality_scaler_.ReportDroppedFrame(); |
+QualityScaler::Settings H264EncoderImpl::GetQPThresholds() const { |
+ return QualityScaler::Settings(true); |
} |
} // namespace webrtc |