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:
parent
34fc3f406b
commit
cf2c8915f4
@ -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) {}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 =
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 <>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user