-
Notifications
You must be signed in to change notification settings - Fork 516
VideoToolbox iOS xcode16.0 b1
Rolf Bjarne Kvinge edited this page Aug 30, 2024
·
3 revisions
#VideoToolbox.framework https://github.com/xamarin/xamarin-macios/pull/21157
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h 2024-04-17 07:10:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionProperties.h 2024-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>
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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_TargetQualityForAlpha API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0)); // Read/write, CFNumber<Float>, Optional, NULL by default
+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_TargetQualityForAlpha API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos); // Read/write, CFNumber<Float>, Optional, NULL by default
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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);
/*!
@constant kVTCompressionPropertyKey_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);
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTSampleAttachmentQualityMetricsKey_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
/*!
@constant kVTSampleAttachmentQualityMetricsKey_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
/*!
@constant kVTSampleAttachmentQualityMetricsKey_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
/*!
@constant kVTVideoEncoderSpecification_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTVideoEncoderSpecification_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
/*!
@constant kVTVideoEncoderSpecification_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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_AlphaChannelMode API_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_StraightAlpha API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0));
-VT_EXPORT const CFStringRef kVTAlphaChannelMode_PremultipliedAlpha API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0));
+VT_EXPORT const CFStringRef kVTCompressionPropertyKey_AlphaChannelMode API_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_StraightAlpha API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+VT_EXPORT const CFStringRef kVTAlphaChannelMode_PremultipliedAlpha API_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
/*!
@constant kVTCompressionPropertyKey_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>
/*!
@constant kVTCompressionPropertyKey_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>
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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);
/*!
@constant kVTVideoEncoderSpecification_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTEncodeFrameOptionKey_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
/*!
@constant kVTEncodeFrameOptionKey_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
/*!
@constant kVTSampleAttachmentKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
/*!
@constant kVTCompressionPropertyKey_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
+
+/*!
+ @constant kVTCompressionPropertyKey_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.
+
+/*!
+ @constant kVTCompressionPropertyKey_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.
+
+/*!
+ @constant kVTCompressionPropertyKey_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
+
+/*!
+ @constant kVTCompressionPropertyKey_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_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h 2024-04-17 07:19:22
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTCompressionSession.h 2024-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 CFAllocatorRef compressedDataAllocator,
CM_NULLABLE VTCompressionOutputCallback outputCallback,
void * CM_NULLABLE outputCallbackRefCon,
- 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);
/*!
@function VTCompressionSessionGetPixelBufferPool
@@ -193,7 +193,7 @@
*/
VT_EXPORT CM_NULLABLE CVPixelBufferPoolRef
VTCompressionSessionGetPixelBufferPool(
- CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ CM_NONNULL VTCompressionSessionRef session ) API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTCompressionSessionPrepareToEncodeFrames
@@ -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);
/*!
@function VTCompressionSessionEncodeFrame
@@ -251,7 +251,7 @@
CMTime duration, // may be kCMTimeInvalid
CM_NULLABLE CFDictionaryRef frameProperties,
void * CM_NULLABLE sourceFrameRefcon,
- VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut ) 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);
/*!
@function VTCompressionSessionEncodeFrameWithOutputHandler
@@ -318,7 +318,7 @@
CMTime duration, // may be kCMTimeInvalid
CM_NULLABLE CFDictionaryRef frameProperties, // may be NULL
VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut,
- CM_NONNULL VTCompressionOutputHandler outputHandler ) API_AVAILABLE(macosx(10.11), ios(9.0), tvos(10.2));
+ CM_NONNULL VTCompressionOutputHandler outputHandler ) 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 VTCompressionSessionRef session,
- CMTime completeUntilPresentationTimeStamp) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2)); // complete all frames if non-numeric
+ CMTime completeUntilPresentationTimeStamp) 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);
/*!
@function VTCompressionSessionEncodeMultiImageFrame
@@ -384,7 +384,7 @@
CMTime duration, // may be kCMTimeInvalid
CM_NULLABLE CFDictionaryRef frameProperties,
void * CM_NULLABLE sourceFrameRefcon,
- VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift");
+ VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut ) 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 @@
CMTime duration, // may be kCMTimeInvalid
CM_NULLABLE CFDictionaryRef frameProperties, // may be NULL
VTEncodeInfoFlags * CM_NULLABLE infoFlagsOut,
- CM_NONNULL VTCompressionOutputHandler outputHandler ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_REFINED_FOR_SWIFT;
+ CM_NONNULL VTCompressionOutputHandler outputHandler ) 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);
/*!
@function VTCompressionSessionBeginPass
@@ -456,7 +456,7 @@
VTCompressionSessionBeginPass(
CM_NONNULL VTCompressionSessionRef session,
VTCompressionSessionOptionFlags beginPassFlags,
- uint32_t * CM_NULLABLE reserved) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ uint32_t * CM_NULLABLE reserved) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTCompressionSessionEndPass
@@ -473,7 +473,7 @@
VTCompressionSessionEndPass(
CM_NONNULL VTCompressionSessionRef session,
Boolean * CM_NULLABLE furtherPassesRequestedOut,
- uint32_t * CM_NULLABLE reserved) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ uint32_t * CM_NULLABLE reserved) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTCompressionSessionGetTimeRangesForNextPass
@@ -493,7 +493,7 @@
VTCompressionSessionGetTimeRangesForNextPass(
CM_NONNULL VTCompressionSessionRef session,
CMItemCount * CM_NONNULL timeRangeCountOut,
- const CMTimeRange * CM_NULLABLE * CM_NONNULL timeRangeArrayOut ) 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_NONNULL timeRangeArrayOut ) 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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h 2024-04-17 06:40:46
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionProperties.h 2024-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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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.
/*!
@constant kVTDecompressionPropertyKey_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.
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTVideoDecoderSpecification_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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);
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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].
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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
/*!
@constant kVTDecompressionPropertyKey_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.
/*!
@constant kVTVideoDecoderSpecification_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
/*!
@constant kVTVideoDecoderSpecification_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
/*!
@constant kVTDecompressionPropertyKey_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_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h 2024-04-17 07:24:08
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h 2024-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);
/*!
@function VTDecompressionSessionCreate
@@ -127,7 +127,7 @@
CM_NULLABLE CFDictionaryRef videoDecoderSpecification,
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);
/*!
@function VTDecompressionSessionDecodeFrame
@@ -187,7 +187,7 @@
CM_NONNULL CMSampleBufferRef sampleBuffer,
VTDecodeFrameFlags decodeFlags, // bit 0 is enableAsynchronousDecompression
void * CM_NULLABLE sourceFrameRefCon,
- 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);
/*!
@function VTDecompressionSessionDecodeFrameWithOutputHandler
@@ -258,7 +258,7 @@
CM_NONNULL CMSampleBufferRef sampleBuffer,
VTDecodeFrameFlags decodeFlags, // bit 0 is enableAsynchronousDecompression
VTDecodeInfoFlags * CM_NULLABLE infoFlagsOut,
- CM_NONNULL VTDecompressionOutputHandler outputHandler ) API_AVAILABLE(macosx(10.11), ios(9.0), tvos(10.2));
+ CM_NONNULL VTDecompressionOutputHandler outputHandler ) 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 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);
/*!
@function VTDecompressionSessionCanAcceptFormatDescription
@@ -286,7 +286,7 @@
VT_EXPORT Boolean
VTDecompressionSessionCanAcceptFormatDescription(
CM_NONNULL VTDecompressionSessionRef session,
- CM_NONNULL CMFormatDescriptionRef newFormatDesc ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ CM_NONNULL CMFormatDescriptionRef newFormatDesc ) 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 VTDecompressionSessionRef session,
- 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);
/*!
@typedef VTDecompressionOutputMultiImageCallback
@@ -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);
/*!
@function VTDecompressionSessionSetMultiImageCallback
@@ -397,7 +397,7 @@
VTDecompressionSessionSetMultiImageCallback(
CM_NONNULL VTDecompressionSessionRef decompressionSession,
CM_NONNULL VTDecompressionOutputMultiImageCallback outputMultiImageCallback,
- void * CM_NULLABLE outputMultiImageRefcon) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_SWIFT_UNAVAILABLE("Unavailable in Swift");
+ void * CM_NULLABLE outputMultiImageRefcon) 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);
/*!
@function VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler
@@ -477,7 +477,7 @@
CM_NONNULL CMSampleBufferRef sampleBuffer,
VTDecodeFrameFlags decodeFlags, // bit 0 is enableAsynchronousDecompression
VTDecodeInfoFlags * CM_NULLABLE infoFlagsOut,
- CM_NONNULL VTDecompressionMultiImageCapableOutputHandler multiImageCapableOutputHandler ) API_AVAILABLE(macosx(14.0), ios(17.0)) API_UNAVAILABLE(tvos) CF_REFINED_FOR_SWIFT;
+ CM_NONNULL VTDecompressionMultiImageCapableOutputHandler multiImageCapableOutputHandler ) 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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h 2024-04-17 07:14:31
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h 2024-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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h 2024-04-17 07:10:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTFrameSilo.h 2024-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 CFURLRef fileURL,
CMTimeRange timeRange, /* can be kCMTimeRangeInvalid */
CM_NULLABLE CFDictionaryRef options,
- 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 VTFrameSiloRef silo,
- CM_NONNULL CMSampleBufferRef sampleBuffer ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ CM_NONNULL CMSampleBufferRef sampleBuffer ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTFrameSiloSetTimeRangesForNextPass
@@ -102,7 +102,7 @@
VTFrameSiloSetTimeRangesForNextPass(
CM_NONNULL VTFrameSiloRef silo,
CMItemCount timeRangeCount,
- const CMTimeRange * CM_NONNULL timeRangeArray ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ const CMTimeRange * CM_NONNULL timeRangeArray ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTFrameSiloGetProgressOfCurrentPass
@@ -115,7 +115,7 @@
VT_EXPORT OSStatus
VTFrameSiloGetProgressOfCurrentPass(
CM_NONNULL VTFrameSiloRef silo,
- Float32 * CM_NONNULL progressOut ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ Float32 * CM_NONNULL progressOut ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@function VTFrameSiloCallFunctionForEachSampleBuffer
@@ -139,7 +139,7 @@
CM_NONNULL VTFrameSiloRef silo,
CMTimeRange timeRange,
void * CM_NULLABLE refcon,
- 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 VTFrameSiloRef silo,
CMTimeRange timeRange,
- 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_DISABLED
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h 1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTHDRPerFrameMetadataGenerationSession.h 2024-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);
+
+/*!
+ @constant kVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision
+ @abstract Specifies 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);
+
+/*!
+ @constant kVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats
+ @abstract Specifies 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
+
+
+/*!
+ @typedef VTHDRPerFrameMetadataGenerationSessionRef
+ @abstract A 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:
+
+/*!
+ @function VTHDRPerFrameMetadataGenerationSessionCreate
+ @abstract Creates 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 CFAllocatorRef allocator,
+ float framesPerSecond,
+ CM_NULLABLE CFDictionaryRef options,
+ 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);
+
+/*!
+ @function VTHDRPerFrameMetadataGenerationSessionAttachMetadata
+ @abstract Attaches 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_H
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h 2024-04-17 07:19:22
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTMultiPassStorage.h 2024-05-30 10:44:42
@@ -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 CFURLRef fileURL,
CMTimeRange timeRange, /* can be kCMTimeRangeInvalid */
CM_NULLABLE CFDictionaryRef options,
- 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 VTMultiPassStorageRef multiPassStorage ) API_AVAILABLE(macosx(10.10), ios(8.0), tvos(10.2));
+ CM_NONNULL VTMultiPassStorageRef multiPassStorage ) API_AVAILABLE(macos(10.10), ios(8.0), tvos(10.2), visionos(1.0)) API_UNAVAILABLE(watchos);
CF_IMPLICIT_BRIDGING_DISABLED
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h 2024-04-17 07:19:22
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationProperties.h 2024-05-30 10:44:42
@@ -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_CW90 API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));
-VT_EXPORT const CFStringRef kVTRotation_180 API_AVAILABLE(macosx(13.0), ios(16.0), tvos(16.0), watchos(9.0));
-VT_EXPORT const CFStringRef kVTRotation_CCW90 API_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_CW90 API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+VT_EXPORT const CFStringRef kVTRotation_180 API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+VT_EXPORT const CFStringRef kVTRotation_CCW90 API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), visionos(1.0)) API_UNAVAILABLE(watchos);
/*!
@constant kVTPixelRotationPropertyKey_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);
/*!
@constant kVTPixelRotationPropertyKey_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_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h 2024-04-17 07:10:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelRotationSession.h 2024-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);
/*!
@function VTPixelRotationSessionCreate
@@ -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);
/*!
@function VTPixelRotationSessionInvalidate
@@ -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);
/*!
@function VTPixelRotationSessionRotateImage
@@ -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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h 2024-04-17 07:14:32
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferProperties.h 2024-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_*
/*
@constant kVTScalingMode_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.
/*
@constant kVTScalingMode_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.
/*
@constant kVTScalingMode_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
/*
@constant kVTScalingMode_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
/*!
@constant kVTPixelTransferPropertyKey_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.
/*!
@constant kVTPixelTransferPropertyKey_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
/*!
@constant kVTPixelTransferPropertyKey_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
/*!
@constant kVTPixelTransferPropertyKey_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
/*!
@constant kVTPixelTransferPropertyKey_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_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h 2024-04-17 07:14:32
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTPixelTransferSession.h 2024-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);
/*!
@function VTPixelTransferSessionCreate
@@ -57,7 +57,7 @@
VT_EXPORT OSStatus
VTPixelTransferSessionCreate(
CM_NULLABLE CFAllocatorRef allocator,
- 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);
/*!
@function VTPixelTransferSessionTransferImage
@@ -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_DISABLED
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h 2024-04-17 07:19:22
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTSession.h 2024-05-30 10:32:58
@@ -51,24 +51,24 @@
VT_EXPORT OSStatus
VTSessionCopySupportedPropertyDictionary(
CM_NONNULL VTSessionRef session,
- 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 VTSessionRef session,
CM_NONNULL CFStringRef propertyKey,
CM_NULLABLE CFAllocatorRef allocator,
- void * CM_NULLABLE propertyValueOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ void * CM_NULLABLE propertyValueOut ) 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 VTSessionRef session,
- CM_NONNULL CFDictionaryRef propertyDictionary ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ CM_NONNULL CFDictionaryRef propertyDictionary ) 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 VTSessionRef session,
CM_NULLABLE CFAllocatorRef allocator,
- CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULL dictionaryOut ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
+ CM_RETURNS_RETAINED_PARAMETER CM_NULLABLE CFDictionaryRef * CM_NONNULL dictionaryOut ) 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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h 2024-04-17 07:19:22
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTUtilities.h 2024-05-30 04:41:54
@@ -45,7 +45,7 @@
VTCreateCGImageFromCVPixelBuffer(
CM_NONNULL CVPixelBufferRef pixelBuffer,
CM_NULLABLE CFDictionaryRef options,
- 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);
+/*!
+ @function VTCopyVideoDecoderExtensionProperties
+ @abstract Returns information about the Media Extension video decoder required to decode the specified format.
+ @discussion If 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.
+ @param formatDesc
+ The format description for the video format for which information is being requested.
+ @param mediaExtensionPropertiesOut
+ 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.
+ @result If 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);
+
+/*!
+ @typedef VTDecoderExtensionPropertiesKey
+ @abstract A 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
+
+/*!
+ @constant kVTDecoderExtensionProperties_ExtensionNameKey
+ @abstract A CFDictionary key for the localized video decoder extension name.
+ @discussion This 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);
+
+/*!
+ @constant kVTDecoderExtensionProperties_ContainingBundleNameKey
+ @abstract A CFDictionary key for the extension host application localized name.
+ @discussion This 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);
+
+/*!
+ @constant kVTDecoderExtensionProperties_ExtensionURLKey
+ @abstract A 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);
+
+/*!
+ @constant kVTDecoderExtensionProperties_ContainingBundleURLKey
+ @abstract A CFDictionary key for the URL of the extension host application.
+ @discussion This 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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h 2024-04-08 10:11:54
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTVideoEncoderList.h 2024-05-30 04:51:51
@@ -29,26 +29,26 @@
*/
VT_EXPORT OSStatus VTCopyVideoEncoderList(
CM_NULLABLE CFDictionaryRef options,
- 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 @@
CMVideoCodecType codecType,
CM_NULLABLE CFDictionaryRef encoderSpecification,
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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h 2024-04-17 07:19:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VideoToolbox.h 2024-05-30 10:44:41
@@ -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 )
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status
- xcode16.2 Binding Status