Skip to content

CoreVideo tvOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Sep 2, 2024 · 3 revisions

#CoreVideo.framework https://github.com/xamarin/xamarin-macios/pull/21163

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBuffer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBuffer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBuffer.h	2024-04-13 14:56:42
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBuffer.h	2024-05-30 04:46:49
@@ -100,7 +100,7 @@
     @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment retrieves an attachement identified by a key.
     @param      buffer  Target CVBuffer object.
     @param      key	Key in form of a CFString identifying the desired attachment.
-    @param      attachmentMode.  Returns the mode of the attachment, if desired.  May be NULL.
+    @param      attachmentMode  Returns the mode of the attachment, if desired.  May be NULL.
     @result     If found the attachment object
 */
 CV_EXPORT CFTypeRef CV_NULLABLE CVBufferGetAttachment( CVBufferRef CV_NONNULL buffer, CFStringRef CV_NONNULL key, CVAttachmentMode * CV_NULLABLE attachmentMode )  API_DEPRECATED_WITH_REPLACEMENT("CVBufferCopyAttachment", macos(10.4, 12.0), ios(4.0,15.0), tvos(9.0, 15.0), watchos(4.0, 8.0));
@@ -165,7 +165,7 @@
     @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferCopyAttachment retrieves a retained attachment identified by a key.
     @param      buffer  Target CVBuffer object.
     @param      key    Key in form of a CFString identifying the desired attachment.
-    @param      attachmentMode.  Returns the mode of the attachment, if desired.  May be NULL.
+    @param      attachmentMode  Returns the mode of the attachment, if desired.  May be NULL.
     @result     If found the attachment object, return the value; otherwize, return NULL.
 */
 CV_EXPORT CFTypeRef CV_NULLABLE CF_RETURNS_RETAINED CVBufferCopyAttachment( CVBufferRef CV_NONNULL buffer, CFStringRef CV_NONNULL key, CVAttachmentMode * CV_NULLABLE attachmentMode ) API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVImageBuffer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVImageBuffer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVImageBuffer.h	2024-03-22 19:42:43
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVImageBuffer.h	2024-05-30 04:55:26
@@ -183,7 +183,7 @@
 /*!
     @function   CVImageBufferIsFlipped
     @abstract   Returns whether the image is flipped vertically or not.
-    @param      CVImageBuffer target
+    @param      imageBuffer target
     @result     True if 0,0 in the texture is upper left, false if 0,0 is lower left.
 */
 CV_EXPORT Boolean CVImageBufferIsFlipped( CVImageBufferRef CV_NONNULL imageBuffer ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
@@ -227,12 +227,15 @@
 // CFData (8 bytes) containing big-endian data matching payload of Ambient Viewing Environment SEI message
 CV_EXPORT const CFStringRef CV_NONNULL kCVImageBufferAmbientViewingEnvironmentKey API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0), watchos(8.0));
 
