Remove Vp8VariableFramerateScreenshare experiemnt

Bug: webrtc:10310
Change-Id: I5d7e7bb3e303bc5d3f913daf9016051731ce2157
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347641
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42094}
diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index d162144..053f12b 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -811,9 +811,6 @@
     FieldTrial('WebRTC-VP8IosMaxNumberOfThread',
                'webrtc:10005',
                date(2024, 4, 1)),
-    FieldTrial('WebRTC-VP8VariableFramerateScreenshare',
-               'webrtc:10310',
-               date(2024, 4, 1)),
     FieldTrial('WebRTC-VP9-GetEncoderInfoOverride',
                '',
                date(2024, 4, 1)),
@@ -902,7 +899,7 @@
 ])  # yapf: disable
 
 POLICY_EXEMPT_FIELD_TRIALS_DIGEST: str = \
-    '4b765e142d10eccf80ec58cc9e994463c092cca0'
+    '785cfbd78860c15c840e509f4859e2b20bf8f250'
 
 REGISTERED_FIELD_TRIALS: FrozenSet[FieldTrial] = ACTIVE_FIELD_TRIALS.union(
     POLICY_EXEMPT_FIELD_TRIALS)
@@ -1012,7 +1009,7 @@
         invalid.append(
             'POLICY_EXEMPT_FIELD_TRIALS has been modified. Please note that '
             'you must not add any new entries there. If you removed an entry '
-            'you should also update POLICY_EXEMPT_FIELD_TRIALS_DIGEST. The'
+            'you should also update POLICY_EXEMPT_FIELD_TRIALS_DIGEST. The '
             f'new digest is "{sha1.hexdigest()}".')
 
     for trial in field_trials:
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
index 4593ecc..e9cf5d8 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
@@ -56,6 +56,11 @@
 constexpr char kVP8IosMaxNumberOfThreadFieldTrialParameter[] = "max_thread";
 #endif
 
+namespace variable_framerate_screenshare {
+static constexpr double kMinFps = 5.0;
+static constexpr int kUndershootPct = 30;
+}  // namespace variable_framerate_screenshare
+
 constexpr char kVp8ForcePartitionResilience[] =
     "WebRTC-VP8-ForcePartitionResilience";
 
@@ -310,10 +315,7 @@
       key_frame_request_(kMaxSimulcastStreams, false),
       last_encoder_output_time_(kMaxSimulcastStreams,
                                 Timestamp::MinusInfinity()),
-      variable_framerate_experiment_(ParseVariableFramerateConfig(
-          env_.field_trials(),
-          "WebRTC-VP8VariableFramerateScreenshare")),
-      framerate_controller_(variable_framerate_experiment_.framerate_limit),
+      framerate_controller_(variable_framerate_screenshare::kMinFps),
       max_frame_drop_interval_(ParseFrameDropInterval(env_.field_trials())),
       android_specific_threading_settings_(env_.field_trials().IsEnabled(
           "WebRTC-LibvpxVp8Encoder-AndroidSpecificThreadingSettings")) {
@@ -933,9 +935,7 @@
     return 0;
   return static_cast<size_t>(
       bitrate_bps / (8 * fps) *
-          (100 -
-           variable_framerate_experiment_.steady_state_undershoot_percentage) /
-          100 +
+          (100 - variable_framerate_screenshare::kUndershootPct) / 100 +
       0.5);
 }
 
@@ -1013,8 +1013,7 @@
 
   if (frame.update_rect().IsEmpty() && num_steady_state_frames_ >= 3 &&
       !key_frame_requested) {
-    if (variable_framerate_experiment_.enabled &&
-        framerate_controller_.DropFrame(frame.rtp_timestamp() /
+    if (framerate_controller_.DropFrame(frame.rtp_timestamp() /
                                         kRtpTicksPerMs) &&
         frame_drop_overrides_.empty()) {
       return WEBRTC_VIDEO_CODEC_OK;
@@ -1265,7 +1264,7 @@
                                                    &codec_specific);
         const size_t steady_state_size = SteadyStateSize(
             stream_idx, codec_specific.codecSpecific.VP8.temporalIdx);
-        if (qp_128 > variable_framerate_experiment_.steady_state_qp ||
+        if (qp_128 > kVp8SteadyStateQpThreshold ||
             encoded_images_[encoder_idx].size() > steady_state_size) {
           num_steady_state_frames_ = 0;
         } else {
@@ -1488,24 +1487,4 @@
   return prepared_buffers;
 }
 
-// static
-LibvpxVp8Encoder::VariableFramerateExperiment
-LibvpxVp8Encoder::ParseVariableFramerateConfig(
-    const FieldTrialsView& field_trials,
-    absl::string_view group_name) {
-  FieldTrialFlag disabled = FieldTrialFlag("Disabled");
-  FieldTrialParameter<double> framerate_limit("min_fps", 5.0);
-  FieldTrialParameter<int> qp("min_qp", 15);
-  FieldTrialParameter<int> undershoot_percentage("undershoot", 30);
-  ParseFieldTrial({&disabled, &framerate_limit, &qp, &undershoot_percentage},
-                  field_trials.Lookup(group_name));
-  VariableFramerateExperiment config;
-  config.enabled = !disabled.Get();
-  config.framerate_limit = framerate_limit.Get();
-  config.steady_state_qp = qp.Get();
-  config.steady_state_undershoot_percentage = undershoot_percentage.Get();
-
-  return config;
-}
-
 }  // namespace webrtc
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h
index ed2a86a..1800741 100644
--- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h
+++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h
@@ -138,20 +138,6 @@
   std::vector<vpx_rational_t> downsampling_factors_;
   std::vector<Timestamp> last_encoder_output_time_;
 
-  // Variable frame-rate screencast related fields and methods.
-  const struct VariableFramerateExperiment {
-    bool enabled = false;
-    // Framerate is limited to this value in steady state.
-    float framerate_limit = 5.0;
-    // This qp or below is considered a steady state.
-    int steady_state_qp = kVp8SteadyStateQpThreshold;
-    // Frames of at least this percentage below ideal for configured bitrate are
-    // considered in a steady state.
-    int steady_state_undershoot_percentage = 30;
-  } variable_framerate_experiment_;
-  static VariableFramerateExperiment ParseVariableFramerateConfig(
-      const FieldTrialsView& field_trials,
-      absl::string_view group_name);
   FramerateControllerDeprecated framerate_controller_;
   int num_steady_state_frames_ = 0;