objc2-video-toolbox 0.3.2

Bindings to the VideoToolbox framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2_core_foundation::*;

use crate::*;

extern "C" {
    /// Indicates how images should be scaled.
    ///
    /// Depending on the scaling mode, scaling may take into account:
    /// the full image buffer width and height of the source and destination,
    /// the clean aperture attachment (kCVImageBufferCleanApertureKey) on the source image buffer,
    /// the pixel aspect ratio attachment (kCVImageBufferPixelAspectRatioKey) on the source image buffer,
    /// the destination clean aperture (kVTPixelTransferPropertyKey_DestinationCleanAperture), and/or
    /// the destination pixel aspect ratio (kVTPixelTransferPropertyKey_DestinationPixelAspectRatio).
    /// The destination image buffer's clean aperture and pixel aspect ratio attachments are not
    /// taken into account, and will be overwritten.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_scalingmode?language=objc)
    pub static kVTPixelTransferPropertyKey_ScalingMode: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtscalingmode_normal?language=objc)
    pub static kVTScalingMode_Normal: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtscalingmode_cropsourcetocleanaperture?language=objc)
    pub static kVTScalingMode_CropSourceToCleanAperture: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtscalingmode_letterbox?language=objc)
    pub static kVTScalingMode_Letterbox: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtscalingmode_trim?language=objc)
    pub static kVTScalingMode_Trim: &'static CFString;
}

extern "C" {
    /// Specifies the clean aperture for destination image buffers.
    ///
    /// The value of this property is a CFDictionary with same keys as used in the
    /// kCVImageBufferCleanApertureKey dictionary.
    /// This property is ignored in kVTScalingMode_Normal.
    /// This property defaults to NULL, meaning the clean aperture is the full width and height.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationcleanaperture?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationCleanAperture: &'static CFString;
}

extern "C" {
    /// Specifies the pixel aspect ratio for destination image buffers.
    ///
    /// The value of this property is a CFDictionary with same keys as used in the
    /// kCVImageBufferPixelAspectRatioKey dictionary.
    /// This property is ignored in kVTScalingMode_Normal.
    /// This property defaults to NULL, meaning 1:1 (for kVTScalingMode_CropSourceToCleanAperture)
    /// or no change in pixel aspect ratio (for kVTScalingMode_Letterbox and kVTScalingMode_Trim).
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationpixelaspectratio?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationPixelAspectRatio: &'static CFString;
}

extern "C" {
    /// Requests a specific chroma downsampling technique be used.
    ///
    /// This property is ignored if chroma downsampling is not performed.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_downsamplingmode?language=objc)
    pub static kVTPixelTransferPropertyKey_DownsamplingMode: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtdownsamplingmode_decimate?language=objc)
    pub static kVTDownsamplingMode_Decimate: &'static CFString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtdownsamplingmode_average?language=objc)
    pub static kVTDownsamplingMode_Average: &'static CFString;
}

extern "C" {
    /// Specifies the color primaries to be used for destination image buffers.
    ///
    /// Specifying this value may lead to performance degradation, as a color
    /// matching operation may need to be performed between the source and
    /// the destination.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationcolorprimaries?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationColorPrimaries: &'static CFString;
}

extern "C" {
    /// Specifies the color transfer function to be used for destination image buffers.
    ///
    /// Specifying this value may lead to performance degradation, as a color
    /// matching operation may need to be performed between the source and
    /// the destination.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationtransferfunction?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationTransferFunction: &'static CFString;
}

extern "C" {
    /// Specifies the ICC profile for destination image buffers.
    ///
    /// Specifying this value may lead to performance degradation, as a color
    /// matching operation may need to be performed between the source and
    /// the destination.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationiccprofile?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationICCProfile: &'static CFString;
}

extern "C" {
    /// Specifies the color matrix to be used for YCbCr->RGB conversions
    /// involving the destination image buffers.
    ///
    /// Specifying this value may lead to performance degradation, as a color
    /// matching operation may need to be performed between the source and
    /// the destination.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_destinationycbcrmatrix?language=objc)
    pub static kVTPixelTransferPropertyKey_DestinationYCbCrMatrix: &'static CFString;
}

extern "C" {
    /// Hints the transfer session that the operation is, or is not, being performed in real time.
    ///
    /// Set this property to kCFBooleanTrue to indicate that the transfer is part of realtime operation.  If set to
    /// true, the VTPixelTransferSession may be given precedence over non-realtime tasks.  This can be set to false
    /// for transfers being performed as part of background operations.
    /// By default this value is NULL indicating that it is unspecified.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtpixeltransferpropertykey_realtime?language=objc)
    pub static kVTPixelTransferPropertyKey_RealTime: &'static CFString;
}