objc2_video_toolbox/generated/
VTFrameProcessor_MotionBlur.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 VTMotionBlurConfigurationQualityPrioritization(pub NSInteger);
19#[cfg(feature = "objc2")]
20impl VTMotionBlurConfigurationQualityPrioritization {
21 #[doc(alias = "VTMotionBlurConfigurationQualityPrioritizationNormal")]
22 pub const Normal: Self = Self(1);
23 #[doc(alias = "VTMotionBlurConfigurationQualityPrioritizationQuality")]
24 pub const Quality: Self = Self(2);
25}
26
27#[cfg(feature = "objc2")]
28unsafe impl Encode for VTMotionBlurConfigurationQualityPrioritization {
29 const ENCODING: Encoding = NSInteger::ENCODING;
30}
31
32#[cfg(feature = "objc2")]
33unsafe impl RefEncode for VTMotionBlurConfigurationQualityPrioritization {
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 VTMotionBlurConfigurationRevision(pub NSInteger);
45#[cfg(feature = "objc2")]
46impl VTMotionBlurConfigurationRevision {
47 #[doc(alias = "VTMotionBlurConfigurationRevision1")]
48 pub const Revision1: Self = Self(1);
49}
50
51#[cfg(feature = "objc2")]
52unsafe impl Encode for VTMotionBlurConfigurationRevision {
53 const ENCODING: Encoding = NSInteger::ENCODING;
54}
55
56#[cfg(feature = "objc2")]
57unsafe impl RefEncode for VTMotionBlurConfigurationRevision {
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 VTMotionBlurParametersSubmissionMode(pub NSInteger);
69#[cfg(feature = "objc2")]
70impl VTMotionBlurParametersSubmissionMode {
71 #[doc(alias = "VTMotionBlurParametersSubmissionModeRandom")]
72 pub const Random: Self = Self(1);
73 #[doc(alias = "VTMotionBlurParametersSubmissionModeSequential")]
74 pub const Sequential: Self = Self(2);
75}
76
77#[cfg(feature = "objc2")]
78unsafe impl Encode for VTMotionBlurParametersSubmissionMode {
79 const ENCODING: Encoding = NSInteger::ENCODING;
80}
81
82#[cfg(feature = "objc2")]
83unsafe impl RefEncode for VTMotionBlurParametersSubmissionMode {
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 VTMotionBlurConfiguration;
99);
100
101#[cfg(feature = "objc2")]
102unsafe impl Send for VTMotionBlurConfiguration {}
103
104#[cfg(feature = "objc2")]
105unsafe impl Sync for VTMotionBlurConfiguration {}
106
107#[cfg(feature = "objc2")]
108extern_conformance!(
109 unsafe impl NSObjectProtocol for VTMotionBlurConfiguration {}
110);
111
112#[cfg(all(feature = "VTFrameProcessorConfiguration", feature = "objc2"))]
113extern_conformance!(
114 unsafe impl VTFrameProcessorConfiguration for VTMotionBlurConfiguration {}
115);
116
117#[cfg(feature = "objc2")]
118impl VTMotionBlurConfiguration {
119 extern_methods!(
120 #[unsafe(method(initWithFrameWidth:frameHeight:usePrecomputedFlow:qualityPrioritization:revision:))]
140 #[unsafe(method_family = init)]
141 pub unsafe fn initWithFrameWidth_frameHeight_usePrecomputedFlow_qualityPrioritization_revision(
142 this: Allocated<Self>,
143 frame_width: NSInteger,
144 frame_height: NSInteger,
145 use_precomputed_flow: bool,
146 quality_prioritization: VTMotionBlurConfigurationQualityPrioritization,
147 revision: VTMotionBlurConfigurationRevision,
148 ) -> Option<Retained<Self>>;
149
150 #[unsafe(method(init))]
151 #[unsafe(method_family = init)]
152 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
153
154 #[unsafe(method(new))]
155 #[unsafe(method_family = new)]
156 pub unsafe fn new() -> Retained<Self>;
157
158 #[unsafe(method(frameWidth))]
160 #[unsafe(method_family = none)]
161 pub unsafe fn frameWidth(&self) -> NSInteger;
162
163 #[unsafe(method(frameHeight))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn frameHeight(&self) -> NSInteger;
167
168 #[unsafe(method(usePrecomputedFlow))]
170 #[unsafe(method_family = none)]
171 pub unsafe fn usePrecomputedFlow(&self) -> bool;
172
173 #[unsafe(method(qualityPrioritization))]
175 #[unsafe(method_family = none)]
176 pub unsafe fn qualityPrioritization(
177 &self,
178 ) -> VTMotionBlurConfigurationQualityPrioritization;
179
180 #[unsafe(method(revision))]
182 #[unsafe(method_family = none)]
183 pub unsafe fn revision(&self) -> VTMotionBlurConfigurationRevision;
184
185 #[cfg(feature = "objc2-foundation")]
186 #[unsafe(method(supportedRevisions))]
190 #[unsafe(method_family = none)]
191 pub unsafe fn supportedRevisions() -> Retained<NSIndexSet>;
192
193 #[unsafe(method(defaultRevision))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn defaultRevision() -> VTMotionBlurConfigurationRevision;
197
198 #[cfg(feature = "objc2-foundation")]
199 #[unsafe(method(frameSupportedPixelFormats))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn frameSupportedPixelFormats(&self) -> Retained<NSArray<NSNumber>>;
203
204 #[cfg(feature = "objc2-foundation")]
205 #[unsafe(method(sourcePixelBufferAttributes))]
207 #[unsafe(method_family = none)]
208 pub unsafe fn sourcePixelBufferAttributes(
209 &self,
210 ) -> Retained<NSDictionary<NSString, AnyObject>>;
211
212 #[cfg(feature = "objc2-foundation")]
213 #[unsafe(method(destinationPixelBufferAttributes))]
215 #[unsafe(method_family = none)]
216 pub unsafe fn destinationPixelBufferAttributes(
217 &self,
218 ) -> Retained<NSDictionary<NSString, AnyObject>>;
219
220 #[unsafe(method(processorSupported))]
222 #[unsafe(method_family = none)]
223 pub unsafe fn processorSupported() -> Boolean;
224 );
225}
226
227#[cfg(feature = "objc2")]
228extern_class!(
229 #[unsafe(super(NSObject))]
236 #[derive(Debug, PartialEq, Eq, Hash)]
237 #[cfg(feature = "objc2")]
238 pub struct VTMotionBlurParameters;
239);
240
241#[cfg(feature = "objc2")]
242extern_conformance!(
243 unsafe impl NSObjectProtocol for VTMotionBlurParameters {}
244);
245
246#[cfg(all(feature = "VTFrameProcessorParameters", feature = "objc2"))]
247extern_conformance!(
248 unsafe impl VTFrameProcessorParameters for VTMotionBlurParameters {}
249);
250
251#[cfg(feature = "objc2")]
252impl VTMotionBlurParameters {
253 extern_methods!(
254 #[cfg(feature = "VTFrameProcessorFrame")]
255 #[unsafe(method(initWithSourceFrame:nextFrame:previousFrame:nextOpticalFlow:previousOpticalFlow:motionBlurStrength:submissionMode:destinationFrame:))]
284 #[unsafe(method_family = init)]
285 pub unsafe fn initWithSourceFrame_nextFrame_previousFrame_nextOpticalFlow_previousOpticalFlow_motionBlurStrength_submissionMode_destinationFrame(
286 this: Allocated<Self>,
287 source_frame: &VTFrameProcessorFrame,
288 next_frame: Option<&VTFrameProcessorFrame>,
289 previous_frame: Option<&VTFrameProcessorFrame>,
290 next_optical_flow: Option<&VTFrameProcessorOpticalFlow>,
291 previous_optical_flow: Option<&VTFrameProcessorOpticalFlow>,
292 motion_blur_strength: NSInteger,
293 submission_mode: VTMotionBlurParametersSubmissionMode,
294 destination_frame: &VTFrameProcessorFrame,
295 ) -> Option<Retained<Self>>;
296
297 #[unsafe(method(init))]
298 #[unsafe(method_family = init)]
299 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
300
301 #[unsafe(method(new))]
302 #[unsafe(method_family = new)]
303 pub unsafe fn new() -> Retained<Self>;
304
305 #[cfg(feature = "VTFrameProcessorFrame")]
306 #[unsafe(method(sourceFrame))]
308 #[unsafe(method_family = none)]
309 pub unsafe fn sourceFrame(&self) -> Retained<VTFrameProcessorFrame>;
310
311 #[cfg(feature = "VTFrameProcessorFrame")]
312 #[unsafe(method(nextFrame))]
314 #[unsafe(method_family = none)]
315 pub unsafe fn nextFrame(&self) -> Option<Retained<VTFrameProcessorFrame>>;
316
317 #[cfg(feature = "VTFrameProcessorFrame")]
318 #[unsafe(method(previousFrame))]
320 #[unsafe(method_family = none)]
321 pub unsafe fn previousFrame(&self) -> Option<Retained<VTFrameProcessorFrame>>;
322
323 #[cfg(feature = "VTFrameProcessorFrame")]
324 #[unsafe(method(nextOpticalFlow))]
326 #[unsafe(method_family = none)]
327 pub unsafe fn nextOpticalFlow(&self) -> Option<Retained<VTFrameProcessorOpticalFlow>>;
328
329 #[cfg(feature = "VTFrameProcessorFrame")]
330 #[unsafe(method(previousOpticalFlow))]
332 #[unsafe(method_family = none)]
333 pub unsafe fn previousOpticalFlow(&self) -> Option<Retained<VTFrameProcessorOpticalFlow>>;
334
335 #[unsafe(method(motionBlurStrength))]
337 #[unsafe(method_family = none)]
338 pub unsafe fn motionBlurStrength(&self) -> NSInteger;
339
340 #[unsafe(method(submissionMode))]
342 #[unsafe(method_family = none)]
343 pub unsafe fn submissionMode(&self) -> VTMotionBlurParametersSubmissionMode;
344
345 #[cfg(feature = "VTFrameProcessorFrame")]
346 #[unsafe(method(destinationFrame))]
348 #[unsafe(method_family = none)]
349 pub unsafe fn destinationFrame(&self) -> Retained<VTFrameProcessorFrame>;
350 );
351}