about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-darwin-no-low-latency-flag.patch
blob: 3df917edf5ccfea662229eaf2c32c7d37eb64af4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
diff --git a/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc b/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
index d4b0161b2e..e5a0eb1967 100644
--- a/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
+++ b/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
@@ -29,12 +29,6 @@
 #include "media/base/video_types.h"
 #include "media/video/video_encode_accelerator.h"
 
-// This is a min version of macOS where we want to support SVC encoding via
-// EnableLowLatencyRateControl flag. The flag is actually supported since 11.3,
-// but there we see frame drops even with ample bitrate budget. Excessive frame
-// drops were fixed in 12.0.1.
-#define LOW_LATENCY_FLAG_AVAILABLE_VER 12.0.1
-
 namespace media {
 
 namespace {
@@ -277,8 +271,6 @@ VTVideoEncodeAccelerator::GetSupportedH264Profiles() {
   profile.rate_control_modes = VideoEncodeAccelerator::kConstantMode |
                                VideoEncodeAccelerator::kVariableMode;
   profile.scalability_modes.push_back(SVCScalabilityMode::kL1T1);
-  if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *))
-    profile.scalability_modes.push_back(SVCScalabilityMode::kL1T2);
 
   for (const auto& supported_profile : kSupportedProfiles) {
     if (VideoCodecProfileToVideoCodec(supported_profile) == VideoCodec::kH264) {
@@ -814,14 +806,6 @@ bool VTVideoEncodeAccelerator::CreateCompressionSession(
     encoder_values.push_back(kCFBooleanFalse);
   }
 
-  if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *)) {
-    // Remove the validation once HEVC SVC mode is supported on macOS.
-    if (require_low_delay_ && codec == VideoCodec::kH264) {
-      encoder_keys.push_back(
-          kVTVideoEncoderSpecification_EnableLowLatencyRateControl);
-      encoder_values.push_back(kCFBooleanTrue);
-    }
-  }
   base::ScopedCFTypeRef<CFDictionaryRef> encoder_spec =
       video_toolbox::DictionaryWithKeysAndValues(
           encoder_keys.data(), encoder_values.data(), encoder_keys.size());
@@ -891,19 +875,8 @@ bool VTVideoEncodeAccelerator::ConfigureCompressionSession(VideoCodec codec) {
 
   // Remove the validation once HEVC SVC mode is supported on macOS.
   if (num_temporal_layers_ == 2 && codec_ == VideoCodec::kH264) {
-    if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *)) {
-      if (!session_property_setter.IsSupported(
-              kVTCompressionPropertyKey_BaseLayerFrameRateFraction)) {
-        DLOG(ERROR) << "BaseLayerFrameRateFraction is not supported";
-        return false;
-      }
-      rv &= session_property_setter.Set(
-          kVTCompressionPropertyKey_BaseLayerFrameRateFraction, 0.5);
-      DLOG_IF(ERROR, !rv) << " Setting BaseLayerFrameRate property failed.";
-    } else {
       DLOG(ERROR) << "SVC encoding is not supported on this OS version.";
       rv = false;
-    }
   }
 
   return rv;