objc2_video_toolbox/generated/
VTRAWProcessingSession.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::cell::UnsafeCell;
4use core::ffi::*;
5use core::marker::{PhantomData, PhantomPinned};
6use core::ptr::NonNull;
7#[cfg(feature = "objc2")]
8use objc2::__framework_prelude::*;
9use objc2_core_foundation::*;
10#[cfg(feature = "objc2-core-media")]
11use objc2_core_media::*;
12#[cfg(feature = "objc2-core-video")]
13use objc2_core_video::*;
14
15use crate::*;
16
17/// A reference to a Video Toolbox RAW Processing Session.
18///
19/// A RAW processing session supports processing of frames that have been output from decoders in camera native formats, for example RAW or bayer formats.
20/// The session reference is a reference-counted CF object.
21///
22/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingsession?language=objc)
23#[doc(alias = "VTRAWProcessingSessionRef")]
24#[repr(C)]
25pub struct VTRAWProcessingSession {
26    inner: [u8; 0],
27    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
28}
29
30cf_type!(
31    unsafe impl VTRAWProcessingSession {}
32);
33#[cfg(feature = "objc2")]
34cf_objc2_type!(
35    unsafe impl RefEncode<"OpaqueVTRAWProcessingSession"> for VTRAWProcessingSession {}
36);
37
38/// Block invoked when processing parameters change.
39///
40/// This block is called when available parameters or parameter values change without an explicit call to VTRAWProcessingSessionSetProcessingParameters.
41/// This is intended to allow the client to update any UI driven by these parameters.
42///
43/// Parameter `newParameters`: A CFArrayRef contaiing the new parameter details.  This follows the same form as the array returned from VTRAWProcessingSessionCopyProcessingParameters.
44///
45/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingparameterchangehandler?language=objc)
46#[cfg(feature = "block2")]
47pub type VTRAWProcessingParameterChangeHandler = *mut block2::DynBlock<dyn Fn(*const CFArray)>;
48
49impl VTRAWProcessingSession {
50    /// Creates a RAW video frame processing session.
51    ///
52    /// .
53    ///
54    /// Parameter `allocator`: An allocator for the session.  Pass NULL to use the default allocator.
55    ///
56    /// Parameter `formatDescription`: The CMVideoFormatDescription corresponding to the original media samples, containing sequence-level processing parameters.
57    ///
58    /// Parameter `outputPixelBufferAttributes`: A CoreVideo pixel buffer attributes dictionary describing the client's requirements for pixel buffers for output frames.
59    /// Pass NULL to receive the RAW processor's native output format.
60    ///
61    /// Parameter `processingSessionOptions`: A dictionary of creation-time options for the VTRAWProcessingSession.
62    ///
63    /// Parameter `processingSessionOut`: Points to a variable to receive the new RAW processing session.
64    /// When you are done with the session, call VTRAWProcessingSessionInvalidate
65    /// to tear it down and then CFRelease to release your object reference.
66    ///
67    /// # Safety
68    ///
69    /// - `output_pixel_buffer_attributes` generics must be of the correct type.
70    /// - `processing_session_options` generics must be of the correct type.
71    /// - `processing_session_out` must be a valid pointer.
72    #[doc(alias = "VTRAWProcessingSessionCreate")]
73    #[cfg(feature = "objc2-core-media")]
74    #[inline]
75    pub unsafe fn create(
76        allocator: Option<&CFAllocator>,
77        format_description: &CMVideoFormatDescription,
78        output_pixel_buffer_attributes: Option<&CFDictionary>,
79        processing_session_options: Option<&CFDictionary>,
80        processing_session_out: NonNull<*mut VTRAWProcessingSession>,
81    ) -> OSStatus {
82        extern "C-unwind" {
83            fn VTRAWProcessingSessionCreate(
84                allocator: Option<&CFAllocator>,
85                format_description: &CMVideoFormatDescription,
86                output_pixel_buffer_attributes: Option<&CFDictionary>,
87                processing_session_options: Option<&CFDictionary>,
88                processing_session_out: NonNull<*mut VTRAWProcessingSession>,
89            ) -> OSStatus;
90        }
91        unsafe {
92            VTRAWProcessingSessionCreate(
93                allocator,
94                format_description,
95                output_pixel_buffer_attributes,
96                processing_session_options,
97                processing_session_out,
98            )
99        }
100    }
101
102    /// Tears down a RAW processing session.
103    ///
104    /// When you are done with a decompression session you created, call VTRAWProcessingSessionInvalidate
105    /// to tear it down and then CFRelease to release your object reference.
106    /// When a  session's retain count reaches zero, it is automatically invalidated, but
107    /// since sessions may be retained by multiple parties, it can be hard to predict when this will happen.
108    /// Calling VTRAWProcessingSessionInvalidate ensures a deterministic, orderly teardown.
109    #[doc(alias = "VTRAWProcessingSessionInvalidate")]
110    #[inline]
111    pub unsafe fn invalidate(&self) {
112        extern "C-unwind" {
113            fn VTRAWProcessingSessionInvalidate(session: &VTRAWProcessingSession);
114        }
115        unsafe { VTRAWProcessingSessionInvalidate(self) }
116    }
117}
118
119unsafe impl ConcreteType for VTRAWProcessingSession {
120    /// Returns the CFTypeID for RAW processing sessions.
121    #[doc(alias = "VTRAWProcessingSessionGetTypeID")]
122    #[inline]
123    fn type_id() -> CFTypeID {
124        extern "C-unwind" {
125            fn VTRAWProcessingSessionGetTypeID() -> CFTypeID;
126        }
127        unsafe { VTRAWProcessingSessionGetTypeID() }
128    }
129}
130
131impl VTRAWProcessingSession {
132    /// Provides a block which will be called when the VTRAWProcessingPlugin changes the set of processing parameters..
133    ///
134    /// This block will be called the VTRAWProcessingPlugin either changes the set of available processing parameters, or changes the current value of parameters.
135    /// The VTRAWProcessingPlugin may change parameters based on metadata associated with input frames, or in response to other parameters configured by VTRAWProcessingSessionSetProcessingParameters.
136    /// This optional and does not need to be configured if the client is not driving UI based on these parameters, or otherwise does not need this.
137    ///
138    /// Parameter `session`: The RAW processing session.
139    ///
140    /// Parameter `parameterChangeHandler`: A VTRAWProcessingParameterChangeHandler block which will be called when the set of processing parameters changes, or the value of a parameter changes without the client explicitly requesting it.
141    /// Setting this to NULL removes the current handler.
142    ///
143    /// # Safety
144    ///
145    /// `parameter_change_handler` must be a valid pointer or null.
146    #[doc(alias = "VTRAWProcessingSessionSetParameterChangedHandler")]
147    #[cfg(feature = "block2")]
148    #[inline]
149    pub unsafe fn set_parameter_changed_handler(
150        &self,
151        parameter_change_handler: VTRAWProcessingParameterChangeHandler,
152    ) -> OSStatus {
153        extern "C-unwind" {
154            fn VTRAWProcessingSessionSetParameterChangedHandler(
155                session: &VTRAWProcessingSession,
156                parameter_change_handler: VTRAWProcessingParameterChangeHandler,
157            ) -> OSStatus;
158        }
159        unsafe { VTRAWProcessingSessionSetParameterChangedHandler(self, parameter_change_handler) }
160    }
161
162    /// # Safety
163    ///
164    /// `parameter_change_handler` must be a valid pointer or null.
165    #[doc(alias = "VTRAWProcessingSessionSetParameterChangedHander")]
166    #[cfg(feature = "block2")]
167    #[deprecated]
168    #[inline]
169    pub unsafe fn set_parameter_changed_hander(
170        &self,
171        parameter_change_handler: VTRAWProcessingParameterChangeHandler,
172    ) -> OSStatus {
173        extern "C-unwind" {
174            fn VTRAWProcessingSessionSetParameterChangedHander(
175                session: &VTRAWProcessingSession,
176                parameter_change_handler: VTRAWProcessingParameterChangeHandler,
177            ) -> OSStatus;
178        }
179        unsafe { VTRAWProcessingSessionSetParameterChangedHander(self, parameter_change_handler) }
180    }
181}
182
183/// Block invoked when frame processing is complete.
184///
185/// On successful processing, will return a CVPixelBuffer conforming to the session's outputPixelBufferAttributes if any were provided.
186///
187/// Parameter `status`: noErr if processing request was successful; an error code if it was not successful.
188///
189/// Parameter `processedPixelBuffer`: A CVPixelBuffer containing the processed video frame if processing request was successful;
190/// otherwise, NULL.
191///
192/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingoutputhandler?language=objc)
193#[cfg(all(feature = "block2", feature = "objc2-core-video"))]
194pub type VTRAWProcessingOutputHandler = *mut block2::DynBlock<dyn Fn(OSStatus, *mut CVPixelBuffer)>;
195
196impl VTRAWProcessingSession {
197    /// Call this function to submit RAW frames for format-specific processing using sequence and frame level parameters.
198    ///
199    /// Processed frames may or may not be output before the function returns,
200    /// The client should not modify the input pixel data after making this call.
201    /// The RAW Processor will retain the input pixel buffer as long as necessary.
202    ///
203    /// For any RAW processor, there is a finite number of frames that can be
204    /// presented to VTRAWProcessingSessionProcessFrame before the function will block
205    /// until the output callback is invoked.
206    ///
207    /// Parameter `session`: The RAW processing session.
208    ///
209    /// Parameter `inputPixelBuffer`: A CVPixelBuffer containing an input video frame to be processed.
210    ///
211    /// Parameter `frameOptions`: Contains key/value pairs specifying additional properties for processing this frame.
212    /// No keys currently.  Pass NULL.
213    ///
214    /// Parameter `outputHandler`: A VTRAWProcessingOutputHandler block which will be called once when processing is complete.
215    ///
216    /// # Safety
217    ///
218    /// - `frame_options` generics must be of the correct type.
219    /// - `output_handler` must be a valid pointer.
220    #[doc(alias = "VTRAWProcessingSessionProcessFrame")]
221    #[cfg(all(feature = "block2", feature = "objc2-core-video"))]
222    #[inline]
223    pub unsafe fn process_frame(
224        &self,
225        input_pixel_buffer: &CVPixelBuffer,
226        frame_options: Option<&CFDictionary>,
227        output_handler: VTRAWProcessingOutputHandler,
228    ) -> OSStatus {
229        extern "C-unwind" {
230            fn VTRAWProcessingSessionProcessFrame(
231                session: &VTRAWProcessingSession,
232                input_pixel_buffer: &CVPixelBuffer,
233                frame_options: Option<&CFDictionary>,
234                output_handler: VTRAWProcessingOutputHandler,
235            ) -> OSStatus;
236        }
237        unsafe {
238            VTRAWProcessingSessionProcessFrame(
239                self,
240                input_pixel_buffer,
241                frame_options,
242                output_handler,
243            )
244        }
245    }
246
247    /// Forces the RAW Processor to complete processing frames.
248    ///
249    /// Call this after calling a set of VTRAWProcessingSessionProcessFrame calls to ensure that all frames have been processed.
250    /// Before VTRAWProcessingSessionCompleteFrames returns, the output handler will be invoked for all pending frames.
251    ///
252    /// Parameter `session`: The RAW processing session.
253    #[doc(alias = "VTRAWProcessingSessionCompleteFrames")]
254    #[inline]
255    pub unsafe fn complete_frames(&self) -> OSStatus {
256        extern "C-unwind" {
257            fn VTRAWProcessingSessionCompleteFrames(session: &VTRAWProcessingSession) -> OSStatus;
258        }
259        unsafe { VTRAWProcessingSessionCompleteFrames(self) }
260    }
261
262    /// Copies an array of dictionaries describing the parameters provided by the RAW Processor for frame processing
263    ///
264    /// This will return an array of dictionaries, one dictionary for each parameter that can be controlled in the RAW Processing operation.
265    /// The dictionary for each parameter will contain a set of kVTRAWProcessingParameter keys whose values provide a name, value type,
266    /// value range, and current value for each parameter.
267    ///
268    /// The returned values can be used to contruct dynamic UI presenting RAW Processing controls allowing the various knobs for this
269    /// specific RAW Processor to be viewed and manipulated.
270    ///
271    /// Parameter `session`: The RAW processing session.
272    ///
273    /// Parameter `outParameterArray`: Pointer for receiving the RAW Processing parameter array..
274    ///
275    /// # Safety
276    ///
277    /// `out_parameter_array` must be a valid pointer.
278    #[doc(alias = "VTRAWProcessingSessionCopyProcessingParameters")]
279    #[inline]
280    pub unsafe fn copy_processing_parameters(
281        &self,
282        out_parameter_array: NonNull<*const CFArray>,
283    ) -> OSStatus {
284        extern "C-unwind" {
285            fn VTRAWProcessingSessionCopyProcessingParameters(
286                session: &VTRAWProcessingSession,
287                out_parameter_array: NonNull<*const CFArray>,
288            ) -> OSStatus;
289        }
290        unsafe { VTRAWProcessingSessionCopyProcessingParameters(self, out_parameter_array) }
291    }
292
293    /// Sets a collection of RAW Processing parameters
294    ///
295    /// This call will set a collection of RAW Processing parameters on the RAW Processor.  These are set as a dictionary where the keys match
296    /// kVTRAWProcessingParameter_Key values that were returned in VTRAWProcessingSessionCopyProcessingParameters and where values conform
297    /// to the type and range defined in the kVTRAWProcessingParameter dictionary for each parameter.
298    ///
299    /// Not all parameters from the RAWProcessingParameter array need to be set at any given time.  Changining the parameters will not change
300    /// processing on frames already submitted for processing, it will only impact frames where VTRAWProcessingSessionProcessFrame is called
301    /// after VTRAWProcessingSessionSetProcessingParameters returns.
302    ///
303    /// If any parameters specified are not in the array reported by VTRAWProcessingSessionCopyProcessingParameters, or are the wrong type or are out of range,
304    /// kVTParameterErr will be returned and none of the parameters will be applied.
305    ///
306    /// Parameter `session`: The RAW processing session.
307    ///
308    /// Parameter `processingParameters`: A dictionary of keys and values setting parameters reported by VTRAWProcessingSessionCopyProcessingParameters.
309    ///
310    /// Returns: Returns an error if any of the provided parameters are invalid, disabled or outside of the declared valid range.
311    /// None of the provided parameters will be set on the processor if an error is returned.
312    ///
313    /// # Safety
314    ///
315    /// `processing_parameters` generics must be of the correct type.
316    #[doc(alias = "VTRAWProcessingSessionSetProcessingParameters")]
317    #[inline]
318    pub unsafe fn set_processing_parameters(
319        &self,
320        processing_parameters: &CFDictionary,
321    ) -> OSStatus {
322        extern "C-unwind" {
323            fn VTRAWProcessingSessionSetProcessingParameters(
324                session: &VTRAWProcessingSession,
325                processing_parameters: &CFDictionary,
326            ) -> OSStatus;
327        }
328        unsafe { VTRAWProcessingSessionSetProcessingParameters(self, processing_parameters) }
329    }
330}
331
332extern "C" {
333    /// The value corresponding to this key is the string used when specifying this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
334    ///
335    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_key?language=objc)
336    pub static kVTRAWProcessingParameter_Key: &'static CFString;
337}
338
339extern "C" {
340    /// The value corresponding to this key is a localized string  which can be displayed in UI representing this parameter.
341    ///
342    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_name?language=objc)
343    pub static kVTRAWProcessingParameter_Name: &'static CFString;
344}
345
346extern "C" {
347    /// The value corresponding to this key is a localized string with a description of the parameter suitable for display in a tooltip or other descriptive UI.
348    ///
349    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_description?language=objc)
350    pub static kVTRAWProcessingParameter_Description: &'static CFString;
351}
352
353extern "C" {
354    /// The value corresponding to this key is Boolean indicating whether the parameter is enabled and can be modified.
355    ///
356    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_enabled?language=objc)
357    pub static kVTRAWProcessingParameter_Enabled: &'static CFString;
358}
359
360extern "C" {
361    /// The value corresponding to this key is the type of the parameter - a Boolean, Integer, Float, List, or SubGroup.
362    ///
363    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_valuetype?language=objc)
364    pub static kVTRAWProcessingParameter_ValueType: &'static CFString;
365}
366
367extern "C" {
368    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_boolean?language=objc)
369    pub static kVTRAWProcessingParameterValueType_Boolean: &'static CFString;
370}
371
372extern "C" {
373    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_integer?language=objc)
374    pub static kVTRAWProcessingParameterValueType_Integer: &'static CFString;
375}
376
377extern "C" {
378    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_float?language=objc)
379    pub static kVTRAWProcessingParameterValueType_Float: &'static CFString;
380}
381
382extern "C" {
383    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_list?language=objc)
384    pub static kVTRAWProcessingParameterValueType_List: &'static CFString;
385}
386
387extern "C" {
388    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_subgroup?language=objc)
389    pub static kVTRAWProcessingParameterValueType_SubGroup: &'static CFString;
390}
391
392extern "C" {
393    /// The value corresponding to this key is a CFArray of CFDictionaries describing each element in the list..
394    ///
395    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_listarray?language=objc)
396    pub static kVTRAWProcessingParameter_ListArray: &'static CFString;
397}
398
399extern "C" {
400    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_label?language=objc)
401    pub static kVTRAWProcessingParameterListElement_Label: &'static CFString;
402}
403
404extern "C" {
405    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_description?language=objc)
406    pub static kVTRAWProcessingParameterListElement_Description: &'static CFString;
407}
408
409extern "C" {
410    /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_listelementid?language=objc)
411    pub static kVTRAWProcessingParameterListElement_ListElementID: &'static CFString;
412}
413
414extern "C" {
415    /// The value corresponding to this key is a CFArray of CFDictionaries representing the individual sub-parameters in this group.
416    ///
417    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_subgroup?language=objc)
418    pub static kVTRAWProcessingParameter_SubGroup: &'static CFString;
419}
420
421extern "C" {
422    /// The value corresponding to this key is the maximum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
423    /// This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).
424    ///
425    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_maximumvalue?language=objc)
426    pub static kVTRAWProcessingParameter_MaximumValue: &'static CFString;
427}
428
429extern "C" {
430    /// The value corresponding to this key is the minimum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
431    /// This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).
432    ///
433    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_minimumvalue?language=objc)
434    pub static kVTRAWProcessingParameter_MinimumValue: &'static CFString;
435}
436
437extern "C" {
438    /// The value corresponding to this key is the initial value for this parameter as defined by the container and metadata provided at creation time.
439    /// For List types, this is the ListElementID for the List element.
440    ///
441    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_initialvalue?language=objc)
442    pub static kVTRAWProcessingParameter_InitialValue: &'static CFString;
443}
444
445extern "C" {
446    /// The value corresponding to this key is a neutral setting for the processor.
447    /// For List types, this is the ListElementID for the List element.
448    ///
449    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_neutralvalue?language=objc)
450    pub static kVTRAWProcessingParameter_NeutralValue: &'static CFString;
451}
452
453extern "C" {
454    /// The value corresponding to this key is the "As Shot" value for this parameter as originally captured by the camera.
455    /// For List types, this is the ListElementID for the List element.
456    ///
457    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_cameravalue?language=objc)
458    pub static kVTRAWProcessingParameter_CameraValue: &'static CFString;
459}
460
461extern "C" {
462    /// The value corresponding to this key is the currently configured value for this parameter.  For List types, this is the ListElementID for the List element.
463    ///
464    /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_currentvalue?language=objc)
465    pub static kVTRAWProcessingParameter_CurrentValue: &'static CFString;
466}
467
468extern "C-unwind" {
469    #[cfg(feature = "objc2-core-media")]
470    #[deprecated = "renamed to `VTRAWProcessingSession::create`"]
471    pub fn VTRAWProcessingSessionCreate(
472        allocator: Option<&CFAllocator>,
473        format_description: &CMVideoFormatDescription,
474        output_pixel_buffer_attributes: Option<&CFDictionary>,
475        processing_session_options: Option<&CFDictionary>,
476        processing_session_out: NonNull<*mut VTRAWProcessingSession>,
477    ) -> OSStatus;
478}
479
480extern "C-unwind" {
481    #[deprecated = "renamed to `VTRAWProcessingSession::invalidate`"]
482    pub fn VTRAWProcessingSessionInvalidate(session: &VTRAWProcessingSession);
483}
484
485extern "C-unwind" {
486    #[cfg(feature = "block2")]
487    #[deprecated = "renamed to `VTRAWProcessingSession::set_parameter_changed_handler`"]
488    pub fn VTRAWProcessingSessionSetParameterChangedHandler(
489        session: &VTRAWProcessingSession,
490        parameter_change_handler: VTRAWProcessingParameterChangeHandler,
491    ) -> OSStatus;
492}
493
494extern "C-unwind" {
495    #[cfg(feature = "block2")]
496    #[deprecated = "renamed to `VTRAWProcessingSession::set_parameter_changed_hander`"]
497    pub fn VTRAWProcessingSessionSetParameterChangedHander(
498        session: &VTRAWProcessingSession,
499        parameter_change_handler: VTRAWProcessingParameterChangeHandler,
500    ) -> OSStatus;
501}
502
503extern "C-unwind" {
504    #[cfg(all(feature = "block2", feature = "objc2-core-video"))]
505    #[deprecated = "renamed to `VTRAWProcessingSession::process_frame`"]
506    pub fn VTRAWProcessingSessionProcessFrame(
507        session: &VTRAWProcessingSession,
508        input_pixel_buffer: &CVPixelBuffer,
509        frame_options: Option<&CFDictionary>,
510        output_handler: VTRAWProcessingOutputHandler,
511    ) -> OSStatus;
512}
513
514extern "C-unwind" {
515    #[deprecated = "renamed to `VTRAWProcessingSession::complete_frames`"]
516    pub fn VTRAWProcessingSessionCompleteFrames(session: &VTRAWProcessingSession) -> OSStatus;
517}
518
519extern "C-unwind" {
520    #[deprecated = "renamed to `VTRAWProcessingSession::copy_processing_parameters`"]
521    pub fn VTRAWProcessingSessionCopyProcessingParameters(
522        session: &VTRAWProcessingSession,
523        out_parameter_array: NonNull<*const CFArray>,
524    ) -> OSStatus;
525}
526
527extern "C-unwind" {
528    #[deprecated = "renamed to `VTRAWProcessingSession::set_processing_parameters`"]
529    pub fn VTRAWProcessingSessionSetProcessingParameters(
530        session: &VTRAWProcessingSession,
531        processing_parameters: &CFDictionary,
532    ) -> OSStatus;
533}