-
Notifications
You must be signed in to change notification settings - Fork 516
CoreVideo tvOS xcode13.0 rc
Manuel de la Pena edited this page Sep 20, 2021
·
2 revisions
#CoreVideo.framework ##mandel
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h 2021-08-07 05:20:11.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h 2021-08-25 14:04:30.000000000 -0400
@@ -149,8 +149,35 @@
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. */
};
+/*
+ Lossy-Compressed Pixel Formats
+
+ The following pixel formats can be used to reduce memory bandwidth and memory footprint involved in large-scale pixel data flow, which can have benefits for battery life and thermal efficiency.
+ Similar to lossless pixel formats, they work by dividing pixel buffers into fixed-width, fixed-height, fixed-byte-size blocks. Pixel buffers allocated using lossy formats have reduced memory footprint than their lossless equivalents; this reduced footprint may or may not result in loss of quality depending on the content of the individual block. Hardware units (video codecs, GPU, ISP, etc.) attempt to write a compressed encoding for each block using either a lossless or lossy algorithm. If a block of pixels is successfully encoded within its pre-defined memory footprint, then the lossless alogrithm is applied; if the encoded block of pixels exceeds the pre-defined memory footprint then the lossy algorithm is applied. Each compressed pixel buffer has a separate area of metadata recording the encoding choices for each pixel block.
+
+ IMPORTANT CAVEATS:
+ Some devices do not support these pixel formats at all.
+ Before using one of these pixel formats, call CVIsCompressedPixelFormatAvailable() to check that it is available on the current device.
+ On different devices, the concrete details of these formats may be different.
+ On different devices, the degree and details of support by hardware units (video codecs, GPU, ISP, etc.) may be different.
+ Do not ship code that reads the contents of lossless-compressed pixel buffers directly with the CPU, or which saves or transfers it to other devices, as this code will break with future hardware.
+ The bandwidth benefits of these formats are generally outweighed by the cost of buffer copies to convert to uncompressed pixel formats, so if you find that you need to perform a buffer copy to covert for CPU usage, it's likely that you would have been better served by using the equivalent uncompressed pixel formats in the first place.
+*/
+#if COREVIDEO_USE_DERIVED_ENUMS_FOR_CONSTANTS
+enum : OSType
+#else
+enum
+#endif
+{
+ kCVPixelFormatType_Lossy_32BGRA = '-BGA', /* Lossy-compressed form of kCVPixelFormatType_32BGRA. No CVPlanarPixelBufferInfo struct. */
+ kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarVideoRange = '-8v0', /* Lossy-compressed form of kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange. No CVPlanarPixelBufferInfo struct. */
+ kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarFullRange = '-8f0', /* Lossy-compressed form of kCVPixelFormatType_420YpCbCr8BiPlanarFullRange. No CVPlanarPixelBufferInfo struct. */
+ kCVPixelFormatType_Lossy_420YpCbCr10PackedBiPlanarVideoRange = '-xv0', /* Lossy-compressed form of kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange. No CVPlanarPixelBufferInfo struct. Format is compressed-packed with no padding bits between pixels. */
+ kCVPixelFormatType_Lossy_422YpCbCr10PackedBiPlanarVideoRange = '-xv2', /* Lossy-compressed form of kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange. No CVPlanarPixelBufferInfo struct. Format is compressed-packed with no padding bits between pixels. */
+};
/*!
@enum Pixel Buffer Locking Flags
- 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