use crate::libc::{ c_void, };
use crate::core_foundation_sys::{
base::{ Boolean, CFAllocatorRef, CFIndex, },
dictionary::CFDictionaryRef,
array::CFArrayRef,
string::CFStringRef,
};
use crate::{
OSType,
pixel_buffer::CVPixelBufferRef,
};
pub type CVFillExtendedPixelsCallBack = extern "C" fn (pixelBuffer: CVPixelBufferRef,
refCon: *mut c_void) -> Boolean;
#[repr(C)]
#[derive(Debug, Clone, Copy)]
pub struct CVFillExtendedPixelsCallBackData {
pub version: CFIndex,
pub fillCallBack: CVFillExtendedPixelsCallBack,
pub refCon: *mut c_void,
}
extern "C" {
pub static kCVPixelFormatName: CFStringRef;
pub static kCVPixelFormatConstant: CFStringRef;
pub static kCVPixelFormatCodecType: CFStringRef;
pub static kCVPixelFormatFourCC: CFStringRef;
pub static kCVPixelFormatContainsAlpha: CFStringRef;
pub static kCVPixelFormatContainsYCbCr: CFStringRef;
pub static kCVPixelFormatContainsRGB: CFStringRef;
pub static kCVPixelFormatComponentRange: CFStringRef;
pub static kCVPixelFormatComponentRange_VideoRange: CFStringRef;
pub static kCVPixelFormatComponentRange_FullRange: CFStringRef;
pub static kCVPixelFormatComponentRange_WideRange: CFStringRef;
pub static kCVPixelFormatPlanes: CFStringRef;
pub static kCVPixelFormatBlockWidth: CFStringRef;
pub static kCVPixelFormatBlockHeight: CFStringRef;
pub static kCVPixelFormatBitsPerBlock: CFStringRef;
pub static kCVPixelFormatBlockHorizontalAlignment: CFStringRef;
pub static kCVPixelFormatBlockVerticalAlignment: CFStringRef;
pub static kCVPixelFormatBlackBlock: CFStringRef;
pub static kCVPixelFormatHorizontalSubsampling: CFStringRef;
pub static kCVPixelFormatVerticalSubsampling: CFStringRef;
pub static kCVPixelFormatOpenGLFormat: CFStringRef;
pub static kCVPixelFormatOpenGLType: CFStringRef;
pub static kCVPixelFormatOpenGLInternalFormat: CFStringRef;
pub static kCVPixelFormatCGBitmapInfo: CFStringRef;
pub static kCVPixelFormatQDCompatibility: CFStringRef;
pub static kCVPixelFormatCGBitmapContextCompatibility: CFStringRef;
pub static kCVPixelFormatCGImageCompatibility: CFStringRef;
pub static kCVPixelFormatOpenGLCompatibility: CFStringRef;
pub static kCVPixelFormatOpenGLESCompatibility: CFStringRef;
pub static kCVPixelFormatFillExtendedPixelsCallback: CFStringRef;
pub fn CVPixelFormatDescriptionCreateWithPixelFormatType(allocator: CFAllocatorRef,
pixelFormat: OSType) -> CFDictionaryRef;
pub fn CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes(allocator: CFAllocatorRef) -> CFArrayRef;
pub fn CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType(description: CFDictionaryRef,
pixelFormat: OSType);
}
#[cfg(feature = "direct3d")]
extern "C" {
pub static kCVPixelFormatDirect3DFormat: CFStringRef;
pub static kCVPixelFormatDirect3DType: CFStringRef;
pub static kCVPixelFormatDirect3DInternalFormat: CFStringRef;
pub static kCVPixelFormatDirect3DCompatibility: CFStringRef;
}