Delete H264EncoderSpecificSettings

Production code always use the default settings.

Bug: webrtc:6883
Change-Id: I213fc6433bb1cd0a6623ad523fee2df1506588e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261903
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36926}
This commit is contained in:
Niels Möller 2022-05-18 10:45:46 +02:00 committed by WebRTC LUCI CQ
parent 34fc3f406b
commit cf2c8915f4
9 changed files with 15 additions and 55 deletions

View File

@ -92,9 +92,7 @@ VideoEncoderConfig::VideoEncoderConfig(const VideoEncoderConfig&) = default;
void VideoEncoderConfig::EncoderSpecificSettings::FillEncoderSpecificSettings(
VideoCodec* codec) const {
if (codec->codecType == kVideoCodecH264) {
FillVideoCodecH264(codec->H264());
} else if (codec->codecType == kVideoCodecVP8) {
if (codec->codecType == kVideoCodecVP8) {
FillVideoCodecVp8(codec->VP8());
} else if (codec->codecType == kVideoCodecVP9) {
FillVideoCodecVp9(codec->VP9());
@ -104,11 +102,6 @@ void VideoEncoderConfig::EncoderSpecificSettings::FillEncoderSpecificSettings(
}
}
void VideoEncoderConfig::EncoderSpecificSettings::FillVideoCodecH264(
VideoCodecH264* h264_settings) const {
RTC_DCHECK_NOTREACHED();
}
void VideoEncoderConfig::EncoderSpecificSettings::FillVideoCodecVp8(
VideoCodecVP8* vp8_settings) const {
RTC_DCHECK_NOTREACHED();
@ -119,15 +112,6 @@ void VideoEncoderConfig::EncoderSpecificSettings::FillVideoCodecVp9(
RTC_DCHECK_NOTREACHED();
}
VideoEncoderConfig::H264EncoderSpecificSettings::H264EncoderSpecificSettings(
const VideoCodecH264& specifics)
: specifics_(specifics) {}
void VideoEncoderConfig::H264EncoderSpecificSettings::FillVideoCodecH264(
VideoCodecH264* h264_settings) const {
*h264_settings = specifics_;
}
VideoEncoderConfig::Vp8EncoderSpecificSettings::Vp8EncoderSpecificSettings(
const VideoCodecVP8& specifics)
: specifics_(specifics) {}

View File

@ -86,22 +86,12 @@ class VideoEncoderConfig {
virtual void FillVideoCodecVp8(VideoCodecVP8* vp8_settings) const;
virtual void FillVideoCodecVp9(VideoCodecVP9* vp9_settings) const;
virtual void FillVideoCodecH264(VideoCodecH264* h264_settings) const;
private:
~EncoderSpecificSettings() override {}
friend class VideoEncoderConfig;
};
class H264EncoderSpecificSettings : public EncoderSpecificSettings {
public:
explicit H264EncoderSpecificSettings(const VideoCodecH264& specifics);
void FillVideoCodecH264(VideoCodecH264* h264_settings) const override;
private:
VideoCodecH264 specifics_;
};
class Vp8EncoderSpecificSettings : public EncoderSpecificSettings {
public:
explicit Vp8EncoderSpecificSettings(const VideoCodecVP8& specifics);

View File

@ -288,8 +288,6 @@ void FakeVideoSendStream::ReconfigureVideoEncoder(
num_temporal_layers;
}
} else if (config_.rtp.payload_name == "H264") {
config.encoder_specific_settings->FillVideoCodecH264(
&codec_specific_settings_.h264);
codec_specific_settings_.h264.numberOfTemporalLayers =
num_temporal_layers;
} else {

View File

@ -512,10 +512,7 @@ WebRtcVideoChannel::WebRtcVideoSendStream::ConfigureVideoEncoderSettings(
}
if (absl::EqualsIgnoreCase(codec.name, kH264CodecName)) {
webrtc::VideoCodecH264 h264_settings =
webrtc::VideoEncoder::GetDefaultH264Settings();
return rtc::make_ref_counted<
webrtc::VideoEncoderConfig::H264EncoderSpecificSettings>(h264_settings);
return nullptr;
}
if (absl::EqualsIgnoreCase(codec.name, kVp8CodecName)) {
webrtc::VideoCodecVP8 vp8_settings =

View File

@ -314,8 +314,9 @@ VideoCodec VideoCodecInitializer::VideoEncoderConfigToVideoCodec(
}
break;
case kVideoCodecH264: {
if (!config.encoder_specific_settings)
*video_codec.H264() = VideoEncoder::GetDefaultH264Settings();
RTC_CHECK(!config.encoder_specific_settings);
*video_codec.H264() = VideoEncoder::GetDefaultH264Settings();
video_codec.H264()->numberOfTemporalLayers = static_cast<unsigned char>(
streams.back().num_temporal_layers.value_or(
video_codec.H264()->numberOfTemporalLayers));

View File

@ -202,9 +202,7 @@ RtpGenerator::RtpGenerator(const RtpGeneratorOptions& options)
rtc::make_ref_counted<VideoEncoderConfig::Vp9EncoderSpecificSettings>(
settings);
} else if (video_config.rtp.payload_name == cricket::kH264CodecName) {
VideoCodecH264 settings = VideoEncoder::GetDefaultH264Settings();
encoder_config.encoder_specific_settings = rtc::make_ref_counted<
VideoEncoderConfig::H264EncoderSpecificSettings>(settings);
encoder_config.encoder_specific_settings = nullptr;
}
encoder_config.video_format.name = video_config.rtp.payload_name;
encoder_config.min_transmit_bitrate_bps = 0;

View File

@ -198,11 +198,10 @@ CreateH264SpecificSettings(VideoStreamConfig config) {
RTC_DCHECK_EQ(config.encoder.layers.temporal, 1);
RTC_DCHECK_EQ(config.encoder.layers.spatial, 1);
VideoCodecH264 h264_settings = VideoEncoder::GetDefaultH264Settings();
h264_settings.keyFrameInterval =
config.encoder.key_frame_interval.value_or(0);
return rtc::make_ref_counted<VideoEncoderConfig::H264EncoderSpecificSettings>(
h264_settings);
// TODO(bugs.webrtc.org/6883): Set a key frame interval as a setting that
// isn't codec specific.
RTC_CHECK_EQ(0, config.encoder.key_frame_interval.value_or(0));
return nullptr;
}
rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>

View File

@ -905,10 +905,7 @@ void VideoQualityTest::SetupVideo(Transport* send_transport,
rtc::make_ref_counted<
VideoEncoderConfig::Vp9EncoderSpecificSettings>(vp9_settings);
} else if (params_.video[video_idx].codec == "H264") {
VideoCodecH264 h264_settings = VideoEncoder::GetDefaultH264Settings();
video_encoder_configs_[video_idx].encoder_specific_settings =
rtc::make_ref_counted<
VideoEncoderConfig::H264EncoderSpecificSettings>(h264_settings);
video_encoder_configs_[video_idx].encoder_specific_settings = nullptr;
}
}
total_streams_used += num_video_substreams;

View File

@ -2435,9 +2435,7 @@ class VideoCodecConfigObserver : public test::SendTest,
};
template <>
void VideoCodecConfigObserver<VideoCodecH264>::InitCodecSpecifics() {
encoder_settings_ = VideoEncoder::GetDefaultH264Settings();
}
void VideoCodecConfigObserver<VideoCodecH264>::InitCodecSpecifics() {}
template <>
void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
@ -2454,18 +2452,16 @@ void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
// Set expected temporal layers as they should have been set when
// reconfiguring the encoder and not match the set config.
VideoCodecH264 encoder_settings = encoder_settings_;
VideoCodecH264 encoder_settings = VideoEncoder::GetDefaultH264Settings();
encoder_settings.numberOfTemporalLayers =
kVideoCodecConfigObserverNumberOfTemporalLayers;
EXPECT_EQ(
0, memcmp(&config.H264(), &encoder_settings, sizeof(encoder_settings_)));
EXPECT_EQ(config.H264(), encoder_settings);
}
template <>
rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const {
return rtc::make_ref_counted<VideoEncoderConfig::H264EncoderSpecificSettings>(
encoder_settings_);
return nullptr;
}
template <>