diff --git a/api/video_codecs/video_encoder.h b/api/video_codecs/video_encoder.h index 1fcde28fdc..ff84acf592 100644 --- a/api/video_codecs/video_encoder.h +++ b/api/video_codecs/video_encoder.h @@ -263,7 +263,7 @@ class RTC_EXPORT VideoEncoder { // The minimum QP that the encoder is expected to use with the current // configuration. This may be used to determine if the encoder has reached // its target video quality for static screenshare content. - absl::optional minimum_qp; + absl::optional min_qp; }; struct RTC_EXPORT RateControlParameters { diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc index 0fbba831fe..3a8830252d 100644 --- a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc +++ b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc @@ -58,16 +58,15 @@ namespace webrtc { namespace { // Encoder configuration parameters -constexpr int kQpMin = 10; -constexpr int kAv1ScreenshareMinimumQindex = - 40; // Min qindex corresponding to kQpMin. +constexpr int kMinQp = 10; +constexpr int kMinQindex = 40; // Min qindex corresponding to kMinQp. constexpr int kUsageProfile = AOM_USAGE_REALTIME; -constexpr int kMinQindex = 145; // Min qindex threshold for QP scaling. -constexpr int kMaxQindex = 205; // Max qindex threshold for QP scaling. +constexpr int kLowQindex = 145; // Low qindex threshold for QP scaling. +constexpr int kHighQindex = 205; // High qindex threshold for QP scaling. constexpr int kBitDepth = 8; constexpr int kLagInFrames = 0; // No look ahead. constexpr int kRtpTicksPerSecond = 90000; -constexpr double kMinimumFrameRate = 1.0; +constexpr double kMinFrameRateFps = 1.0; aom_superblock_size_t GetSuperblockSize(int width, int height, int threads) { int resolution = width * height; @@ -159,7 +158,7 @@ int32_t VerifyCodecSettings(const VideoCodec& codec_settings) { if (codec_settings.maxFramerate < 1) { return WEBRTC_VIDEO_CODEC_ERR_PARAMETER; } - if (codec_settings.qpMax < kQpMin || codec_settings.qpMax > 63) { + if (codec_settings.qpMax < kMinQp || codec_settings.qpMax > 63) { return WEBRTC_VIDEO_CODEC_ERR_PARAMETER; } return WEBRTC_VIDEO_CODEC_OK; @@ -248,7 +247,7 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings, cfg_.rc_dropframe_thresh = encoder_settings_.GetFrameDropEnabled() ? 30 : 0; cfg_.g_input_bit_depth = kBitDepth; cfg_.kf_mode = AOM_KF_DISABLED; - cfg_.rc_min_quantizer = kQpMin; + cfg_.rc_min_quantizer = kMinQp; cfg_.rc_max_quantizer = encoder_settings_.qpMax; cfg_.rc_undershoot_pct = 50; cfg_.rc_overshoot_pct = 50; @@ -797,9 +796,9 @@ void LibaomAv1Encoder::SetRates(const RateControlParameters& parameters) { RTC_LOG(LS_WARNING) << "SetRates() while encoder is not initialized"; return; } - if (parameters.framerate_fps < kMinimumFrameRate) { + if (parameters.framerate_fps < kMinFrameRateFps) { RTC_LOG(LS_WARNING) << "Unsupported framerate (must be >= " - << kMinimumFrameRate + << kMinFrameRateFps << " ): " << parameters.framerate_fps; return; } @@ -851,7 +850,7 @@ VideoEncoder::EncoderInfo LibaomAv1Encoder::GetEncoderInfo() const { info.scaling_settings = (inited_ && !encoder_settings_.AV1().automatic_resize_on) ? VideoEncoder::ScalingSettings::kOff - : VideoEncoder::ScalingSettings(kMinQindex, kMaxQindex); + : VideoEncoder::ScalingSettings(kLowQindex, kHighQindex); info.preferred_pixel_formats = {VideoFrameBuffer::Type::kI420, VideoFrameBuffer::Type::kNV12}; if (SvcEnabled()) { @@ -868,7 +867,7 @@ VideoEncoder::EncoderInfo LibaomAv1Encoder::GetEncoderInfo() const { encoder_info_override_.resolution_bitrate_limits(); } - info.minimum_qp = kAv1ScreenshareMinimumQindex; + info.min_qp = kMinQindex; return info; } diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc index 3d2d4821b2..7b83e93e8f 100644 --- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc +++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc @@ -68,7 +68,7 @@ constexpr char kVp8ForcePartitionResilience[] = // bitstream range of [0, 127] and not the user-level range of [0,63]. constexpr int kLowVp8QpThreshold = 29; constexpr int kHighVp8QpThreshold = 95; -constexpr int kVp8ScreenshareMinimumQp = 15; +constexpr int kScreenshareMinQp = 15; constexpr int kTokenPartitions = VP8_ONE_TOKENPARTITION; constexpr uint32_t kVp832ByteAlign = 32u; @@ -1351,7 +1351,7 @@ VideoEncoder::EncoderInfo LibvpxVp8Encoder::GetEncoderInfo() const { } if (codec_.mode == VideoCodecMode::kScreensharing) { - info.minimum_qp = kVp8ScreenshareMinimumQp; + info.min_qp = kScreenshareMinQp; } } diff --git a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc index 3bcb4f66f8..fc3640cee0 100644 --- a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc +++ b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc @@ -1805,7 +1805,7 @@ VideoEncoder::EncoderInfo LibvpxVp9Encoder::GetEncoderInfo() const { } if (codec_.mode == VideoCodecMode::kScreensharing) { - info.minimum_qp = variable_framerate_screenshare::kMinQP; + info.min_qp = variable_framerate_screenshare::kMinQP; } } if (!encoder_info_override_.resolution_bitrate_limits().empty()) {