use objc2::__framework_prelude::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AVVideoFrameAnalysisType(pub NSUInteger);
bitflags::bitflags! {
impl AVVideoFrameAnalysisType: NSUInteger {
#[doc(alias = "AVVideoFrameAnalysisTypeNone")]
const None = 0;
#[doc(alias = "AVVideoFrameAnalysisTypeDefault")]
const Default = 1<<0;
#[doc(alias = "AVVideoFrameAnalysisTypeText")]
const Text = 1<<1;
#[doc(alias = "AVVideoFrameAnalysisTypeSubject")]
const Subject = 1<<2;
#[doc(alias = "AVVideoFrameAnalysisTypeVisualSearch")]
const VisualSearch = 1<<3;
#[doc(alias = "AVVideoFrameAnalysisTypeMachineReadableCode")]
const MachineReadableCode = 1<<4;
}
}
unsafe impl Encode for AVVideoFrameAnalysisType {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for AVVideoFrameAnalysisType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AVDisplayDynamicRange(pub NSInteger);
impl AVDisplayDynamicRange {
#[doc(alias = "AVDisplayDynamicRangeAutomatic")]
pub const Automatic: Self = Self(0);
#[doc(alias = "AVDisplayDynamicRangeStandard")]
pub const Standard: Self = Self(1);
#[doc(alias = "AVDisplayDynamicRangeConstrainedHigh")]
pub const ConstrainedHigh: Self = Self(2);
#[doc(alias = "AVDisplayDynamicRangeHigh")]
pub const High: Self = Self(3);
}
unsafe impl Encode for AVDisplayDynamicRange {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for AVDisplayDynamicRange {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}