+// CFNumberRef integer value in millilux
+CV_EXPORT const CFStringRef CV_NONNULL kCVImageBufferSceneIlluminationKey API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
 /*!
 	@constant    kCVImageBufferRegionOfInterestKey
 	@abstract
-		Specifies region of interest that image statistics cover. This value should be a CGRect dictionary created by CGRectCreateDictionaryRepresentation(). The origin in the CGRect represents the x,y coordinate within the CVPixelBuffer where region of interest is located.
+		Specifies region of interest that image statistics cover.
 	@discussion
-		
+		This value should be a CGRect dictionary created by CGRectCreateDictionaryRepresentation(). The origin in the CGRect represents the x,y coordinate within the CVPixelBuffer where region of interest is located.
 */
 CV_EXPORT const CFStringRef CV_NONNULL kCVImageBufferRegionOfInterestKey           API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0), watchos(8.0));
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBuffer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBuffer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBuffer.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBuffer.h	2024-05-30 03:37:44
@@ -0,0 +1,59 @@
+/*
+ *  CVMetalBuffer.h
+ *  CoreVideo
+ *
+ *  Copyright (c) 2023 Apple Inc. All rights reserved.
+ */
+ 
+ /*! @header CVMetalBuffer.h
+	@copyright 2023 Apple Inc. All rights reserved.
+	@availability iOS 18.0 or later. mac 15.0 or later.
+    @discussion A CoreVideo Metal buffer derives from a buffer, and is used for supplying buffers to Metal.
+*/
+
+#if !defined(__COREVIDEO_CVMETALBUFFER_H__)
+#define __COREVIDEO_CVMETALBUFFER_H__ 1
+
+#include <CoreVideo/CVBase.h>
+#include <CoreVideo/CVReturn.h>
+#include <CoreVideo/CVImageBuffer.h>
+#include <CoreFoundation/CoreFoundation.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#if COREVIDEO_SUPPORTS_IOSURFACE && COREVIDEO_SUPPORTS_METAL
+
+/*!
+    @typedef    CVMetalBufferRef
+    @abstract   Metal buffer based CVPixelBuffer wrapped buffer
+    @discussion IMPORTANT NOTE: Clients should retain CVMetalBuffer objects until they are done using the contents in them.
+                Retaining a CVMetalBuffer is your way to indicate that you're still using the image in the buffer, and that it should not be recycled yet.
+*/
+typedef CVBufferRef CVMetalBufferRef CV_SWIFT_NONSENDABLE;
+    
+CV_EXPORT CFTypeID CVMetalBufferGetTypeID(void) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+    
+#if defined(__OBJC__)
+@protocol MTLBuffer;
+/*!
+    @function   CVMetalBufferGetBuffer
+    @abstract   Returns the Metal MTLBuffer object of the CVMetalBufferRef
+    @param      buffer Target CVMetalBuffer
+    @result     Metal buffer
+*/
+CV_EXPORT id<MTLBuffer> CV_NULLABLE CVMetalBufferGetBuffer(CVMetalBufferRef CV_NONNULL buffer) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+#endif // defined(__OBJC__)
+
+#endif // COREVIDEO_SUPPORTS_IOSURFACE && COREVIDEO_SUPPORTS_METAL
+	
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBufferCache.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBufferCache.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBufferCache.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVMetalBufferCache.h	2024-05-30 02:55:29
@@ -0,0 +1,98 @@
+/*
+ *  CVMetalBufferCache.h
+ *  CoreVideo
+ *
+ *  Copyright (c) 2023 Apple Inc. All rights reserved.
+ */
+
+/*! @header CVMetalBufferCache.h
+   @copyright 2023 Apple Inc. All rights reserved.
+   @availability iOS 18.0 or later. mac 15.0 or later.
+   @discussion A CoreVideo Metal buffer derives from a buffer, and is used for supplying buffers to Metal.
+*/
+
+#if !defined(__COREVIDEO__CVMETALBUFFERCACHE_H__)
+#define __COREVIDEO__CVMETALBUFFERCACHE_H__ 1
+
+#include <CoreVideo/CVBase.h>
+#include <CoreVideo/CVReturn.h>
+#include <CoreVideo/CVImageBuffer.h>
+#include <CoreVideo/CVMetalBuffer.h>
+
+#if COREVIDEO_SUPPORTS_IOSURFACE && COREVIDEO_SUPPORTS_METAL
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+// By default, buffers will age out after one second.
+// Setting a maximum buffer age of zero will disable the age-out mechanism completely.
+// CVMetalBufferCacheFlush() can be used to force eviction in either case.
+CV_EXPORT const CFStringRef CV_NONNULL kCVMetalBufferCacheMaximumBufferAgeKey API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+typedef struct CV_BRIDGED_TYPE(id) __CVMetalBufferCache *CVMetalBufferCacheRef CV_SWIFT_NONSENDABLE;
+
+CV_EXPORT CFTypeID CVMetalBufferCacheGetTypeID(void) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+#if defined(__OBJC__)
+
+@protocol MTLDevice;
+    
+/*!
+    @function   CVMetalBufferCacheCreate
+    @abstract   Creates a new Buffer Cache.
+    @param      allocator The CFAllocatorRef to use for allocating the cache.  May be NULL.
+    @param      cacheAttributes A CFDictionaryRef containing the attributes of the cache itself. May be NULL.
+    @param      metalDevice The Metal device for which the buffer objects will be created.
+    @param      cacheOut   The newly created buffer cache will be placed here
+    @result     Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVMetalBufferCacheCreate(
+    CFAllocatorRef CV_NULLABLE allocator,
+    CFDictionaryRef CV_NULLABLE cacheAttributes,
+    id<MTLDevice> CV_NONNULL metalDevice,
+    CV_RETURNS_RETAINED_PARAMETER CVMetalBufferCacheRef CV_NULLABLE * CV_NONNULL cacheOut
+) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+#endif // __OBJC__
+
+/*!
+    @function   CVMetalBufferCacheCreateBuffer
+    @abstract   Creates a CVMetalBuffer object from an existing CVImageBuffer
+    @param      allocator The CFAllocatorRef to use for allocating the CVMetalBuffer object. May be NULL.
+    @param      bufferCache The buffer cache object that will manage the buffer.
+    @param      buffer The CVImageBuffer that you want to create a CVMetalBuffer from.
+    @param      bufferOut The newly created buffer object will be placed here.
+    @result     Returns kCVReturnSuccess on success
+    @discussion Creates or returns a cached CVMetalBuffer object mapped to the CVImageBuffer.
+                This creates a live binding between the CVImageBuffer and underlying CVMetalBuffer buffer object.
+ 
+                IMPORTANT NOTE: Clients should retain CVMetalBuffer objects until they are done using the images in them.
+                Retaining a CVMetalBuffer is your way to indicate that you're still using the image in the buffer, and that it should not be recycled yet.
+*/
+CV_EXPORT CVReturn CVMetalBufferCacheCreateBufferFromImage(
+    CFAllocatorRef CV_NULLABLE allocator,
+    CVMetalBufferCacheRef CV_NONNULL bufferCache,
+    CVImageBufferRef CV_NONNULL imageBuffer,
+    CV_RETURNS_RETAINED_PARAMETER CVMetalBufferRef CV_NULLABLE * CV_NONNULL bufferOut
+) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+/*!
+    @function   CVMetalBufferCacheFlush
+    @abstract   Performs internal housekeeping/recycling operations
+    @discussion This call must be made periodically to give the buffer cache a chance to do internal housekeeping operations.
+    @param      bufferCache The buffer cache object to flush
+    @param      options Currently unused, set to 0.
+*/
+CV_EXPORT void CVMetalBufferCacheFlush(
+    CVMetalBufferCacheRef CV_NONNULL bufferCache,
+    CVOptionFlags options
+) API_AVAILABLE(macosx(15.0), ios(18.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif // COREVIDEO_SUPPORTS_IOSURFACE && COREVIDEO_SUPPORTS_METAL
+
+#endif // __COREVIDEO__CVMETALBUFFERCACHE_H__
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h	2024-04-13 13:56:20
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h	2024-05-30 10:28:16
@@ -62,6 +62,7 @@
   kCVPixelFormatType_32AlphaGray    = 'b32a',     /* 32 bit AlphaGray, 16-bit big-endian samples, black is zero */
   kCVPixelFormatType_16Gray         = 'b16g',     /* 16 bit Grayscale, 16-bit big-endian samples, black is zero */
   kCVPixelFormatType_30RGB          = 'R10k',     /* 30 bit RGB, 10-bit big-endian samples, 2 unused padding bits (at least significant end). */
+  kCVPixelFormatType_30RGB_r210     = 'r210',     /* 30 bit RGB, 10-bit big-endian samples, 2 unused padding bits (at most significant end), video-range (64-940). */
   kCVPixelFormatType_422YpCbCr8     = '2vuy',     /* Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 */
   kCVPixelFormatType_4444YpCbCrA8   = 'v408',     /* Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A */
   kCVPixelFormatType_4444YpCbCrA8R  = 'r408',     /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased YUV, ordered A Y' Cb Cr */
@@ -145,12 +146,14 @@
 #endif
 {
 	kCVPixelFormatType_Lossless_32BGRA                               = '&BGA', /* Lossless-compressed form of kCVPixelFormatType_32BGRA. */
-	
+	kCVPixelFormatType_Lossless_64RGBAHalf                           = '&RhA', /* Lossless-compressed form of kCVPixelFormatType_64RGBAHalf.  No CVPlanarPixelBufferInfo struct. */
+
 	// Lossless-compressed Bi-planar YCbCr pixel format types
 	kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarVideoRange         = '&8v0', /* Lossless-compressed form of kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange.  No CVPlanarPixelBufferInfo struct. */
 	kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarFullRange          = '&8f0', /* Lossless-compressed form of kCVPixelFormatType_420YpCbCr8BiPlanarFullRange.  No CVPlanarPixelBufferInfo struct. */
 	kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarVideoRange  = '&xv0', /* Lossless-compressed-packed form of kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange.  No CVPlanarPixelBufferInfo struct. Format is compressed-packed with no padding bits between pixels. */
 	kCVPixelFormatType_Lossless_422YpCbCr10PackedBiPlanarVideoRange  = '&xv2', /* Lossless-compressed form of kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange.  No CVPlanarPixelBufferInfo struct. Format is compressed-packed with no padding bits between pixels. */
+	kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarFullRange   = '&xf0', /* Lossless-compressed form of kCVPixelFormatType_420YpCbCr10BiPlanarFullRange.  No CVPlanarPixelBufferInfo struct. Format is compressed-packed with no padding bits between pixels. */
 };
 
 /*
@@ -337,7 +340,7 @@
     @function   CVPixelBufferRetain
     @abstract   Retains a CVPixelBuffer object
     @discussion Equivalent to CFRetain, but NULL safe
-    @param      buffer A CVPixelBuffer object that you want to retain.
+    @param      texture A CVPixelBuffer object that you want to retain.
     @result     A CVPixelBuffer object that is the same as the passed in buffer.
 */
 CV_EXPORT CVPixelBufferRef CV_NULLABLE CVPixelBufferRetain( CVPixelBufferRef CV_NULLABLE texture ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
@@ -346,7 +349,7 @@
     @function   CVPixelBufferRelease
     @abstract   Releases a CVPixelBuffer object
     @discussion Equivalent to CFRelease, but NULL safe
-    @param      buffer A CVPixelBuffer object that you want to release.
+    @param      texture A CVPixelBuffer object that you want to release.
 */
 CV_EXPORT void CVPixelBufferRelease( CV_RELEASES_ARGUMENT CVPixelBufferRef CV_NULLABLE texture ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelFormatDescription.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelFormatDescription.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelFormatDescription.h	2024-04-13 12:56:23
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelFormatDescription.h	2024-05-30 02:55:29
@@ -21,7 +21,7 @@
 extern "C" {
 #endif
 
-/* This document is influenced by Ice Floe #19: http://developer.apple.com/quicktime/icefloe/dispatch019.html */
+/* This document is influenced by Ice Floe #19: https://developer.apple.com/library/archive/technotes/tn2162/_index.html */
 
 /* The canonical name for the format.  This should be the same as the codec name you'd use in QT */
 CV_EXPORT const CFStringRef CV_NONNULL kCVPixelFormatName __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
@@ -64,7 +64,7 @@
    level dictionary. */
 CV_EXPORT const CFStringRef CV_NONNULL kCVPixelFormatPlanes __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
 
-/* The following keys describe the requirements/layout of a a single image plane. */
+/* The following keys describe the requirements/layout of a single image plane. */
 
 /* Used to assist with allocating memory for pixel formats that don't have an integer value for
    bytes per pixel */
@@ -85,7 +85,10 @@
    bitsPerPixel value. */
 CV_EXPORT const CFStringRef CV_NONNULL kCVPixelFormatBitsPerBlock __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
 
-/* Used to state requirements on block multiples.  v210 would be '8' here for the horizontal case, 
+/* Indicates, if available, the logical bit depth of each component of the plane. */
+CV_EXPORT const CFStringRef CV_NONNULL kCVPixelFormatBitsPerComponent API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
+/* Used to state requirements on block multiples.  v210 would be '8' here for the horizontal case,
    to match the standard v210 row alignment value of 48.
    These may be assumed as 1 if not present. */
 CV_EXPORT const CFStringRef CV_NONNULL kCVPixelFormatBlockHorizontalAlignment __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_4_0);
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h	2024-04-13 13:56:20
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h	2024-05-30 03:37:44
@@ -56,6 +56,8 @@
 #if TARGET_OS_MAC
 #include <CoreVideo/CVMetalTexture.h>
 #include <CoreVideo/CVMetalTextureCache.h>
+#include <CoreVideo/CVMetalBuffer.h>
+#include <CoreVideo/CVMetalBufferCache.h>
 #endif
 #endif
 #endif
Clone this wiki locally