objc2_video_toolbox/generated/
VTFrameProcessor_OpticalFlow.rs1use core::ptr::NonNull;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-foundation")]
7use objc2_foundation::*;
8
9use crate::*;
10
11#[cfg(feature = "objc2")]
16#[repr(transparent)]
17#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
18pub struct VTOpticalFlowConfigurationQualityPrioritization(pub NSInteger);
19#[cfg(feature = "objc2")]
20impl VTOpticalFlowConfigurationQualityPrioritization {
21 #[doc(alias = "VTOpticalFlowConfigurationQualityPrioritizationNormal")]
22 pub const Normal: Self = Self(1);
23 #[doc(alias = "VTOpticalFlowConfigurationQualityPrioritizationQuality")]
24 pub const Quality: Self = Self(2);
25}
26
27#[cfg(feature = "objc2")]
28unsafe impl Encode for VTOpticalFlowConfigurationQualityPrioritization {
29 const ENCODING: Encoding = NSInteger::ENCODING;
30}
31
32#[cfg(feature = "objc2")]
33unsafe impl RefEncode for VTOpticalFlowConfigurationQualityPrioritization {
34 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
35}
36
37#[cfg(feature = "objc2")]
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct VTOpticalFlowConfigurationRevision(pub NSInteger);
45#[cfg(feature = "objc2")]
46impl VTOpticalFlowConfigurationRevision {
47 #[doc(alias = "VTOpticalFlowConfigurationRevision1")]
48 pub const Revision1: Self = Self(1);
49}
50
51#[cfg(feature = "objc2")]
52unsafe impl Encode for VTOpticalFlowConfigurationRevision {
53 const ENCODING: Encoding = NSInteger::ENCODING;
54}
55
56#[cfg(feature = "objc2")]
57unsafe impl RefEncode for VTOpticalFlowConfigurationRevision {
58 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
59}
60
61#[cfg(feature = "objc2")]
66#[repr(transparent)]
67#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
68pub struct VTOpticalFlowParametersSubmissionMode(pub NSInteger);
69#[cfg(feature = "objc2")]
70impl VTOpticalFlowParametersSubmissionMode {
71 #[doc(alias = "VTOpticalFlowParametersSubmissionModeRandom")]
72 pub const Random: Self = Self(1);
73 #[doc(alias = "VTOpticalFlowParametersSubmissionModeSequential")]
74 pub const Sequential: Self = Self(2);
75}
76
77#[cfg(feature = "objc2")]
78unsafe impl Encode for VTOpticalFlowParametersSubmissionMode {
79 const ENCODING: Encoding = NSInteger::ENCODING;
80}
81
82#[cfg(feature = "objc2")]
83unsafe impl RefEncode for VTOpticalFlowParametersSubmissionMode {
84 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
85}
86
87#[cfg(feature = "objc2")]
88extern_class!(
89 #[unsafe(super(NSObject))]
96 #[derive(Debug, PartialEq, Eq, Hash)]
97 #[cfg(feature = "objc2")]
98 pub struct VTOpticalFlowConfiguration;
99);
100
101#[cfg(feature = "objc2")]
102unsafe impl Send for VTOpticalFlowConfiguration {}
103
104#[cfg(feature = "objc2")]
105unsafe impl Sync for VTOpticalFlowConfiguration {}
106
107#[cfg(feature = "objc2")]
108extern_conformance!(
109 unsafe impl NSObjectProtocol for VTOpticalFlowConfiguration {}
110);
111
112#[cfg(all(feature = "VTFrameProcessorConfiguration", feature = "objc2"))]
113extern_conformance!(
114 unsafe impl VTFrameProcessorConfiguration for VTOpticalFlowConfiguration {}
115);
116
117#[cfg(feature = "objc2")]
118impl VTOpticalFlowConfiguration {
119 extern_methods!(
120 #[unsafe(method(initWithFrameWidth:frameHeight:qualityPrioritization:revision:))]
140 #[unsafe(method_family = init)]
141 pub unsafe fn initWithFrameWidth_frameHeight_qualityPrioritization_revision(
142 this: Allocated<Self>,
143 frame_width: NSInteger,
144 frame_height: NSInteger,
145 quality_prioritization: VTOpticalFlowConfigurationQualityPrioritization,
146 revision: VTOpticalFlowConfigurationRevision,
147 ) -> Option<Retained<Self>>;
148
149 #[unsafe(method(init))]
150 #[unsafe(method_family = init)]
151 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
152
153 #[unsafe(method(new))]
154 #[unsafe(method_family = new)]
155 pub unsafe fn new() -> Retained<Self>;
156
157 #[unsafe(method(frameWidth))]
159 #[unsafe(method_family = none)]
160 pub unsafe fn frameWidth(&self) -> NSInteger;
161
162 #[unsafe(method(frameHeight))]
164 #[unsafe(method_family = none)]
165 pub unsafe fn frameHeight(&self) -> NSInteger;
166
167 #[unsafe(method(qualityPrioritization))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn qualityPrioritization(
171 &self,
172 ) -> VTOpticalFlowConfigurationQualityPrioritization;
173
174 #[unsafe(method(revision))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn revision(&self) -> VTOpticalFlowConfigurationRevision;
178
179 #[cfg(feature = "objc2-foundation")]
180 #[unsafe(method(supportedRevisions))]
184 #[unsafe(method_family = none)]
185 pub unsafe fn supportedRevisions() -> Retained<NSIndexSet>;
186
187 #[unsafe(method(defaultRevision))]
189 #[unsafe(method_family = none)]
190 pub unsafe fn defaultRevision() -> VTOpticalFlowConfigurationRevision;
191
192 #[cfg(feature = "objc2-foundation")]
193 #[unsafe(method(frameSupportedPixelFormats))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn frameSupportedPixelFormats(&self) -> Retained<NSArray<NSNumber>>;
197
198 #[cfg(feature = "objc2-foundation")]
199 #[unsafe(method(sourcePixelBufferAttributes))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn sourcePixelBufferAttributes(
203 &self,
204 ) -> Retained<NSDictionary<NSString, AnyObject>>;
205
206 #[cfg(feature = "objc2-foundation")]
207 #[unsafe(method(destinationPixelBufferAttributes))]
209 #[unsafe(method_family = none)]
210 pub unsafe fn destinationPixelBufferAttributes(
211 &self,
212 ) -> Retained<NSDictionary<NSString, AnyObject>>;
213
214 #[unsafe(method(processorSupported))]
216 #[unsafe(method_family = none)]
217 pub unsafe fn processorSupported() -> Boolean;
218 );
219}
220
221#[cfg(feature = "objc2")]
222extern_class!(
223 #[unsafe(super(NSObject))]
230 #[derive(Debug, PartialEq, Eq, Hash)]
231 #[cfg(feature = "objc2")]
232 pub struct VTOpticalFlowParameters;
233);
234
235#[cfg(feature = "objc2")]
236extern_conformance!(
237 unsafe impl NSObjectProtocol for VTOpticalFlowParameters {}
238);
239
240#[cfg(all(feature = "VTFrameProcessorParameters", feature = "objc2"))]
241extern_conformance!(
242 unsafe impl VTFrameProcessorParameters for VTOpticalFlowParameters {}
243);
244
245#[cfg(feature = "objc2")]
246impl VTOpticalFlowParameters {
247 extern_methods!(
248 #[cfg(feature = "VTFrameProcessorFrame")]
249 #[unsafe(method(initWithSourceFrame:nextFrame:submissionMode:destinationOpticalFlow:))]
266 #[unsafe(method_family = init)]
267 pub unsafe fn initWithSourceFrame_nextFrame_submissionMode_destinationOpticalFlow(
268 this: Allocated<Self>,
269 source_frame: &VTFrameProcessorFrame,
270 next_frame: &VTFrameProcessorFrame,
271 submission_mode: VTOpticalFlowParametersSubmissionMode,
272 destination_optical_flow: &VTFrameProcessorOpticalFlow,
273 ) -> Option<Retained<Self>>;
274
275 #[unsafe(method(init))]
276 #[unsafe(method_family = init)]
277 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
278
279 #[unsafe(method(new))]
280 #[unsafe(method_family = new)]
281 pub unsafe fn new() -> Retained<Self>;
282
283 #[cfg(feature = "VTFrameProcessorFrame")]
284 #[unsafe(method(sourceFrame))]
286 #[unsafe(method_family = none)]
287 pub unsafe fn sourceFrame(&self) -> Retained<VTFrameProcessorFrame>;
288
289 #[cfg(feature = "VTFrameProcessorFrame")]
290 #[unsafe(method(nextFrame))]
292 #[unsafe(method_family = none)]
293 pub unsafe fn nextFrame(&self) -> Retained<VTFrameProcessorFrame>;
294
295 #[unsafe(method(submissionMode))]
297 #[unsafe(method_family = none)]
298 pub unsafe fn submissionMode(&self) -> VTOpticalFlowParametersSubmissionMode;
299
300 #[cfg(feature = "VTFrameProcessorFrame")]
301 #[unsafe(method(destinationOpticalFlow))]
303 #[unsafe(method_family = none)]
304 pub unsafe fn destinationOpticalFlow(&self) -> Retained<VTFrameProcessorOpticalFlow>;
305 );
306}