- Notifications
You must be signed in to change notification settings - Fork548
VideoToolbox macOS xcode16.0 b1
Rolf Bjarne Kvinge edited this pageAug 30, 2024 ·3 revisions
#VideoToolbox.frameworkhttps://github.com/xamarin/xamarin-macios/pull/21157
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h2024-04-17 07:10:21+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h2024-05-30 04:04:19@@ -87,7 +87,7 @@ @discussion This number may decrease asynchronously. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_NumberOfPendingFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFNumber<int>+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_NumberOfPendingFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFNumber<int> /*! @constantkVTCompressionPropertyKey_PixelBufferPoolIsShared@@ -98,7 +98,7 @@ This is false if separate pools are used because the video encoder's and the client's pixel buffer attributes were incompatible. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelBufferPoolIsShared API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFBoolean+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelBufferPoolIsShared API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFBoolean /*! @constantkVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes@@ -107,7 +107,7 @@ @discussion You can use these to create a pixel buffer pool for source pixel buffers. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFDictionary+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFDictionary // Standard properties describing content.@@ -139,7 +139,7 @@ and both limits will be enforced - requiring a keyframe every X frames or every Y seconds, whichever comes first. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxKeyFrameInterval API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber<int>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxKeyFrameInterval API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<int>, Optional /*! @constantkVTCompressionPropertyKey_MaxKeyFrameIntervalDuration@@ -156,7 +156,7 @@ and both limits will be enforced - requiring a keyframe every X frames or every Y seconds, whichever comes first. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber<seconds>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<seconds>, Optional /*!@@ -166,7 +166,7 @@ @discussion True by default. Set this to false to require key-frame-only compression. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowTemporalCompression API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/Write, CFBoolean, Optional, defaults to true+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowTemporalCompression API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFBoolean, Optional, defaults to true /*! @constantkVTCompressionPropertyKey_AllowFrameReordering@@ -179,7 +179,7 @@ they were presented to the video encoder (the display order). True by default. Set this to false to prevent frame reordering. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowFrameReordering API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/Write, CFBoolean, Optional, defaults to true+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowFrameReordering API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFBoolean, Optional, defaults to true /*! @constantkVTCompressionPropertyKey_AllowOpenGOP@@ -193,7 +193,7 @@ will be no frame dependencies across sync samples (frames where kCMSampleAttachmentKey_NotSync is absent or kCFBooleanFalse) When the value is kCFBooleanTrue, the encoder may use Open GOP frame dependency structures to increase compression efficiency or quality. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowOpenGOP API_AVAILABLE(macosx(10.14), ios(12.0), tvos(12.0)); // Read/Write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AllowOpenGOP API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFBoolean, Optional #pragma mark Rate control@@ -209,7 +209,7 @@ information is provided for source frames, and that some codecs do not support limiting to specified bit rates. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AverageBitRate API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber<SInt32>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AverageBitRate API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<SInt32>, Optional /*! @constantkVTCompressionPropertyKey_DataRateLimits@@ -244,7 +244,7 @@ kVTCompressionPropertyKey_AverageBitRate if the specified target is too close to a hard limit specified by kVTCompressionPropertyKey_DataRateLimits. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_DataRateLimits API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFArray[CFNumber], [bytes, seconds, bytes, seconds...], Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_DataRateLimits API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFArray[CFNumber], [bytes, seconds, bytes, seconds...], Optional /*! @constantkVTCompressionPropertyKey_Quality@@ -257,7 +257,7 @@ high = 0.75, and 1.0 implies lossless compression for encoders that support it. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_Quality API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber<Float>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_Quality API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<Float>, Optional /*! @constantkVTCompressionPropertyKey_TargetQualityForAlpha@@ -271,7 +271,7 @@ the alpha channel, quality is given priority over bitrate. Note this parameter is currently only applicable to HEVC with Alpha encoders. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_TargetQualityForAlphaAPI_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0)); // Read/write, CFNumber<Float>, Optional, NULL by default+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_TargetQualityForAlphaAPI_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<Float>, Optional, NULL by default /*! @constantkVTCompressionPropertyKey_MoreFramesBeforeStart@@ -288,7 +288,7 @@ segments can be concatenated smoothly -- for example, avoiding data rate spikes where segments are joined. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MoreFramesBeforeStart API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MoreFramesBeforeStart API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_MoreFramesAfterEnd@@ -301,7 +301,7 @@ stand-alone session, or if this session will encode the last segment of a multi-segment compression. By default, false. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MoreFramesAfterEnd API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MoreFramesAfterEnd API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality@@ -320,7 +320,7 @@ Not all video encoders support this property. By default, this property is NULL. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0)); // CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_ConstantBitRate@@ -341,7 +341,7 @@ returned when this option is not supported. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ConstantBitRate API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0)); // CFNumber bits per second, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ConstantBitRate API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber bits per second, Optional /*! @constantkVTCompressionPropertyKey_EstimatedAverageBytesPerFrame@@ -352,7 +352,7 @@ This property is not implemented by all video encoders. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EstimatedAverageBytesPerFrame API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0)); // Read Only, CFNumber (bytes per frame)+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EstimatedAverageBytesPerFrame API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read Only, CFNumber (bytes per frame) #pragma mark Bitstream configuration@@ -365,64 +365,66 @@ Available profiles and levels vary across formats and between video encoders. Video encoders should use standard keys where available, and follow standard patterns where not. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ProfileLevel API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString (enumeration), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ProfileLevel API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (enumeration), Optional-VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main_AutoLevel API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0));-VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main10_AutoLevel API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0));-VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main42210_AutoLevel API_AVAILABLE(macosx(12.3), ios(15.4), tvos(15.4));+VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main_AutoLevel API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main10_AutoLevel API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Main42210_AutoLevel API_AVAILABLE(macos(12.3), ios(15.4), tvos(15.4), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Monochrome_AutoLevel API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_HEVC_Monochrome10_AutoLevel API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos);-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_1_3 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_2 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_0 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_0 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_1 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_AutoLevel API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_2 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_1 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_AutoLevel API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Extended_5_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_Extended_AutoLevel API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_0 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_1 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_0 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_1 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_1 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_2 API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_AutoLevel API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H264_ConstrainedHigh_AutoLevel API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0));+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_1_3 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_3_2 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_0 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_4_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_0 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_1 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_5_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Baseline_AutoLevel API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_3_2 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_4_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_1 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_5_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Main_AutoLevel API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Extended_5_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_Extended_AutoLevel API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_0 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_1 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_3_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_0 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_1 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_4_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_1 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_5_2 API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_High_AutoLevel API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H264_ConstrainedHigh_AutoLevel API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L2 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L3 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L2 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L3 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L4 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L0 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L1 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L2 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L3 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L4 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L2 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Simple_L3 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L2 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L3 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_Main_L4 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L0 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L1 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L2 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L3 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L4 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);-VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile0_Level10 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile0_Level45 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile3_Level45 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile0_Level10 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile0_Level45 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTProfileLevel_H263_Profile3_Level45 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTCompressionPropertyKey_OutputBitDepth@@ -430,7 +432,7 @@ When set, requires the encoder to output bitstream with the requested bit depth, if supported by the configured profile level setting. In the absence of this property, the video encoder will assume the highest bit depth allowable by the configured profile level setting. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_OutputBitDepth API_AVAILABLE(macosx(12.3), ios(15.4), tvos(15.4), watchos(8.4)); // Read/write, Optional, CFNumber, NULL by default+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_OutputBitDepth API_AVAILABLE(macos(12.3), ios(15.4), tvos(15.4), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, Optional, CFNumber, NULL by default /*! @constant kVTCompressionPropertyKey_HDRMetadataInsertionMode@@ -444,9 +446,9 @@ This property has no effect if the output color space is not HDR, or if there is currently no underlying support for the HDR format. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HDRMetadataInsertionMode API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0), watchos(7.0)); // Read/write, CFString, Optional, default is kVTHDRMetadataInsertionMode_Auto- VT_EXPORT const CFStringRef kVTHDRMetadataInsertionMode_None API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0), watchos(7.0));- VT_EXPORT const CFStringRef kVTHDRMetadataInsertionMode_Auto API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0), watchos(7.0));+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HDRMetadataInsertionMode API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString, Optional, default is kVTHDRMetadataInsertionMode_Auto+ VT_EXPORT const CFStringRef kVTHDRMetadataInsertionMode_None API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos);+ VT_EXPORT const CFStringRef kVTHDRMetadataInsertionMode_Auto API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTCompressionPropertyKey_H264EntropyMode@@ -461,9 +463,9 @@ which is not compatible with a requested Profile and Level. Results in this case are undefined, and could include encode errors or a non-compliant output stream. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_H264EntropyMode API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));// Read/write, CFString, optional-VT_EXPORT const CFStringRef kVTH264EntropyMode_CAVLC API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTH264EntropyMode_CABAC API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_H264EntropyMode API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);// Read/write, CFString, optional+VT_EXPORT const CFStringRef kVTH264EntropyMode_CAVLC API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTH264EntropyMode_CABAC API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*!@@ -474,7 +476,7 @@ This property is only supported by video encoders for formats that are tied to particular pixel formats (eg, 16-bit RGB, 24-bit RGB). */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_Depth API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber (CMPixelFormatType), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_Depth API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber (CMPixelFormatType), Optional /*! @constantkVTCompressionPropertyKey_PreserveAlphaChannel@@ -485,7 +487,7 @@ The client may set this to kCFBooleanFalse in cases where they are not interested in preserving alpha, or if the alpha channel is known to be fully opaque. This property is not supported by all encoders. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PreserveAlphaChannel API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0)); // Read/write, CFBoolean, Optional, (effectively) kCFBooleanTrue by default+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PreserveAlphaChannel API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional, (effectively) kCFBooleanTrue by default #pragma mark Runtime restrictions@@ -503,7 +505,7 @@ The default is kVTUnlimitedFrameDelayCount, which sets no limit on the compression window. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxFrameDelayCount API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxFrameDelayCount API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber, Optional enum { kVTUnlimitedFrameDelayCount = -1 }; /*!@@ -515,7 +517,7 @@ slices produced by the encoder, where possible. By default, no limit is specified. A value of zero implies default behavior. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxH264SliceBytes API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber<SInt32>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxH264SliceBytes API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<SInt32>, Optional /*! @constantkVTCompressionPropertyKey_RealTime@@ -536,7 +538,7 @@ by anticipating that encoding requests will happen at this rate. By default, this property is NULL, indicating unknown. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RealTime API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2)); // Read/write, CFBoolean or NULL, Optional, default NULL+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RealTime API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean or NULL, Optional, default NULL /*! @constantkVTCompressionPropertyKey_MaximizePowerEfficiency@@ -551,7 +553,7 @@ If the kVTCompressionPropertyKey_RealTime property is set to kCFBooleanTrue, the video encoder may act as though this property were set to kCFBooleanFalse. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaximizePowerEfficiency API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0)); // Read/write, CFBoolean or NULL, Optional, default is false+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaximizePowerEfficiency API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean or NULL, Optional, default is false #pragma mark Hints@@ -568,7 +570,7 @@ The default is 0, which indicates that the number of source frames is not known. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SourceFrameCount API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SourceFrameCount API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber, Optional /*! @constantkVTCompressionPropertyKey_ExpectedFrameRate@@ -584,7 +586,7 @@ by anticipating that encoding requests will happen at this rate. By default, this is zero, indicating "unknown". */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ExpectedFrameRate API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ExpectedFrameRate API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber, Optional /*! @constantkVTCompressionPropertyKey_BaseLayerFrameRateFraction@@ -594,7 +596,7 @@ This property indicates the fraction of total frames submitted that should be encoded in the base layer. For example, a value of 0.5 means that half of the frames are in the base layer, and half are in the enhancement layer. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRateFraction API_AVAILABLE(macosx(11.3), ios(14.5), tvos(14.5)); // Read/write, CFNumber<Float>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRateFraction API_AVAILABLE(macos(11.3), ios(14.5), tvos(14.5), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<Float>, Optional /*! @constantkVTCompressionPropertyKey_BaseLayerBitRateFraction@@ -605,7 +607,7 @@ For example: If the target bitrate is set to 500kbps and kVTCompressionPropertyKey_BaseLayerBitRateFraction is set to 0.6, the base layer will be given a budget of 300kbps and the enhancement layer 200kbps. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerBitRateFraction API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // Read/write, CFNumber<Float>, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerBitRateFraction API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<Float>, Optional /*! @constantkVTCompressionPropertyKey_ExpectedDuration@@ -614,7 +616,7 @@ @discussion By default, this is zero, indicating "unknown". */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ExpectedDuration API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber(seconds), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ExpectedDuration API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber(seconds), Optional /*! @constantkVTCompressionPropertyKey_BaseLayerFrameRate@@ -624,7 +626,7 @@ The frame rate is measured in frames per second. This property is only implemented by encoders which support hierarchical frame encoding, and requests that this encoding feature be enabled. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRate API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0)); // Read/write, CFNumber, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRate API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber, Optional /*! @constantkVTCompressionPropertyKey_ReferenceBufferCount@@ -634,7 +636,7 @@ This is typically used to force the encoder to use lower count than allowed by the stantard for a level/profile. The encoder will fail and report an error if the requested value exceeds the limit set by the standard for such a level/profile. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ReferenceBufferCount API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)); // CFNumber, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ReferenceBufferCount API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber, Optional /*!@@ -645,7 +647,7 @@ The MSE value returned may be measured using an internal representation of the decoded frame which may lack filtering or processing present in the actual decoded frame. Because of this, there may be a small delta between the reported MSE and the true MSE. If supported, the MSE values will be returned as sample buffer attachments on the encoded frame using the kVTSampleAttachmentKey_QualityMetrics key. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_CalculateMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)); // Read/write, CFBoolean+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_CalculateMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean /*!@@ -655,7 +657,7 @@ @discussion The video encoder will attach this via the CMSampleBufferGetSampleAttachmentsArray interface before emitting the sample buffer. */-VT_EXPORT const CFStringRef kVTSampleAttachmentKey_QualityMetrics API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)); //CFDictionary+VT_EXPORT const CFStringRef kVTSampleAttachmentKey_QualityMetrics API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); //CFDictionary /*! @constantkVTSampleAttachmentQualityMetricsKey_LumaMeanSquaredError@@ -666,7 +668,7 @@ For multi-view video, a CFArray value is returned, and each element (CFNumber) in the CFArray includes MSE for the corresponding view. The video encoder will attach this in kVTSampleAttachmentKey_QualityMetrics via the CMSampleBufferGetSampleAttachmentsArray interface before emitting the sample buffer. */-VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_LumaMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)); // CFNumber, CFArray+VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_LumaMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFNumber, CFArray /*! @constantkVTSampleAttachmentQualityMetricsKey_ChromaBlueMeanSquaredError@@ -677,7 +679,7 @@ For multi-view video, a CFArray value is returned, and each element (CFNumber) in the CFArray includes MSE for the corresponding view. The video encoder will attach this in kVTSampleAttachmentKey_QualityMetrics via the CMSampleBufferGetSampleAttachmentsArray interface before emitting the sample buffer. **/-VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_ChromaBlueMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)); // CFNumber, CFArray+VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_ChromaBlueMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFNumber, CFArray /*! @constantkVTSampleAttachmentQualityMetricsKey_ChromaRedMeanSquaredError@@ -688,7 +690,7 @@ For multi-view video, a CFArray value is returned, and each element (CFNumber) in the CFArray includes MSE for the corresponding view. The video encoder will attach this in kVTSampleAttachmentKey_QualityMetrics via the CMSampleBufferGetSampleAttachmentsArray interface before emitting the sample buffer. */-VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_ChromaRedMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)); // CFNumber, CFArray+VT_EXPORT const CFStringRef kVTSampleAttachmentQualityMetricsKey_ChromaRedMeanSquaredError API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFNumber, CFArray@@ -704,7 +706,7 @@ this property can be set to kCFBooleanFalse. In MacOS 10.15 and later, hardware encode is enabled in VTCompressionSessions by default. */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder API_AVAILABLE(macosx(10.9), ios(17.4), tvos(17.4)); // CFBoolean, Optional, true by default+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder API_AVAILABLE(macos(10.9), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFBoolean, Optional, true by default /*! @constantkVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder@@ -723,7 +725,7 @@ - the requested encoding format or encoding configuration is not supported - the hardware encoding resources on the machine are busy */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder API_AVAILABLE(macosx(10.9), ios(17.4), tvos(17.4)); // CFBoolean, Optional+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder API_AVAILABLE(macos(10.9), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder@@ -734,7 +736,7 @@ accelerated encode using kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder to see if a hardware accelerated encoder was selected. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder API_AVAILABLE(macosx(10.9), ios(17.4), tvos(17.4)); // CFBoolean, Read; assumed false by default+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder API_AVAILABLE(macos(10.9), ios(17.4), tvos(17.4), visionos(1.1)) API_UNAVAILABLE(watchos); // CFBoolean, Read; assumed false by default /*! @constantkVTVideoEncoderSpecification_RequiredEncoderGPURegistryID@@ -744,7 +746,7 @@ This specification implies kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder. A separate hardware encode opt-in is not required. The GPU registryID can be obtained from a MTLDevice using [MTLDevice registryID] or can be obtained from OpenGL or OpenCL. */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID API_AVAILABLE(macosx(10.14)); // CFNumber, Optional+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber, Optional /*! @constantkVTVideoEncoderSpecification_PreferredEncoderGPURegistryID@@ -757,7 +759,7 @@ This specification can be used in conjunction with kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder to prevent a fallback to software encode. The GPU registryID can be obtained from a MTLDevice using [MTLDevice registryID] or can be obtained from OpenGL or OpenCL. */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID API_AVAILABLE(macosx(10.14)); // CFNumber, Optional+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber, Optional /*! @constantkVTCompressionPropertyKey_UsingGPURegistryID@@ -767,7 +769,7 @@ You can query this property using VTSessionCopyProperty after building a VTCompressionSession to find out which GPU the encoder is using. If a encoder based on a built-in GPU was used it will return NULL. If a software encoder is used, it will return NULL */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_UsingGPURegistryID API_AVAILABLE(macosx(10.15)) ; // CFNumberRef, Read;+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_UsingGPURegistryID API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumberRef, Read; /*! @constant kVTCompressionPropertyKey_SupportsBaseFrameQP@@ -777,7 +779,7 @@ If this property returns kCFBooleanTrue, it indicates that the encoder supports base frame QP requests through kVTEncodeFrameOptionKey_BaseFrameQP. If it returns false or kVTPropertyNotSupportedErr, base frame QP requests will cause errors on VTCompressionSessionEncodeFrame calls, or will be ignored. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SupportsBaseFrameQP API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // Read only, CFBoolean, Optional, false by default+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SupportsBaseFrameQP API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read only, CFBoolean, Optional, false by default #pragma mark Per-frame configuration@@ -792,7 +794,7 @@ Note that it may not be possible for the encoder to accomodate all requests. */-VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_ForceKeyFrame API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFBoolean+VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_ForceKeyFrame API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean /*! @constant kVTEncodeFrameOptionKey_BaseFrameQP@@ -822,7 +824,7 @@ Note that it may not be possible for the encoder to accommodate all requests. */-VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_BaseFrameQP API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // CFNumberRef, Optional+VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_BaseFrameQP API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumberRef, Optional #pragma mark Clean aperture and pixel aspect ratio@@ -838,7 +840,7 @@ and may affect source frame scaling. NULL is a valid value for this property, meaning that the clean aperture is the full width and height. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_CleanAperture API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFDictionary (see CMFormatDescription.h), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_CleanAperture API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFDictionary (see CMFormatDescription.h), Optional /*! @constantkVTCompressionPropertyKey_PixelAspectRatio@@ -851,7 +853,7 @@ and may affect source frame scaling. NULL is a valid value for this property, meaning square pixels (1:1). */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelAspectRatio API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFDictionary (see CMFormatDescription.h), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelAspectRatio API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFDictionary (see CMFormatDescription.h), Optional /*! @constantkVTCompressionPropertyKey_FieldCount@@ -862,7 +864,7 @@ and may affect source frame scaling. NULL is a valid value for this property. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_FieldCount API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber (see kCMFormatDescriptionExtension_FieldCount), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_FieldCount API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber (see kCMFormatDescriptionExtension_FieldCount), Optional /*! @constantkVTCompressionPropertyKey_FieldDetail@@ -875,7 +877,7 @@ and may affect source frame scaling. NULL is a valid value for this property. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_FieldDetail API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_FieldDetail), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_FieldDetail API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_FieldDetail), Optional /*! @constantkVTCompressionPropertyKey_AspectRatio16x9@@ -887,7 +889,7 @@ When true, the picture aspect ratio is 16:9. Either way, a fixed PixelAspectRatio is used (the specific value depends on whether the format is NTSC or PAL). */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AspectRatio16x9 API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AspectRatio16x9 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_ProgressiveScan@@ -899,7 +901,7 @@ If true, content is encoded as progressive. The value of this property fixes the FieldCount and FieldDetail properties. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ProgressiveScan API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ProgressiveScan API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional #pragma mark Color@@ -912,7 +914,7 @@ in those cases this property will be read-only (SetProperty will return kVTPropertyReadOnlyErr). The value will be set on the format description for output sample buffers. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ColorPrimaries API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ColorPrimaries API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional /*! @constantkVTCompressionPropertyKey_TransferFunction@@ -923,7 +925,7 @@ in those cases this property will be read-only (SetProperty will return kVTPropertyReadOnlyErr). The value will be set on the format description for output sample buffers. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_TransferFunction API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_TransferFunction API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional /*! @constantkVTCompressionPropertyKey_YCbCrMatrix@@ -934,7 +936,7 @@ in those cases this property will be read-only (SetProperty will return kVTPropertyReadOnlyErr). The value will be set on the format description for output sample buffers. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_YCbCrMatrix API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_YCbCrMatrix API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional /*! @constantkVTCompressionPropertyKey_ICCProfile@@ -948,7 +950,7 @@ The value will be set on the format description for output sample buffers. NULL can be a valid value for this property. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ICCProfile API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ICCProfile API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional /*! @constantkVTCompressionPropertyKey_MasteringDisplayColorVolume@@ -958,7 +960,7 @@ The value will be set on the format description for output sample buffers, and incorporated into the appropriate SEI NAL unit where supported by the encoder. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MasteringDisplayColorVolume API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0)); // Read/write, CFData(24 bytes) (see kCMFormatDescriptionExtension_MasteringDisplayColorVolume), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MasteringDisplayColorVolume API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFData(24 bytes) (see kCMFormatDescriptionExtension_MasteringDisplayColorVolume), Optional /*! @constantkVTCompressionPropertyKey_ContentLightLevelInfo@@ -968,7 +970,7 @@ The value will be set on the format description for output sample buffers, and incorporated into the appropriate SEI NAL unit where supported by the encoder. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ContentLightLevelInfo API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0)); // Read/write, CFData(4 bytes) (see kCMFormatDescriptionExtension_ContentLightLevelInfo), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ContentLightLevelInfo API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFData(4 bytes) (see kCMFormatDescriptionExtension_ContentLightLevelInfo), Optional /*!@@ -978,7 +980,7 @@ @discussion This property allows the caller to specify a gamma value to include in the CMVideoFormatDescription attached to output CMSampleBuffers. It does not change pixel data being encoded. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_GammaLevel VT_AVAILABLE_STARTING(10_9); // Read/write, CFNumber (see kCMFormatDescriptionExtension_GammaLevel), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_GammaLevel API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber (see kCMFormatDescriptionExtension_GammaLevel), Optional /*!@@ -990,9 +992,9 @@ If this property is not set, the encoder may read the first source image buffer's kCVImageBufferAlphaChannelMode attachment. If neither the property nor the first buffer's attachment is set, defaults to kVTAlphaChannelMode_PremultipliedAlpha. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AlphaChannelModeAPI_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0)); // Read/write, Optional, CFString(kVTAlphaChannelMode_*); if property is not set, matches first source frame's attachment; if that's also not set, defaults to premultiplied alpha-VT_EXPORT const CFStringRef kVTAlphaChannelMode_StraightAlphaAPI_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0));-VT_EXPORT const CFStringRef kVTAlphaChannelMode_PremultipliedAlphaAPI_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0));+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AlphaChannelModeAPI_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, Optional, CFString(kVTAlphaChannelMode_*); if property is not set, matches first source frame's attachment; if that's also not set, defaults to premultiplied alpha+VT_EXPORT const CFStringRef kVTAlphaChannelMode_StraightAlphaAPI_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTAlphaChannelMode_PremultipliedAlphaAPI_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); #pragma mark Pre-compression processing@@ -1009,7 +1011,7 @@ Setting this property alone does not necessarily guarantee that a VTPixelTransferSession will be created. See VTPixelTransferProperties.h. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelTransferProperties API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h.+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PixelTransferProperties API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h. #pragma mark Multi-pass@@ -1029,7 +1031,7 @@ You can create and use a VTFrameSilo object to merge sequences of compressed frames across passes during multi-pass encoding. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MultiPassStorage API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2)); // VTMultiPassStorage, optional, default is NULL+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MultiPassStorage API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // VTMultiPassStorage, optional, default is NULL #pragma mark Encoder information@@ -1040,7 +1042,7 @@ @discussion Matches the value specified in kVTVideoEncoderSpecification_EncoderID, and the kVTVideoEncoderList_EncoderID value returned from VTCopyVideoEncoderList. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EncoderID API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0)); // CFStringRef+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EncoderID API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFStringRef /*! @constantkVTCompressionPropertyKey_RecommendedParallelizationLimit@@ -1066,7 +1068,7 @@ kVTCompressionPropertyKey_MoreFramesAfterEnd = false kVTCompressionPropertyKey_SourceFrameCount = 100 */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizationLimit API_AVAILABLE(macosx(14.0)) API_UNAVAILABLE(ios, tvos, watchos); // Read-only, CFNumber<int>+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizationLimit API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // Read-only, CFNumber<int> /*! @constantkVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount@@ -1077,7 +1079,7 @@ See also kVTCompressionPropertyKey_RecommendedParallelizationLimit See also kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount API_AVAILABLE(macosx(14.0)) API_UNAVAILABLE(ios, tvos, watchos); // Read-only, CFNumber<uint64_t>+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // Read-only, CFNumber<uint64_t> /*! @constantkVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration@@ -1088,7 +1090,7 @@ See also kVTCompressionPropertyKey_RecommendedParallelizationLimit See also kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration API_AVAILABLE(macosx(14.0)) API_UNAVAILABLE(ios, tvos, watchos); // Read-only, CMTime as CFDictionary+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // Read-only, CMTime as CFDictionary /*! @constantkVTCompressionPropertyKey_PreserveDynamicHDRMetadata@@ -1100,7 +1102,7 @@ dynamic HDR metadata for the pixel buffer, if the HDR format is supported. */ VT_EXPORT const CFStringRef kVTCompressionPropertyKey_PreserveDynamicHDRMetadata // CFBoolean, Write, Optional-API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0));+API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTVideoEncoderSpecification_EnableLowLatencyRateControl@@ -1118,7 +1120,7 @@ kVTCompressionPropertyKey_BaseLayerFrameRateFraction kVTEncodeFrameOptionKey_ForceKeyFrame */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EnableLowLatencyRateControl API_AVAILABLE(macosx(11.3), ios(14.5), tvos(14.5)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EnableLowLatencyRateControl API_AVAILABLE(macos(11.3), ios(14.5), tvos(14.5), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional /*! @constantkVTCompressionPropertyKey_MaxAllowedFrameQP@@ -1130,7 +1132,7 @@ This is not supported in all encoders or in all encoder operating modes. kVTPropertyNotSupportedErr will be returned when this option is not supported. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxAllowedFrameQP API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // Read/write, CFNumberRef, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MaxAllowedFrameQP API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumberRef, Optional /*! @constantkVTCompressionPropertyKey_MinAllowedFrameQP@@ -1142,7 +1144,7 @@ This is not supported in all encoders or in all encoder operating modes. kVTPropertyNotSupportedErr will be returned when this option is not supported. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MinAllowedFrameQP API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0)); // Read/write, CFNumberRef, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MinAllowedFrameQP API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumberRef, Optional /*! @constantkVTCompressionPropertyKey_EnableLTR@@ -1163,7 +1165,7 @@ kVTEncodeFrameOptionKey_ForceLTRRefresh kVTSampleAttachmentKey_RequireLTRAcknowledgementToken */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EnableLTR API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // Read/write, CFBoolean, Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_EnableLTR API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional /*! @constantkVTEncodeFrameOptionKey_AcknowledgedLTRTokens@@ -1178,7 +1180,7 @@ kVTEncodeFrameOptionKey_ForceLTRRefresh kVTSampleAttachmentKey_RequireLTRAcknowledgementToken */-VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_AcknowledgedLTRTokens API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // CFArray[CFNumberRef], Optional+VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_AcknowledgedLTRTokens API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFArray[CFNumberRef], Optional /*! @constantkVTEncodeFrameOptionKey_ForceLTRRefresh@@ -1193,7 +1195,7 @@ kVTEncodeFrameOptionKey_AcknowledgedLTRTokens kVTSampleAttachmentKey_RequireLTRAcknowledgementToken */-VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_ForceLTRRefresh API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // CFNumberRef, Optional+VT_EXPORT const CFStringRef kVTEncodeFrameOptionKey_ForceLTRRefresh API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumberRef, Optional /*! @constantkVTSampleAttachmentKey_RequireLTRAcknowledgementToken@@ -1208,7 +1210,7 @@ kVTEncodeFrameOptionKey_AcknowledgedLTRTokens kVTEncodeFrameOptionKey_ForceLTRRefresh */-VT_EXPORT const CFStringRef kVTSampleAttachmentKey_RequireLTRAcknowledgementToken API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // CFNumberRef, Optional+VT_EXPORT const CFStringRef kVTSampleAttachmentKey_RequireLTRAcknowledgementToken API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumberRef, Optional #pragma mark Multi-image compression@@ -1221,7 +1223,7 @@ The property value is a CFArray containing VideoLayerIDs as CFNumbers. The property is NULL by default. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCVideoLayerIDs API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCVideoLayerIDs API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional /*! @constantkVTCompressionPropertyKey_MVHEVCViewIDs@@ -1233,7 +1235,7 @@ The entries in this array should be in the same order and have the same count as the value set via kVTCompressionPropertyKey_MVHEVCVideoLayerIDs. The property is NULL by default. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCViewIDs API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCViewIDs API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional /*! @constantkVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs@@ -1245,7 +1247,7 @@ The property value is a CFArray containing two ViewIDs as CFNumbers with the first correspponding to the left eye and the second corresponding to the right eye. The property is NULL by default. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray[CFNumber(left view ID), CFNumber(right view ID)], Optional+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray[CFNumber(left view ID), CFNumber(right view ID)], Optional #pragma mark VideoExtendedUsage signaling@@ -1256,7 +1258,7 @@ @discussion The value will be set on the format description for output samples and may affect the decoded frame presentation. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HeroEye API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos);// CFString, see kCMFormatDescriptionExtension_HeroEye+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HeroEye API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos);// CFString, see kCMFormatDescriptionExtension_HeroEye /*! @constantkVTCompressionPropertyKey_StereoCameraBaseline@@ -1265,7 +1267,7 @@ @discussion The value will be set on the format description for output samples and may affect the decoded frame presentation. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_StereoCameraBaseline API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos);// CFNumber(uint32), see kCMFormatDescriptionExtension_StereoCameraBaseline+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_StereoCameraBaseline API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos);// CFNumber(uint32), see kCMFormatDescriptionExtension_StereoCameraBaseline /*! @constantkVTCompressionPropertyKey_HorizontalDisparityAdjustment@@ -1275,7 +1277,7 @@ The value will be set on the format description for output samples and may affect the decoded frame presentation. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HorizontalDisparityAdjustment API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos);// CFNumber(int32), see kCMFormatDescriptionExtension_HorizontalDisparityAdjustment+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HorizontalDisparityAdjustment API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos);// CFNumber(int32), see kCMFormatDescriptionExtension_HorizontalDisparityAdjustment /*! @constant kVTCompressionPropertyKey_HasLeftStereoEyeView@@ -1284,7 +1286,7 @@ @discussion The value will be set on the format description for output samples and may affect the decoded frame presentation. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HasLeftStereoEyeView API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // CFBoolean, see kCMFormatDescriptionExtension_HasLeftStereoEyeView+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HasLeftStereoEyeView API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // CFBoolean, see kCMFormatDescriptionExtension_HasLeftStereoEyeView /*! @constant kVTCompressionPropertyKey_HasRightStereoEyeView@@ -1293,7 +1295,7 @@ @discussion The value will be set on the format description for output samples and may affect the decoded frame presentation. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HasRightStereoEyeView API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // CFBoolean, see kCMFormatDescriptionExtension_HasRightStereoEyeView+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HasRightStereoEyeView API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // CFBoolean, see kCMFormatDescriptionExtension_HasRightStereoEyeView /*! @constant kVTCompressionPropertyKey_HorizontalFieldOfView@@ -1303,7 +1305,55 @@ The value is a CFNumber holding an unsigned 32-bit integer that is interpreted in millidegree or thousandths of a degree (e.g., 123456 is 123.456 degree). This property is optional and should only be specified if the field of view is known. */-VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HorizontalFieldOfView API_AVAILABLE(macos(14.4), ios(17.4)) API_UNAVAILABLE(tvos, watchos); // CFNumber(uint32) as millidegrees+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_HorizontalFieldOfView API_AVAILABLE(macos(14.4), ios(17.4), visionos(1.1)) API_UNAVAILABLE(tvos, watchos); // CFNumber(uint32) as millidegrees++/*!+@constantkVTCompressionPropertyKey_ProjectionKind+@abstract+Specifies the value of kCMFormatDescriptionExtension_ProjectionKind.+@discussion+The value will be set on the format description for output samples and may affect the decoded frame presentation.+ */+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ProjectionKind API_AVAILABLE(macos(15.0), ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos); // CFString, see kCMFormatDescriptionExtension_ProjectionKind.++/*!+@constantkVTCompressionPropertyKey_ViewPackingKind+@abstract+Specifies the value of kCMFormatDescriptionExtension_ViewPackingKind.+@discussion+The value will be set on the format description for output samples and may affect the decoded frame presentation.+ */+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_ViewPackingKind API_AVAILABLE(macos(15.0), ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos); // CFString, see kCMFormatDescriptionExtension_ViewPackingKind.++/*!+ @constantkVTCompressionPropertyKey_SuggestedLookAheadFrameCount+@abstract+Requests that the encoder retain the specified number of frames during encoding. These frames will be used for additional analysis and statistics+gathering before the frame is finally encoded at the end of the window. When this property is not set, video encoder will automatically determine+the number of lookahead frames.+@discussion+Encoder will choose number of lookahead frames closer to the suggested value based on internal configuration. This property directly affects latency+of the video encoder. The following properties also affect look ahead frames:+1. Value of this property must be less than or equal to `kVTCompressionPropertyKey_MaxFrameDelayCount`.+2. This property is ignored when `VTVideoEncoderSpecification_EnableLowLatencyRateControl` is set to true+3. This property is ignored when `kVTCompressionPropertyKey_Quality` is set to 1.0+4. This property can not be used in conjunction with multi-pass feature (`kVTCompressionPropertyKey_MultiPassStorage`)+*/+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SuggestedLookAheadFrameCount API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // Read/write, CFNumberRef, Optional++/*!+@constantkVTCompressionPropertyKey_SpatialAdaptiveQPLevel+@abstract+Control spatial adaptation of the quantization parameter (QP) based on per-frame statistics.+If set to kVTAdaptiveQPLevel_Disable, spatial QP adaptation is not applied based on per-frame statistics.+If set to kVTAdaptiveQPLevel_Default, video encoder is allowed to apply spatial QP adaptation for each macro block (or coding unit) within a video frame.+ QP adaptation is based on spatial characteristics of a frame and the level of spatial QP adaptation is decided internally by the rate controller.+*/+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_SpatialAdaptiveQPLevel API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // Read/write, CFNumberRef, Optional+enum {+kVTQPModulationLevel_Default = -1,+kVTQPModulationLevel_Disable = 0,+}; CM_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h2024-04-17 07:19:22+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h2024-05-30 10:44:42@@ -83,7 +83,7 @@ void * CM_NULLABLE sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags,-CM_NULLABLE CMSampleBufferRef sampleBuffer );+CM_NULLABLE CMSampleBufferRef sampleBuffer ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CM_ASSUME_NONNULL_BEGIN@@ -97,7 +97,7 @@ The EncoderID CFString may be obtained from the kVTVideoEncoderList_EncoderID entry in the array returned by VTCopyVideoEncoderList. */-VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EncoderID API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFString+VT_EXPORT const CFStringRef kVTVideoEncoderSpecification_EncoderID API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFString CM_ASSUME_NONNULL_END@@ -149,7 +149,7 @@ CM_NULLABLE CFAllocatorRefcompressedDataAllocator, CM_NULLABLE VTCompressionOutputCallbackoutputCallback, void * CM_NULLABLEoutputCallbackRefCon,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTCompressionSessionRef * CM_NONNULL compressionSessionOut) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTCompressionSessionRef * CM_NONNULL compressionSessionOut) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED@@ -164,14 +164,14 @@ Calling VTCompressionSessionInvalidate ensures a deterministic, orderly teardown. */ VT_EXPORT void-VTCompressionSessionInvalidate( CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTCompressionSessionInvalidate( CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTCompressionSessionGetTypeID @abstract Returns the CFTypeID for compression sessions. */ VT_EXPORT CFTypeID-VTCompressionSessionGetTypeID(void) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTCompressionSessionGetTypeID(void) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionGetPixelBufferPool@@ -193,7 +193,7 @@ */ VT_EXPORT CM_NULLABLE CVPixelBufferPoolRef VTCompressionSessionGetPixelBufferPool(-CM_NONNULL VTCompressionSessionRefsession ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_NONNULL VTCompressionSessionRefsession ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionPrepareToEncodeFrames@@ -209,7 +209,7 @@ The compression session. */ VT_EXPORT OSStatus-VTCompressionSessionPrepareToEncodeFrames( CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2));+VTCompressionSessionPrepareToEncodeFrames( CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionEncodeFrame@@ -251,7 +251,7 @@ CMTimeduration, // may be kCMTimeInvalid CM_NULLABLE CFDictionaryRefframeProperties, void * CM_NULLABLEsourceFrameRefcon,-VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); #if __BLOCKS__ /*!@@ -274,7 +274,7 @@ typedef void (^VTCompressionOutputHandler)( OSStatus status, VTEncodeInfoFlags infoFlags,-CM_NULLABLE CMSampleBufferRef sampleBuffer ) CM_SWIFT_SENDABLE;+CM_NULLABLE CMSampleBufferRef sampleBuffer ) CM_SWIFT_SENDABLE API_AVAILABLE(macos(10.11), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionEncodeFrameWithOutputHandler@@ -318,7 +318,7 @@ CMTimeduration, // may be kCMTimeInvalid CM_NULLABLE CFDictionaryRefframeProperties, // may be NULL VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut,-CM_NONNULL VTCompressionOutputHandleroutputHandler ) API_AVAILABLE(macosx(10.11), ios(9.0), tvos(10.2));+CM_NONNULL VTCompressionOutputHandleroutputHandler ) API_AVAILABLE(macos(10.11), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); #endif // __BLOCKS__ /*!@@ -333,7 +333,7 @@ VT_EXPORT OSStatus VTCompressionSessionCompleteFrames( CM_NONNULL VTCompressionSessionRefsession,-CMTimecompleteUntilPresentationTimeStamp) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // complete all frames if non-numeric+CMTimecompleteUntilPresentationTimeStamp) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // complete all frames if non-numeric #pragma mark Multi-image compression@@ -343,7 +343,7 @@ @discussion This call returning true does not guarantee that encode resources will be available at all times. */ VT_EXPORT Boolean-VTIsStereoMVHEVCEncodeSupported( void ) API_AVAILABLE(macos(14.0), ios(17.0));+VTIsStereoMVHEVCEncodeSupported( void ) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionEncodeMultiImageFrame@@ -384,7 +384,7 @@ CMTimeduration, // may be kCMTimeInvalid CM_NULLABLE CFDictionaryRefframeProperties, void * CM_NULLABLEsourceFrameRefcon,-VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift");+VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut ) API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift"); #if __BLOCKS__@@ -429,7 +429,7 @@ CMTimeduration, // may be kCMTimeInvalid CM_NULLABLE CFDictionaryRefframeProperties, // may be NULL VTEncodeInfoFlags * CM_NULLABLEinfoFlagsOut,-CM_NONNULL VTCompressionOutputHandleroutputHandler ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_REFINED_FOR_SWIFT;+CM_NONNULL VTCompressionOutputHandleroutputHandler ) API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos) CF_REFINED_FOR_SWIFT; #endif // __BLOCKS__ #pragma mark Multi-pass@@ -441,7 +441,7 @@ typedef CF_OPTIONS(uint32_t, VTCompressionSessionOptionFlags) { kVTCompressionSessionBeginFinalPass = 1<<0-};+} API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionBeginPass@@ -456,7 +456,7 @@ VTCompressionSessionBeginPass( CM_NONNULL VTCompressionSessionRefsession, VTCompressionSessionOptionFlagsbeginPassFlags,-uint32_t * CM_NULLABLEreserved) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+uint32_t * CM_NULLABLEreserved) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionEndPass@@ -473,7 +473,7 @@ VTCompressionSessionEndPass( CM_NONNULL VTCompressionSessionRefsession, Boolean * CM_NULLABLEfurtherPassesRequestedOut,-uint32_t * CM_NULLABLEreserved) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+uint32_t * CM_NULLABLEreserved) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTCompressionSessionGetTimeRangesForNextPass@@ -493,7 +493,7 @@ VTCompressionSessionGetTimeRangesForNextPass( CM_NONNULL VTCompressionSessionRefsession, CMItemCount * CM_NONNULLtimeRangeCountOut,-const CMTimeRange * CM_NULLABLE * CM_NONNULLtimeRangeArrayOut ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2)); /* returned pointer will be valid until next call to VTCompressionSessionEndPass */+const CMTimeRange * CM_NULLABLE * CM_NONNULLtimeRangeArrayOut ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /* returned pointer will be valid until next call to VTCompressionSessionEndPass */ // See VTSession.h for property access APIs on VTCompressionSessions. // See VTCompressionProperties.h for standard property keys and values for compression sessions.diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h2024-04-17 06:40:46+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h2024-05-30 10:44:42@@ -53,7 +53,7 @@ This pixel buffer pool is always compatible with the client's pixel buffer attributes as specified when calling VTDecompressionSessionCreate. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelBufferPool API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CVPixelBufferPool+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelBufferPool API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CVPixelBufferPool /*! @constantkVTDecompressionPropertyKey_PixelBufferPoolIsShared@@ -64,7 +64,7 @@ This is false if separate pools are used because the pixel buffer attributes specified by the video decoder and the client were incompatible. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelBufferPoolIsShared API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFBoolean+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelBufferPoolIsShared API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFBoolean /*! @constantkVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount@@ -88,7 +88,7 @@ creation of a new CVPixelBufferPool. This will cause new buffers to be allocated, and existing buffers to be deallocated when they are released. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount API_AVAILABLE(macosx(10.9), ios(8.0), tvos(10.2)); // Read/Write, CFNumberRef+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount API_AVAILABLE(macos(10.9), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFNumberRef #pragma mark Asynchronous state@@ -102,7 +102,7 @@ @discussion This number may decrease asynchronously as frames are output. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFNumber.+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFNumber. /*! @constantkVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded@@ -111,7 +111,7 @@ @discussion This may change asynchronously as frames are output. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CMTime as CFDictionary.+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CMTime as CFDictionary. /*! @constantkVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded@@ -120,7 +120,7 @@ @discussion This may change asynchronously as frames are output. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CMTime as CFDictionary.+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CMTime as CFDictionary. #pragma mark Content@@ -134,7 +134,7 @@ @discussion This is an optional property for video decoders to implement. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ContentHasInterframeDependencies API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFBoolean+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ContentHasInterframeDependencies API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFBoolean #pragma mark Hardware acceleration@@ -149,7 +149,7 @@ this property can be set to kCFBooleanFalse. In MacOS 10.15 and later, hardware decode is enabled in VTDecompressionSessions by default. */-VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder API_AVAILABLE(macosx(10.9), ios(17.0), tvos(17.0)); // CFBoolean, Optional, true by default+VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder API_AVAILABLE(macos(10.9), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, Optional, true by default /*! @constantkVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder@@ -169,7 +169,7 @@ - the requested decoding format or configuration is not supported - the hardware decode resources on the machine are busy */-VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder API_AVAILABLE(macosx(10.9), ios(17.0), tvos(17.0)); // CFBoolean, Optional+VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder API_AVAILABLE(macos(10.9), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, Optional /*! @constantkVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder@@ -180,7 +180,7 @@ accelerated decode using kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder to see if a hardware accelerated decoder was selected. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder API_AVAILABLE(macosx(10.9), ios(17.0), tvos(17.0)) ; // CFBoolean, Read; assumed false by default+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder API_AVAILABLE(macos(10.9), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, Read; assumed false by default #pragma mark Decoder behavior@@ -194,7 +194,7 @@ By default, the VideoToolbox will treat the VTDecompressionSession as though it is being used for realtime playback. Setting the property to NULL is equivalent to setting it to kCFBooleanTrue. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_RealTime API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2)); // Read/write, CFBoolean or NULL, Optional, default is true+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_RealTime API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean or NULL, Optional, default is true /*! @constantkVTDecompressionPropertyKey_MaximizePowerEfficiency@@ -208,7 +208,7 @@ Not all video decoders may support this property By default, this property is NULL. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MaximizePowerEfficiency API_AVAILABLE(macos(10.14), ios(8.0), tvos(10.2)); // Read/write, CFBoolean or NULL, Optional, default is false+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_MaximizePowerEfficiency API_AVAILABLE(macos(10.14), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean or NULL, Optional, default is false /*! @constantkVTDecompressionPropertyKey_ThreadCount@@ -217,7 +217,7 @@ @discussion This is an optional property for video decoders to implement. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ThreadCount API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ThreadCount API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber // Standard properties about quality of service. // By default, a decoder should completely decode every frame at full resolution.@@ -231,12 +231,12 @@ This is an optional property for video decoders to implement. Decoders should only accept the modes that they will implement. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_FieldMode API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString, one of-VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_BothFields API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_TopFieldOnly API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_BottomFieldOnly API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_SingleField API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Most appropriate of either TopFieldOnly or BottomFieldOnly-VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_DeinterlaceFields API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_FieldMode API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString, one of+VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_BothFields API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_TopFieldOnly API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_BottomFieldOnly API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_SingleField API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Most appropriate of either TopFieldOnly or BottomFieldOnly+VT_EXPORT const CFStringRef kVTDecompressionProperty_FieldMode_DeinterlaceFields API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTDecompressionPropertyKey_DeinterlaceMode@@ -248,9 +248,9 @@ This property is only applicable if kVTDecompressionPropertyKey_FieldMode is set to kVTDecompressionProperty_FieldMode_DeinterlaceFields. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_DeinterlaceMode API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString; only applicable if kVTDecompressionPropertyKey_FieldMode is kVTDecompressionProperty_FieldMode_DeinterlaceFields; supported values may include:-VT_EXPORT const CFStringRef kVTDecompressionProperty_DeinterlaceMode_VerticalFilter API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // apply 0.25-0.50-0.25 vertical filter to individual interlaced frames; default mode-VT_EXPORT const CFStringRef kVTDecompressionProperty_DeinterlaceMode_Temporal API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));// apply filter that makes use of a window of multiple frames to generate deinterlaced results, and provides a better result at the expense of a pipeline delay; this mode is only used if kVTDecodeFrame_EnableTemporalProcessing is set, otherwise a non-temporal mode (eg, VerticalFilter) will be used instead+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_DeinterlaceMode API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString; only applicable if kVTDecompressionPropertyKey_FieldMode is kVTDecompressionProperty_FieldMode_DeinterlaceFields; supported values may include:+VT_EXPORT const CFStringRef kVTDecompressionProperty_DeinterlaceMode_VerticalFilter API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // apply 0.25-0.50-0.25 vertical filter to individual interlaced frames; default mode+VT_EXPORT const CFStringRef kVTDecompressionProperty_DeinterlaceMode_Temporal API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);// apply filter that makes use of a window of multiple frames to generate deinterlaced results, and provides a better result at the expense of a pipeline delay; this mode is only used if kVTDecodeFrame_EnableTemporalProcessing is set, otherwise a non-temporal mode (eg, VerticalFilter) will be used instead /*! @constantkVTDecompressionPropertyKey_ReducedResolutionDecode@@ -261,9 +261,9 @@ Decoders that only support a fixed set of resolutions should pick the smallest resolution greater than or equal to the requested width x height. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedResolutionDecode API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFDictionary containing width and height keys and CFNumber values:-VT_EXPORT const CFStringRef kVTDecompressionResolutionKey_Width API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFNumber-VT_EXPORT const CFStringRef kVTDecompressionResolutionKey_Height API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFNumber+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedResolutionDecode API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFDictionary containing width and height keys and CFNumber values:+VT_EXPORT const CFStringRef kVTDecompressionResolutionKey_Width API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber+VT_EXPORT const CFStringRef kVTDecompressionResolutionKey_Height API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber /*! @constantkVTDecompressionPropertyKey_ReducedCoefficientDecode@@ -274,7 +274,7 @@ Only decoders for which such approximations make sense should implement this property. The meaning of the number of coefficients will be decoder-specific. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedCoefficientDecode API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedCoefficientDecode API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber /*!@@ -291,7 +291,7 @@ If the decoder does not support this property directly, but reports that the content has no interframe dependencies, the video toolbox may step in and perform simple frame dropping. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedFrameDelivery API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFNumber in range [0.0,1.0].+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_ReducedFrameDelivery API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber in range [0.0,1.0]. /*! @constantkVTDecompressionPropertyKey_OnlyTheseFrames@@ -303,11 +303,11 @@ this property, the ReducedFrameDelivery is the proportion of the frames selected by this property: 0.25 and IFrames would indicate that only one I frame in every four should be delivered. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_OnlyTheseFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/write, CFString, supported values may include:-VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_AllFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_IFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_KeyFrames API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_OnlyTheseFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString, supported values may include:+VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_AllFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_IFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTDecompressionProperty_OnlyTheseFrames_KeyFrames API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constant kVTDecompressionProperty_TemporalLevelLimit@@ -321,7 +321,7 @@ For more information on temporal levels, see kCMSampleAttachmentKey_HEVCTemporalLevelInfo in CoreMedia/CMSampleBuffer.h */-VT_EXPORT const CFStringRef kVTDecompressionProperty_TemporalLevelLimit API_AVAILABLE(macosx(10.13), ios(11.0), tvos(10.4)); // Read/write, CFNumber+VT_EXPORT const CFStringRef kVTDecompressionProperty_TemporalLevelLimit API_AVAILABLE(macos(10.13), ios(11.0), tvos(10.4), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber /*! @constantkVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers@@ -336,7 +336,7 @@ decreasing qualities of service. Clients may work their way down these tiers until they are able to keep up with the frame rate. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFArray of CFDictionaries containing property key/value pairs+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFArray of CFDictionaries containing property key/value pairs /*! @constantkVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality@@ -347,7 +347,7 @@ This property value is an array containing CFNumbers holding CMPixelFormatType values, ordered by quality from best to worse. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered best to worst, optional+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered best to worst, optional /*! @constantkVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance@@ -358,7 +358,7 @@ This property value is an array containing CFNumbers holding CMPixelFormatType values, ordered by speed from fast to slow. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered fast to slow, optional+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered fast to slow, optional /*! @constantkVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport@@ -368,7 +368,7 @@ This is an optional property for video decoders to implement. This property value is an array containing CFNumbers holding CMPixelFormatType values. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read-only, CFArray[CFNumber(CMPixelFormatType)], optional+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read-only, CFArray[CFNumber(CMPixelFormatType)], optional #pragma mark Post-decompression processing@@ -383,7 +383,7 @@ This property is implemented by the video toolbox. This property value is a CFDictionary containing properties from VTPixelTransferProperties.h. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelTransferProperties API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h.+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PixelTransferProperties API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h. /*! @constantkVTVideoDecoderSpecification_RequiredDecoderGPURegistryID@@ -395,7 +395,7 @@ This option can only be used to specify a GPU registryID corresponding to a removable GPU (eGPU). If 0 is specified for the required GPU registryID, the VideoToolbox will not utilize removable GPUs for decode. */-VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID API_AVAILABLE(macosx(10.13)); // CFNumber, Optional+VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID API_AVAILABLE(macos(10.13), ios(11.3), tvos(11.3), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber, Optional /*! @constantkVTVideoDecoderSpecification_PreferredDecoderGPURegistryID@@ -411,7 +411,7 @@ The GPU registryID can be obtained from a MTLDevice using [MTLDevice registryID] or can be obtained from OpenGL or OpenCL. This option can only be used to specify a GPU registryID corresponding to a removable GPU (eGPU). */-VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID API_AVAILABLE(macosx(10.13)); // CFNumber, Optional+VT_EXPORT const CFStringRef kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID API_AVAILABLE(macos(10.13), ios(11.3), tvos(11.3), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber, Optional /*! @constantkVTDecompressionPropertyKey_UsingGPURegistryID@@ -421,7 +421,7 @@ You can query this property using VTSessionCopyProperty after building a VTDecompressionSession to find out which GPU the decoder is using. If a decoder based on a built-in GPU was used it will return NULL. If a software decoder is used, it will return NULL */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_UsingGPURegistryID API_AVAILABLE(macosx(10.15)) ; // CFNumberRef, Read;+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_UsingGPURegistryID API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumberRef, Read /*! @constant kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata@@ -429,7 +429,7 @@ This controls whether or not to propagate any per frame HDR display metadata from the input compressed bitstream to the output pixel buffer. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0)); // Read/write, CFBoolean, Optional, default is kCFBooleanTrue+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, Optional, default is kCFBooleanTrue /*! @constant kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata@@ -439,7 +439,7 @@ If the color space and YCbCrMatrix matches a supported HDR format such as HLG (kCMFormatDescriptionTransferFunction_ITU_R_2100_HLG) the decoded frame will be analyzed and metadata will be added as an attachment to the CVPixelBuffer. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata API_AVAILABLE(macosx(14.0), ios(17.0)); // CFBoolean, Read/Write, Optional, kCFBooleanFalse by default+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, Read/Write, Optional, kCFBooleanFalse by default #pragma mark Multi-image decompression@@ -457,7 +457,7 @@ If this property is NULL, MV-HEVC shall be decoded ignoring layers other than the base layer. Terminology note: in multi-image decompression, a single video sample (from one CMSampleBuffer) contains a single frame (with one PTS) that is decoded to produce multiple images. */-VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs API_AVAILABLE(macos(14.0), ios(17.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional+VT_EXPORT const CFStringRef kVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); // Read/write, CFArray(CFNumber), Optional CM_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h2024-04-17 07:24:08+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h2024-05-30 04:41:54@@ -90,13 +90,13 @@ VTDecodeInfoFlags infoFlags, CM_NULLABLE CVImageBufferRef imageBuffer, CMTime presentationTimeStamp,-CMTime presentationDuration );+CMTime presentationDuration ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)); struct VTDecompressionOutputCallbackRecord { CM_NULLABLE VTDecompressionOutputCallback decompressionOutputCallback; void * CM_NULLABLE decompressionOutputRefCon;-} CM_SWIFT_NONSENDABLE;-typedef struct VTDecompressionOutputCallbackRecord VTDecompressionOutputCallbackRecord CM_SWIFT_NONSENDABLE;+} CM_SWIFT_NONSENDABLE API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0));+typedef struct VTDecompressionOutputCallbackRecord VTDecompressionOutputCallbackRecord CM_SWIFT_NONSENDABLE API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTDecompressionSessionCreate@@ -127,7 +127,7 @@ CM_NULLABLE CFDictionaryRefvideoDecoderSpecification, CM_NULLABLE CFDictionaryRef destinationImageBufferAttributes, const VTDecompressionOutputCallbackRecord * CM_NULLABLE outputCallback,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTDecompressionSessionRef * CM_NONNULL decompressionSessionOut) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTDecompressionSessionRef * CM_NONNULL decompressionSessionOut) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED@@ -142,14 +142,14 @@ Calling VTDecompressionSessionInvalidate ensures a deterministic, orderly teardown. */ VT_EXPORT void-VTDecompressionSessionInvalidate( CM_NONNULL VTDecompressionSessionRef session ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTDecompressionSessionInvalidate( CM_NONNULL VTDecompressionSessionRef session ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTDecompressionSessionGetTypeID @abstract Returns the CFTypeID for decompression sessions. */ VT_EXPORT CFTypeID-VTDecompressionSessionGetTypeID(void) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTDecompressionSessionGetTypeID(void) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTDecompressionSessionDecodeFrame@@ -187,7 +187,7 @@ CM_NONNULL CMSampleBufferRefsampleBuffer, VTDecodeFrameFlagsdecodeFlags, // bit 0 is enableAsynchronousDecompression void * CM_NULLABLEsourceFrameRefCon,-VTDecodeInfoFlags * CM_NULLABLE infoFlagsOut) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+VTDecodeInfoFlags * CM_NULLABLE infoFlagsOut) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); #if __BLOCKS__ /*!@@ -220,7 +220,7 @@ VTDecodeInfoFlags infoFlags, CM_NULLABLE CVImageBufferRef imageBuffer, CMTime presentationTimeStamp,-CMTime presentationDuration ) CM_SWIFT_SENDABLE;+CMTime presentationDuration ) CM_SWIFT_SENDABLE API_AVAILABLE(macos(10.11), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTDecompressionSessionDecodeFrameWithOutputHandler@@ -258,7 +258,7 @@ CM_NONNULL CMSampleBufferRefsampleBuffer, VTDecodeFrameFlagsdecodeFlags, // bit 0 is enableAsynchronousDecompression VTDecodeInfoFlags * CM_NULLABLEinfoFlagsOut,-CM_NONNULL VTDecompressionOutputHandleroutputHandler ) API_AVAILABLE(macosx(10.11), ios(9.0), tvos(10.2));+CM_NONNULL VTDecompressionOutputHandleroutputHandler ) API_AVAILABLE(macos(10.11), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); #endif // __BLOCKS__ /*!@@ -273,7 +273,7 @@ */ VT_EXPORT OSStatus VTDecompressionSessionFinishDelayedFrames(-CM_NONNULL VTDecompressionSessionRefsession) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_NONNULL VTDecompressionSessionRefsession) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTDecompressionSessionCanAcceptFormatDescription@@ -286,7 +286,7 @@ VT_EXPORT Boolean VTDecompressionSessionCanAcceptFormatDescription( CM_NONNULL VTDecompressionSessionRefsession,-CM_NONNULL CMFormatDescriptionRefnewFormatDesc ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_NONNULL CMFormatDescriptionRefnewFormatDesc ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTDecompressionSessionWaitForAsynchronousFrames@@ -297,7 +297,7 @@ */ VT_EXPORT OSStatus VTDecompressionSessionWaitForAsynchronousFrames(-CM_NONNULL VTDecompressionSessionRef session) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_NONNULL VTDecompressionSessionRef session) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLED@@ -315,7 +315,7 @@ VT_EXPORT OSStatus VTDecompressionSessionCopyBlackPixelBuffer( CM_NONNULL VTDecompressionSessionRefsession,- CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CVPixelBufferRef * CM_NONNULL pixelBufferOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CVPixelBufferRef * CM_NONNULL pixelBufferOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTIsHardwareDecodeSupported@@ -328,7 +328,7 @@ available at all times. */ VT_EXPORT Boolean-VTIsHardwareDecodeSupported( CMVideoCodecType codecType ) API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0));+VTIsHardwareDecodeSupported( CMVideoCodecType codecType ) API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); // See VTSession.h for property access APIs on VTDecompressionSessions. // See VTDecompressionProperties.h for standard property keys and values for decompression sessions.@@ -341,7 +341,7 @@ @discussion This call returning true does not guarantee that decode resources will be available at all times. */ VT_EXPORT Boolean-VTIsStereoMVHEVCDecodeSupported( void ) API_AVAILABLE(macos(14.0), ios(17.0));+VTIsStereoMVHEVCDecodeSupported( void ) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @typedefVTDecompressionOutputMultiImageCallback@@ -382,7 +382,7 @@ VTDecodeInfoFlags infoFlags, CM_NULLABLE CMTaggedBufferGroupRef taggedBufferGroup, CMTime presentationTimeStamp,-CMTime presentationDuration );+CMTime presentationDuration ) API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); /*! @functionVTDecompressionSessionSetMultiImageCallback@@ -397,7 +397,7 @@ VTDecompressionSessionSetMultiImageCallback( CM_NONNULL VTDecompressionSessionRefdecompressionSession, CM_NONNULL VTDecompressionOutputMultiImageCallbackoutputMultiImageCallback,-void * CM_NULLABLEoutputMultiImageRefcon) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift");+void * CM_NULLABLEoutputMultiImageRefcon) API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift"); #if __BLOCKS__ /*!@@ -438,7 +438,7 @@ CM_NULLABLE CVImageBufferRef imageBuffer, CM_NULLABLE CMTaggedBufferGroupRef taggedBufferGroup, CMTime presentationTimeStamp,-CMTime presentationDuration ) CM_SWIFT_SENDABLE;+CMTime presentationDuration ) CM_SWIFT_SENDABLE API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos); /*! @functionVTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler@@ -477,7 +477,7 @@ CM_NONNULL CMSampleBufferRefsampleBuffer, VTDecodeFrameFlagsdecodeFlags, // bit 0 is enableAsynchronousDecompression VTDecodeInfoFlags * CM_NULLABLEinfoFlagsOut,-CM_NONNULL VTDecompressionMultiImageCapableOutputHandlermultiImageCapableOutputHandler ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_REFINED_FOR_SWIFT;+CM_NONNULL VTDecompressionMultiImageCapableOutputHandlermultiImageCapableOutputHandler ) API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos) CF_REFINED_FOR_SWIFT; #endif // __BLOCKS__ #pragma pack(pop)diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h2024-04-17 07:14:31+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h2024-05-30 04:04:18@@ -67,6 +67,8 @@ kVTExtensionDisabledErr = -17697, kVTVideoEncoderMVHEVCVideoLayerIDsMismatchErr = -17698, kVTCouldNotOutputTaggedBufferGroupErr= -17699,+kVTCouldNotFindExtensionErr= -19510,+kVTExtensionConflictErr= -19511, }; /*!diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h2024-04-17 07:10:21+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h2024-05-30 03:35:01@@ -43,7 +43,7 @@ typedef struct CM_BRIDGED_TYPE(id) OpaqueVTFrameSilo *VTFrameSiloRef CM_SWIFT_NONSENDABLE; // a CF type, call CFRetain and CFRelease-VT_EXPORT CFTypeID VTFrameSiloGetTypeID(void) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+VT_EXPORT CFTypeID VTFrameSiloGetTypeID(void) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLED /*!@@ -68,7 +68,7 @@ CM_NULLABLE CFURLReffileURL, CMTimeRangetimeRange, /* can be kCMTimeRangeInvalid */ CM_NULLABLE CFDictionaryRefoptions,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTFrameSiloRef * CM_NONNULL frameSiloOut ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTFrameSiloRef * CM_NONNULL frameSiloOut ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED@@ -87,7 +87,7 @@ VT_EXPORT OSStatus VTFrameSiloAddSampleBuffer( CM_NONNULL VTFrameSiloRefsilo,-CM_NONNULL CMSampleBufferRefsampleBuffer ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+CM_NONNULL CMSampleBufferRefsampleBuffer ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTFrameSiloSetTimeRangesForNextPass@@ -102,7 +102,7 @@ VTFrameSiloSetTimeRangesForNextPass( CM_NONNULL VTFrameSiloRefsilo, CMItemCounttimeRangeCount,-const CMTimeRange * CM_NONNULLtimeRangeArray ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+const CMTimeRange * CM_NONNULLtimeRangeArray ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTFrameSiloGetProgressOfCurrentPass@@ -115,7 +115,7 @@ VT_EXPORT OSStatus VTFrameSiloGetProgressOfCurrentPass( CM_NONNULL VTFrameSiloRefsilo,-Float32 * CM_NONNULLprogressOut ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+Float32 * CM_NONNULLprogressOut ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTFrameSiloCallFunctionForEachSampleBuffer@@ -139,7 +139,7 @@ CM_NONNULL VTFrameSiloRefsilo, CMTimeRangetimeRange, void * CM_NULLABLErefcon,-OSStatus(* CM_NONNULL CF_NOESCAPE callback)( void * CM_NULLABLE refcon, CM_NONNULL CMSampleBufferRef sampleBuffer ) ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2)); // return nonzero to abort iteration+OSStatus(* CM_NONNULL CF_NOESCAPE callback)( void * CM_NULLABLE refcon, CM_NONNULL CMSampleBufferRef sampleBuffer ) ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // return nonzero to abort iteration #if __BLOCKS__ /*!@@ -163,7 +163,7 @@ VTFrameSiloCallBlockForEachSampleBuffer( CM_NONNULL VTFrameSiloRefsilo, CMTimeRangetimeRange,-OSStatus (^ CM_NONNULL CF_NOESCAPE handler)( CM_NONNULL CMSampleBufferRef sampleBuffer ) ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2)); // return nonzero to abort iteration+OSStatus (^ CM_NONNULL CF_NOESCAPE handler)( CM_NONNULL CMSampleBufferRef sampleBuffer ) ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // return nonzero to abort iteration #endif // __BLOCKS__ CF_IMPLICIT_BRIDGING_DISABLEDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h2024-05-30 02:39:21@@ -0,0 +1,116 @@+/*+File: VTHDRPerFrameMetadataGenerationSession.h++Framework: VideoToolbox++Copyright 2023 Apple Inc. All rights reserved.++ */++#ifndef VTHDRPerFrameMetadataGenerationSession_H+#define VTHDRPerFrameMetadataGenerationSession_H++#include <CoreMedia/CMBase.h>+#include <VideoToolbox/VTBase.h>+#include <VideoToolbox/VTErrors.h>+#include <VideoToolbox/VTSession.h>+#include <CoreFoundation/CoreFoundation.h>+#include <CoreVideo/CoreVideo.h>++#if defined(__cplusplus)+extern "C"+{+#endif++#pragma pack(push)+#pragma pack()++CF_IMPLICIT_BRIDGING_ENABLED++CM_ASSUME_NONNULL_BEGIN++/*!+@header+@abstract+Video Toolbox HDR Metadata Generation Session++@discussion+This file defines the public API for the VTHDRPerFrameMetadataGenerationSession.++*/++typedef CFStringRef VTHDRPerFrameMetadataGenerationHDRFormatType CF_EXTENSIBLE_STRING_ENUM API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);++/*!+@constantkVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision+@abstractSpecifies that DolbyVision data should be generated and attached for each pixel buffer.+ */+VT_EXPORT const VTHDRPerFrameMetadataGenerationHDRFormatType kVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);++/*!+@constantkVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats+@abstractSpecifies an array of HDR formats that should be generated.+@discussion+This key represents a CFArrayRef. Only one key is supported ( kVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision ).+ */+VT_EXPORT const CFStringRef kVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos); // Write-only, Optional, CFArray+++/*!+@typedefVTHDRPerFrameMetadataGenerationSessionRef+@abstractA mechanism for generating HDR Per Frame Metadata and attaching that metadata to a CVPixelBuffer and the backing IOSurface.+@discussion+VTHDRPerFrameMetadataGenerationSessionRef is a CF type, so call CFRelease to release your object reference.+*/+typedef struct CM_BRIDGED_TYPE( id ) OpaqueVTHDRPerFrameMetadataGenerationSession* VTHDRPerFrameMetadataGenerationSessionRef CF_REFINED_FOR_SWIFT API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos); // a CF type, call CFRetain and CFRelease++VT_EXPORT CFTypeID VTHDRPerFrameMetadataGenerationSessionGetTypeID( void ) API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) CF_REFINED_FOR_SWIFT API_UNAVAILABLE(watchos);++// Interface for video compression session clients:++/*!+@functionVTHDRPerFrameMetadataGenerationSessionCreate+@abstractCreates a VTHDRPerFrameMetadataGenerationSession object.+@discussion+The returned VTHDRPerFrameMetadataGenerationSession object may be used to perform HDR Per Frame Metadata Generation+Call CFRelease to release your object reference.+@param framesPerSecond+Value must be greater than 0.0+@param options+CFDictionary may contain the key kVTHDRPerFrameMetadataGenerationOptionsHDRFormatsKey.+*/+VT_EXPORT OSStatus+VTHDRPerFrameMetadataGenerationSessionCreate(+CM_NULLABLE CFAllocatorRefallocator,+floatframesPerSecond,+CM_NULLABLE CFDictionaryRefoptions,+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTHDRPerFrameMetadataGenerationSessionRef * CM_NONNULL hdrPerFrameMetadataGenerationSessionOut ) CF_REFINED_FOR_SWIFT API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);++/*!+@functionVTHDRPerFrameMetadataGenerationSessionAttachMetadata+@abstractAttaches the Per Frame Metadata to the CVPixelBuffer and the backing IOSurface+@discussion+Call this to analyze and attach HDR Metadata. This call will change CVPixelBuffer attachments and backing IOSurface attachments.+@param hdrPerFrameMetadataGenerationSession+@param pixelBuffer+@param sceneChange+If this frame changes significantly in brightness from the previous frame, for example going from an indoor scene to an outdoor scene or+from a night scene to a daytime scene, set this to true.+*/+VT_EXPORT OSStatus+VTHDRPerFrameMetadataGenerationSessionAttachMetadata(+VTHDRPerFrameMetadataGenerationSessionRef hdrPerFrameMetadataGenerationSession,+CVPixelBufferRef pixelBuffer,+Boolean sceneChange ) CF_REFINED_FOR_SWIFT API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);++CM_ASSUME_NONNULL_END++CF_IMPLICIT_BRIDGING_DISABLED++#pragma pack(pop)++#if defined(__cplusplus)+}+#endif++#endif // VTHDRPerFrameMetadataGenerationSession_Hdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h2024-04-17 07:24:08+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h2024-05-30 02:39:21@@ -37,7 +37,7 @@ */ typedef struct CM_BRIDGED_TYPE(id) OpaqueVTMultiPassStorage* VTMultiPassStorageRef CM_SWIFT_NONSENDABLE; // a CF type, call CFRetain and CFRelease-VT_EXPORT CFTypeID VTMultiPassStorageGetTypeID(void) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+VT_EXPORT CFTypeID VTMultiPassStorageGetTypeID(void) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLED@@ -63,13 +63,13 @@ CM_NULLABLE CFURLReffileURL, CMTimeRangetimeRange, /* can be kCMTimeRangeInvalid */ CM_NULLABLE CFDictionaryRefoptions,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTMultiPassStorageRef * CM_NONNULL multiPassStorageOut) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTMultiPassStorageRef * CM_NONNULL multiPassStorageOut) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED CM_ASSUME_NONNULL_BEGIN-VT_EXPORT const CFStringRef kVTMultiPassStorageCreationOption_DoNotDelete; // CFBoolean, false by default. Provided for use when debugging video encoders.+VT_EXPORT const CFStringRef kVTMultiPassStorageCreationOption_DoNotDelete API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, false by default. Provided for use when debugging video encoders. CM_ASSUME_NONNULL_END@@ -83,7 +83,7 @@ */ VT_EXPORT OSStatus VTMultiPassStorageClose(-CM_NONNULL VTMultiPassStorageRefmultiPassStorage ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));+CM_NONNULL VTMultiPassStorageRefmultiPassStorage ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLEDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h2024-04-17 07:24:08+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h2024-05-30 02:39:21@@ -35,12 +35,12 @@ default is kVTRotation_0. */-VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_Rotation API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_Rotation API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);-VT_EXPORT const CFStringRef kVTRotation_0 API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));-VT_EXPORT const CFStringRef kVTRotation_CW90API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));-VT_EXPORT const CFStringRef kVTRotation_180API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));-VT_EXPORT const CFStringRef kVTRotation_CCW90API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VT_EXPORT const CFStringRef kVTRotation_0 API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTRotation_CW90API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTRotation_180API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTRotation_CCW90API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTPixelRotationPropertyKey_FlipHorizontalOrientation@@ -51,7 +51,7 @@ default is false; */-VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_FlipHorizontalOrientation API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_FlipHorizontalOrientation API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @constantkVTPixelRotationPropertyKey_FlipVerticalOrientation@@ -62,7 +62,7 @@ default is false; */-VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_FlipVerticalOrientation API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VT_EXPORT const CFStringRef kVTPixelRotationPropertyKey_FlipVerticalOrientation API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); CM_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h2024-04-17 07:10:21+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h2024-05-30 04:41:54@@ -36,7 +36,7 @@ and release your object reference. */-typedef struct CM_BRIDGED_TYPE(id) OpaqueVTPixelRotationSession* VTPixelRotationSessionRef CM_SWIFT_NONSENDABLE;+typedef struct CM_BRIDGED_TYPE(id) OpaqueVTPixelRotationSession* VTPixelRotationSessionRef CM_SWIFT_NONSENDABLE API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTPixelRotationSessionCreate@@ -49,7 +49,7 @@ VT_EXPORT OSStatus VTPixelRotationSessionCreate( CM_NULLABLE CFAllocatorRef allocator,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTPixelRotationSessionRef * CM_NONNULL pixelRotationSessionOut) API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTPixelRotationSessionRef * CM_NONNULL pixelRotationSessionOut) API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTPixelRotationSessionInvalidate@@ -62,14 +62,14 @@ Calling VTPixelRotationSessionInvalidate ensures a deterministic, orderly teardown. */ VT_EXPORT void-VTPixelRotationSessionInvalidate( CM_NONNULL VTPixelRotationSessionRef session ) API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VTPixelRotationSessionInvalidate( CM_NONNULL VTPixelRotationSessionRef session ) API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTPixelRotationSessionGetTypeID @abstract Returns the CFTypeID for pixel rotation sessions. */ VT_EXPORT CFTypeID-VTPixelRotationSessionGetTypeID(void) API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+VTPixelRotationSessionGetTypeID(void) API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTPixelRotationSessionRotateImage@@ -96,7 +96,7 @@ VTPixelRotationSessionRotateImage( CM_NONNULL VTPixelRotationSessionRef session, CM_NONNULL CVPixelBufferRef sourceBuffer,-CM_NONNULL CVPixelBufferRef destinationBuffer) API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));+CM_NONNULL CVPixelBufferRef destinationBuffer) API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); // See VTSession.h for property access APIs on VTPixelRotationSession.diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h2024-04-17 07:14:32+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h2024-05-30 10:44:42@@ -76,7 +76,7 @@ The destination image buffer's clean aperture and pixel aspect ratio attachments are not taken into account, and will be overwritten. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_ScalingMode API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFStringRef, one of kVTScalingMode_*+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_ScalingMode API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFStringRef, one of kVTScalingMode_* /* @constantkVTScalingMode_Normal@@ -88,7 +88,7 @@ the same way as the image with the image, and attached to the destination image buffer. This is the default scaling mode. */-VT_EXPORT const CFStringRef kVTScalingMode_Normal API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Copy full width and height. Write adjusted clean aperture and pixel aspect ratios to compensate for any change in dimensions.+VT_EXPORT const CFStringRef kVTScalingMode_Normal API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Copy full width and height. Write adjusted clean aperture and pixel aspect ratios to compensate for any change in dimensions. /* @constantkVTScalingMode_CropSourceToCleanAperture@@ -97,7 +97,7 @@ @discussion The destination pixel aspect ratio is set on the destination image buffer. */-VT_EXPORT const CFStringRef kVTScalingMode_CropSourceToCleanAperture API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Crop to remove edge processing region; scale remainder to destination clean aperture.+VT_EXPORT const CFStringRef kVTScalingMode_CropSourceToCleanAperture API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Crop to remove edge processing region; scale remainder to destination clean aperture. /* @constantkVTScalingMode_Letterbox@@ -109,7 +109,7 @@ If a destination pixel aspect ratio is not set, the source image's pixel aspect ratio is used. The pixel aspect ratio used is set on the destination image buffer. */-VT_EXPORT const CFStringRef kVTScalingMode_Letterbox API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Preserve aspect ratio of the source, and fill remaining areas with black in to fit destination dimensions+VT_EXPORT const CFStringRef kVTScalingMode_Letterbox API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Preserve aspect ratio of the source, and fill remaining areas with black in to fit destination dimensions /* @constantkVTScalingMode_Trim@@ -120,7 +120,7 @@ If a destination pixel aspect ratio is not set, the source image's pixel aspect ratio is used. The pixel aspect ratio used is set on the destination image buffer. */-VT_EXPORT const CFStringRef kVTScalingMode_Trim API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Preserve aspect ratio of the source, and crop picture to fit destination dimensions+VT_EXPORT const CFStringRef kVTScalingMode_Trim API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Preserve aspect ratio of the source, and crop picture to fit destination dimensions /*! @constantkVTPixelTransferPropertyKey_DestinationCleanAperture@@ -132,7 +132,7 @@ This property is ignored in kVTScalingMode_Normal. This property defaults to NULL, meaning the clean aperture is the full width and height. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationCleanAperture API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFDictionary with same keys as used in kCVImageBufferCleanApertureKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value.+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationCleanAperture API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFDictionary with same keys as used in kCVImageBufferCleanApertureKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value. /*! @constantkVTPixelTransferPropertyKey_DestinationPixelAspectRatio@@ -145,7 +145,7 @@ This property defaults to NULL, meaning 1:1 (for kVTScalingMode_CropSourceToCleanAperture) or no change in pixel aspect ratio (for kVTScalingMode_Letterbox and kVTScalingMode_Trim). */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationPixelAspectRatio API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFDictionary with same keys as used in kCVImageBufferPixelAspectRatioKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value.+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationPixelAspectRatio API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFDictionary with same keys as used in kCVImageBufferPixelAspectRatioKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value. // Properties for configuring up/down sampling@@ -156,9 +156,9 @@ @discussion This property is ignored if chroma downsampling is not performed. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DownsamplingMode API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFStringRef, one of:-VT_EXPORT const CFStringRef kVTDownsamplingMode_Decimate API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Default, decimate extra samples-VT_EXPORT const CFStringRef kVTDownsamplingMode_Average API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Average missing samples (default center)+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DownsamplingMode API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFStringRef, one of:+VT_EXPORT const CFStringRef kVTDownsamplingMode_Decimate API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Default, decimate extra samples+VT_EXPORT const CFStringRef kVTDownsamplingMode_Average API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Average missing samples (default center) // Properties for color information@@ -171,7 +171,7 @@ matching operation may need to be performed between the source and the destination. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationColorPrimaries API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationColorPrimaries API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional /*! @constantkVTPixelTransferPropertyKey_DestinationTransferFunction@@ -182,7 +182,7 @@ matching operation may need to be performed between the source and the destination. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationTransferFunction API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationTransferFunction API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional /*! @constantkVTPixelTransferPropertyKey_DestinationICCProfile@@ -193,7 +193,7 @@ matching operation may need to be performed between the source and the destination. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationICCProfile API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationICCProfile API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional /*! @constantkVTPixelTransferPropertyKey_DestinationYCbCrMatrix@@ -205,7 +205,7 @@ matching operation may need to be performed between the source and the destination. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationYCbCrMatrix API_AVAILABLE(macosx(10.8), ios(9.0), tvos(10.2)); // Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_DestinationYCbCrMatrix API_AVAILABLE(macos(10.8), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional /*! @constant kVTPixelTransferPropertyKey_RealTime@@ -217,7 +217,7 @@ for transfers being performed as part of background operations. By default this value is NULL indicating that it is unspecified. */-VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_RealTime; // Read/write, CFBoolean, default NULL+VT_EXPORT const CFStringRef kVTPixelTransferPropertyKey_RealTime API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFBoolean, default NULL CM_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h2024-04-17 07:14:32+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h2024-05-30 04:51:52@@ -41,7 +41,7 @@ to tear it down and CFRelease to release your object reference. */-typedef struct CM_BRIDGED_TYPE(id) OpaqueVTPixelTransferSession* VTPixelTransferSessionRef CM_SWIFT_NONSENDABLE;+typedef struct CM_BRIDGED_TYPE(id) OpaqueVTPixelTransferSession* VTPixelTransferSessionRef CM_SWIFT_NONSENDABLE API_AVAILABLE(macos(10.8), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTPixelTransferSessionCreate@@ -57,7 +57,7 @@ VT_EXPORT OSStatus VTPixelTransferSessionCreate( CM_NULLABLE CFAllocatorRefallocator,- CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTPixelTransferSessionRef * CM_NONNULL pixelTransferSessionOut) VT_AVAILABLE_STARTING(10_8);+ CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTPixelTransferSessionRef * CM_NONNULL pixelTransferSessionOut) API_AVAILABLE(macos(10.8), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED@@ -72,14 +72,14 @@ Calling VTPixelTransferSessionInvalidate ensures a deterministic, orderly teardown. */ VT_EXPORT void-VTPixelTransferSessionInvalidate( CM_NONNULL VTPixelTransferSessionRef session ) VT_AVAILABLE_STARTING(10_8);+VTPixelTransferSessionInvalidate( CM_NONNULL VTPixelTransferSessionRef session ) API_AVAILABLE(macos(10.8), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @function VTPixelTransferSessionGetTypeID @abstract Returns the CFTypeID for pixel transfer sessions. */ VT_EXPORT CFTypeID-VTPixelTransferSessionGetTypeID(void) VT_AVAILABLE_STARTING(10_8);+VTPixelTransferSessionGetTypeID(void) API_AVAILABLE(macos(10.8), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); /*! @functionVTPixelTransferSessionTransferImage@@ -104,7 +104,8 @@ VTPixelTransferSessionTransferImage( CM_NONNULL VTPixelTransferSessionRef session, CM_NONNULL CVPixelBufferRef sourceBuffer,- CM_NONNULL CVPixelBufferRef destinationBuffer) VT_AVAILABLE_STARTING(10_8);+ CM_NONNULL CVPixelBufferRef destinationBuffer)+ API_AVAILABLE(macos(10.8), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLEDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTProfessionalVideoWorkflow.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTProfessionalVideoWorkflow.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTProfessionalVideoWorkflow.h2024-04-17 07:24:08+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTProfessionalVideoWorkflow.h2024-05-30 02:39:21@@ -22,17 +22,18 @@ /*! @functionVTRegisterProfessionalVideoWorkflowVideoDecoders-@abstractAllows the client to use decoders appropriate for professional video workflows.-@discussion-Loads the video decoders within "/Library/Video/Professional Video Workflow Plug-Ins/", if any are present.+@abstractAllows the client to use video decoders appropriate for professional video workflows.+@discussionBy calling this function, a client indicates to VideoToolbox that it wishes to support Media Extension video decoders. Any associated Video RAW Processors will also be supported as well. Note that this functionality is intended for applications supporting professional video workflows. It is not recommended for network-facing applications such as web browsers, messaging clients, mail clients, etc. */-VT_EXPORT void VTRegisterProfessionalVideoWorkflowVideoDecoders( void ) VT_AVAILABLE_STARTING(10_9);+VT_EXPORT void VTRegisterProfessionalVideoWorkflowVideoDecoders( void )+API_AVAILABLE(macos(10.9)) API_UNAVAILABLE(ios, tvos, watchos, visionos); /*! @functionVTRegisterProfessionalVideoWorkflowVideoEncoders @abstractAllows the client to use encoders appropriate for professional video workflows. */-VT_EXPORT void VTRegisterProfessionalVideoWorkflowVideoEncoders( void ) VT_AVAILABLE_STARTING(10_10);+VT_EXPORT void VTRegisterProfessionalVideoWorkflowVideoEncoders( void )+API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, tvos, watchos, visionos); #pragma pack(pop)diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingProperties.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingProperties.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingProperties.h2024-05-30 02:39:21@@ -0,0 +1,59 @@+/*+File: VTRAWProcessingProperties.h++Framework: VideoToolbox++Copyright 2013-2024 Apple Inc. All rights reserved.++*/++#ifndef VTRAWPROCESSINGPROPERTIES_H+#define VTRAWPROCESSINGPROPERTIES_H++#include <CoreMedia/CMBase.h>+#include <VideoToolbox/VTBase.h>++#include <CoreFoundation/CoreFoundation.h>++#if defined(__cplusplus)+extern "C"+{+#endif++#pragma pack(push, 4)++/*!+@header+@abstract+Standard Video Toolbox RAWProcessing properties++@discussion+This file defines standard properties used to describe and configure RAWProcessing+operations managed by the video toolbox.++The video toolbox will provide direct support for some of these properties.+Some properties are supported by individual RAW processors.++Clients can query supported properties by calling VTSessionCopySupportedPropertyDictionary.+*/+++/*!+@constantkVTRAWProcessingPropertyKey_MetalDevice+@abstract+This property, if supported, requests that the Metal device corresponding to the specified registryID be used for any Metal related processing+@discussion+This property is not supported by all RAWProcessors++*/+VT_EXPORT const CFStringRef kVTRAWProcessingPropertyKey_MetalDeviceRegistryID API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos); // ReadWrite, uint64_t++++#pragma pack(pop)++#if defined(__cplusplus)+}+#endif++#endif // VTRAWPROCESSINGPROPERTIES_Hdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingSession.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTRAWProcessingSession.h2024-05-30 02:39:21@@ -0,0 +1,339 @@+/*+File: VTRAWProcessingSession.h++Framework: VideoToolbox++Copyright © 2013-2024 Apple Inc. All rights reserved.++Video Toolbox client API for accessing RAW Video processing components.+*/++#ifndef VTRAWPROCESSINGSESSION_H+#define VTRAWPROCESSINGSESSION_H++#include <CoreMedia/CMBase.h>+#include <VideoToolbox/VTBase.h>++#include <CoreFoundation/CoreFoundation.h>+#include <CoreVideo/CoreVideo.h>++#include <CoreMedia/CMFormatDescription.h>+#include <VideoToolbox/VTSession.h>++#if defined(__cplusplus)+extern "C"+{+#endif++#pragma pack(push, 4)++CM_ASSUME_NONNULL_BEGIN++++/*!+@typedefVTRAWProcessingSessionRef+@abstractA reference to a Video Toolbox RAW Processing Session.+@discussion+A RAW processing session supports processing of frames that have been output from decoders in camera native formats, for example RAW or bayer formats.+The session reference is a reference-counted CF object.+*/+typedef struct CM_BRIDGED_TYPE(id) OpaqueVTRAWProcessingSession* VTRAWProcessingSessionRef API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos) CM_SWIFT_NONSENDABLE;++/*!+@typedefVTRAWProcessingParameterChangeHandler+@abstractBlock invoked when processing parameters change.+@discussion+This block is called when available parameters or parameter values change without an explicit call to VTRAWProcessingSessionSetProcessingParameters.+This is intended to allow the client to update any UI driven by these parameters.+@paramnewParameters+A CFArrayRef contaiing the new parameter details. This follows the same form as the array returned from VTRAWProcessingSessionCopyProcessingParameters.+ */+typedef void (^VTRAWProcessingParameterChangeHandler)( CM_NULLABLE CFArrayRef newParameters ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@functionVTRAWProcessingSessionCreate+@abstractCreates a RAW video frame processing session.+@discussion+.+@paramallocator+An allocator for the session. Pass NULL to use the default allocator.+@paramformatDescription+The CMVideoFormatDescription corresponding to the original media samples, containing sequence-level processing parameters.+@paramoutputPixelBufferAttributes+A CoreVideo pixel buffer attributes dictionary describing the client's requirements for pixel buffers for output frames.+Pass NULL to receive the RAW processor's native output format.+@paramprocessingSessionOptions+A dictionary of creation-time options for the VTRAWProcessingSession.+@paramprocessingSessionOut+Points to a variable to receive the new RAW processing session.+When you are done with the session, call VTRAWProcessingSessionInvalidate+to tear it down and then CFRelease to release your object reference.+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionCreate(+CM_NULLABLE CFAllocatorRefallocator,+CMVideoFormatDescriptionRefformatDescription,+CM_NULLABLE CFDictionaryRefoutputPixelBufferAttributes,+CM_NULLABLE CFDictionaryRefprocessingSessionOptions,+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE VTRAWProcessingSessionRef * CM_NONNULLprocessingSessionOut) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@functionVTRAWProcessingSessionInvalidate+@abstractTears down a RAW processing session.+@discussion+When you are done with a decompression session you created, call VTRAWProcessingSessionInvalidate+to tear it down and then CFRelease to release your object reference.+When a session's retain count reaches zero, it is automatically invalidated, but+since sessions may be retained by multiple parties, it can be hard to predict when this will happen.+Calling VTRAWProcessingSessionInvalidate ensures a deterministic, orderly teardown.+*/+VT_EXPORT void+VTRAWProcessingSessionInvalidate( VTRAWProcessingSessionRef session ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@function VTRAWProcessingSessionGetTypeID+@abstract Returns the CFTypeID for RAW processing sessions.+*/+VT_EXPORT CFTypeID+VTRAWProcessingSessionGetTypeID(void) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+++/*!+@functionVTRAWProcessingSessionSetParameterChangedHander+@abstractProvides a block which will be called when the VTRAWProcessingPlugin changes the set of processing parameters..+@discussion+This block will be called the VTRAWProcessingPlugin either changes the set of available processing parameters, or changes the current value of parameters.+The VTRAWProcessingPlugin may change parameters based on metadata associated with input frames, or in response to other parameters configured by VTRAWProcessingSessionSetProcessingParameters.+This optional and does not need to be configured if the client is not driving UI based on these parameters, or otherwise does not need this.+@paramsession+The RAW processing session.+@paramparameterChangeHandler+ A VTRAWProcessingParameterChangeHandler block which will be called when the set of processing parameters changes, or the value of a parameter changes without the client explicitly requesting it.+ Setting this to NULL removes the current handler.+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionSetParameterChangedHander(+VTRAWProcessingSessionRefsession,+CM_NULLABLE VTRAWProcessingParameterChangeHandlerparameterChangeHandler ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@typedefVTRAWProcessingOutputHandler+@abstractBlock invoked when frame processing is complete.+@discussion+On successful processing, will return a CVPixelBuffer conforming to the session's outputPixelBufferAttributes if any were provided.+@paramstatus+noErr if processing request was successful; an error code if it was not successful.+@paramprocessedPixelBuffer+A CVPixelBuffer containing the processed video frame if processing request was successful;+otherwise, NULL.+ */+typedef void (^VTRAWProcessingOutputHandler)(+OSStatus status,+CM_NULLABLE CVPixelBufferRef processedPixelBuffer) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@functionVTRAWProcessingSessionProcessFrame+@abstract+Call this function to submit RAW frames for format-specific processing using sequence and frame level parameters.+@discussion+Processed frames may or may not be output before the function returns,+The client should not modify the input pixel data after making this call.+The RAW Processor will retain the input pixel buffer as long as necessary.++For any RAW processor, there is a finite number of frames that can be+presented to VTRAWProcessingSessionProcessFrame before the function will block+until the output callback is invoked.+@paramsession+The RAW processing session.+@paraminputPixelBuffer+A CVPixelBuffer containing an input video frame to be processed.+@paramframeOptions+Contains key/value pairs specifying additional properties for processing this frame.+No keys currently. Pass NULL.+@paramoutputHandler+A VTRAWProcessingOutputHandler block which will be called once when processing is complete.+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionProcessFrame(+VTRAWProcessingSessionRefsession,+CVPixelBufferRefinputPixelBuffer,+CM_NULLABLE CFDictionaryRefframeOptions,+VTRAWProcessingOutputHandler outputHandler ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@function VTRAWProcessingSessionCompleteFrames+@abstract Forces the RAW Processor to complete processing frames.+@discussion+Call this after calling a set of VTRAWProcessingSessionProcessFrame calls to ensure that all frames have been processed.+Before VTRAWProcessingSessionCompleteFrames returns, the output handler will be invoked for all pending frames.+@paramsession+The RAW processing session.+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionCompleteFrames( VTRAWProcessingSessionRef session ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+++/*!+@function VTRAWProcessingSessionCopyProcessingParameters+@abstract Copies an array of dictionaries describing the parameters provided by the RAW Processor for frame processing+@discussion+This will return an array of dictionaries, one dictionary for each parameter that can be controlled in the RAW Processing operation.+The dictionary for each parameter will contain a set of kVTRAWProcessingParameter keys whose values provide a name, value type,+value range, and current value for each parameter.++The returned values can be used to contruct dynamic UI presenting RAW Processing controls allowing the various knobs for this+specific RAW Processor to be viewed and manipulated.+@paramsession+The RAW processing session.+@paramoutParameterArray+Pointer for receiving the RAW Processing parameter array..+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionCopyProcessingParameters(+VTRAWProcessingSessionRefsession,+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFArrayRef * CM_NONNULL outParameterArray ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // CFArray of CFDictionaries++/*!+@function VTRAWProcessingSessionSetProcessingParameters+@abstract Sets a collection of RAW Processing parameters+@discussion+This call will set a collection of RAW Processing parameters on the RAW Processor. These are set as a dictionary where the keys match+kVTRAWProcessingParameter_Key values that were returned in VTRAWProcessingSessionCopyProcessingParameters and where values conform+to the type and range defined in the kVTRAWProcessingParameter dictionary for each parameter.++Not all parameters from the RAWProcessingParameter array need to be set at any given time. Changining the parameters will not change+processing on frames already submitted for processing, it will only impact frames where VTRAWProcessingSessionProcessFrame is called+after VTRAWProcessingSessionSetProcessingParameters returns.++If any parameters specified are not in the array reported by VTRAWProcessingSessionCopyProcessingParameters, or are the wrong type or are out of range,+kVTParameterErr will be returned. Valid key/value pairs in the dictionary will still be applied. [SKIPPER: should we reject all settings if any are invalid? Should we apply valid ones and not return an err?]+@paramsession+The RAW processing session.+@paramprocessingParameters+A dictionary of keys and values setting parameters reported by VTRAWProcessingSessionCopyProcessingParameters.+@result+Returns an error if any of the provided parameters are invalid, disabled or outside of the declared valid range.+None of the provided parameters will be set on the processor if an error is returned.+*/+VT_EXPORT OSStatus+VTRAWProcessingSessionSetProcessingParameters(+VTRAWProcessingSessionRefsession,+CFDictionaryRefprocessingParameters ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+++#pragma mark RAW Processing Parameters+/*!+@constantkVTRAWProcessingParameter_Key+@discussion+The value corresponding to this key is the string used when specifying this parameter when calling VTRAWProcessingSessionSetProcessingParameters.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_Key API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_Name+@discussion+The value corresponding to this key is a localized string which can be displayed in UI representing this parameter.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_Name API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_Description+@discussion+The value corresponding to this key is a localized string with a description of the parameter suitable for display in a tooltip or other descriptive UI.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_Description API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_Enabled+@discussion+The value corresponding to this key is Boolean indicating whether the parameter is enabled and can be modified.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_Enabled API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_ValueType+@discussion+The value corresponding to this key is the type of the parameter - a Boolean, Integer, Float, List, or SubGroup.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_ValueType API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+VT_EXPORT const CFStringRef kVTRAWProcessingParameterValueType_Boolean API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+VT_EXPORT const CFStringRef kVTRAWProcessingParameterValueType_Integer API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+VT_EXPORT const CFStringRef kVTRAWProcessingParameterValueType_Float API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+VT_EXPORT const CFStringRef kVTRAWProcessingParameterValueType_List API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);+VT_EXPORT const CFStringRef kVTRAWProcessingParameterValueType_SubGroup API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_ListArray+@discussion+The value corresponding to this key is a CFArray of CFDictionaries describing each element in the list..+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_ListArray API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // CFArrayRef of CFDictionaries containing kVTRAWProcessingParameterListElement_ keys+VT_EXPORT const CFStringRef kVTRAWProcessingParameterListElement_Label API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // value is a CFString containing a human-readable label for the element, suitable for displaying in a list of options+VT_EXPORT const CFStringRef kVTRAWProcessingParameterListElement_Description API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // value is a CFString containing a human-readable description for the element, suitable for displaying in a tooltip or other descriptive UI+VT_EXPORT const CFStringRef kVTRAWProcessingParameterListElement_ListElementID API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // value is a CFNumber used as the value when setting a value for the List element in the processingParameters dictionary when calling VTRAWProcessingSessionSetProcessingParameters++/*!+@constantkVTRAWProcessingParameter_SubGroup+@discussion+The value corresponding to this key is a CFArray of CFDictionaries representing the individual sub-parameters in this group.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_SubGroup API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos); // CFArrayRef of CFDictionaries containing kVTRAWProcessingParameter keys+++/*!+@constantkVTRAWProcessingParameter_MaximumValue+@discussion+The value corresponding to this key is the maximum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.+This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_MaximumValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_MinimumValue+@discussion+The value corresponding to this key is the minimum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.+This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_MinimumValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_InitialValue+@discussion+The value corresponding to this key is the initial value for this parameter as defined by the container and metadata provided at creation time.+For List types, this is the ListElementID for the List element.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_InitialValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_NeutralValue+@discussion+The value corresponding to this key is a neutral setting for the processor.+For List types, this is the ListElementID for the List element.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_NeutralValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_CameraValue+@discussion+The value corresponding to this key is the "As Shot" value for this parameter as originally captured by the camera.+For List types, this is the ListElementID for the List element.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_CameraValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTRAWProcessingParameter_CurrentValue+@discussion+The value corresponding to this key is the currently configured value for this parameter. For List types, this is the ListElementID for the List element.+*/+VT_EXPORT const CFStringRef kVTRAWProcessingParameter_CurrentValue API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++CM_ASSUME_NONNULL_END++#pragma pack(pop)++#if defined(__cplusplus)+}+#endif++#endif // VTRAWPROCESSINGSESSION_Hdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h2024-04-17 07:19:22+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h2024-05-30 10:32:58@@ -51,24 +51,24 @@ VT_EXPORT OSStatus VTSessionCopySupportedPropertyDictionary( CM_NONNULL VTSessionRefsession,- CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULL supportedPropertyDictionaryOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULL supportedPropertyDictionaryOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED CM_ASSUME_NONNULL_BEGIN-VT_EXPORT const CFStringRef kVTPropertyTypeKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // value is CFStringRef, one of the following:-VT_EXPORT const CFStringRef kVTPropertyType_Enumeration API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // value is one of a list of CFStrings-VT_EXPORT const CFStringRef kVTPropertyType_Boolean API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // value is a CFBoolean-VT_EXPORT const CFStringRef kVTPropertyType_Number API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // value is a CFNumber-VT_EXPORT const CFStringRef kVTPropertyReadWriteStatusKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTPropertyReadWriteStatus_ReadOnly API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTPropertyReadWriteStatus_ReadWrite API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));-VT_EXPORT const CFStringRef kVTPropertyShouldBeSerializedKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFBoolean, false by default-VT_EXPORT const CFStringRef kVTPropertySupportedValueMinimumKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFNumber-VT_EXPORT const CFStringRef kVTPropertySupportedValueMaximumKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFNumber-VT_EXPORT const CFStringRef kVTPropertySupportedValueListKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFArray of appropriate values-VT_EXPORT const CFStringRef kVTPropertyDocumentationKey API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // a CFString for developer eyes only+VT_EXPORT const CFStringRef kVTPropertyTypeKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // value is CFStringRef, one of the following:+VT_EXPORT const CFStringRef kVTPropertyType_Enumeration API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // value is one of a list of CFStrings+VT_EXPORT const CFStringRef kVTPropertyType_Boolean API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // value is a CFBoolean+VT_EXPORT const CFStringRef kVTPropertyType_Number API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // value is a CFNumber+VT_EXPORT const CFStringRef kVTPropertyReadWriteStatusKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTPropertyReadWriteStatus_ReadOnly API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTPropertyReadWriteStatus_ReadWrite API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);+VT_EXPORT const CFStringRef kVTPropertyShouldBeSerializedKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFBoolean, false by default+VT_EXPORT const CFStringRef kVTPropertySupportedValueMinimumKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber+VT_EXPORT const CFStringRef kVTPropertySupportedValueMaximumKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber+VT_EXPORT const CFStringRef kVTPropertySupportedValueListKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFArray of appropriate values+VT_EXPORT const CFStringRef kVTPropertyDocumentationKey API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // a CFString for developer eyes only CM_ASSUME_NONNULL_END@@ -82,7 +82,7 @@ VTSessionSetProperty( CM_NONNULL VTSessionRef session, CM_NONNULL CFStringRef propertyKey,- CM_NULLABLE CFTypeRef propertyValue ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ CM_NULLABLE CFTypeRef propertyValue ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLED@@ -113,7 +113,7 @@ CM_NONNULL VTSessionRefsession, CM_NONNULL CFStringRefpropertyKey, CM_NULLABLE CFAllocatorRefallocator,- void * CM_NULLABLEpropertyValueOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ void * CM_NULLABLEpropertyValueOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_ENABLED /*!@@ -125,7 +125,7 @@ VT_EXPORT OSStatus VTSessionSetProperties( CM_NONNULL VTSessionRefsession,- CM_NONNULL CFDictionaryRefpropertyDictionary ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ CM_NONNULL CFDictionaryRefpropertyDictionary ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CF_IMPLICIT_BRIDGING_DISABLED@@ -140,7 +140,7 @@ VTSessionCopySerializableProperties( CM_NONNULL VTSessionRefsession, CM_NULLABLE CFAllocatorRefallocator,- CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULLdictionaryOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+ CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULLdictionaryOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); #pragma pack(pop)diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h2024-04-17 07:24:08+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h2024-05-30 04:41:54@@ -45,7 +45,7 @@ VTCreateCGImageFromCVPixelBuffer( CM_NONNULL CVPixelBufferRefpixelBuffer, CM_NULLABLE CFDictionaryRefoptions,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CGImageRef * CM_NONNULL imageOut ) API_AVAILABLE(macosx(10.11), ios(9.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CGImageRef * CM_NONNULL imageOut ) API_AVAILABLE(macos(10.11), ios(9.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); /*!@@ -57,8 +57,57 @@ This call will find and register a video decoder for the provided CMVideoCodecType if such a decoder is available on the system but not registered by default. */-VT_EXPORT void VTRegisterSupplementalVideoDecoderIfAvailable( CMVideoCodecType codecType ) API_AVAILABLE(macosx(11.0)) API_UNAVAILABLE(ios, watchos, tvos);+VT_EXPORT void VTRegisterSupplementalVideoDecoderIfAvailable( CMVideoCodecType codecType ) API_AVAILABLE(macos(11.0)) API_UNAVAILABLE(ios, watchos, tvos, visionos);+/*!+@functionVTCopyVideoDecoderExtensionProperties+@abstractReturns information about the Media Extension video decoder required to decode the specified format.+@discussionIf a Media Extension video decoder will be used to decode the specified format, this function will return information about the Media Extension that will be used.+@paramformatDesc+The format description for the video format for which information is being requested.+@parammediaExtensionPropertiesOut+If a Media Extension video decoder will be used to decode the specified format, this pointer will return a dictionary with a set of properties describing the extension video decoder.+@resultIf the function succeeds and a Media Extension video decoder will be used to decode this format, the return value will be noErr. If the function succeeds but a Media Extension video decoder will not be used to decode this format, the return value will be kVTCouldNotFindExtensionErr. Otherwise, the return value will be an error code describing the failure.+*/+VT_EXPORT OSStatus VTCopyVideoDecoderExtensionProperties( CMFormatDescriptionRef CM_NONNULL formatDesc, CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULL mediaExtensionPropertiesOut ) API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@typedefVTDecoderExtensionPropertiesKey+@abstractA key in a Media Extension video decoder properties dictionary.+*/+typedef CFStringRef VTDecoderExtensionPropertiesKey CF_TYPED_ENUM API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++CM_ASSUME_NONNULL_BEGIN++/*!+@constantkVTDecoderExtensionProperties_ExtensionNameKey+@abstractA CFDictionary key for the localized video decoder extension name.+@discussionThis key points to a CFStringRef value with the localized video decoder extension name.+*/+VT_EXPORT VTDecoderExtensionPropertiesKey const kVTDecoderExtensionProperties_ExtensionNameKey API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTDecoderExtensionProperties_ContainingBundleNameKey+@abstractA CFDictionary key for the extension host application localized name.+@discussionThis key points to a CFStringRef value with the localized name of the application hosting the video decoder extension.+*/+VT_EXPORT VTDecoderExtensionPropertiesKey const kVTDecoderExtensionProperties_ContainingBundleNameKey API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTDecoderExtensionProperties_ExtensionURLKey+@abstractA CFDictionary key for the URL of the video decoder extension.+@discussion This key points to a CFURLRef value with the URL for the video decoder extension.+*/+VT_EXPORT VTDecoderExtensionPropertiesKey const kVTDecoderExtensionProperties_ExtensionURLKey API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++/*!+@constantkVTDecoderExtensionProperties_ContainingBundleURLKey+@abstractA CFDictionary key for the URL of the extension host application.+@discussionThis key points to a CFURLRef value with the URL of the extension host application.+*/+VT_EXPORT VTDecoderExtensionPropertiesKey const kVTDecoderExtensionProperties_ContainingBundleURLKey API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos, visionos);++CM_ASSUME_NONNULL_END #pragma pack(pop)diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h2024-04-08 10:11:54+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h2024-05-30 04:51:51@@ -29,26 +29,26 @@ */ VT_EXPORT OSStatus VTCopyVideoEncoderList( CM_NULLABLE CFDictionaryRefoptions,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFArrayRef * CM_NONNULL listOfVideoEncodersOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFArrayRef * CM_NONNULL listOfVideoEncodersOut ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); CM_ASSUME_NONNULL_BEGIN // keys for options dictionary:-VT_EXPORT const CFStringRef kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0)); // optional. CFBoolean. By default, DV encoders will not be included in the list. If present and set to kCFBooleanTrue, DV encoders will be included.+VT_EXPORT const CFStringRef kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFBoolean. By default, DV encoders will not be included in the list. If present and set to kCFBooleanTrue, DV encoders will be included. // returns CFArray of CFDictionaries with following keys:-VT_EXPORT const CFStringRef kVTVideoEncoderList_CodecType API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFNumber for four-char-code (eg, 'avc1')-VT_EXPORT const CFStringRef kVTVideoEncoderList_EncoderID API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFString, reverse-DNS-style unique identifier for this encoder; may be passed as kVTVideoEncoderSpecification_EncoderID-VT_EXPORT const CFStringRef kVTVideoEncoderList_CodecName API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFString, for display to user (eg, "H.264")-VT_EXPORT const CFStringRef kVTVideoEncoderList_EncoderName API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFString, for display to user (eg, "Apple H.264")-VT_EXPORT const CFStringRef kVTVideoEncoderList_DisplayName API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // CFString (same as CodecName if there is only one encoder for that format, otherwise same as EncoderName)-VT_EXPORT const CFStringRef kVTVideoEncoderList_GPURegistryID API_AVAILABLE(macosx(10.14)); // optional. CFNumberRef. If encoder is associated with a specific GPU, this corresponds to the GPU registryID as reported by [MTLDevice registryID].-VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportedSelectionProperties API_AVAILABLE(macosx(10.14), ios(13.0), tvos(13.0)); // optional. CFDictionary. If present, represents a subset of supported properties that may be useful during encoder selection-VT_EXPORT const CFStringRef kVTVideoEncoderList_PerformanceRating API_AVAILABLE(macosx(10.14), ios(13.0), tvos(13.0)); // optional. CFNumber. If present, indicates a relative rating value for the encoder compared to other encoders of the same format.-VT_EXPORT const CFStringRef kVTVideoEncoderList_QualityRating API_AVAILABLE(macosx(10.14), ios(13.0), tvos(13.0)); // optional. CFNumber. If present, indicates a Quality Rating value for the encoder relative to other encoders of the same format. This is a highly generalized value and different encoders may have strengths at different resolutions and bitrates.-VT_EXPORT const CFStringRef kVTVideoEncoderList_InstanceLimit API_AVAILABLE(macosx(10.14), ios(13.0), tvos(13.0)); // optional. CFBoolean. If present and set to kCFBooleanTrue, there is a global instance limit cap on this encoder. Indicates that an encoder is a scarce resource which may potentially be unavailable.-VT_EXPORT const CFStringRef kVTVideoEncoderList_IsHardwareAccelerated API_AVAILABLE(macosx(10.14), ios(13.0), tvos(13.0)); // optional. CFBoolean. If present and set to kCFBooleanTrue, indicates that the encoder is hardware accelerated.-VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportsFrameReordering API_AVAILABLE(macosx(11.0), ios(14.0), tvos(14.0)); // optional. CFBoolean. By default, this is assumed to be true if not present. If present and set to kCFBooleanFalse, indicates that the encoder will not use B frames.-VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportsMultiPass API_UNAVAILABLE(macosx, ios, tvos); // optional. CFBoolean. By default, this is assumed to be false if not present. If present and set to kCFBooleanTrue, indicates that the encoder supports multipass.+VT_EXPORT const CFStringRef kVTVideoEncoderList_CodecType API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFNumber for four-char-code (eg, 'avc1')+VT_EXPORT const CFStringRef kVTVideoEncoderList_EncoderID API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFString, reverse-DNS-style unique identifier for this encoder; may be passed as kVTVideoEncoderSpecification_EncoderID+VT_EXPORT const CFStringRef kVTVideoEncoderList_CodecName API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFString, for display to user (eg, "H.264")+VT_EXPORT const CFStringRef kVTVideoEncoderList_EncoderName API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFString, for display to user (eg, "Apple H.264")+VT_EXPORT const CFStringRef kVTVideoEncoderList_DisplayName API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos); // CFString (same as CodecName if there is only one encoder for that format, otherwise same as EncoderName)+VT_EXPORT const CFStringRef kVTVideoEncoderList_GPURegistryID API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFNumberRef. If encoder is associated with a specific GPU, this corresponds to the GPU registryID as reported by [MTLDevice registryID].+VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportedSelectionProperties API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFDictionary. If present, represents a subset of supported properties that may be useful during encoder selection+VT_EXPORT const CFStringRef kVTVideoEncoderList_PerformanceRating API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFNumber. If present, indicates a relative rating value for the encoder compared to other encoders of the same format.+VT_EXPORT const CFStringRef kVTVideoEncoderList_QualityRating API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFNumber. If present, indicates a Quality Rating value for the encoder relative to other encoders of the same format. This is a highly generalized value and different encoders may have strengths at different resolutions and bitrates.+VT_EXPORT const CFStringRef kVTVideoEncoderList_InstanceLimit API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFBoolean. If present and set to kCFBooleanTrue, there is a global instance limit cap on this encoder. Indicates that an encoder is a scarce resource which may potentially be unavailable.+VT_EXPORT const CFStringRef kVTVideoEncoderList_IsHardwareAccelerated API_AVAILABLE(macos(10.14), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFBoolean. If present and set to kCFBooleanTrue, indicates that the encoder is hardware accelerated.+VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportsFrameReordering API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), visionos(1.0)) API_UNAVAILABLE(watchos); // optional. CFBoolean. By default, this is assumed to be true if not present. If present and set to kCFBooleanFalse, indicates that the encoder will not use B frames.+VT_EXPORT const CFStringRef kVTVideoEncoderList_SupportsMultiPass API_UNAVAILABLE(macos, ios, tvos, watchos, visionos); // optional. CFBoolean. By default, this is assumed to be false if not present. If present and set to kCFBooleanTrue, indicates that the encoder supports multipass. CM_ASSUME_NONNULL_END /*!@@ -63,7 +63,7 @@ CMVideoCodecTypecodecType, CM_NULLABLE CFDictionaryRefencoderSpecification, CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFStringRef* CM_NULLABLE encoderIDOut,-CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef* CM_NULLABLE supportedPropertiesOut ) API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0));+CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef* CM_NULLABLE supportedPropertiesOut ) API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos); #pragma pack(pop)diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h2024-04-17 07:24:07+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h2024-05-30 02:39:20@@ -1,6 +1,6 @@ /* VideoToolbox.h- Copyright (c) 2008-2022 Apple Computer, Inc.+ Copyright (c) 2008-2023 Apple Computer, Inc. All rights reserved. */ #include <VideoToolbox/VTCompressionProperties.h>@@ -17,8 +17,11 @@ #include <VideoToolbox/VTPixelTransferSession.h> #include <VideoToolbox/VTPixelRotationProperties.h> #include <VideoToolbox/VTPixelRotationSession.h>-#if !TARGET_OS_IPHONE+#if ( !TARGET_OS_IPHONE || TARGET_OS_MACCATALYST )+#include <VideoToolbox/VTRAWProcessingSession.h>+#include <VideoToolbox/VTRAWProcessingProperties.h> #include <VideoToolbox/VTProfessionalVideoWorkflow.h>-#endif // !TARGET_OS_IPHONE--+#endif // ( !TARGET_OS_IPHONE || TARGET_OS_MACCATALYST )+#if ( TARGET_OS_OSX || TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_VISION )+#include <VideoToolbox/VTHDRPerFrameMetadataGenerationSession.h>+#endif // ( TARGET_OS_OSX || TARGET_OS_IOS || TARGET_OS_TVOS || TARGET_OS_XR )