1pub const kPrMaxPath: u32 = 260;
4pub const kPrMaxName: u32 = 260;
5pub const kPrForceEnumToIntValue: u32 = 4294967295;
6pub const kPrSDKTimeSuite: &[u8; 20] = b"Premiere Time Suite\0";
7pub const kPrSDKTimeSuiteVersion: u32 = 1;
8pub const kPrSDKClipRenderSuite: &[u8; 27] = b"Premiere Clip Render Suite\0";
9pub const kPrSDKClipRenderSuiteVersion: u32 = 3;
10pub const kSPNoError: u32 = 0;
11pub const kSPOutOfMemoryError: u32 = 4294967148;
12pub const kSPBasicSuite: &[u8; 15] = b"SP Basic Suite\0";
13pub const kSPBasicSuiteVersion: u32 = 4;
14pub const PR_PISUITES_VERSION_1: u32 = 1;
15pub const PR_PISUITES_VERSION_2: u32 = 2;
16pub const PR_PISUITES_VERSION_3: u32 = 3;
17pub const PR_PISUITES_VERSION_4: u32 = 4;
18pub const PR_PISUITES_VERSION_5: u32 = 5;
19pub const PR_PISUITES_VERSION_6: u32 = 6;
20pub const PR_PISUITES_VERSION_7: u32 = 7;
21pub const PR_PISUITES_VERSION_8: u32 = 8;
22pub const PR_PISUITES_VERSION_9: u32 = 9;
23pub const PR_PISUITES_VERSION: u32 = 9;
24pub const kVideoFilterVersion: u32 = 12;
25pub const kPrSDKErrorSuite: &[u8; 21] = b"Premiere Error Suite\0";
26pub const kPrSDKErrorSuiteVersion1: u32 = 1;
27pub const kPrSDKErrorSuiteVersion2: u32 = 2;
28pub const kPrSDKErrorSuiteVersion3: u32 = 3;
29pub const kPrSDKErrorSuiteVersion: u32 = 3;
30pub const kPrSDKGPUDeviceSuite: &[u8; 27] = b"MediaCore GPU Device Suite\0";
31pub const kPrSDKGPUDeviceSuiteVersion: u32 = 2;
32pub const PrCUDAVersion: u32 = 9020;
33pub const PrOpenCLVersion: u32 = 1000;
34pub const kPrSDKAudioSuite: &[u8; 21] = b"Premiere Audio Suite\0";
35pub const kPrSDKAudioSuiteVersion: u32 = 1;
36pub const kMaxAudioChannelCount: u32 = 32;
37pub const kPrSDKPlayModuleDeviceControlSuite: &[u8; 38] =
38 b"Premiere Playmod Device Control Suite\0";
39pub const kPrSDKPlayModuleDeviceControlSuiteVersion: u32 = 1;
40pub const kPrSDKEndOfTimeline: u64 = 91445760000000000;
41pub const PrSDKGPUFilterInterfaceVersion1: u32 = 1;
42pub const PrSDKGPUFilterInterfaceVersion2: u32 = 2;
43pub const PrSDKGPUFilterInterfaceVersion: u32 = 2;
44pub const PrGPUFilterEntryPointName: &[u8; 16] = b"xGPUFilterEntry\0";
45pub const kPrSDKGPUImageProcessingSuite: &[u8; 37] = b"MediaCore GPU Image Processing Suite\0";
46pub const kPrSDKGPUImageProcessingSuiteVersion: u32 = 1;
47pub const kPrSDKMemoryManagerSuite: &[u8; 30] = b"Premiere Memory Manager Suite\0";
48pub const kPrSDKMemoryManagerSuiteVersion1: u32 = 1;
49pub const kPrSDKMemoryManagerSuiteVersion2: u32 = 2;
50pub const kPrSDKMemoryManagerSuiteVersion3: u32 = 3;
51pub const kPrSDKMemoryManagerSuiteVersion4: u32 = 4;
52pub const kPrSDKMemoryManagerSuiteVersion: u32 = 4;
53pub const kPrSDKPixelFormatSuite: &[u8; 28] = b"Premiere Pixel Format Suite\0";
54pub const kPrSDKPixelFormatSuiteVersion: u32 = 1;
55pub const kPrSDKPPixSuite: &[u8; 20] = b"Premiere PPix Suite\0";
56pub const kPrSDKPPixSuiteVersion: u32 = 1;
57pub const kPrSDKPPix2Suite: &[u8; 22] = b"Premiere PPix 2 Suite\0";
58pub const kPrSDKPPix2SuiteVersion1: u32 = 1;
59pub const kPrSDKPPix2SuiteVersion2: u32 = 2;
60pub const kPrSDKPPix2SuiteVersion3: u32 = 3;
61pub const kPrSDKPPix2SuiteVersion: u32 = 3;
62pub const kPrSRGBColorSpace: &[u8; 5] = b"sRGB\0";
63pub const kPrRec601525ColorSpace: &[u8; 14] = b"BT.601 (NTSC)\0";
64pub const kPrRec601625ColorSpace: &[u8; 13] = b"BT.601 (PAL)\0";
65pub const kPrRec709: &[u8; 7] = b"BT.709\0";
66pub const kPrRec709Scene: &[u8; 15] = b"BT.709 (Scene)\0";
67pub const kPrRec709RGB: &[u8; 11] = b"BT.709 RGB\0";
68pub const kPrRec709RGBScene: &[u8; 19] = b"BT.709 RGB (Scene)\0";
69pub const kPrOverranged709: &[u8; 16] = b"BT.709 RGB Full\0";
70pub const kPrOverranged709Scene: &[u8; 24] = b"BT.709 RGB Full (Scene)\0";
71pub const kPrOverranged709Display: &[u8; 26] = b"BT.709 RGB Full (Display)\0";
72pub const kPrRec2020: &[u8; 8] = b"BT.2020\0";
73pub const kPrRec2020Scene: &[u8; 16] = b"BT.2020 (Scene)\0";
74pub const kPrRec2020RGB: &[u8; 12] = b"BT.2020 RGB\0";
75pub const kPrRec2020RGBScene: &[u8; 20] = b"BT.2020 RGB (Scene)\0";
76pub const kPrOverranged2020: &[u8; 17] = b"BT.2020 RGB Full\0";
77pub const kPrOverranged2020Scene: &[u8; 25] = b"BT.2020 RGB Full (Scene)\0";
78pub const kPrOverranged2020Display: &[u8; 27] = b"BT.2020 RGB Full (Display)\0";
79pub const kPrRec2100HLG: &[u8; 12] = b"BT.2100 HLG\0";
80pub const kPrRec2100HLGScene: &[u8; 20] = b"BT.2100 HLG (Scene)\0";
81pub const kPrRec2100HLGRGB: &[u8; 16] = b"BT.2100 HLG RGB\0";
82pub const kPrRec2100HLGRGBScene: &[u8; 24] = b"BT.2100 HLG RGB (Scene)\0";
83pub const kPrOverranged2100HLG: &[u8; 21] = b"BT.2100 HLG RGB Full\0";
84pub const kPrOverranged2100HLGScene: &[u8; 29] = b"BT.2100 HLG RGB Full (Scene)\0";
85pub const kPrOverranged2100HLGDisplay: &[u8; 31] = b"BT.2100 HLG RGB Full (Display)\0";
86pub const kPrRec2100PQ: &[u8; 11] = b"BT.2100 PQ\0";
87pub const kPrRec2100PQScene: &[u8; 19] = b"BT.2100 PQ (Scene)\0";
88pub const kPrRec2100PQRGB: &[u8; 15] = b"BT.2100 PQ RGB\0";
89pub const kPrRec2100PQRGBScene: &[u8; 23] = b"BT.2100 PQ RGB (Scene)\0";
90pub const kPrOverranged2100PQ: &[u8; 20] = b"BT.2100 PQ RGB Full\0";
91pub const kPrOverranged2100PQScene: &[u8; 28] = b"BT.2100 PQ RGB Full (Scene)\0";
92pub const kPrOverranged2100PQDisplay: &[u8; 30] = b"BT.2100 PQ RGB Full (Display)\0";
93pub const kPrDCDMXYZ: &[u8; 12] = b"DCDM X'Y'Z'\0";
94pub const kPrSonySGamutSLog2: &[u8; 18] = b"Sony SGamut/SLog2\0";
95pub const kPrSony2020SLog3: &[u8; 14] = b"BT.2020/SLog3\0";
96pub const kPrSonySGamut3CineSLog3: &[u8; 24] = b"Sony SGamut3.Cine/SLog3\0";
97pub const kPrSonySGamut3SLog3: &[u8; 19] = b"Sony SGamut3/SLog3\0";
98pub const kPrWorkingColorSpace: &[u8; 20] = b"Working Color Space\0";
99pub const kPrSDKPPixCacheSuite: &[u8; 26] = b"Premiere PPix Cache Suite\0";
100pub const kPrSDKPPixCacheSuiteVersion1: u32 = 1;
101pub const kPrSDKPPixCacheSuiteVersion2: u32 = 2;
102pub const kPrSDKPPixCacheSuiteVersion3: u32 = 3;
103pub const kPrSDKPPixCacheSuiteVersion4: u32 = 4;
104pub const kPrSDKPPixCacheSuiteVersion5: u32 = 5;
105pub const kPrSDKPPixCacheSuiteVersion6: u32 = 6;
106pub const kPrSDKPPixCacheSuiteVersion7: u32 = 7;
107pub const kPrSDKPPixCacheSuiteVersion8: u32 = 8;
108pub const kPrSDKPPixCacheSuiteVersion: u32 = 8;
109pub const kPrSDKPPixCreator2Suite: &[u8; 30] = b"Premiere PPix Creator 2 Suite\0";
110pub const kPrSDKPPixCreator2SuiteVersion1: u32 = 1;
111pub const kPrSDKPPixCreator2SuiteVersion2: u32 = 2;
112pub const kPrSDKPPixCreator2SuiteVersion3: u32 = 3;
113pub const kPrSDKPPixCreator2SuiteVersion4: u32 = 4;
114pub const kPrSDKPPixCreator2SuiteVersion: u32 = 4;
115pub const kPrSDKPPixCreatorSuite: &[u8; 28] = b"Premiere PPix Creator Suite\0";
116pub const kPrSDKPPixCreatorSuiteVersion: u32 = 1;
117pub const kPrSDKSequenceInfoSuite: &[u8; 30] = b"MediaCore Sequence Info Suite\0";
118pub const kPrSDKSequenceInfoSuiteVersion: u32 = 6;
119pub const kPrSDK_StreamLabel_Stereoscopic_Left: &[u8; 23] = b"ADBE.Stereoscopic.Left\0";
120pub const kPrSDK_StreamLabel_Stereoscopic_Right: &[u8; 24] = b"ADBE.Stereoscopic.Right\0";
121pub const kPrSDKSequenceRenderSuite: &[u8; 32] = b"MediaCore Sequence Render Suite\0";
122pub const kPrSDKSequenceRenderSuiteVersion1: u32 = 1;
123pub const kPrSDKSequenceRenderSuiteVersion2: u32 = 2;
124pub const kPrSDKSequenceRenderSuiteVersion3: u32 = 3;
125pub const kPrSDKSequenceRenderSuiteVersion4: u32 = 4;
126pub const kPrSDKSequenceRenderSuiteVersion5: u32 = 5;
127pub const kPrSDKSequenceRenderSuiteVersion6: u32 = 6;
128pub const kPrSDKSequenceRenderSuiteVersion: u32 = 6;
129pub const kPrSDKSmartRenderingSuite: &[u8; 32] = b"MediaCore Smart Rendering Suite\0";
130pub const kPrSDKSmartRenderingSuiteVersion1: u32 = 1;
131pub const kPrSDKSmartRenderingSuiteVersion2: u32 = 2;
132pub const kPrSDKSmartRenderingSuiteVersion3: u32 = 3;
133pub const kPrSDKSmartRenderingSuiteVersion: u32 = 3;
134pub const kPrSDKStringSuite: &[u8; 22] = b"MediaCore StringSuite\0";
135pub const kPrSDKStringSuiteVersion: u32 = 1;
136pub const kPrSDKThreadedWorkSuite: &[u8; 29] = b"Premiere Threaded Work Suite\0";
137pub const kPrSDKThreadedWorkSuiteVersion2: u32 = 2;
138pub const kPrSDKThreadedWorkSuiteVersion3: u32 = 3;
139pub const kVideoSegmentProperty_Media_ClipID: &[u8; 18] = b"MediaNode::ClipID\0";
140pub const kVideoSegmentProperty_Media_ProxyClipID: &[u8; 23] = b"MediaNode::ProxyClipID\0";
141pub const kVideoSegmentProperty_Media_InstanceString: &[u8; 31] =
142 b"MediaNode::MediaInstanceString\0";
143pub const kVideoSegmentProperty_Media_ProxyInstanceString: &[u8; 36] =
144 b"MediaNode::ProxyMediaInstanceString\0";
145pub const kVideoSegmentProperty_Media_ImplementationID: &[u8; 28] =
146 b"MediaNode::ImplementationID\0";
147pub const kVideoSegmentProperty_Media_StreamGroup: &[u8; 28] = b"MediaNode::MediaStreamGroup\0";
148pub const kVideoSegmentProperty_Media_StreamLabel: &[u8; 28] = b"MediaNode::MediaStreamLabel\0";
149pub const kVideoSegmentProperty_Media_IsDraft: &[u8; 24] = b"MediaNode::MediaIsDraft\0";
150pub const kVideoSegmentProperty_Media_ModState: &[u8; 25] = b"MediaNode::MediaModState\0";
151pub const kVideoSegmentProperty_Media_IsOffline: &[u8; 26] = b"MediaNode::MediaIsOffline\0";
152pub const kVideoSegmentProperty_Media_IsPending: &[u8; 26] = b"MediaNode::MediaIsPending\0";
153pub const kVideoSegmentProperty_Media_CaptioningID: &[u8; 29] = b"MediaNode::MediaCaptioningID\0";
154pub const kVideoSegmentProperty_Media_StreamFrameRate: &[u8; 27] = b"MediaNode::StreamFrameRate\0";
155pub const kVideoSegmentProperty_Media_StreamAlphaType: &[u8; 27] = b"MediaNode::StreamAlphaType\0";
156pub const kVideoSegmentProperty_Media_StreamIgnoreAlpha: &[u8; 29] =
157 b"MediaNode::StreamIgnoreAlpha\0";
158pub const kVideoSegmentProperty_Media_StreamInvertAlpha: &[u8; 29] =
159 b"MediaNode::StreamInvertAlpha\0";
160pub const kVideoSegmentProperty_Media_StreamAlphaMatteColor: &[u8; 33] =
161 b"MediaNode::StreamAlphaMatteColor\0";
162pub const kVideoSegmentProperty_Media_StreamRemovePulldown: &[u8; 32] =
163 b"MediaNode::StreamRemovePulldown\0";
164pub const kVideoSegmentProperty_Media_StreamPixelAspectRatioNum: &[u8; 37] =
165 b"MediaNode::StreamPixelAspectRatioNum\0";
166pub const kVideoSegmentProperty_Media_StreamFrameWidth: &[u8; 28] =
167 b"MediaNode::StreamFrameWidth\0";
168pub const kVideoSegmentProperty_Media_StreamFrameHeight: &[u8; 29] =
169 b"MediaNode::StreamFrameHeight\0";
170pub const kVideoSegmentProperty_Media_StreamPixelAspectRatioDen: &[u8; 37] =
171 b"MediaNode::StreamPixelAspectRatioDen\0";
172pub const kVideoSegmentProperty_Media_StreamFieldType: &[u8; 27] = b"MediaNode::StreamFieldType\0";
173pub const kVideoSegmentProperty_Media_StreamOpaqueData: &[u8; 28] =
174 b"MediaNode::StreamOpaqueData\0";
175pub const kVideoSegmentProperty_Media_ProxyStreamOpaqueData: &[u8; 33] =
176 b"MediaNode::ProxyStreamOpaqueData\0";
177pub const kVideoSegmentProperty_Media_StreamPullDownCadence: &[u8; 33] =
178 b"MediaNode::StreamPullDownCadence\0";
179pub const kVideoSegmentProperty_Media_StreamFrameVidSubType: &[u8; 33] =
180 b"MediaNode::StreamFrameVidSubType\0";
181pub const kVideoSegmentProperty_Media_StreamIsContinuousTime: &[u8; 62] =
182 b"MediaNode::kVideoSegmentProperty_Media_StreamIsContinuousTime\0";
183pub const kVideoSegmentProperty_Media_StreamIsRollCrawl: &[u8; 29] =
184 b"MediaNode::StreamIsRollCrawl\0";
185pub const kVideoSegmentProperty_Media_RollCrawlDuration: &[u8; 29] =
186 b"MediaNode::RollCrawlDuration\0";
187pub const kVideoSegmentProperty_Media_ContentStart: &[u8; 24] = b"MediaNode::ContentStart\0";
188pub const kVideoSegmentProperty_Media_ContentEnd: &[u8; 22] = b"MediaNode::ContentEnd\0";
189pub const kVideoSegmentProperty_Media_StartTimecodeOffset: &[u8; 31] =
190 b"MediaNode::StartTimecodeOffset\0";
191pub const kVideoSegmentProperty_Media_ProxyStartTimecodeOffset: &[u8; 36] =
192 b"MediaNode::ProxyStartTimecodeOffset\0";
193pub const kVideoSegmentProperty_Media_NestedSequenceHash: &[u8; 30] =
194 b"MediaNode::NestedSequenceHash\0";
195pub const kVideoSegmentProperty_Media_SelectedMulticamTrackFromNestedSequence: &[u8; 33] =
196 b"MediaNode::SelectedMulticamTrack\0";
197pub const kVideoSegmentProperty_Media_MulticamCameraOrderFromNestedSequence: &[u8; 31] =
198 b"MediaNode::MulticamCameraOrder\0";
199pub const kVideoSegmentProperty_Media_MulticamCamerasPerPage: &[u8; 34] =
200 b"MediaNode::MulticamCamerasPerPage\0";
201pub const kVideoSegmentProperty_Media_MulticamCurrentPage: &[u8; 31] =
202 b"MediaNode::MulticamCurrentPage\0";
203pub const kVideoSegmentProperty_Media_SelectedMulticamTrackTimelineID: &[u8; 43] =
204 b"MediaNode::SelectedMulticamTrackTimelineID\0";
205pub const kVideoSegmentProperty_Media_NestedSequenceTimelineID: &[u8; 36] =
206 b"MediaNode::NestedSequenceTimelineID\0";
207pub const kVideoSegmentProperty_Media_TrackItemIsMuted: &[u8; 28] =
208 b"MediaNode::TrackItemIsMuted\0";
209pub const kVideoSegmentProperty_Media_ClipSpeed: &[u8; 21] = b"MediaNode::ClipSpeed\0";
210pub const kVideoSegmentProperty_Media_ClipBackwards: &[u8; 25] = b"MediaNode::ClipBackwards\0";
211pub const kVideoSegmentProperty_Media_StreamFrameBlend: &[u8; 28] =
212 b"MediaNode::StreamFrameBlend\0";
213pub const kVideoSegmentProperty_Media_StreamTimeInterpolationType: &[u8; 39] =
214 b"MediaNode::StreamTimeInterpolationType\0";
215pub const kVideoSegmentProperty_Media_ClipScaleToFrameSize: &[u8; 32] =
216 b"MediaNode::ClipScaleToFrameSize\0";
217pub const kVideoSegmentProperty_Media_ClipScaleToFramePolicy: &[u8; 34] =
218 b"MediaNode::ClipScaleToFramePolicy\0";
219pub const kVideoSegmentProperty_Media_StreamReverseFieldDominance: &[u8; 39] =
220 b"MediaNode::StreamReverseFieldDominance\0";
221pub const kVideoSegmentProperty_Media_DeinterlaceAlways: &[u8; 29] =
222 b"MediaNode::DeinterlaceAlways\0";
223pub const kVideoSegmentProperty_Media_RemoveFlicker: &[u8; 25] = b"MediaNode::RemoveFlicker\0";
224pub const kVideoSegmentProperty_Media_InterlaceConsecutiveFrames: &[u8; 38] =
225 b"MediaNode::InterlaceConsecutiveFrames\0";
226pub const kVideoSegmentProperty_Media_SequenceColorSpace: &[u8; 30] =
227 b"MediaNode::SequenceColorSpace\0";
228pub const kVideoSegmentProperty_Media_StreamColorSpace: &[u8; 28] =
229 b"MediaNode::StreamColorSpace\0";
230pub const kVideoSegmentProperty_Media_StreamInputLUTID: &[u8; 28] =
231 b"MediaNode::StreamInputLUTID\0";
232pub const kVideoSegmentProperty_Media_ScanlineOffsetToImproveVerticalCentering: &[u8; 52] =
233 b"MediaNode::ScanlineOffsetToImproveVerticalCentering\0";
234pub const kVideoSegmentProperty_Media_InPointMediaTimeAsTicks: &[u8; 35] =
235 b"MediaNode::InPointMediaTimeAsTicks\0";
236pub const kVideoSegmentProperty_Media_OutPointMediaTimeAsTicks: &[u8; 36] =
237 b"MediaNode::OutPointMediaTimeAsTicks\0";
238pub const kVideoSegmentProperty_Media_SequenceFieldType: &[u8; 29] =
239 b"MediaNode::SequenceFieldType\0";
240pub const kVideoSegmentProperty_Media_SequenceFrameRate: &[u8; 29] =
241 b"MediaNode::SequenceFrameRate\0";
242pub const kVideoSegmentProperty_Media_SequenceWidth: &[u8; 25] = b"MediaNode::SequenceWidth\0";
243pub const kVideoSegmentProperty_Media_SequenceHeight: &[u8; 26] = b"MediaNode::SequenceHeight\0";
244pub const kVideoSegmentProperty_Media_SequencePixelAspectRatioNum: &[u8; 39] =
245 b"MediaNode::SequencePixelAspectRatioNum\0";
246pub const kVideoSegmentProperty_Media_SequencePixelAspectRatioDen: &[u8; 39] =
247 b"MediaNode::SequencePixelAspectRatioDen\0";
248pub const kVideoSegmentProperty_Media_OrientationType: &[u8; 27] = b"MediaNode::OrientationType\0";
249pub const kVideoSegmentProperty_Media_OrientationTypeProxy: &[u8; 32] =
250 b"MediaNode::OrientationTypeProxy\0";
251pub const kVideoSegmentProperty_Clip_ClipSpeed: &[u8; 20] = b"ClipNode::ClipSpeed\0";
252pub const kVideoSegmentProperty_Clip_ClipBackwards: &[u8; 24] = b"ClipNode::ClipBackwards\0";
253pub const kVideoSegmentProperty_Clip_TimeRemapping: &[u8; 24] = b"ClipNode::TimeRemapping\0";
254pub const kVideoSegmentProperty_Clip_FrameHoldAtTime: &[u8; 26] = b"ClipNode::FrameHoldAtTime\0";
255pub const kVideoSegmentProperty_Clip_FrameHoldFilters: &[u8; 27] = b"ClipNode::FrameHoldFilters\0";
256pub const kVideoSegmentProperty_Clip_GrowingDuration: &[u8; 26] = b"ClipNode::GrowingDuration\0";
257pub const kVideoSegmentProperty_Clip_FrameHoldDeinterlace: &[u8; 31] =
258 b"ClipNode::FrameHoldDeinterlace\0";
259pub const kVideoSegmentProperty_Clip_TrackID: &[u8; 18] = b"ClipNode::TrackID\0";
260pub const kVideoSegmentProperty_Clip_TrackItemStartAsTicks: &[u8; 32] =
261 b"ClipNode::TrackItemStartAsTicks\0";
262pub const kVideoSegmentProperty_Clip_TrackItemEndAsTicks: &[u8; 30] =
263 b"ClipNode::TrackItemEndAsTicks\0";
264pub const kVideoSegmentProperty_Clip_EffectiveTrackItemStartAsTicks: &[u8; 41] =
265 b"ClipNode::EffectiveTrackItemStartAsTicks\0";
266pub const kVideoSegmentProperty_Clip_EffectiveTrackItemEndAsTicks: &[u8; 39] =
267 b"ClipNode::EffectiveTrackItemEndAsTicks\0";
268pub const kVideoSegmentProperty_Clip_AllowLinearCompositing: &[u8; 33] =
269 b"ClipNode::AllowLinearCompositing\0";
270pub const kVideoSegmentProperty_Clip_HasCaptions: &[u8; 22] = b"ClipNode::HasCaptions\0";
271pub const kVideoSegmentProperty_Clip_UntrimmedDuration: &[u8; 28] =
272 b"ClipNode::UntrimmedDuration\0";
273pub const kVideoSegmentProperty_Multicam_SelectedTrack: &[u8; 28] =
274 b"MulticamNode::SelectedTrack\0";
275pub const kVideoSegmentProperty_Multicam_CameraOrder: &[u8; 26] = b"MulticamNode::CameraOrder\0";
276pub const kVideoSegmentProperty_Multicam_CamerasPerPage: &[u8; 29] =
277 b"MulticamNode::CamerasPerPage\0";
278pub const kVideoSegmentProperty_Multicam_CurrentPage: &[u8; 26] = b"MulticamNode::CurrentPage\0";
279pub const kVideoSegmentProperty_Multicam_ShowProgram: &[u8; 26] = b"MulticamNode::ShowProgram\0";
280pub const kVideoSegmentProperty_Multicam_Recording: &[u8; 24] = b"MulticamNode::Recording\0";
281pub const kVideoSegmentProperty_Multicam_IsNonMultiCam: &[u8; 28] =
282 b"MulticamNode::IsNonMultiCam\0";
283pub const kVideoSegmentProperty_Multicam_UseTimeRemapping: &[u8; 31] =
284 b"MulticamNode::UseTimeRemapping\0";
285pub const kVideoSegmentProperty_SolidColor_Color: &[u8; 22] = b"SolidColorNode::Color\0";
286pub const kVideoSegmentProperty_Effect_FilterMatchName: &[u8; 28] =
287 b"EffectNode::FilterMatchName\0";
288pub const kVideoSegmentProperty_Effect_FilterOpaqueData: &[u8; 29] =
289 b"EffectNode::FilterOpaqueData\0";
290pub const kVideoSegmentProperty_Effect_FilterParams: &[u8; 25] = b"EffectNode::FilterParams\0";
291pub const kVideoSegmentProperty_Effect_EffectDuration: &[u8; 27] = b"EffectNode::EffectDuration\0";
292pub const kVideoSegmentProperty_Effect_RuntimeInstanceID: &[u8; 30] =
293 b"EffectNode::RuntimeInstanceID\0";
294pub const kVideoSegmentProperty_Effect_LayerInputHashes: &[u8; 29] =
295 b"EffectNode::LayerInputHashes\0";
296pub const kVideoSegmentProperty_Effect_StreamLabel: &[u8; 24] = b"EffectNode::StreamLabel\0";
297pub const kVideoSegmentProperty_Effect_ClipName: &[u8; 21] = b"EffectNode::ClipName\0";
298pub const kVideoSegmentProperty_Effect_MasterClipName: &[u8; 27] = b"EffectNode::MasterClipName\0";
299pub const kVideoSegmentProperty_Effect_FileName: &[u8; 21] = b"EffectNode::FileName\0";
300pub const kVideoSegmentProperty_Effect_SourceTrackClipNameHashes: &[u8; 38] =
301 b"EffectNode::SourceTrackClipNameHashes\0";
302pub const kVideoSegmentProperty_Transition_TransitionMatchName: &[u8; 36] =
303 b"TransitionNode::TransitionMatchName\0";
304pub const kVideoSegmentProperty_Transition_TransitionOpaqueData: &[u8; 37] =
305 b"TransitionNode::TransitionOpaqueData\0";
306pub const kVideoSegmentProperty_Transition_TransitionStartPosition: &[u8; 40] =
307 b"TransitionNode::TransitionStartPosition\0";
308pub const kVideoSegmentProperty_Transition_TransitionEndPosition: &[u8; 38] =
309 b"TransitionNode::TransitionEndPosition\0";
310pub const kVideoSegmentProperty_Transition_TransitionCenterPosition: &[u8; 41] =
311 b"TransitionNode::TransitionCenterPosition\0";
312pub const kVideoSegmentProperty_Transition_TransitionStartPercent: &[u8; 39] =
313 b"TransitionNode::TransitionStartPercent\0";
314pub const kVideoSegmentProperty_Transition_TransitionEndPercent: &[u8; 37] =
315 b"TransitionNode::TransitionEndPercent\0";
316pub const kVideoSegmentProperty_Transition_TransitionBorderWidth: &[u8; 38] =
317 b"TransitionNode::TransitionBorderWidth\0";
318pub const kVideoSegmentProperty_Transition_TransitionBorderColor: &[u8; 38] =
319 b"TransitionNode::TransitionBorderColor\0";
320pub const kVideoSegmentProperty_Transition_TransitionSwitchSources: &[u8; 40] =
321 b"TransitionNode::TransitionSwitchSources\0";
322pub const kVideoSegmentProperty_Transition_TransitionReverse: &[u8; 34] =
323 b"TransitionNode::TransitionReverse\0";
324pub const kVideoSegmentProperty_Transition_TransitionDirection: &[u8; 36] =
325 b"TransitionNode::TransitionDirection\0";
326pub const kVideoSegmentProperty_Transition_TransitionAntiAliasQuality: &[u8; 43] =
327 b"TransitionNode::TransitionAntiAliasQuality\0";
328pub const kVideoSegmentProperty_Transition_TransitionDuration: &[u8; 35] =
329 b"TransitionNode::TransitionDuration\0";
330pub const kVideoSegmentProperty_Transition_TransitionParams: &[u8; 33] =
331 b"TransitionNode::TransitionParams\0";
332pub const kVideoSegmentProperty_Transition_RuntimeInstanceID: &[u8; 34] =
333 b"TransitionNode::RuntimeInstanceID\0";
334pub const kVideoSegmentProperty_Adjustment_AdjustmentMediaIsOpaque: &[u8; 40] =
335 b"AdjustmentNode::AdjustmentMediaIsOpaque\0";
336pub const kVideoSegmentProperty_Adjustment_InvertAlpha: &[u8; 28] =
337 b"AdjustmentNode::InvertAlpha\0";
338pub const kPrSDKVideoSegmentSuite: &[u8; 30] = b"MediaCore Video Segment Suite\0";
339pub const kPrSDKVideoSegmentSuiteVersion4: u32 = 4;
340pub const kPrSDKVideoSegmentSuiteVersion5: u32 = 5;
341pub const kPrSDKVideoSegmentSuiteVersion6: u32 = 6;
342pub const kPrSDKVideoSegmentSuiteVersion7: u32 = 7;
343pub const kPrSDKVideoSegmentSuiteVersion8: u32 = 8;
344pub const kPrSDKVideoSegmentSuiteVersion9: u32 = 9;
345pub const kPrSDKVideoSegmentSuiteVersion: u32 = 9;
346pub const kVideoSegment_NodeType_Clip: &[u8; 23] = b"RenderableNodeClipImpl\0";
347pub const kVideoSegment_NodeType_Compositor: &[u8; 29] = b"RenderableNodeCompositorImpl\0";
348pub const kVideoSegment_NodeType_Disabled: &[u8; 27] = b"RenderableNodeDisabledImpl\0";
349pub const kVideoSegment_NodeType_Effect: &[u8; 25] = b"RenderableNodeEffectImpl\0";
350pub const kVideoSegment_NodeType_Transition: &[u8; 29] = b"RenderableNodeTransitionImpl\0";
351pub const kVideoSegment_NodeType_Media: &[u8; 24] = b"RenderableNodeMediaImpl\0";
352pub const kVideoSegment_NodeType_Preview: &[u8; 26] = b"RenderableNodePreviewImpl\0";
353pub const kVideoSegment_NodeType_SolidColor: &[u8; 29] = b"RenderableNodeSolidColorImpl\0";
354pub const kVideoSegment_NodeType_Multicam: &[u8; 27] = b"RenderableNodeMulticamImpl\0";
355pub const kVideoSegment_NodeType_Adjustment: &[u8; 30] = b"RenderableNode_AdjustmentImpl\0";
356pub const kVideoSegment_NodeType_AdjustmentEffect: &[u8; 36] =
357 b"RenderableNode_AdjustmentEffectImpl\0";
358pub const kPrSDKWindowSuite: &[u8; 22] = b"Premiere Window Suite\0";
359pub const kPrSDKWindowSuiteVersion: u32 = 1;
360pub const PF_Vers_BUILD_BITS: u32 = 511;
361pub const PF_Vers_BUILD_SHIFT: u32 = 0;
362pub const PF_Vers_STAGE_BITS: u32 = 3;
363pub const PF_Vers_STAGE_SHIFT: u32 = 9;
364pub const PF_Vers_BUGFIX_BITS: u32 = 15;
365pub const PF_Vers_BUGFIX_SHIFT: u32 = 11;
366pub const PF_Vers_SUBVERS_BITS: u32 = 15;
367pub const PF_Vers_SUBVERS_SHIFT: u32 = 15;
368pub const PF_Vers_VERS_BITS: u32 = 7;
369pub const PF_Vers_VERS_SHIFT: u32 = 19;
370pub const PF_Vers_VERS_HIGH_BITS: u32 = 15;
371pub const PF_Vers_VERS_HIGH_SHIFT: u32 = 26;
372pub const PF_Vers_VERS_LOW_SHIFT: u32 = 3;
373pub const PF_AE234_PLUG_IN_VERSION: u32 = 13;
374pub const PF_AE234_PLUG_IN_SUBVERS: u32 = 28;
375pub const PF_AE220_PLUG_IN_VERSION: u32 = 13;
376pub const PF_AE220_PLUG_IN_SUBVERS: u32 = 27;
377pub const PF_AE184_PLUG_IN_VERSION: u32 = 13;
378pub const PF_AE184_PLUG_IN_SUBVERS: u32 = 26;
379pub const PF_AE182_PLUG_IN_VERSION: u32 = 13;
380pub const PF_AE182_PLUG_IN_SUBVERS: u32 = 25;
381pub const PF_AE180_PLUG_IN_VERSION: u32 = 13;
382pub const PF_AE180_PLUG_IN_SUBVERS: u32 = 24;
383pub const PF_AE177_PLUG_IN_VERSION: u32 = 13;
384pub const PF_AE177_PLUG_IN_SUBVERS: u32 = 23;
385pub const PF_AE176_PLUG_IN_VERSION: u32 = 13;
386pub const PF_AE176_PLUG_IN_SUBVERS: u32 = 22;
387pub const PF_AE175_PLUG_IN_VERSION: u32 = 13;
388pub const PF_AE175_PLUG_IN_SUBVERS: u32 = 21;
389pub const PF_AE171_PLUG_IN_VERSION: u32 = 13;
390pub const PF_AE171_PLUG_IN_SUBVERS: u32 = 20;
391pub const PF_AE170_PLUG_IN_VERSION: u32 = 13;
392pub const PF_AE170_PLUG_IN_SUBVERS: u32 = 18;
393pub const PF_AE161_PLUG_IN_VERSION: u32 = 13;
394pub const PF_AE161_PLUG_IN_SUBVERS: u32 = 17;
395pub const PF_AE160_PLUG_IN_VERSION: u32 = 13;
396pub const PF_AE160_PLUG_IN_SUBVERS: u32 = 16;
397pub const PF_AE151_PLUG_IN_VERSION: u32 = 13;
398pub const PF_AE151_PLUG_IN_SUBVERS: u32 = 15;
399pub const PF_AE150_PLUG_IN_VERSION: u32 = 13;
400pub const PF_AE150_PLUG_IN_SUBVERS: u32 = 15;
401pub const PF_AE142_PLUG_IN_VERSION: u32 = 13;
402pub const PF_AE142_PLUG_IN_SUBVERS: u32 = 14;
403pub const PF_AE140_PLUG_IN_VERSION: u32 = 13;
404pub const PF_AE140_PLUG_IN_SUBVERS: u32 = 13;
405pub const PF_AE138_PLUG_IN_VERSION: u32 = 13;
406pub const PF_AE138_PLUG_IN_SUBVERS: u32 = 11;
407pub const PF_AE136_PLUG_IN_VERSION: u32 = 13;
408pub const PF_AE136_PLUG_IN_SUBVERS: u32 = 10;
409pub const PF_AE135_PLUG_IN_VERSION: u32 = 13;
410pub const PF_AE135_PLUG_IN_SUBVERS: u32 = 9;
411pub const PF_AE130_PLUG_IN_VERSION: u32 = 13;
412pub const PF_AE130_PLUG_IN_SUBVERS: u32 = 7;
413pub const PF_AE122_PLUG_IN_VERSION: u32 = 13;
414pub const PF_AE122_PLUG_IN_SUBVERS: u32 = 6;
415pub const PF_AE121_PLUG_IN_VERSION: u32 = 13;
416pub const PF_AE121_PLUG_IN_SUBVERS: u32 = 5;
417pub const PF_AE120_PLUG_IN_VERSION: u32 = 13;
418pub const PF_AE120_PLUG_IN_SUBVERS: u32 = 4;
419pub const PF_AE1101_PLUG_IN_VERSION: u32 = 13;
420pub const PF_AE1101_PLUG_IN_SUBVERS: u32 = 3;
421pub const PF_AE110_PLUG_IN_VERSION: u32 = 13;
422pub const PF_AE110_PLUG_IN_SUBVERS: u32 = 2;
423pub const PF_AE105_PLUG_IN_VERSION: u32 = 13;
424pub const PF_AE105_PLUG_IN_SUBVERS: u32 = 1;
425pub const PF_AE100_PLUG_IN_VERSION: u32 = 13;
426pub const PF_AE100_PLUG_IN_SUBVERS: u32 = 0;
427pub const PF_AE90_PLUG_IN_VERSION: u32 = 12;
428pub const PF_AE90_PLUG_IN_SUBVERS: u32 = 14;
429pub const PF_AE80_PLUG_IN_VERSION: u32 = 12;
430pub const PF_AE80_PLUG_IN_SUBVERS: u32 = 13;
431pub const PF_AE70_PLUG_IN_VERSION: u32 = 12;
432pub const PF_AE70_PLUG_IN_SUBVERS: u32 = 12;
433pub const PF_AE65_PLUG_IN_VERSION: u32 = 12;
434pub const PF_AE65_PLUG_IN_SUBVERS: u32 = 11;
435pub const PF_AE41_PLUG_IN_VERSION: u32 = 12;
436pub const PF_AE41_PLUG_IN_SUBVERS: u32 = 2;
437pub const PF_AE40_PLUG_IN_VERSION: u32 = 12;
438pub const PF_AE40_PLUG_IN_SUBVERS: u32 = 1;
439pub const PF_AE31_PLUG_IN_VERSION: u32 = 11;
440pub const PF_AE31_PLUG_IN_SUBVERS: u32 = 6;
441pub const PF_AE31_PLUG_IN_SUBVERS_STRICTIFY: u32 = 8;
442pub const PF_AE_PLUG_IN_VERSION: u32 = 13;
443pub const PF_AE_PLUG_IN_SUBVERS: u32 = 28;
444pub const PF_MAX_EFFECT_NAME_LEN: u32 = 31;
445pub const PF_MAX_EFFECT_CATEGORY_NAME_LEN: u32 = 31;
446pub const PF_MAX_EFFECT_PARAM_NAME_LEN: u32 = 31;
447pub const PF_MAX_PARAM_DESCRIPTION_LEN: u32 = 31;
448pub const PF_MAX_PARAM_VALUE_LEN: u32 = 31;
449pub const PF_MAX_EFFECT_MSG_LEN: u32 = 255;
450pub const PF_AE65_AND_EARLIER_MAX_NUM_EFFECT_PARAMS: u32 = 127;
451pub const PF_MAX_WORLD_WIDTH: u32 = 30000;
452pub const PF_MAX_WORLD_HEIGHT: u32 = 30000;
453pub const PF_FIRST_ERR: u32 = 512;
454pub const PF_Category_BLUR_AND_SHARPEN: &[u8; 15] = b"Blur & Sharpen\0";
455pub const PF_Category_CHANNEL: &[u8; 8] = b"Channel\0";
456pub const PF_Category_DISTORT: &[u8; 8] = b"Distort\0";
457pub const PF_Category_IMAGE_CONTROL: &[u8; 14] = b"Image Control\0";
458pub const PF_Category_KEYING: &[u8; 7] = b"Keying\0";
459pub const PF_Category_PERSPECTIVE: &[u8; 12] = b"Perspective\0";
460pub const PF_Category_STYLIZE: &[u8; 8] = b"Stylize\0";
461pub const PF_Category_TEXT: &[u8; 5] = b"Text\0";
462pub const PF_Category_VIDEO: &[u8; 6] = b"Video\0";
463pub const PF_Category_TRANSITION: &[u8; 11] = b"Transition\0";
464pub const PF_Category_AUDIO: &[u8; 6] = b"Audio\0";
465pub const PF_Category_OTHER: &[u8; 6] = b"Other\0";
466pub const PF_MAX_CHAN8: u32 = 255;
467pub const PF_HALF_CHAN8: u32 = 128;
468pub const PF_MAX_CHAN16: u32 = 32768;
469pub const PF_HALF_CHAN16: u32 = 16384;
470pub const PF_HUE_UNDEFINED: u32 = 2147483648;
471pub const PF_CHANNEL_NAME_LEN: u32 = 63;
472pub const PF_PI: f64 = 3.141592653589793;
473pub const PF_2PI: f64 = 6.283185307179586;
474pub const PF_HALF_PI: f64 = 1.5707963267948966;
475pub const PF_E: f64 = 2.718281828459045;
476pub const PF_SQRT2: f64 = 1.4142135623730951;
477pub const PF_RAD_PER_DEGREE: f64 = 0.017453292519943295;
478pub const PF_KernelFlag_2D: u32 = 0;
479pub const PF_KernelFlag_1D: u32 = 1;
480pub const PF_KernelFlag_UNNORMALIZED: u32 = 0;
481pub const PF_KernelFlag_NORMALIZED: u32 = 2;
482pub const PF_KernelFlag_CLAMP: u32 = 0;
483pub const PF_KernelFlag_NO_CLAMP: u32 = 4;
484pub const PF_KernelFlag_USE_LONG: u32 = 0;
485pub const PF_KernelFlag_USE_CHAR: u32 = 8;
486pub const PF_KernelFlag_USE_FIXED: u32 = 16;
487pub const PF_KernelFlag_USE_UNDEFINED: u32 = 24;
488pub const PF_KernelFlag_HORIZONTAL: u32 = 0;
489pub const PF_KernelFlag_VERTICAL: u32 = 32;
490pub const PF_KernelFlag_TRANSPARENT_BORDERS: u32 = 0;
491pub const PF_KernelFlag_REPLICATE_BORDERS: u32 = 64;
492pub const PF_KernelFlag_STRAIGHT_CONVOLVE: u32 = 0;
493pub const PF_KernelFlag_ALPHA_WEIGHT_CONVOLVE: u32 = 128;
494pub const PF_Iterations_ONCE_PER_PROCESSOR: i32 = -1;
495pub const PF_Iteratations_ONCE_PER_PROCESSOR: i32 = -1;
496pub const kPFCacheOnLoadSuite: &[u8; 23] = b"PF Cache On Load Suite\0";
497pub const kPFCacheOnLoadSuiteVersion1: u32 = 1;
498pub const kPFPixelFormatSuite: &[u8; 22] = b"PF Pixel Format Suite\0";
499pub const kPFPixelFormatSuiteVersion1: u32 = 1;
500pub const kPFBackgroundFrameSuite: &[u8; 26] = b"PF Background Frame Suite\0";
501pub const kPFBackgroundFrameSuiteVersion1: u32 = 1;
502pub const kPFUtilitySuite: &[u8; 17] = b"PF Utility Suite\0";
503pub const kPFUtilitySuiteVersion2: u32 = 2;
504pub const kPFUtilitySuiteVersion3: u32 = 3;
505pub const kPFUtilitySuiteVersion4: u32 = 4;
506pub const kPFUtilitySuiteVersion5: u32 = 5;
507pub const kPFUtilitySuiteVersion6: u32 = 6;
508pub const kPFUtilitySuiteVersion7: u32 = 7;
509pub const kPFUtilitySuiteVersion8: u32 = 8;
510pub const kPFUtilitySuiteVersion9: u32 = 9;
511pub const kPFUtilitySuiteVersion10: u32 = 10;
512pub const kPFUtilitySuiteVersion11: u32 = 11;
513pub const kPFUtilitySuiteVersion: u32 = 11;
514pub const kPFSourceSettingsSuite: &[u8; 25] = b"PF Source Settings Suite\0";
515pub const kPFSourceSettingsSuiteVersion1: u32 = 1;
516pub const kPFSourceSettingsSuiteVersion2: u32 = 2;
517pub const kPFSourceSettingsSuiteVersion: u32 = 2;
518pub const kPFTransitionSuite: &[u8; 20] = b"PF Transition Suite\0";
519pub const kPFTransitionSuiteVersion1: u32 = 1;
520pub const kPFTransitionSuiteVersion2: u32 = 2;
521pub const kPFTransitionSuiteVersion: u32 = 2;
522pub const kPrSDKOpaqueEffectDataSuite: &[u8; 25] = b"Opaque Effect Data Suite\0";
523pub const kPrSDKOpaqueEffectDataSuiteVersion2: u32 = 2;
524pub const kPrSDKOpaqueEffectDataSuiteVersion: u32 = 2;
525#[repr(C)]
526#[derive(Debug, Copy, Clone)]
527pub struct NSView {
528 _unused: [u8; 0],
529}
530pub type csSDK_int8 = i8;
531pub type csSDK_int16 = i16;
532pub type csSDK_int32 = i32;
533pub type csSDK_int64 = i64;
534pub type csSDK_uint8 = u8;
535pub type csSDK_uint16 = u16;
536pub type csSDK_uint32 = u32;
537pub type csSDK_uint64 = u64;
538pub type csSDK_size_t = csSDK_uint64;
539pub type PrMemoryPtr = *mut ::std::os::raw::c_char;
540pub type PrMemoryHandle = *mut PrMemoryPtr;
541pub type PrFourCC = csSDK_uint32;
542#[repr(C, packed)]
543#[derive(Debug, Copy, Clone)]
544pub struct prRect {
545 pub top: csSDK_int16,
546 pub left: csSDK_int16,
547 pub bottom: csSDK_int16,
548 pub right: csSDK_int16,
549}
550#[repr(C, packed)]
551#[derive(Debug, Copy, Clone)]
552pub struct prFPoint64 {
553 pub x: f64,
554 pub y: f64,
555}
556pub type prBool = csSDK_int32;
557pub const kPrTrue: prBool = 1;
558pub const kPrFalse: prBool = 0;
559pub type prUTF8Char = csSDK_uint8;
560pub type prInt64 = csSDK_int64;
561pub type prUTF16Char = csSDK_uint16;
562pub type prWnd = *mut NSView;
563#[repr(C, packed)]
564#[derive(Debug, Copy, Clone)]
565pub struct PrSDKString {
566 pub opaque: [csSDK_int64; 2usize],
567}
568#[repr(C, packed)]
569#[derive(Debug, Copy, Clone)]
570pub struct PrSDKGuid {
571 pub opaque: [csSDK_int64; 2usize],
572}
573pub type PrSDKColorSpaceID = PrSDKGuid;
574extern "C" {
575 #[link_name = "\u{1}__ZL26kPrSDKColorSpaceID_Invalid"]
576 pub static kPrSDKColorSpaceID_Invalid: PrSDKColorSpaceID;
577}
578pub type PrSDKLUTID = PrSDKGuid;
579extern "C" {
580 #[link_name = "\u{1}__ZL19kPrSDKLUTID_Invalid"]
581 pub static kPrSDKLUTID_Invalid: PrSDKLUTID;
582}
583#[repr(C, packed)]
584#[derive(Debug, Copy, Clone)]
585pub struct PPix {
586 pub bounds: prRect,
587 pub rowbytes: csSDK_int32,
588 pub bitsperpixel: csSDK_int32,
589 pub pix: *mut ::std::os::raw::c_void,
590 pub reserved: [*mut ::std::os::raw::c_void; 32usize],
591}
592pub type PPixHand = *mut *mut PPix;
593pub type prFieldType = csSDK_int32;
594pub type PrTimelineID = csSDK_int32;
595pub type PrClipID = csSDK_int32;
596#[repr(C)]
597#[derive(Debug, Copy, Clone)]
598pub struct prPluginID {
599 pub mGUID: [::std::os::raw::c_char; 37usize],
600}
601pub const PrParamType_kPrParamType_Int8: PrParamType = 1;
602pub const PrParamType_kPrParamType_Int16: PrParamType = 2;
603pub const PrParamType_kPrParamType_Int32: PrParamType = 3;
604pub const PrParamType_kPrParamType_Int64: PrParamType = 4;
605pub const PrParamType_kPrParamType_Float32: PrParamType = 5;
606pub const PrParamType_kPrParamType_Float64: PrParamType = 6;
607pub const PrParamType_kPrParamType_Bool: PrParamType = 7;
608pub const PrParamType_kPrParamType_Point: PrParamType = 8;
609pub const PrParamType_kPrParamType_Guid: PrParamType = 9;
610pub const PrParamType_kPrParamType_PrMemoryPtr: PrParamType = 10;
611pub const PrParamType_kPrParamType_MaxSize: PrParamType = 4294967295;
612pub type PrParamType = ::std::os::raw::c_uint;
613#[repr(C, packed)]
614#[derive(Copy, Clone)]
615pub struct PrParam {
616 pub mType: PrParamType,
617 pub __bindgen_anon_1: PrParam__bindgen_ty_1,
618}
619#[repr(C, packed)]
620#[derive(Copy, Clone)]
621pub union PrParam__bindgen_ty_1 {
622 pub mInt8: csSDK_int8,
623 pub mInt16: csSDK_int16,
624 pub mInt32: csSDK_int32,
625 pub mInt64: csSDK_int64,
626 pub mFloat32: f32,
627 pub mFloat64: f64,
628 pub mBool: csSDK_uint8,
629 pub mPoint: prFPoint64,
630 pub mGuid: prPluginID,
631 pub mMemoryPtr: PrMemoryPtr,
632}
633#[doc = "\tCurrently supported types"]
634pub const PrPixelFormat_PrPixelFormat_BGRA_4444_8u: PrPixelFormat = 1634887522;
635#[doc = "\tCurrently supported types"]
636pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u: PrPixelFormat = 1635349878;
637#[doc = "\tCurrently supported types"]
638pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u_709: PrPixelFormat = 1096373590;
639#[doc = "\tCurrently supported types"]
640pub const PrPixelFormat_PrPixelFormat_ARGB_4444_8u: PrPixelFormat = 1650946657;
641#[doc = "\tCurrently supported types"]
642pub const PrPixelFormat_PrPixelFormat_BGRX_4444_8u: PrPixelFormat = 2020763490;
643#[doc = "\tCurrently supported types"]
644pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u: PrPixelFormat = 2021225846;
645#[doc = "\tCurrently supported types"]
646pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u_709: PrPixelFormat = 930641270;
647#[doc = "\tCurrently supported types"]
648pub const PrPixelFormat_PrPixelFormat_XRGB_4444_8u: PrPixelFormat = 1650946680;
649#[doc = "\tCurrently supported types"]
650pub const PrPixelFormat_PrPixelFormat_BGRP_4444_8u: PrPixelFormat = 1886545762;
651#[doc = "\tCurrently supported types"]
652pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u: PrPixelFormat = 1887008118;
653#[doc = "\tCurrently supported types"]
654pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u_709: PrPixelFormat = 930116982;
655#[doc = "\tCurrently supported types"]
656pub const PrPixelFormat_PrPixelFormat_PRGB_4444_8u: PrPixelFormat = 1650946672;
657#[doc = "\tCurrently supported types"]
658pub const PrPixelFormat_PrPixelFormat_BGRA_4444_16u: PrPixelFormat = 1634887490;
659#[doc = "\tCurrently supported types"]
660pub const PrPixelFormat_PrPixelFormat_VUYA_4444_16u: PrPixelFormat = 1635349846;
661#[doc = "\tCurrently supported types"]
662pub const PrPixelFormat_PrPixelFormat_ARGB_4444_16u: PrPixelFormat = 1650946625;
663#[doc = "\tCurrently supported types"]
664pub const PrPixelFormat_PrPixelFormat_BGRX_4444_16u: PrPixelFormat = 2020763458;
665#[doc = "\tCurrently supported types"]
666pub const PrPixelFormat_PrPixelFormat_XRGB_4444_16u: PrPixelFormat = 1650946648;
667#[doc = "\tCurrently supported types"]
668pub const PrPixelFormat_PrPixelFormat_BGRP_4444_16u: PrPixelFormat = 1886545730;
669#[doc = "\tCurrently supported types"]
670pub const PrPixelFormat_PrPixelFormat_PRGB_4444_16u: PrPixelFormat = 1650946640;
671#[doc = "\tCurrently supported types"]
672pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f: PrPixelFormat = 1634879298;
673#[doc = "\tCurrently supported types"]
674pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f: PrPixelFormat = 1635341654;
675#[doc = "\tCurrently supported types"]
676pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f_709: PrPixelFormat = 1633244534;
677#[doc = "\tCurrently supported types"]
678pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f: PrPixelFormat = 1650938433;
679#[doc = "\tCurrently supported types"]
680pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f: PrPixelFormat = 2020755266;
681#[doc = "\tCurrently supported types"]
682pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f: PrPixelFormat = 2021217622;
683#[doc = "\tCurrently supported types"]
684pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f_709: PrPixelFormat = 930633046;
685#[doc = "\tCurrently supported types"]
686pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f: PrPixelFormat = 1650938456;
687#[doc = "\tCurrently supported types"]
688pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f: PrPixelFormat = 1886537538;
689#[doc = "\tCurrently supported types"]
690pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f: PrPixelFormat = 1886999894;
691#[doc = "\tCurrently supported types"]
692pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f_709: PrPixelFormat = 930108758;
693#[doc = "\tCurrently supported types"]
694pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f: PrPixelFormat = 1650938448;
695#[doc = "\tCurrently supported types"]
696pub const PrPixelFormat_PrPixelFormat_RGB_444_10u: PrPixelFormat = 826427218;
697#[doc = "\tCurrently supported types"]
698pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_601: PrPixelFormat = 846820729;
699#[doc = "\tCurrently supported types"]
700pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_709: PrPixelFormat = 863597945;
701#[doc = "\tCurrently supported types"]
702pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_601: PrPixelFormat = 2037807477;
703#[doc = "\tCurrently supported types"]
704pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_709: PrPixelFormat = 930511221;
705#[doc = "\tCurrently supported types"]
706pub const PrPixelFormat_PrPixelFormat_V210_422_10u_601: PrPixelFormat = 808530550;
707#[doc = "\tCurrently supported types"]
708pub const PrPixelFormat_PrPixelFormat_V210_422_10u_709: PrPixelFormat = 825307766;
709#[doc = "\tCurrently supported types"]
710pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_601: PrPixelFormat = 2037799253;
711#[doc = "\tCurrently supported types"]
712pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_709: PrPixelFormat = 930502997;
713#[doc = "\tCurrently supported types"]
714pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f_Linear: PrPixelFormat = 1281443650;
715#[doc = "\tCurrently supported types"]
716pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f_Linear: PrPixelFormat = 1282426690;
717#[doc = "\tCurrently supported types"]
718pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f_Linear: PrPixelFormat = 1282950978;
719#[doc = "\tCurrently supported types"]
720pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f_Linear: PrPixelFormat = 1281839681;
721#[doc = "\tCurrently supported types"]
722pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f_Linear: PrPixelFormat = 1281839696;
723#[doc = "\tCurrently supported types"]
724pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f_Linear: PrPixelFormat = 1281839704;
725#[doc = "\tCurrently supported types"]
726pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_709: PrPixelFormat = 928075840;
727pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_P3: PrPixelFormat = 1347506240;
728pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_2020: PrPixelFormat = 844189760;
729pub const PrPixelFormat_PrPixelFormat_RGB_444_10u_HLG: PrPixelFormat = 827082816;
730pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_HLG: PrPixelFormat = 843860032;
731pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
732 842102393;
733pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
734 845772409;
735pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange:
736 PrPixelFormat = 1714517625;
737pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange:
738 PrPixelFormat = 1718187641;
739pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
740 925988473;
741pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
742 929658489;
743pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange:
744 PrPixelFormat = 1177646713;
745pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange:
746 PrPixelFormat = 1181316729;
747pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
748 842102361;
749pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
750 845772377;
751pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange:
752 PrPixelFormat = 1714517593;
753pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange:
754 PrPixelFormat = 1718187609;
755pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
756 925988441;
757pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
758 929658457;
759pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange:
760 PrPixelFormat = 1177646681;
761pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange:
762 PrPixelFormat = 1181316697;
763pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
764 862549614;
765pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
766 858879598;
767pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601_FullRange:
768 PrPixelFormat = 828995182;
769pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601_FullRange:
770 PrPixelFormat = 825325166;
771pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
772 845772398;
773pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
774 842102382;
775pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709_FullRange:
776 PrPixelFormat = 812217966;
777pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709_FullRange:
778 PrPixelFormat = 808547950;
779pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
780 862549582;
781pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
782 858879566;
783pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601_FullRange:
784 PrPixelFormat = 828995150;
785pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601_FullRange:
786 PrPixelFormat = 825325134;
787pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
788 845772366;
789pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
790 842102350;
791pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709_FullRange:
792 PrPixelFormat = 812217934;
793pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709_FullRange:
794 PrPixelFormat = 808547918;
795pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_709:
796 PrPixelFormat = 812200048;
797pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_709:
798 PrPixelFormat = 808530032;
799pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_709_FullRange : PrPixelFormat = 1718169712 ;
800pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_709_FullRange : PrPixelFormat = 1714499696 ;
801pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020:
802 PrPixelFormat = 812200016;
803pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020:
804 PrPixelFormat = 808530000;
805pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_FullRange : PrPixelFormat = 1718169680 ;
806pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_FullRange : PrPixelFormat = 1714499664 ;
807pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR:
808 PrPixelFormat = 812207952;
809pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR:
810 PrPixelFormat = 808537936;
811pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_FullRange : PrPixelFormat = 1718177616 ;
812pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_FullRange : PrPixelFormat = 1714507600 ;
813pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG : PrPixelFormat = 812410960 ;
814pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG : PrPixelFormat = 810305616 ;
815pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG_FullRange : PrPixelFormat = 1718380624 ;
816pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG_FullRange : PrPixelFormat = 1716275280 ;
817pub const PrPixelFormat_PrPixelFormat_NTSCDV25: PrPixelFormat = 846100068;
818pub const PrPixelFormat_PrPixelFormat_PALDV25: PrPixelFormat = 846231140;
819pub const PrPixelFormat_PrPixelFormat_NTSCDV50: PrPixelFormat = 896431716;
820pub const PrPixelFormat_PrPixelFormat_PALDV50: PrPixelFormat = 896562788;
821pub const PrPixelFormat_PrPixelFormat_NTSCDV100_720p: PrPixelFormat = 929986148;
822pub const PrPixelFormat_PrPixelFormat_PALDV100_720p: PrPixelFormat = 930117220;
823pub const PrPixelFormat_PrPixelFormat_NTSCDV100_1080i: PrPixelFormat = 829322852;
824pub const PrPixelFormat_PrPixelFormat_PALDV100_1080i: PrPixelFormat = 829453924;
825pub const PrPixelFormat_PrPixelFormat_Raw: PrPixelFormat = 2004312434;
826pub const PrPixelFormat_PrPixelFormat_Invalid: PrPixelFormat = 1717854562;
827pub const PrPixelFormat_PrPixelFormat_Any: PrPixelFormat = 0;
828#[doc = "\tPremiere supported pixel formats for RenderFrame and PPixs"]
829pub type PrPixelFormat = ::std::os::raw::c_uint;
830pub type plugGetClipVideoFunc = ::std::option::Option<
831 unsafe extern "C" fn(
832 frame: csSDK_int32,
833 thePort: PPixHand,
834 bounds: *mut prRect,
835 flags: csSDK_int32,
836 clipData: PrClipID,
837 ) -> csSDK_int32,
838>;
839pub type plugGetWorkAreaFunc = ::std::option::Option<
840 unsafe extern "C" fn(
841 timelineData: PrTimelineID,
842 workAreaStart: *mut csSDK_int32,
843 workAreaEnd: *mut csSDK_int32,
844 ) -> csSDK_int32,
845>;
846pub type plugGetCurrentTimebaseFunc = ::std::option::Option<
847 unsafe extern "C" fn(
848 timelineData: PrTimelineID,
849 scale: *mut csSDK_uint32,
850 sampleSize: *mut csSDK_int32,
851 ),
852>;
853pub type plugGetCurrentPosFunc =
854 ::std::option::Option<unsafe extern "C" fn(timelineData: PrTimelineID) -> csSDK_int32>;
855pub type plugGetPreviewFrameExFunc = ::std::option::Option<
856 unsafe extern "C" fn(
857 inTimelineData: PrTimelineID,
858 inFrame: csSDK_int32,
859 outRenderedFrame: *mut PPixHand,
860 inFrameRect: *const prRect,
861 inRequestedPixelFormatArray: *mut PrPixelFormat,
862 inRequestedPixelFormatArrayCount: csSDK_int32,
863 inPixelAspectRatioNumerator: csSDK_uint32,
864 inPixelAspectRatioDenominator: csSDK_uint32,
865 inAlwaysRender: bool,
866 ) -> csSDK_int32,
867>;
868pub type plugGetClipVideoBoundsFunc = ::std::option::Option<
869 unsafe extern "C" fn(
870 inClipData: PrClipID,
871 outBounds: *mut prRect,
872 outPixelAspectRatioNumerator: *mut csSDK_uint32,
873 outPixelAspectRatioDenominator: *mut csSDK_uint32,
874 ) -> csSDK_int32,
875>;
876pub type plugGetClipVideoExFunc = ::std::option::Option<
877 unsafe extern "C" fn(
878 inFrame: csSDK_int32,
879 outRenderedFrame: *mut PPixHand,
880 inFrameRect: *const prRect,
881 inRequestedPixelFormatArray: *const PrPixelFormat,
882 inRequestedPixelFormatArrayCount: csSDK_int32,
883 inPixelAspectRatioNumerator: csSDK_uint32,
884 inPixelAspectRatioDenominator: csSDK_uint32,
885 inClipData: PrClipID,
886 ) -> csSDK_int32,
887>;
888#[repr(C, packed)]
889#[derive(Debug, Copy, Clone)]
890pub struct PlugTimelineFuncs {
891 pub unused2: *mut ::std::os::raw::c_void,
892 pub unused3: *mut ::std::os::raw::c_void,
893 pub getClipVideo: plugGetClipVideoFunc,
894 pub unused1: *mut ::std::os::raw::c_void,
895 pub unused8: *mut ::std::os::raw::c_void,
896 pub unused9: *mut ::std::os::raw::c_void,
897 pub unused10: *mut ::std::os::raw::c_void,
898 pub getWorkArea: plugGetWorkAreaFunc,
899 pub unused7: *mut ::std::os::raw::c_void,
900 pub unused4: *mut ::std::os::raw::c_void,
901 pub getCurrentTimebase: plugGetCurrentTimebaseFunc,
902 pub getCurrentPos: plugGetCurrentPosFunc,
903 pub unused5: *mut ::std::os::raw::c_void,
904 pub unused6: *mut ::std::os::raw::c_void,
905 pub getPreviewFrameEx: plugGetPreviewFrameExFunc,
906 pub getClipVideoBounds: plugGetClipVideoBoundsFunc,
907 pub getClipVideoEx: plugGetClipVideoExFunc,
908}
909pub type PlugTimelineFuncsPtr = *mut PlugTimelineFuncs;
910pub type prSuiteError = csSDK_int32;
911pub const suiteError_NoError: prSuiteError = 0;
912pub const suiteError_Fail: prSuiteError = -2147483648;
913pub const suiteError_InvalidParms: prSuiteError = -2147483647;
914pub const suiteError_OutOfMemory: prSuiteError = -2147483646;
915pub const suiteError_InvalidCall: prSuiteError = -2147483645;
916pub const suiteError_NotImplemented: prSuiteError = -2147483644;
917pub const suiteError_IDNotValid: prSuiteError = -2147483643;
918pub const suiteError_RenderPending: prSuiteError = 65536;
919pub const suiteError_RenderedFrameNotFound: prSuiteError = 65537;
920pub const suiteError_RenderedFrameCanceled: prSuiteError = 65538;
921pub const suiteError_RenderInvalidPixelFormat: prSuiteError = -2147418112;
922pub const suiteError_RenderCompletionProcNotSet: prSuiteError = -2147418111;
923pub const suiteError_TimeRoundedAudioRate: prSuiteError = 131072;
924pub const suiteError_CompilerCompileAbort: prSuiteError = 196609;
925pub const suiteError_CompilerCompileDone: prSuiteError = 196610;
926pub const suiteError_CompilerOutputFormatAccept: prSuiteError = 196612;
927pub const suiteError_CompilerOutputFormatDecline: prSuiteError = 196613;
928pub const suiteError_CompilerRebuildCutList: prSuiteError = 196614;
929pub const suiteError_CompilerIterateCompiler: prSuiteError = 196615;
930pub const suiteError_CompilerIterateCompilerDone: prSuiteError = 196616;
931pub const suiteError_CompilerInternalErrorSilent: prSuiteError = 196617;
932pub const suiteError_CompilerIterateCompilerCacheable: prSuiteError = 196618;
933pub const suiteError_CompilerBadFormatIndex: prSuiteError = -2147287040;
934pub const suiteError_CompilerInternalError: prSuiteError = -2147287039;
935pub const suiteError_CompilerOutOfDiskSpace: prSuiteError = -2147287038;
936pub const suiteError_CompilerBufferFull: prSuiteError = -2147287037;
937pub const suiteError_CompilerErrOther: prSuiteError = -2147287036;
938pub const suiteError_CompilerErrMemory: prSuiteError = -2147287035;
939pub const suiteError_CompilerErrFileNotFound: prSuiteError = -2147287034;
940pub const suiteError_CompilerErrTooManyOpenFiles: prSuiteError = -2147287033;
941pub const suiteError_CompilerErrPermErr: prSuiteError = -2147287032;
942pub const suiteError_CompilerErrOpenErr: prSuiteError = -2147287031;
943pub const suiteError_CompilerErrInvalidDrive: prSuiteError = -2147287030;
944pub const suiteError_CompilerErrDupFile: prSuiteError = -2147287029;
945pub const suiteError_CompilerErrIo: prSuiteError = -2147287028;
946pub const suiteError_CompilerErrInUse: prSuiteError = -2147287027;
947pub const suiteError_CompilerErrCodecBadInput: prSuiteError = -2147287026;
948pub const suiteError_ExporterSuspended: prSuiteError = -2147287025;
949pub const suiteError_ExporterNoMoreFrames: prSuiteError = -2147287024;
950pub const suiteError_FileBufferTooSmall: prSuiteError = -2147221504;
951pub const suiteError_FileNotImportableFileType: prSuiteError = -2147221503;
952pub const suiteError_LegacyInvalidVideoRate: prSuiteError = -2147155968;
953pub const suiteError_PlayModuleAudioInitFailure: prSuiteError = -2147090432;
954pub const suiteError_PlayModuleAudioIllegalPlaySetting: prSuiteError = -2147090431;
955pub const suiteError_PlayModuleAudioNotInitialized: prSuiteError = -2147090430;
956pub const suiteError_PlayModuleAudioNotStarted: prSuiteError = -2147090429;
957pub const suiteError_PlayModuleAudioIllegalAction: prSuiteError = -2147090428;
958pub const suiteError_PlayModuleDeviceControlSuiteIllegalCallSequence: prSuiteError = -2147024896;
959pub const suiteError_MediaAcceleratorSuitePathNotFound: prSuiteError = -2146959360;
960pub const suiteError_MediaAcceleratorSuiteRegisterFailure: prSuiteError = -2146959359;
961pub const suiteError_RepositoryReadFailed: prSuiteError = -2146893824;
962pub const suiteError_RepositoryWriteFailed: prSuiteError = -2146893823;
963pub const suiteError_NotActivated: prSuiteError = -2146893822;
964pub const suiteError_DataNotPresent: prSuiteError = -2146893821;
965pub const suiteError_ServerCommunicationFailed: prSuiteError = -2146893820;
966pub const suiteError_Internal: prSuiteError = -2146893819;
967pub const suiteError_StringNotFound: prSuiteError = -2146828288;
968pub const suiteError_StringBufferTooSmall: prSuiteError = -2146828287;
969pub const suiteError_NoKeyframeAfterInTime: prSuiteError = -2146762752;
970pub const suiteError_NoMoreData: prSuiteError = 786432;
971pub const suiteError_InstanceDestroyed: prSuiteError = -2146631680;
972pub const PrRenderQuality_kPrRenderQuality_Max: PrRenderQuality = 4;
973pub const PrRenderQuality_kPrRenderQuality_High: PrRenderQuality = 3;
974pub const PrRenderQuality_kPrRenderQuality_Medium: PrRenderQuality = 2;
975pub const PrRenderQuality_kPrRenderQuality_Low: PrRenderQuality = 1;
976pub const PrRenderQuality_kPrRenderQuality_Draft: PrRenderQuality = 0;
977pub const PrRenderQuality_kPrRenderQuality_Invalid: PrRenderQuality = 4294967295;
978pub const PrRenderQuality_kPrRenderQuality_ForceEnumSize: PrRenderQuality = 4294967295;
979#[doc = "\tRender qualities"]
980pub type PrRenderQuality = ::std::os::raw::c_uint;
981pub const PrPlaybackQuality_kPrPlaybackQuality_Invalid: PrPlaybackQuality = 4;
982pub const PrPlaybackQuality_kPrPlaybackQuality_High: PrPlaybackQuality = 3;
983pub const PrPlaybackQuality_kPrPlaybackQuality_Draft: PrPlaybackQuality = 2;
984pub const PrPlaybackQuality_kPrPlaybackQuality_Auto: PrPlaybackQuality = 1;
985pub const PrPlaybackQuality_kPrPlaybackQuality_ForceEnumSize: PrPlaybackQuality = 4294967295;
986#[doc = " Playback qualities"]
987pub type PrPlaybackQuality = ::std::os::raw::c_uint;
988pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Invalid:
989 PrPlaybackFractionalResolution = 6;
990pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Sixteenth:
991 PrPlaybackFractionalResolution = 5;
992pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Eighth:
993 PrPlaybackFractionalResolution = 4;
994pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Quarter:
995 PrPlaybackFractionalResolution = 3;
996pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Half:
997 PrPlaybackFractionalResolution = 2;
998pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Full:
999 PrPlaybackFractionalResolution = 1;
1000pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_ForceEnumSize:
1001 PrPlaybackFractionalResolution = 4294967295;
1002#[doc = " Playback Fractional Resolutions"]
1003pub type PrPlaybackFractionalResolution = ::std::os::raw::c_uint;
1004#[doc = "\tTime overview:\n\n\tPremiere uses a tick-based time counter that is stored in a signed\n\t64-bit integer. The current number of ticks per second must be retrieved\n\tusing the callback in this suite, but is guaranteed to be constant for\n\tthe duration of runtime."]
1005pub type PrTime = prInt64;
1006#[doc = "\tRatioTime is used where value that are not representable by ticks are needed."]
1007#[repr(C, packed)]
1008#[derive(Debug, Copy, Clone)]
1009pub struct PrRatioTime {
1010 pub mValue: prInt64,
1011 pub mScale: prInt64,
1012}
1013pub const PrVideoFrameRates_kVideoFrameRate_24Drop: PrVideoFrameRates = 1;
1014pub const PrVideoFrameRates_kVideoFrameRate_24: PrVideoFrameRates = 2;
1015pub const PrVideoFrameRates_kVideoFrameRate_PAL: PrVideoFrameRates = 3;
1016pub const PrVideoFrameRates_kVideoFrameRate_NTSC: PrVideoFrameRates = 4;
1017pub const PrVideoFrameRates_kVideoFrameRate_30: PrVideoFrameRates = 5;
1018pub const PrVideoFrameRates_kVideoFrameRate_PAL_HD: PrVideoFrameRates = 6;
1019pub const PrVideoFrameRates_kVideoFrameRate_NTSC_HD: PrVideoFrameRates = 7;
1020pub const PrVideoFrameRates_kVideoFrameRate_60: PrVideoFrameRates = 8;
1021pub const PrVideoFrameRates_kVideoFrameRate_Max: PrVideoFrameRates = 4294967295;
1022pub type PrVideoFrameRates = ::std::os::raw::c_uint;
1023#[repr(C, packed)]
1024#[derive(Debug, Copy, Clone)]
1025pub struct PrSDKTimeSuite {
1026 #[doc = "\tGet the current ticks per second. This is guaranteed to be constant for\n\tthe duration of runtime.\n\n\t@param\toutTickPerSec\ton return, the number of time ticks per second."]
1027 pub GetTicksPerSecond:
1028 ::std::option::Option<unsafe extern "C" fn(outTicksPerSec: *mut PrTime) -> prSuiteError>,
1029 #[doc = "\tGet the number of ticks in a video frame rate.\n\n\t@param\tinFrameRate\t\tan enum value for a video frame rate.\n\t@param\toutTicksPerFrame\ton return, the number of time ticks per frame."]
1030 pub GetTicksPerVideoFrame: ::std::option::Option<
1031 unsafe extern "C" fn(
1032 inVideoFrameRate: PrVideoFrameRates,
1033 outTicksPerFrame: *mut PrTime,
1034 ) -> prSuiteError,
1035 >,
1036 #[doc = "\tGet the number of ticks in an audio sample rate.\n\n\t@param\tinSampleRate\tthe audio sample rate as a float.\n\t@param\toutTicksPerSample\ton return, the number of time ticks per sample.\n\t@return\t\t\t\t\tkPrTimeSuite_RoundedAudioRate is returned if the requested\n\t\t\t\t\t\t\taudio sample rate is not an even divisor of the base tick\n\t\t\t\t\t\t\tcount and therefore times in this rate will not be exact."]
1037 pub GetTicksPerAudioSample: ::std::option::Option<
1038 unsafe extern "C" fn(inSampleRate: f32, outTicksPerSample: *mut PrTime) -> prSuiteError,
1039 >,
1040}
1041pub type PrRenderCacheType = csSDK_int32;
1042#[repr(C, packed)]
1043#[derive(Debug, Copy, Clone)]
1044pub struct ClipFrameFormat {
1045 pub inPixelFormat: PrPixelFormat,
1046 pub inWidth: csSDK_int32,
1047 pub inHeight: csSDK_int32,
1048}
1049#[repr(C, packed)]
1050#[derive(Debug, Copy, Clone)]
1051pub struct PrSDKClipRenderSuite {
1052 #[doc = "\tDoes this clip support the clip render suite functions?\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\toutSupported\t\t\t\t\t\tIf true, the clip supports the ClipRenderSuite.\n\t@param\toutAsyncIOSupported\t\t\t\t\tIf true, the clip supports asynchronous IO.\n\t\t\t\t\t\t\t\t\t\t\t\tIf false, the clip does not directly support asynchronous IO,\n\t\t\t\t\t\t\t\t\t\t\t\thowever it is still legal to call InitiateAsyncRead.\n\t\t\t\t\t\t\t\t\t\t\t\tPass nil if you do not need this information."]
1053 pub SupportsClipRenderSuite: ::std::option::Option<
1054 unsafe extern "C" fn(
1055 inClipID: PrClipID,
1056 outSupported: *mut prBool,
1057 outAsyncIOSupported: *mut prBool,
1058 ) -> prSuiteError,
1059 >,
1060 #[doc = "\tGiven a specific clip, find out the number of pixel formats natively supported\n\tby this clip.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\toutNumPixelFormats\t\t\t\t\tThe number of pixel formats."]
1061 pub GetNumPixelFormats: ::std::option::Option<
1062 unsafe extern "C" fn(
1063 inClipID: PrClipID,
1064 outNumPixelFormats: *mut csSDK_int32,
1065 ) -> prSuiteError,
1066 >,
1067 #[doc = "\tGiven a specific clip get a native pixel format. The pixel formats will be returned\n\tin index order based on preference. The maximum index can be determined by using\n\tGetNumPixelFormats().\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinIndex\t\t\t\t\t\t\t\tThe pixel format index.\n\t@param\toutPixelFormat\t\t\t\t\t\tThe pixel format."]
1068 pub GetPixelFormat: ::std::option::Option<
1069 unsafe extern "C" fn(
1070 inClipID: PrClipID,
1071 inIndex: csSDK_int32,
1072 outPixelFormat: *mut PrPixelFormat,
1073 ) -> prSuiteError,
1074 >,
1075 #[doc = "\tGiven a specific clip and pixel format, find out the number of preferred\n\tframe sizes for this clip. A preferred frame size is a size which represents\n\ta \"native\" size of the media.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinPixelFormat\t\t\t\t\t\tThe pixel format to query for preferrred sizes.\n\t@param\toutNumPreferredFrameSizes\t\t\tThe number of sizes for this clip and pixel format."]
1076 pub GetNumPreferredFrameSizes: ::std::option::Option<
1077 unsafe extern "C" fn(
1078 inClipID: PrClipID,
1079 inPixelFormat: PrPixelFormat,
1080 outNumPreferredFrameSizes: *mut csSDK_int32,
1081 ) -> prSuiteError,
1082 >,
1083 #[doc = "\tGiven a specific clip and pixel format, get a preferred size. The sizes will be returned\n\tin index order based on preference. The maximum index can be determined by using\n\tGetNumPreferredFrameSizes().\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinPixelFormat\t\t\t\t\t\tThe pixel format to query for preferrred sizes.\n\t@param\tinIndex\t\t\t\t\t\t\t\tThe preferred size index.\n\t@param\toutWidth\t\t\t\t\t\t\tThe width of the preferred size. 0 means any width.\n\t@param\toutHeight\t\t\t\t\t\t\tThe height of the preferred size. 0 means any height."]
1084 pub GetPreferredFrameSize: ::std::option::Option<
1085 unsafe extern "C" fn(
1086 inClipID: PrClipID,
1087 inPixelFormat: PrPixelFormat,
1088 inIndex: csSDK_int32,
1089 outWidth: *mut csSDK_int32,
1090 outHeight: *mut csSDK_int32,
1091 ) -> prSuiteError,
1092 >,
1093 #[doc = "\tInitiate an asynchronous read for the specified frame. Note that you cannot specify\n\ta specific frame format here. The clip will prefetch whatever data possible to\n\tfacilitate a faster decode, and return.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinFrameTime\t\t\t\t\t\t\tThe time of the video frame number.\n\t@param\tinFormat\t\t\t\t\t\t\tThe preferred format for the frame."]
1094 pub InitiateAsyncRead: ::std::option::Option<
1095 unsafe extern "C" fn(
1096 inClipID: PrClipID,
1097 inFrameTime: *const PrTime,
1098 inFormat: *mut ClipFrameFormat,
1099 ) -> prSuiteError,
1100 >,
1101 #[doc = "\tCancel an asynchronous read for the specified frame. Note that you cannot specify\n\ta specific frame format here.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinFrameTime\t\t\t\t\t\t\tThe time of the video frame number.\n\t@param\tinFormat\t\t\t\t\t\t\tThe preferred format for the frame."]
1102 pub CancelAsyncRead: ::std::option::Option<
1103 unsafe extern "C" fn(
1104 inClipID: PrClipID,
1105 inFrameTime: *const PrTime,
1106 inFormat: *mut ClipFrameFormat,
1107 ) -> prSuiteError,
1108 >,
1109 #[doc = "\tFind a frame of a specific format in the cache. This function will first look\n\tfor a match in the supplied list of formats. If it does not find one, it will\n\task the importer to decode one out of cached raw data. It will not access the\n\tdisk for new raw data, so it will fail if the required data is not in the cache.\n\n\t@param inClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinFrameTime\t\t\t\t\t\t\tThe time of the video frame number.\n\t@param\tinFormats\t\t\t\t\t\t\tAn array of formats that would be acceptable.\n\t\t\t\t\t\t\t\t\t\t\t\tEach format must be a combination of\n\t\t\t\t\t\t\t\t\t\t\t\tsupported pixel formats and preferred frame\n\t\t\t\t\t\t\t\t\t\t\t\tsizes. May be NULL, in which case in format\n\t\t\t\t\t\t\t\t\t\t\t\tmay be returned.\n\t@param\tinNumFormats\t\t\t\t\t\tThe number of items in inFormats. May be 0.\n\t@param\tinSynchronous\t\t\t\t\t\tIf true, the function will render the file from disk if necessary\n\t@param\toutFrame\t\t\t\t\t\t\tThe found frame. May be NULL if it was not found."]
1110 pub FindFrame: ::std::option::Option<
1111 unsafe extern "C" fn(
1112 inClipID: PrClipID,
1113 inFrameTime: *const PrTime,
1114 inFormats: *mut ClipFrameFormat,
1115 inNumFormats: csSDK_int32,
1116 inSynchronous: bool,
1117 outFrame: *mut PPixHand,
1118 ) -> prSuiteError,
1119 >,
1120 #[doc = "\tWhat is the field type of this clip? Added in version 2.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\toutFieldType\t\t\t\t\t\tSee prFieldType in PrSDKTypes.h"]
1121 pub GetClipFieldType: ::std::option::Option<
1122 unsafe extern "C" fn(inClipID: PrClipID, outFieldType: *mut prFieldType) -> prSuiteError,
1123 >,
1124 #[doc = "\tGiven a specific clip, find out the number of custom pixel formats natively supported\n\tby this clip.\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\toutNumPixelFormats\t\t\t\t\tThe number of pixel formats."]
1125 pub GetNumCustomPixelFormats: ::std::option::Option<
1126 unsafe extern "C" fn(
1127 inClipID: PrClipID,
1128 outNumPixelFormats: *mut csSDK_int32,
1129 ) -> prSuiteError,
1130 >,
1131 #[doc = "\tGiven a specific clip get a native pixel format. The pixel formats will be returned\n\tin index order based on preference. The maximum index can be determined by using\n\tGetNumPixelFormats().\n\n\t@param\tinClipID\t\t\t\t\t\t\tThe ClipID of the clip.\n\t@param\tinIndex\t\t\t\t\t\t\t\tThe pixel format index.\n\t@param\toutPixelFormat\t\t\t\t\t\tThe pixel format."]
1132 pub GetCustomPixelFormat: ::std::option::Option<
1133 unsafe extern "C" fn(
1134 inClipID: PrClipID,
1135 inIndex: csSDK_int32,
1136 outPixelFormat: *mut PrPixelFormat,
1137 ) -> prSuiteError,
1138 >,
1139}
1140#[doc = "!Indicates Data Group"]
1141pub const PrDSGroupChildType_kPrDSGroupType_GROUP: PrDSGroupChildType = 0;
1142#[doc = "!Indicates Dynamic Group"]
1143pub const PrDSGroupChildType_kPrDSGroupType_DYNAMIC_DATA: PrDSGroupChildType = 1;
1144#[doc = "!Indicates Static Group"]
1145pub const PrDSGroupChildType_kPrDSGroupType_STATIC_DATA: PrDSGroupChildType = 2;
1146#[doc = "!Indicates invalid entry"]
1147pub const PrDSGroupChildType_kPrDSGroupType_INVALID: PrDSGroupChildType = 3;
1148#[doc = "\tDefines data stream types"]
1149pub type PrDSGroupChildType = ::std::os::raw::c_uint;
1150pub type plugNewPtrFunc =
1151 ::std::option::Option<unsafe extern "C" fn(size: csSDK_uint32) -> *mut ::std::os::raw::c_char>;
1152pub type plugSetPtrSizeFunc =
1153 ::std::option::Option<unsafe extern "C" fn(ptr: *mut PrMemoryPtr, newsize: csSDK_uint32)>;
1154pub type plugGetPtrSizeFunc =
1155 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_char) -> csSDK_int32>;
1156pub type plugDisposePtrFunc =
1157 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_char)>;
1158pub type plugNewHandleFunc = ::std::option::Option<
1159 unsafe extern "C" fn(size: csSDK_uint32) -> *mut *mut ::std::os::raw::c_char,
1160>;
1161pub type plugSetHandleSizeFunc = ::std::option::Option<
1162 unsafe extern "C" fn(h: PrMemoryHandle, newsize: csSDK_uint32) -> csSDK_int16,
1163>;
1164pub type plugGetHandleSizeFunc =
1165 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_int32>;
1166pub type plugDisposeHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1167pub type plugNewPtrClearFunc =
1168 ::std::option::Option<unsafe extern "C" fn(size: csSDK_uint32) -> *mut ::std::os::raw::c_char>;
1169pub type plugNewHandleClearFunc = ::std::option::Option<
1170 unsafe extern "C" fn(size: csSDK_uint32) -> *mut *mut ::std::os::raw::c_char,
1171>;
1172pub type plugLockHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1173pub type plugUnlockHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1174#[repr(C, packed)]
1175#[derive(Debug, Copy, Clone)]
1176pub struct PlugMemoryFuncs {
1177 pub newPtr: plugNewPtrFunc,
1178 pub setPtrSize: plugSetPtrSizeFunc,
1179 pub getPtrSize: plugGetPtrSizeFunc,
1180 pub disposePtr: plugDisposePtrFunc,
1181 pub newHandle: plugNewHandleFunc,
1182 pub setHandleSize: plugSetHandleSizeFunc,
1183 pub getHandleSize: plugGetHandleSizeFunc,
1184 pub disposeHandle: plugDisposeHandleFunc,
1185 pub newPtrClear: plugNewPtrClearFunc,
1186 pub newHandleClear: plugNewHandleClearFunc,
1187 pub lockHandle: plugLockHandleFunc,
1188 pub unlockHandle: plugUnlockHandleFunc,
1189}
1190pub type PlugMemoryFuncsPtr = *mut PlugMemoryFuncs;
1191pub type plugUpdateAllWindowsFunc = ::std::option::Option<unsafe extern "C" fn()>;
1192pub type plugGetMainWindFunc =
1193 ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
1194#[repr(C, packed)]
1195#[derive(Debug, Copy, Clone)]
1196pub struct PlugWindowFuncs {
1197 pub updateAllWindows: plugUpdateAllWindowsFunc,
1198 pub getMainWnd: plugGetMainWindFunc,
1199}
1200pub type PlugWindowFuncsPtr = *mut PlugWindowFuncs;
1201pub type plugppixGetPixelsFunc =
1202 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand) -> *mut ::std::os::raw::c_char>;
1203pub type plugppixGetBoundsFunc =
1204 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand, bounds: *mut prRect)>;
1205pub type plugppixGetRowbytesFunc =
1206 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand) -> ::std::os::raw::c_int>;
1207pub type plugppixNewFunc =
1208 ::std::option::Option<unsafe extern "C" fn(bounds: *mut prRect) -> PPixHand>;
1209pub type plugppixDisposeFunc = ::std::option::Option<unsafe extern "C" fn(ppix: PPixHand)>;
1210pub type plugppixLockFunc = ::std::option::Option<unsafe extern "C" fn(pix: PPixHand)>;
1211pub type plugppixUnlockFunc = ::std::option::Option<unsafe extern "C" fn(pix: PPixHand)>;
1212pub type plugppixGetPixelAspectRatioFunc = ::std::option::Option<
1213 unsafe extern "C" fn(
1214 pix: PPixHand,
1215 num: *mut csSDK_uint32,
1216 den: *mut csSDK_uint32,
1217 ) -> ::std::os::raw::c_int,
1218>;
1219pub type plugppixGetAlphaBounds =
1220 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand, alphaBounds: *mut prRect)>;
1221#[repr(C, packed)]
1222#[derive(Debug, Copy, Clone)]
1223pub struct PlugppixFuncs {
1224 pub ppixGetPixels: plugppixGetPixelsFunc,
1225 pub ppixGetBounds: plugppixGetBoundsFunc,
1226 pub ppixGetRowbytes: plugppixGetRowbytesFunc,
1227 pub ppixNew: plugppixNewFunc,
1228 pub ppixDispose: plugppixDisposeFunc,
1229 pub ppixLockPixels: plugppixLockFunc,
1230 pub ppixUnlockPixels: plugppixUnlockFunc,
1231 pub ppixGetPixelAspectRatio: plugppixGetPixelAspectRatioFunc,
1232 pub ppixGetAlphaBounds: plugppixGetAlphaBounds,
1233}
1234pub type PlugppixFuncsPtr = *mut PlugppixFuncs;
1235pub type SPBoolean = ::std::os::raw::c_uchar;
1236pub type SPErr = ::std::os::raw::c_int;
1237#[doc = " @ingroup Suites\nThis suite provides basic memory management for PICA (the Adobe plug-in manager)\nand defines the basic functions for acquiring and releasing other suites.\n\nA suite consists of a list of function pointers. The application, or a\nplug-in that loads a suite, provides valid pointers when the suite is\nacquired. When a suite is not available, the pointers are set to the\naddress of the \\c #Undefined() function.\n\nDo not attempt to acquire a suite (other than the \\c #SPBlocksSuite)\nin response to a PICA access (\\c #kSPAccessCaller) or property\n(\\c #kSPPropertiesCaller) message. Most suites are unavailable\nduring these load and unload operations.\n\nYou can acquire all the suites you will need when your plug-in is first\nloaded, as long as you release them before your plug-in is unloaded.\nAt shutdown, however, it is most efficient to acquire only those\nsuites explicitly needed to shut down; for example, to free memory\nand save preferences.\n\nThe \\c SPBasicSuite itself is a part of the message data passed\nto your plug-in with any call. To access it from the message data structure:\n@code\nSPBasicSuite sBasic = message->d.basic;\nsBasic->function( )\n@endcode"]
1238#[repr(C)]
1239#[derive(Debug, Copy, Clone)]
1240pub struct SPBasicSuite {
1241 #[doc = " Acquires a function suite. Loads the suite if necessary,\nand increments its reference count. For example:\n@code\nSPErr error;\nSPBasicSuite *sBasic = message->d.basic;\nAIRandomSuite *sRandom;\nsBasic->AcquireSuite( kAIRandomSuite, kAIRandomVersion, &sRandom );\n@endcode\n@param name The suite name.\n@param version The suite version number.\n@param suite [out] A buffer in which to return the suite pointer.\n@see \\c #SPSuitesSuite::AcquireSuite()"]
1242 pub AcquireSuite: ::std::option::Option<
1243 unsafe extern "C" fn(
1244 name: *const ::std::os::raw::c_char,
1245 version: ::std::os::raw::c_int,
1246 suite: *mut *const ::std::os::raw::c_void,
1247 ) -> SPErr,
1248 >,
1249 #[doc = " Decrements the reference count of a suite and unloads it when the\nreference count reaches 0.\n@param name The suite name.\n@param version The suite version number."]
1250 pub ReleaseSuite: ::std::option::Option<
1251 unsafe extern "C" fn(
1252 name: *const ::std::os::raw::c_char,
1253 version: ::std::os::raw::c_int,
1254 ) -> SPErr,
1255 >,
1256 #[doc = " Compares two strings for equality.\n@param token1 The first null-terminated string.\n@param token2 The second null-terminated string.\n@return True if the strings are the same, false otherwise."]
1257 pub IsEqual: ::std::option::Option<
1258 unsafe extern "C" fn(
1259 token1: *const ::std::os::raw::c_char,
1260 token2: *const ::std::os::raw::c_char,
1261 ) -> SPBoolean,
1262 >,
1263 #[doc = " Allocates a block of memory.\n@param size The number of bytes.\n@param block [out] A buffer in which to return the block pointer.\n@see \\c #SPBlocksSuite::AllocateBlock()"]
1264 pub AllocateBlock: ::std::option::Option<
1265 unsafe extern "C" fn(size: usize, block: *mut *mut ::std::os::raw::c_void) -> SPErr,
1266 >,
1267 #[doc = " Frees a block of memory allocated with \\c #AllocateBlock().\n@param block The block pointer.\n@see \\c #SPBlocksSuite::FreeBlock()"]
1268 pub FreeBlock:
1269 ::std::option::Option<unsafe extern "C" fn(block: *mut ::std::os::raw::c_void) -> SPErr>,
1270 #[doc = " Reallocates a block previously allocated with \\c #AllocateBlock().\nIncreases the size without changing the location, if possible.\n@param block The block pointer.\n@param newSize The new number of bytes.\n@param newblock [out] A buffer in which to return the new block pointer.\n@see \\c #SPBlocksSuite::ReallocateBlock()"]
1271 pub ReallocateBlock: ::std::option::Option<
1272 unsafe extern "C" fn(
1273 block: *mut ::std::os::raw::c_void,
1274 newSize: usize,
1275 newblock: *mut *mut ::std::os::raw::c_void,
1276 ) -> SPErr,
1277 >,
1278 #[doc = " A function pointer for unloaded suites. This is a protective measure\nagainst other plug-ins that may mistakenly use the suite after they have\nreleased it.\n\nA plug-in that exports a suite should unload the suite's procedure pointers\nwhen it is unloaded, and restore them when the plug-in is reloaded.\n\\li On unload, replace the suite's procedure pointers\nwith the address of this function.\n\\li On reload, restore the suite's procedure\npointers with the updated addresses of their functions.\n\nFor example:\n@code\nSPErr UnloadSuite( MySuite *mySuite, SPAccessMessage *message ) {\nmySuite->functionA = (void *) message->d.basic->Undefined;\nmySuite->functionB = (void *) message->d.basic->Undefined;\n}\n\nSPErr ReloadSuite( MySuite *mySuite, SPAccessMessage *message ) {\nmySuite->functionA = functionA;\nmySuite->functionB = functionB;\n}\n@endcode"]
1279 pub Undefined: ::std::option::Option<unsafe extern "C" fn() -> SPErr>,
1280}
1281#[repr(C, packed)]
1282#[derive(Debug, Copy, Clone)]
1283pub struct prTimebaseRec {
1284 pub duration: csSDK_int32,
1285 pub scale: csSDK_int32,
1286 pub sampleSize: csSDK_int32,
1287}
1288#[repr(C, packed)]
1289#[derive(Debug, Copy, Clone)]
1290pub struct prFileSpec {
1291 pub volID: ::std::os::raw::c_int,
1292 pub parID: ::std::os::raw::c_int,
1293 pub name: [::std::os::raw::c_char; 256usize],
1294}
1295pub type plugGetSerialNumberFunc =
1296 ::std::option::Option<unsafe extern "C" fn(result: *mut ::std::os::raw::c_char)>;
1297pub type plugGetFileTimebaseFunc = ::std::option::Option<
1298 unsafe extern "C" fn(
1299 filespec: *mut prFileSpec,
1300 audioOnly: csSDK_int32,
1301 result: *mut prTimebaseRec,
1302 ) -> csSDK_int32,
1303>;
1304pub type plugGetFileVideoFunc = ::std::option::Option<
1305 unsafe extern "C" fn(
1306 filespec: *mut prFileSpec,
1307 frame: csSDK_int32,
1308 thePort: PPixHand,
1309 bounds: *mut prRect,
1310 flags: csSDK_int32,
1311 ) -> csSDK_int32,
1312>;
1313pub type plugGetFileAudioSecondFunc = ::std::option::Option<
1314 unsafe extern "C" fn(
1315 filespec: *mut prFileSpec,
1316 num: csSDK_int32,
1317 buffer: *mut ::std::os::raw::c_char,
1318 flags: ::std::os::raw::c_short,
1319 audrate: csSDK_int32,
1320 speed: ::std::os::raw::c_short,
1321 ) -> csSDK_int32,
1322>;
1323pub type plugGetFileVideoBoundsFunc = ::std::option::Option<
1324 unsafe extern "C" fn(filespec: *mut prFileSpec, bounds: *mut prRect) -> csSDK_int32,
1325>;
1326pub type plugGetSPBasicSuiteFunc =
1327 ::std::option::Option<unsafe extern "C" fn() -> *mut SPBasicSuite>;
1328pub type plugGetFileExtStringFunc = ::std::option::Option<
1329 unsafe extern "C" fn(
1330 fileTypes: csSDK_uint32,
1331 inBuffer: *mut ::std::os::raw::c_char,
1332 inBufferSize: csSDK_uint32,
1333 ) -> csSDK_int32,
1334>;
1335#[repr(C, packed)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct PlugUtilFuncs {
1338 pub unused1: *mut ::std::os::raw::c_void,
1339 pub getSerialNumber: plugGetSerialNumberFunc,
1340 pub getFileTimebase: plugGetFileTimebaseFunc,
1341 pub getFileVideo: plugGetFileVideoFunc,
1342 pub getFileAudioSecond: plugGetFileAudioSecondFunc,
1343 pub unused2: *mut ::std::os::raw::c_void,
1344 pub getFileVideoBounds: plugGetFileVideoBoundsFunc,
1345 pub getSPBasicSuite: plugGetSPBasicSuiteFunc,
1346 pub getFileExtString: plugGetFileExtStringFunc,
1347}
1348pub type PlugUtilFuncsPtr = *mut PlugUtilFuncs;
1349#[repr(C, packed)]
1350#[derive(Debug, Copy, Clone)]
1351pub struct piSuites {
1352 pub piInterfaceVer: ::std::os::raw::c_int,
1353 pub memFuncs: PlugMemoryFuncsPtr,
1354 pub windFuncs: PlugWindowFuncsPtr,
1355 pub ppixFuncs: PlugppixFuncsPtr,
1356 pub utilFuncs: PlugUtilFuncsPtr,
1357 pub timelineFuncs: PlugTimelineFuncsPtr,
1358}
1359pub type piSuitesPtr = *mut piSuites;
1360pub type Print2TapeProcPtr = ::std::option::Option<
1361 unsafe extern "C" fn(
1362 deviceHand: PrMemoryHandle,
1363 selector: ::std::os::raw::c_long,
1364 ) -> csSDK_int32,
1365>;
1366pub const PrDeviceSelector_dsInit: PrDeviceSelector = 0;
1367pub const PrDeviceSelector_dsSetup: PrDeviceSelector = 1;
1368pub const PrDeviceSelector_dsExecute: PrDeviceSelector = 2;
1369pub const PrDeviceSelector_dsCleanup: PrDeviceSelector = 3;
1370pub const PrDeviceSelector_dsRestart: PrDeviceSelector = 4;
1371pub const PrDeviceSelector_dsQuiet: PrDeviceSelector = 5;
1372pub const PrDeviceSelector_dsHasOptions: PrDeviceSelector = 6;
1373pub const PrDeviceSelector_dsSelector_Size: PrDeviceSelector = 4294967295;
1374#[doc = "\tSelectors"]
1375pub type PrDeviceSelector = ::std::os::raw::c_uint;
1376pub const PrTransitionReturnValue_esNoErr: PrTransitionReturnValue = 0;
1377pub const PrTransitionReturnValue_esBadFormatIndex: PrTransitionReturnValue = 1;
1378pub const PrTransitionReturnValue_esDoNotCacheOnLoad: PrTransitionReturnValue = 2;
1379pub const PrTransitionReturnValue_esUnsupported: PrTransitionReturnValue = -100;
1380pub const PrTransitionReturnValue_esErr_Size: PrTransitionReturnValue = 4294967295;
1381#[doc = "\tError Definitions"]
1382pub type PrTransitionReturnValue = ::std::os::raw::c_long;
1383pub const PrFilterReturnValue_fsNoErr: PrFilterReturnValue = 0;
1384pub const PrFilterReturnValue_fsBadFormatIndex: PrFilterReturnValue = 1;
1385pub const PrFilterReturnValue_fsDoNotCacheOnLoad: PrFilterReturnValue = 2;
1386pub const PrFilterReturnValue_fsHasNoSetupDialog: PrFilterReturnValue = 3;
1387pub const PrFilterReturnValue_fsUnsupported: PrFilterReturnValue = -100;
1388pub const PrFilterReturnValue_fsErr_Size: PrFilterReturnValue = 4294967295;
1389pub type PrFilterReturnValue = ::std::os::raw::c_long;
1390pub const PrTransitionSelector_esExecute: PrTransitionSelector = 0;
1391pub const PrTransitionSelector_esSetup: PrTransitionSelector = 1;
1392pub const PrTransitionSelector_esUnused1: PrTransitionSelector = 2;
1393pub const PrTransitionSelector_esUnused2: PrTransitionSelector = 3;
1394pub const PrTransitionSelector_esUnused3: PrTransitionSelector = 4;
1395pub const PrTransitionSelector_esDisposeData: PrTransitionSelector = 5;
1396pub const PrTransitionSelector_esCanHandlePAR: PrTransitionSelector = 6;
1397pub const PrTransitionSelector_esGetPixelFormatsSupported: PrTransitionSelector = 7;
1398pub const PrTransitionSelector_esCacheOnLoad: PrTransitionSelector = 8;
1399pub const PrTransitionSelector_esSelector_Size: PrTransitionSelector = 4294967295;
1400#[doc = "\tSelectors"]
1401pub type PrTransitionSelector = ::std::os::raw::c_uint;
1402pub const PrFilterSelector_fsExecute: PrFilterSelector = 0;
1403pub const PrFilterSelector_fsSetup: PrFilterSelector = 1;
1404pub const PrFilterSelector_fsAbout: PrFilterSelector = 2;
1405pub const PrFilterSelector_fsDisposeData: PrFilterSelector = 3;
1406pub const PrFilterSelector_fsCanHandlePAR: PrFilterSelector = 4;
1407pub const PrFilterSelector_fsInitSpec: PrFilterSelector = 5;
1408pub const PrFilterSelector_fsGetPixelFormatsSupported: PrFilterSelector = 6;
1409pub const PrFilterSelector_fsCacheOnLoad: PrFilterSelector = 7;
1410pub const PrFilterSelector_fsHasSetupDialog: PrFilterSelector = 8;
1411pub const PrFilterSelector_fsSelector_Size: PrFilterSelector = 4294967295;
1412pub type PrFilterSelector = ::std::os::raw::c_uint;
1413#[doc = "\tError overview:\n\n\tPlugins are allowed to send errors, warning, and information to 3 different\n\tcallbacks which will be handled by Premiere. For each, the plugin passes a string\n\tand a context ID from their plugin type (for instance, a CompilerID from the a\n\tcompiler). Then the plugin returns an error code defined in the appropriate\n\tplugin type header which will tell Premiere that there is an error with description\n\twaiting. Currently, Premiere concatenates all strings that it receives of each type\n\tuntil they can be displayed."]
1414#[repr(C, packed)]
1415#[derive(Debug, Copy, Clone)]
1416pub struct PrSDKErrorSuite1 {
1417 #[doc = "\tSet the plugin error string for Premiere.\n\n\t@param\tinErrorString\tA NULL terminated string for the error. Premiere will\n\t\t\t\t\t\t\tcopy this string, so the caller can delete it after\n\t\t\t\t\t\t\tthe function returns.\n\t@param\tinContextID\t\tThe context ID passed to the plugin."]
1418 pub SetErrorString: ::std::option::Option<
1419 unsafe extern "C" fn(
1420 inErrorString: *const ::std::os::raw::c_char,
1421 inContextID: csSDK_uint32,
1422 ) -> prSuiteError,
1423 >,
1424 #[doc = "\tSet the plugin error string for Premiere.\n\n\t@param\tinWarningString\tA NULL terminated string for the warning. Premiere will\n\t\t\t\t\t\t\tcopy this string, so the caller can delete it after\n\t\t\t\t\t\t\tthe function returns.\n\t@param\tinContextID\t\tThe context ID passed to the plugin."]
1425 pub SetWarningString: ::std::option::Option<
1426 unsafe extern "C" fn(
1427 inWarningString: *const ::std::os::raw::c_char,
1428 inContextID: csSDK_uint32,
1429 ) -> prSuiteError,
1430 >,
1431 #[doc = "\tSet the plugin error string for Premiere.\n\n\t@param\tinInfoString\tA NULL terminated string for the info. Premiere will\n\t\t\t\t\t\t\tcopy this string, so the caller can delete it after\n\t\t\t\t\t\t\tthe function returns.\n\t@param\tinContextID\t\tThe context ID passed to the plugin."]
1432 pub SetInfoString: ::std::option::Option<
1433 unsafe extern "C" fn(
1434 inInfoString: *const ::std::os::raw::c_char,
1435 inContextID: csSDK_uint32,
1436 ) -> prSuiteError,
1437 >,
1438}
1439#[doc = "\tVersion 2 changes:\n\tThe suite has been streamlined for this release. In addition, the\n\tstring has been broken into two parts, a title and a description. This\n\tseparation works well with the new Events Window."]
1440#[repr(C, packed)]
1441#[derive(Debug, Copy, Clone)]
1442pub struct PrSDKErrorSuite2 {
1443 pub SetEventString: ::std::option::Option<
1444 unsafe extern "C" fn(
1445 eventType: csSDK_uint32,
1446 eventTitle: *const ::std::os::raw::c_char,
1447 eventDescription: *const ::std::os::raw::c_char,
1448 ) -> prSuiteError,
1449 >,
1450}
1451pub const PrSDKErrorSuite2_kEventTypeInformational: PrSDKErrorSuite2__bindgen_ty_1 = 1;
1452pub const PrSDKErrorSuite2_kEventTypeWarning: PrSDKErrorSuite2__bindgen_ty_1 = 2;
1453pub const PrSDKErrorSuite2_kEventTypeError: PrSDKErrorSuite2__bindgen_ty_1 = 3;
1454pub type PrSDKErrorSuite2__bindgen_ty_1 = ::std::os::raw::c_uint;
1455#[doc = "\tVersion 3 changes:\n\tAdd UTF16 string support"]
1456#[repr(C, packed)]
1457#[derive(Debug, Copy, Clone)]
1458pub struct PrSDKErrorSuite3 {
1459 pub SetEventStringUnicode: ::std::option::Option<
1460 unsafe extern "C" fn(
1461 eventType: csSDK_uint32,
1462 eventTitle: *mut prUTF16Char,
1463 eventDescription: *mut prUTF16Char,
1464 ) -> prSuiteError,
1465 >,
1466}
1467pub const PrSDKErrorSuite3_kEventTypeInformational: PrSDKErrorSuite3__bindgen_ty_1 = 1;
1468pub const PrSDKErrorSuite3_kEventTypeWarning: PrSDKErrorSuite3__bindgen_ty_1 = 2;
1469pub const PrSDKErrorSuite3_kEventTypeError: PrSDKErrorSuite3__bindgen_ty_1 = 3;
1470pub const PrSDKErrorSuite3_kEventType_Mask: PrSDKErrorSuite3__bindgen_ty_1 = 255;
1471pub const PrSDKErrorSuite3_kEventFlag_DecodeError: PrSDKErrorSuite3__bindgen_ty_1 = 256;
1472pub const PrSDKErrorSuite3_kEventFlag_SubstitutedFrame: PrSDKErrorSuite3__bindgen_ty_1 = 512;
1473pub const PrSDKErrorSuite3_kEventFlag_ImportOperation: PrSDKErrorSuite3__bindgen_ty_1 = 1024;
1474pub type PrSDKErrorSuite3__bindgen_ty_1 = ::std::os::raw::c_uint;
1475#[doc = "\tVersion 3 changes:\n\tAdd UTF16 string support"]
1476pub type PrSDKErrorSuite = PrSDKErrorSuite3;
1477pub const PrGPUDeviceFramework_PrGPUDeviceFramework_CUDA: PrGPUDeviceFramework = 0;
1478pub const PrGPUDeviceFramework_PrGPUDeviceFramework_OpenCL: PrGPUDeviceFramework = 1;
1479pub const PrGPUDeviceFramework_PrGPUDeviceFramework_Metal: PrGPUDeviceFramework = 2;
1480pub type PrGPUDeviceFramework = ::std::os::raw::c_uint;
1481#[repr(C, packed)]
1482#[derive(Debug, Copy, Clone)]
1483pub struct PrGPUDeviceInfo {
1484 pub outDeviceFramework: PrGPUDeviceFramework,
1485 pub outMeetsMinimumRequirementsForAcceleration: prBool,
1486 pub outPlatformHandle: *mut ::std::os::raw::c_void,
1487 pub outDeviceHandle: *mut ::std::os::raw::c_void,
1488 pub outContextHandle: *mut ::std::os::raw::c_void,
1489 pub outCommandQueueHandle: *mut ::std::os::raw::c_void,
1490 pub outOffscreenOpenGLContextHandle: *mut ::std::os::raw::c_void,
1491 pub outOffscreenOpenGLDeviceHandle: *mut ::std::os::raw::c_void,
1492}
1493#[doc = "\tAccess CUDA or OpenCL devices.\n\t\tAll CUDA usage is through the CUDA device API."]
1494#[repr(C, packed)]
1495#[derive(Debug, Copy, Clone)]
1496pub struct PrSDKGPUDeviceSuite {
1497 #[doc = "\tDevice enumeration"]
1498 pub GetDeviceCount: ::std::option::Option<
1499 unsafe extern "C" fn(outDeviceCount: *mut csSDK_uint32) -> prSuiteError,
1500 >,
1501 pub GetDeviceInfo: ::std::option::Option<
1502 unsafe extern "C" fn(
1503 inSuiteVersion: csSDK_uint32,
1504 inDeviceIndex: csSDK_uint32,
1505 outDeviceInfo: *mut PrGPUDeviceInfo,
1506 ) -> prSuiteError,
1507 >,
1508 #[doc = "\tAcquire/release exclusive access to inDeviceIndex. All calls below this point generally require access be held.\n\tFor full GPU plugins (those that use a separate entry point for GPU rendering) exclusive access is always held.\n\tThese calls do not need to be made in that case.\n\t\tFor CUDA calls cuCtxPushCurrent/cuCtxPopCurrent on the current thread to manage the devices context."]
1509 pub AcquireExclusiveDeviceAccess:
1510 ::std::option::Option<unsafe extern "C" fn(inDeviceIndex: csSDK_uint32) -> prSuiteError>,
1511 pub ReleaseExclusiveDeviceAccess:
1512 ::std::option::Option<unsafe extern "C" fn(inDeviceIndex: csSDK_uint32) -> prSuiteError>,
1513 #[doc = "\tAll device memory must be allocated through this suite.\n\t\tPurge should be called only in emergency situations when working with GPU memory\n\t\t\tthat cannot be allocated through this suite (eg OpenGL memory).\n\t\tReturned pointer value represents memory allocated through cuMemAlloc or clCreateBuffer."]
1514 pub AllocateDeviceMemory: ::std::option::Option<
1515 unsafe extern "C" fn(
1516 inDeviceIndex: csSDK_uint32,
1517 inSizeInBytes: usize,
1518 outMemory: *mut *mut ::std::os::raw::c_void,
1519 ) -> prSuiteError,
1520 >,
1521 pub FreeDeviceMemory: ::std::option::Option<
1522 unsafe extern "C" fn(
1523 inDeviceIndex: csSDK_uint32,
1524 inMemory: *mut ::std::os::raw::c_void,
1525 ) -> prSuiteError,
1526 >,
1527 pub PurgeDeviceMemory: ::std::option::Option<
1528 unsafe extern "C" fn(
1529 inDeviceIndex: csSDK_uint32,
1530 inRequestedBytesToPurge: usize,
1531 outBytesPurged: *mut usize,
1532 ) -> prSuiteError,
1533 >,
1534 #[doc = "\tAll host (pinned) memory must be allocated through this suite.\n\t\tPurge should be called only in emergency situations when working with GPU memory\n\t\t\tthat cannot be allocated through this suite (eg OpenGL memory).\n\t\tReturned pointer value represents memory allocated through cuMemHostAlloc or malloc."]
1535 pub AllocateHostMemory: ::std::option::Option<
1536 unsafe extern "C" fn(
1537 inDeviceIndex: csSDK_uint32,
1538 inSizeInBytes: usize,
1539 outMemory: *mut *mut ::std::os::raw::c_void,
1540 ) -> prSuiteError,
1541 >,
1542 pub FreeHostMemory: ::std::option::Option<
1543 unsafe extern "C" fn(
1544 inDeviceIndex: csSDK_uint32,
1545 inMemory: *mut ::std::os::raw::c_void,
1546 ) -> prSuiteError,
1547 >,
1548 pub PurgeHostMemory: ::std::option::Option<
1549 unsafe extern "C" fn(
1550 inDeviceIndex: csSDK_uint32,
1551 inRequestedBytesToPurge: usize,
1552 outBytesPurged: *mut usize,
1553 ) -> prSuiteError,
1554 >,
1555 #[doc = "\tInformation on a GPU ppix. The following ppix functions may also be used:\n\t\t-PrSDKPPixSuite::Dispose\n\t\t-PrSDKPPixSuite::GetBounds\n\t\t-PrSDKPPixSuite::GetRowBytes\n\t\t-PrSDKPPixSuite::GetPixelAspectRatio\n\t\t-PrSDKPPixSuite::GetPixelFormat\n\t\t-PrSDKPPix2Suite::GetFieldOrder"]
1556 pub CreateGPUPPix: ::std::option::Option<
1557 unsafe extern "C" fn(
1558 inDeviceIndex: csSDK_uint32,
1559 inPixelFormat: PrPixelFormat,
1560 inWidth: ::std::os::raw::c_int,
1561 inHeight: ::std::os::raw::c_int,
1562 inPARNumerator: ::std::os::raw::c_int,
1563 inPARDenominator: ::std::os::raw::c_int,
1564 inFieldType: prFieldType,
1565 outPPixHand: *mut PPixHand,
1566 ) -> prSuiteError,
1567 >,
1568 pub GetGPUPPixData: ::std::option::Option<
1569 unsafe extern "C" fn(
1570 inPPixHand: PPixHand,
1571 outData: *mut *mut ::std::os::raw::c_void,
1572 ) -> prSuiteError,
1573 >,
1574 pub GetGPUPPixDeviceIndex: ::std::option::Option<
1575 unsafe extern "C" fn(
1576 inPPixHand: PPixHand,
1577 outDeviceIndex: *mut csSDK_uint32,
1578 ) -> prSuiteError,
1579 >,
1580 pub GetGPUPPixSize: ::std::option::Option<
1581 unsafe extern "C" fn(inPPixHand: PPixHand, outSize: *mut usize) -> prSuiteError,
1582 >,
1583}
1584pub const PrAudioSampleType_kPrAudioSampleType_8BitInt: PrAudioSampleType = 1;
1585pub const PrAudioSampleType_kPrAudioSampleType_8BitTwosInt: PrAudioSampleType = 2;
1586pub const PrAudioSampleType_kPrAudioSampleType_16BitInt: PrAudioSampleType = 3;
1587pub const PrAudioSampleType_kPrAudioSampleType_24BitInt: PrAudioSampleType = 4;
1588pub const PrAudioSampleType_kPrAudioSampleType_32BitInt: PrAudioSampleType = 5;
1589pub const PrAudioSampleType_kPrAudioSampleType_32BitFloat: PrAudioSampleType = 6;
1590pub const PrAudioSampleType_kPrAudioSampleType_64BitFloat: PrAudioSampleType = 7;
1591pub const PrAudioSampleType_kPrAudioSampleType_16BitIntBigEndian: PrAudioSampleType = 8;
1592pub const PrAudioSampleType_kPrAudioSampleType_24BitIntBigEndian: PrAudioSampleType = 9;
1593pub const PrAudioSampleType_kPrAudioSampleType_32BitIntBigEndian: PrAudioSampleType = 10;
1594pub const PrAudioSampleType_kPrAudioSampleType_32BitFloatBigEndian: PrAudioSampleType = 11;
1595pub const PrAudioSampleType_kPrAudioSampleType_Compressed: PrAudioSampleType = 12;
1596pub const PrAudioSampleType_kPrAudioSampleType_Packed: PrAudioSampleType = 13;
1597pub const PrAudioSampleType_kPrAudioSampleType_Other: PrAudioSampleType = 14;
1598pub const PrAudioSampleType_kPrAudioSampleType_Any: PrAudioSampleType = 15;
1599pub const PrAudioSampleType_kPrAudioSampleType_AudioPeakData: PrAudioSampleType = 16;
1600pub const PrAudioSampleType_kPrAudioSampleType_Max: PrAudioSampleType = 4294967295;
1601#[doc = "\tAudio overview:\n\n\tAll audio calls to and from Premiere use arrays of buffers of 32-bit\n\tfloats to pass audio. Therefore all audio is not interleaved by channel.\n\tSo stereo audio looks like this:\n\n\tfloat* audio[2];\n\n\twhere audio[0] is the address of a buffer N samples long and audio[1]\n\tis the address of a second buffer N samples long. audio[0] contains\n\tthe left channel and audio[1] contains the right channel. N is called\n\tthe number of \"sample frames\" in the buffer. N will be the same no matter\n\thow many channels of audio are present in the buffer.\n\n\tBecause we use 32-bit floats for each audio sample, we can represent\n\tvalues above 0 dB during mixing. 0 dB corresponds to +/- 1.0 in the floating\n\tpoint. For symmetry in the int <--> float conversions, it is recommended\n\tyou use the utility functions below. For example if you want to convert\n\ta single float to a 16-bit signed int, use ConvertAndInterleaveTo16BitInteger()\n\twith 1 channel and one sample frame.\n\n\tSince floats are the only audio format ever passed, there is no variable\n\tsample type or bit depth. However, when going back and forth to storage\n\tformats, it is necessary to give the user an indication of the sample\n\ttype in the storage. For this reason, the SDK includes AudioSampleType\n\twhich defines a variety of possible formats. Note that these are ONLY\n\tUSED FOR USER INTERFACE!\n\n\tIn general, any audio sample rate is supported. For this reason, we use\n\ta floating point number to represent audio sample rates. However, not all\n\trates will evenly divide into our time ticks per second, so for more\n\tunusual rates there will be quantization errors possible using PrTime.\n\n\tThe host currently supports 4 audio channels types: mono, stereo, 5.1 and 32 channels.\n\tStereo channel ordering is {kPrAudioChannelLabel_FrontLeft, kPrAudioChannelLabel_FrontRight}.\n\t5.1 channels ordering is\n\t\t{kPrAudioChannelLabel_FrontLeft,\t\t// L\n\t\t kPrAudioChannelLabel_FrontRight,\t\t// R\n\t\t kPrAudioChannelLabel_FrontCenter,\t\t// C\n\t\t kPrAudioChannelLabel_LowFrequency,\t\t// LFE\n\t\t kPrAudioChannelLabel_BackLeft,\t\t\t// Ls\n\t\t kPrAudioChannelLabel_BackRight}.\t\t// Rs\n\n\t32 channel ordering is all {kPrAudioChannelLabel_Discrete}"]
1602pub type PrAudioSampleType = ::std::os::raw::c_uint;
1603pub const PrAudioChannelType_kPrAudioChannelType_Mono: PrAudioChannelType = 1;
1604pub const PrAudioChannelType_kPrAudioChannelType_Stereo: PrAudioChannelType = 2;
1605pub const PrAudioChannelType_kPrAudioChannelType_51: PrAudioChannelType = 3;
1606pub const PrAudioChannelType_kPrAudioChannelType_MaxChannel: PrAudioChannelType = 4;
1607pub const PrAudioChannelType_kPrAudioChannelType_Max: PrAudioChannelType = 4294967295;
1608pub type PrAudioChannelType = ::std::os::raw::c_uint;
1609pub const PrAudioDataType_kPrAudioDataType_Float32: PrAudioDataType = 1;
1610pub const PrAudioDataType_kPrAudioDataType_Int32: PrAudioDataType = 2;
1611pub const PrAudioDataType_kPrAudioDataType_PeakAudio: PrAudioDataType = 3;
1612#[doc = "\tThis is not the sample type of the underlying audio - this is the sample type\n\tthat is returned in the calls that support variable audio types. If the type is not\n\texplicitly called out as variable, then it is Float32."]
1613pub type PrAudioDataType = ::std::os::raw::c_uint;
1614pub type PrAudioSample = prInt64;
1615pub const PrAudioChannelLabel_kPrAudioChannelLabel_Discrete: PrAudioChannelLabel = 0;
1616pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeft: PrAudioChannelLabel = 100;
1617pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRight: PrAudioChannelLabel = 101;
1618pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontCenter: PrAudioChannelLabel = 102;
1619pub const PrAudioChannelLabel_kPrAudioChannelLabel_LowFrequency: PrAudioChannelLabel = 103;
1620pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackLeft: PrAudioChannelLabel = 104;
1621pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackRight: PrAudioChannelLabel = 105;
1622pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackCenter: PrAudioChannelLabel = 106;
1623pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeftOfCenter: PrAudioChannelLabel = 107;
1624pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRightOfCenter: PrAudioChannelLabel = 108;
1625pub const PrAudioChannelLabel_kPrAudioChannelLabel_SideLeft: PrAudioChannelLabel = 109;
1626pub const PrAudioChannelLabel_kPrAudioChannelLabel_SideRight: PrAudioChannelLabel = 110;
1627pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopCenter: PrAudioChannelLabel = 111;
1628pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontLeft: PrAudioChannelLabel = 112;
1629pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontRight: PrAudioChannelLabel = 113;
1630pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontCenter: PrAudioChannelLabel = 114;
1631pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackLeft: PrAudioChannelLabel = 115;
1632pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackRight: PrAudioChannelLabel = 116;
1633pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackCenter: PrAudioChannelLabel = 117;
1634pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeftWide: PrAudioChannelLabel = 118;
1635pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRightWide: PrAudioChannelLabel = 119;
1636pub const PrAudioChannelLabel_kPrAudioChannelLabel_LeftHeight: PrAudioChannelLabel = 127;
1637pub const PrAudioChannelLabel_kPrAudioChannelLabel_RightHeight: PrAudioChannelLabel = 128;
1638pub const PrAudioChannelLabel_kPrAudioChannelLabel_RearSurroundLeft: PrAudioChannelLabel = 129;
1639pub const PrAudioChannelLabel_kPrAudioChannelLabel_RearSurroundRight: PrAudioChannelLabel = 130;
1640pub const PrAudioChannelLabel_kPrAudioChannelLabel_LFE2: PrAudioChannelLabel = 131;
1641pub const PrAudioChannelLabel_kPrAudioChannelLabel_LeftTotal: PrAudioChannelLabel = 132;
1642pub const PrAudioChannelLabel_kPrAudioChannelLabel_RightTotal: PrAudioChannelLabel = 133;
1643pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_W: PrAudioChannelLabel = 134;
1644pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_X: PrAudioChannelLabel = 135;
1645pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_Y: PrAudioChannelLabel = 136;
1646pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_Z: PrAudioChannelLabel = 137;
1647pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontLeft: PrAudioChannelLabel = 138;
1648pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontCenter: PrAudioChannelLabel = 139;
1649pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontRight: PrAudioChannelLabel = 140;
1650pub const PrAudioChannelLabel_kPrAudioChannelLabel_ProximityLeft: PrAudioChannelLabel = 141;
1651pub const PrAudioChannelLabel_kPrAudioChannelLabel_ProximityRight: PrAudioChannelLabel = 142;
1652pub type PrAudioChannelLabel = ::std::os::raw::c_uint;
1653#[repr(C)]
1654#[derive(Debug, Copy, Clone)]
1655pub struct PrSDKAudioSuite {
1656 #[doc = "\tThese are a variety of audio buffer conversion routines to convert an array\n\tof floating point buffers into interleaved audio of a specific type.\n\n\t@param\tinSource\t\tAn array of float buffers holding audio.\n\t@param\tinDestination\tA single buffer to hold the converted, interleaved audio.\n\t\t\t\t\t\t\tinDestination must be at least inNumChannels * sizeof(destinationFormat) *\n\t\t\t\t\t\t\tinNumSampleFrames bytes long.\n\t@param\tinNumChannels\tThe number of channels in inSource.\n\t@param\tinNumSampleFrames\tThe number of samples in each buffer in inSource."]
1657 pub ConvertAndInterleaveTo8BitInteger: ::std::option::Option<
1658 unsafe extern "C" fn(
1659 inSource: *mut *mut f32,
1660 inDestination: *mut ::std::os::raw::c_char,
1661 inNumChannels: ::std::os::raw::c_uint,
1662 inNumSampleFrames: ::std::os::raw::c_uint,
1663 ) -> prSuiteError,
1664 >,
1665 pub ConvertAndInterleaveTo16BitInteger: ::std::option::Option<
1666 unsafe extern "C" fn(
1667 inSource: *mut *mut f32,
1668 inDestination: *mut ::std::os::raw::c_short,
1669 inNumChannels: ::std::os::raw::c_uint,
1670 inNumSampleFrames: ::std::os::raw::c_uint,
1671 ) -> prSuiteError,
1672 >,
1673 pub ConvertAndInterleaveTo24BitInteger: ::std::option::Option<
1674 unsafe extern "C" fn(
1675 inSource: *mut *mut f32,
1676 inDestination: *mut ::std::os::raw::c_char,
1677 inNumChannels: ::std::os::raw::c_uint,
1678 inNumSampleFrames: ::std::os::raw::c_uint,
1679 ) -> prSuiteError,
1680 >,
1681 pub ConvertAndInterleaveTo32BitInteger: ::std::option::Option<
1682 unsafe extern "C" fn(
1683 inSource: *mut *mut f32,
1684 inDestination: *mut csSDK_int32,
1685 inNumChannels: ::std::os::raw::c_uint,
1686 inNumSampleFrames: ::std::os::raw::c_uint,
1687 ) -> prSuiteError,
1688 >,
1689 #[doc = "\tThese routines provide the reverse of the routines above, converting and\n\tuninterleaving a single buffer in a specified type.\n\n\t@param\tinSource\t\tA single buffer holding the orignal, interleaved audio.\n\t@param\tinDestination\tAn array of float buffers holding audio. There must be inNumChannels\n\t\t\t\t\t\t\tbuffers allocated in the array, and each must be at least\n\t\t\t\t\t\t\tinNumSampleFrames * sizeof(float) bytes long.\n\t@param\tinNumChannels\tThe number of channels in inSource.\n\t@param\tinNumSampleFrames\tThe number of samples in each buffer in inSource."]
1690 pub UninterleaveAndConvertFrom8BitInteger: ::std::option::Option<
1691 unsafe extern "C" fn(
1692 inSource: *mut ::std::os::raw::c_char,
1693 inDestination: *mut *mut f32,
1694 inNumChannels: ::std::os::raw::c_uint,
1695 inNumSampleFrames: ::std::os::raw::c_uint,
1696 ) -> prSuiteError,
1697 >,
1698 pub UninterleaveAndConvertFrom16BitInteger: ::std::option::Option<
1699 unsafe extern "C" fn(
1700 inSource: *mut ::std::os::raw::c_short,
1701 inDestination: *mut *mut f32,
1702 inNumChannels: ::std::os::raw::c_uint,
1703 inNumSampleFrames: ::std::os::raw::c_uint,
1704 ) -> prSuiteError,
1705 >,
1706 pub UninterleaveAndConvertFrom24BitInteger: ::std::option::Option<
1707 unsafe extern "C" fn(
1708 inSource: *mut ::std::os::raw::c_char,
1709 inDestination: *mut *mut f32,
1710 inNumChannels: ::std::os::raw::c_uint,
1711 inNumSampleFrames: ::std::os::raw::c_uint,
1712 ) -> prSuiteError,
1713 >,
1714 pub UninterleaveAndConvertFrom32BitInteger: ::std::option::Option<
1715 unsafe extern "C" fn(
1716 inSource: *mut csSDK_int32,
1717 inDestination: *mut *mut f32,
1718 inNumChannels: ::std::os::raw::c_uint,
1719 inNumSampleFrames: ::std::os::raw::c_uint,
1720 ) -> prSuiteError,
1721 >,
1722}
1723pub const PrActivationEvent_PrActivationEvent_Unspecified: PrActivationEvent = 0;
1724pub const PrActivationEvent_PrActivationEvent_RecorderActivated: PrActivationEvent = 1;
1725pub const PrActivationEvent_PrActivationEvent_PlayerActivated: PrActivationEvent = 2;
1726pub const PrActivationEvent_PrActivationEvent_ApplicationLostFocus: PrActivationEvent = 3;
1727pub const PrActivationEvent_PrActivationEvent_ForceSize: PrActivationEvent = 4294967295;
1728#[doc = "\tPrActivationEvent - Describes the event that caused activation/deactivation to occur"]
1729pub type PrActivationEvent = ::std::os::raw::c_uint;
1730pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Undefined:
1731 PrRenderCaptionStreamFormat = 0;
1732pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Open:
1733 PrRenderCaptionStreamFormat = 1;
1734pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_OP_42:
1735 PrRenderCaptionStreamFormat = 10;
1736pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_OP_47:
1737 PrRenderCaptionStreamFormat = 11;
1738pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC1:
1739 PrRenderCaptionStreamFormat = 20;
1740pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC2:
1741 PrRenderCaptionStreamFormat = 21;
1742pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC3:
1743 PrRenderCaptionStreamFormat = 22;
1744pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC4:
1745 PrRenderCaptionStreamFormat = 23;
1746pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text1:
1747 PrRenderCaptionStreamFormat = 24;
1748pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text2:
1749 PrRenderCaptionStreamFormat = 25;
1750pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text3:
1751 PrRenderCaptionStreamFormat = 26;
1752pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text4:
1753 PrRenderCaptionStreamFormat = 27;
1754pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_XDS:
1755 PrRenderCaptionStreamFormat = 28;
1756pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service1:
1757 PrRenderCaptionStreamFormat = 40;
1758pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service2:
1759 PrRenderCaptionStreamFormat = 41;
1760pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service3:
1761 PrRenderCaptionStreamFormat = 42;
1762pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service4:
1763 PrRenderCaptionStreamFormat = 43;
1764pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service5:
1765 PrRenderCaptionStreamFormat = 44;
1766pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service6:
1767 PrRenderCaptionStreamFormat = 45;
1768pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Teletext_Level1:
1769 PrRenderCaptionStreamFormat = 50;
1770pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Teletext_Level2:
1771 PrRenderCaptionStreamFormat = 51;
1772pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Open_Subtitling:
1773 PrRenderCaptionStreamFormat = 52;
1774#[doc = "\tDefines the Caption Stream format to render"]
1775pub type PrRenderCaptionStreamFormat = ::std::os::raw::c_uint;
1776pub type PlayModuleDeviceID = csSDK_int32;
1777pub const kPrDeviceControlResult_Success: prSuiteError = 0;
1778pub const kPrDeviceControlResult_GeneralError: prSuiteError = -1;
1779pub const kPrDeviceControlResult_IllegalCallSequence: prSuiteError = -2;
1780#[doc = "\tPlaymod Device Control overview:\n\n\tThis suite is provided so that play modules can control a hardware\n\tdevice during \"Export To Tape.\" The necessary DeviceControlID will only\n\tbe passed down when a transmit is requested. The player must then call\n\tall of the methods in this suite, in the order in which they are\n\tlisted."]
1781#[repr(C, packed)]
1782#[derive(Debug, Copy, Clone)]
1783pub struct PrSDKPlayModuleDeviceControlSuite {
1784 #[doc = "\tTell the device to seek to the appropriate location.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1785 pub Seek:
1786 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1787 #[doc = "\tTell the device to prepare to record.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1788 pub Arm:
1789 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1790 #[doc = "\tTell the device to start recording.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1791 pub Record:
1792 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1793 #[doc = "\tTell the device to stop recording. This also cleans up the device control\n\tobject, so it is not available after this call.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1794 pub Stop:
1795 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1796}
1797pub const PrIVProjectionType_kPrIVProjectionType_None: PrIVProjectionType = 0;
1798pub const PrIVProjectionType_kPrIVProjectionType_Equirectangular: PrIVProjectionType = 1;
1799#[doc = "\tDefines how the VR image is projected into a 2D frame."]
1800pub type PrIVProjectionType = ::std::os::raw::c_uint;
1801pub const PrIVFrameLayout_kPrIVFrameLayout_Monoscopic: PrIVFrameLayout = 0;
1802pub const PrIVFrameLayout_kPrIVFrameLayout_StereoscopicOverUnder: PrIVFrameLayout = 1;
1803pub const PrIVFrameLayout_kPrIVFrameLayout_StereoscopicSideBySide: PrIVFrameLayout = 2;
1804#[doc = "\tDefines if the VR image contains a stereoscopic pair, and if so, what type of pair."]
1805pub type PrIVFrameLayout = ::std::os::raw::c_uint;
1806pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Left: PrIVStereoscopicEye = 0;
1807pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Right: PrIVStereoscopicEye = 1;
1808pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Anaglyph: PrIVStereoscopicEye = 2;
1809#[doc = "\tDefines which eye to view when given a VR image with a stereoscopic pair."]
1810pub type PrIVStereoscopicEye = ::std::os::raw::c_uint;
1811pub const PrIVAmbisonicsMonitoringType_kPrIVAmbisonicsMonitoringType_Off:
1812 PrIVAmbisonicsMonitoringType = 0;
1813pub const PrIVAmbisonicsMonitoringType_kPrIVAmbisonicsMonitoringType_Binaural:
1814 PrIVAmbisonicsMonitoringType = 1;
1815#[doc = "\tDefines how ambisonics audio is to be monitored."]
1816pub type PrIVAmbisonicsMonitoringType = ::std::os::raw::c_uint;
1817pub type kPrIVViewRange = csSDK_int32;
1818pub type kPrIVViewAngle = f32;
1819#[doc = " Field of View represents the degrees of view of what the application displays when the desktop's VR View is enabled.\n Captured View represents the degrees of view of what the video frame actually contains."]
1820pub const kPrIVMinFieldOfView: kPrIVViewRange = 60;
1821pub const kPrIVMaxFieldOfView: kPrIVViewRange = 180;
1822#[doc = " These FOV values roughly approximate an average view when compared\n to a HTC Vive or Oculus Rift."]
1823pub const kPrIVDefaultFieldOfHorizontalView: kPrIVViewRange = 108;
1824pub const kPrIVDefaultFieldOfVerticalView: kPrIVViewRange = 108;
1825pub const kPrIVMinCapturedHorizontalView: kPrIVViewRange = 60;
1826pub const kPrIVMaxCapturedHorizontalView: kPrIVViewRange = 360;
1827pub const kPrIVDefaultCapturedHorizontalView: kPrIVViewRange = 360;
1828pub const kPrIVMinCapturedVerticalView: kPrIVViewRange = 60;
1829pub const kPrIVMaxCapturedVerticalView: kPrIVViewRange = 180;
1830pub const kPrIVDefaultCapturedVerticalView: kPrIVViewRange = 180;
1831#[doc = "\tID for a head-related impulse response when monitoring with PrIVAmbisonicsMonitoring_Binaural."]
1832pub const kPrIVAmbisonicsHRIRLength: usize = 256;
1833pub type PrIVAmbisonicsHRIR = [prUTF8Char; 256usize];
1834pub const PrPlaymodReturnValue_playmod_ErrNone: PrPlaymodReturnValue = 0;
1835pub const PrPlaymodReturnValue_playmod_ErrBadFile: PrPlaymodReturnValue = 1;
1836pub const PrPlaymodReturnValue_playmod_ErrDriver: PrPlaymodReturnValue = 2;
1837pub const PrPlaymodReturnValue_playmod_ErrNotPreferred: PrPlaymodReturnValue = 3;
1838pub const PrPlaymodReturnValue_playmod_BadFormatIndex: PrPlaymodReturnValue = 4;
1839pub const PrPlaymodReturnValue_playmod_DeclinePlay: PrPlaymodReturnValue = 5;
1840pub const PrPlaymodReturnValue_playmod_ListWrongType: PrPlaymodReturnValue = 6;
1841pub const PrPlaymodReturnValue_playmod_ListBadSpeed: PrPlaymodReturnValue = 7;
1842pub const PrPlaymodReturnValue_playmod_CantAddSegment: PrPlaymodReturnValue = 8;
1843pub const PrPlaymodReturnValue_playmod_Unsupported: PrPlaymodReturnValue = 9;
1844pub const PrPlaymodReturnValue_playmod_AudioOverload: PrPlaymodReturnValue = 10;
1845pub const PrPlaymodReturnValue_playmod_OutOfRange: PrPlaymodReturnValue = 11;
1846pub const PrPlaymodReturnValue_playmod_CannotRender: PrPlaymodReturnValue = 12;
1847pub const PrPlaymodReturnValue_playmod_RebuildCutlist: PrPlaymodReturnValue = 13;
1848pub const PrPlaymodReturnValue_playmod_CannotShiftLayer: PrPlaymodReturnValue = 14;
1849pub const PrPlaymodReturnValue_playmod_UnsupportedPlaybackSpeed: PrPlaymodReturnValue = 16;
1850pub const PrPlaymodReturnValue_playmod_BroadcastPrefs: PrPlaymodReturnValue = 17;
1851pub const PrPlaymodReturnValue_playmod_CannotRecord: PrPlaymodReturnValue = 18;
1852pub const PrPlaymodReturnValue_playmod_RenderAndPutFrame: PrPlaymodReturnValue = 19;
1853pub const PrPlaymodReturnValue_pmIsCacheable: PrPlaymodReturnValue = 400;
1854pub const PrPlaymodReturnValue_playmod_ErrorForceSize: PrPlaymodReturnValue = 4294967295;
1855#[doc = "\tError Definitions"]
1856pub type PrPlaymodReturnValue = ::std::os::raw::c_uint;
1857#[doc = "\tType Definitions"]
1858pub type PrPlayID = csSDK_int32;
1859pub const pmFieldDisplay_pmFieldDisplay_ShowFirstField: pmFieldDisplay = 0;
1860pub const pmFieldDisplay_pmFieldDisplay_ShowSecondField: pmFieldDisplay = 1;
1861pub const pmFieldDisplay_pmFieldDisplay_ShowBothFields: pmFieldDisplay = 2;
1862pub const pmFieldDisplay_pmFieldDisplay_ForceSize: pmFieldDisplay = 4294967295;
1863pub type pmFieldDisplay = ::std::os::raw::c_uint;
1864pub const PrPlaymodSelector_playmod_Startup: PrPlaymodSelector = 1;
1865pub const PrPlaymodSelector_playmod_Shutdown: PrPlaymodSelector = 2;
1866pub const PrPlaymodSelector_playmod_Open: PrPlaymodSelector = 3;
1867pub const PrPlaymodSelector_playmod_GetInfo: PrPlaymodSelector = 4;
1868pub const PrPlaymodSelector_playmod_SetDisp: PrPlaymodSelector = 5;
1869pub const PrPlaymodSelector_playmod_Update: PrPlaymodSelector = 6;
1870pub const PrPlaymodSelector_playmod_Stop: PrPlaymodSelector = 10;
1871pub const PrPlaymodSelector_playmod_PlayIdle: PrPlaymodSelector = 11;
1872pub const PrPlaymodSelector_playmod_Close: PrPlaymodSelector = 12;
1873pub const PrPlaymodSelector_playmod_GetIndFormat: PrPlaymodSelector = 14;
1874pub const PrPlaymodSelector_playmod_NewList: PrPlaymodSelector = 21;
1875pub const PrPlaymodSelector_playmod_GetFilePrefs: PrPlaymodSelector = 34;
1876pub const PrPlaymodSelector_playmod_UpdateMarkers: PrPlaymodSelector = 45;
1877pub const PrPlaymodSelector_playmod_SetFilePrefs: PrPlaymodSelector = 46;
1878pub const PrPlaymodSelector_playmod_PutFrame: PrPlaymodSelector = 49;
1879pub const PrPlaymodSelector_playmod_SetQuality: PrPlaymodSelector = 53;
1880pub const PrPlaymodSelector_playmod_SetPlaybackSpeed: PrPlaymodSelector = 54;
1881pub const PrPlaymodSelector_playmod_Play: PrPlaymodSelector = 55;
1882pub const PrPlaymodSelector_playmod_SetPos: PrPlaymodSelector = 56;
1883pub const PrPlaymodSelector_playmod_GetPos: PrPlaymodSelector = 57;
1884pub const PrPlaymodSelector_playmod_Step: PrPlaymodSelector = 59;
1885pub const PrPlaymodSelector_playmod_Preroll: PrPlaymodSelector = 60;
1886pub const PrPlaymodSelector_playmod_AdornSafeAreas: PrPlaymodSelector = 61;
1887pub const PrPlaymodSelector_playmod_Activate: PrPlaymodSelector = 62;
1888pub const PrPlaymodSelector_playmod_EnterScrub: PrPlaymodSelector = 63;
1889pub const PrPlaymodSelector_playmod_LeaveScrub: PrPlaymodSelector = 64;
1890pub const PrPlaymodSelector_playmod_SetView: PrPlaymodSelector = 65;
1891pub const PrPlaymodSelector_playmod_SetDisplayMode: PrPlaymodSelector = 66;
1892pub const PrPlaymodSelector_playmod_PutFrameRequest: PrPlaymodSelector = 67;
1893pub const PrPlaymodSelector_playmod_SetVideoDisplayType: PrPlaymodSelector = 69;
1894pub const PrPlaymodSelector_playmod_DisplayMoving: PrPlaymodSelector = 70;
1895pub const PrPlaymodSelector_playmod_DisplayChanged: PrPlaymodSelector = 71;
1896pub const PrPlaymodSelector_playmod_GetAudioInfo: PrPlaymodSelector = 74;
1897pub const PrPlaymodSelector_playmod_GetAudioChannelInfo: PrPlaymodSelector = 75;
1898pub const PrPlaymodSelector_playmod_PushPlayerSettings: PrPlaymodSelector = 76;
1899pub const PrPlaymodSelector_playmod_EnableDynamicPlayback: PrPlaymodSelector = 77;
1900pub const PrPlaymodSelector_playmod_AllowSetPositionDuringPlayback: PrPlaymodSelector = 78;
1901pub const PrPlaymodSelector_playmod_VideoSequenceHasChanged: PrPlaymodSelector = 79;
1902pub const PrPlaymodSelector_playmod_GetRTStatusForTime: PrPlaymodSelector = 80;
1903pub const PrPlaymodSelector_playmod_SetUseFractionalResolution: PrPlaymodSelector = 81;
1904pub const PrPlaymodSelector_playmod_SetFractionalResolution: PrPlaymodSelector = 82;
1905pub const PrPlaymodSelector_playmod_PutTemporaryTimeline: PrPlaymodSelector = 83;
1906pub const PrPlaymodSelector_playmod_SetDisplayStateProperties: PrPlaymodSelector = 84;
1907pub const PrPlaymodSelector_playmod_AudioOutputMappingUpdate: PrPlaymodSelector = 85;
1908pub const PrPlaymodSelector_playmod_SetDest: PrPlaymodSelector = 86;
1909pub const PrPlaymodSelector_playmod_SetBackgroundColor: PrPlaymodSelector = 87;
1910pub const PrPlaymodSelector_playmod_GetVRSupported: PrPlaymodSelector = 88;
1911pub const PrPlaymodSelector_playmod_SetVRConfiguration: PrPlaymodSelector = 89;
1912pub const PrPlaymodSelector_playmod_GetVRConfiguration: PrPlaymodSelector = 90;
1913pub const PrPlaymodSelector_playmod_SetVREnabled: PrPlaymodSelector = 91;
1914pub const PrPlaymodSelector_playmod_GetVREnabled: PrPlaymodSelector = 92;
1915pub const PrPlaymodSelector_playmod_SetVRView: PrPlaymodSelector = 93;
1916pub const PrPlaymodSelector_playmod_GetVRView: PrPlaymodSelector = 94;
1917pub const PrPlaymodSelector_playmod_CalculateVRDisplayDimensions: PrPlaymodSelector = 95;
1918pub const PrPlaymodSelector_playmod_SetDisplayStateProperties2: PrPlaymodSelector = 96;
1919pub const PrPlaymodSelector_playmod_SelectorsForceSize: PrPlaymodSelector = 4294967295;
1920#[doc = "\tSelectors"]
1921pub type PrPlaymodSelector = ::std::os::raw::c_uint;
1922#[doc = "\tInformation returned from a plugin"]
1923#[repr(C, packed)]
1924#[derive(Debug, Copy, Clone)]
1925pub struct PrGPUFilterInfo {
1926 pub outInterfaceVersion: csSDK_uint32,
1927 pub outMatchName: PrSDKString,
1928}
1929#[doc = "\tA filter instance represents an effect applied to a track item with a fixed set of parameters.\n\tChanged parameters will create a new instance."]
1930#[repr(C, packed)]
1931#[derive(Debug, Copy, Clone)]
1932pub struct PrGPUFilterInstance {
1933 pub piSuites: piSuitesPtr,
1934 pub inDeviceIndex: csSDK_uint32,
1935 pub inTimelineID: PrTimelineID,
1936 pub inNodeID: csSDK_int32,
1937 pub ioPrivatePluginData: *mut ::std::os::raw::c_void,
1938 pub outIsRealtime: prBool,
1939}
1940#[doc = "\tInformation about a frame render"]
1941#[repr(C, packed)]
1942#[derive(Debug, Copy, Clone)]
1943pub struct PrGPUFilterRenderParams {
1944 pub inClipTime: PrTime,
1945 pub inSequenceTime: PrTime,
1946 pub inQuality: PrRenderQuality,
1947 pub inDownsampleFactorX: f32,
1948 pub inDownsampleFactorY: f32,
1949 pub inRenderWidth: csSDK_uint32,
1950 pub inRenderHeight: csSDK_uint32,
1951 pub inRenderPARNum: csSDK_uint32,
1952 pub inRenderPARDen: csSDK_uint32,
1953 pub inRenderFieldType: prFieldType,
1954 pub inRenderTicksPerFrame: PrTime,
1955 pub inRenderField: pmFieldDisplay,
1956}
1957pub const PrGPUFilterFrameDependencyType_PrGPUDependency_InputFrame:
1958 PrGPUFilterFrameDependencyType = 1;
1959pub const PrGPUFilterFrameDependencyType_PrGPUDependency_Precompute:
1960 PrGPUFilterFrameDependencyType = 2;
1961pub const PrGPUFilterFrameDependencyType_PrGPUDependency_FieldSeparation:
1962 PrGPUFilterFrameDependencyType = 4;
1963pub const PrGPUFilterFrameDependencyType_PrGPUDependency_TransitionInputFrame:
1964 PrGPUFilterFrameDependencyType = 8;
1965#[doc = "\tSpecify dependencies to satisfy a render"]
1966pub type PrGPUFilterFrameDependencyType = ::std::os::raw::c_uint;
1967#[repr(C, packed)]
1968#[derive(Debug, Copy, Clone)]
1969pub struct PrGPUFilterFrameDependency {
1970 pub outDependencyType: PrGPUFilterFrameDependencyType,
1971 pub outTrackID: csSDK_int32,
1972 pub outSequenceTime: PrTime,
1973 pub outPrecomputePixelFormat: PrPixelFormat,
1974 pub outPrecomputeFrameWidth: csSDK_uint32,
1975 pub outPrecomputeFrameHeight: csSDK_uint32,
1976 pub outPrecomputeFramePARNumerator: csSDK_uint32,
1977 pub outPrecomputeFramePARDenominator: csSDK_uint32,
1978 pub outPrecomputeFrameFieldType: prFieldType,
1979 pub outPrecomputeCustomDataSize: csSDK_size_t,
1980 pub outNeedsFieldSeparation: prBool,
1981 pub outReadIncomingTransition: prBool,
1982}
1983#[doc = "\tGPU Filter callbacks."]
1984#[repr(C, packed)]
1985#[derive(Debug, Copy, Clone)]
1986pub struct PrGPUFilter {
1987 #[doc = "\tCreates a GPU filter instance representing an effect or transition on a\n\ttrack item. Returning an error from CreateInstance will cause this node\n\tto be rendered in software for the current set of parameters. Separate\n\tinstances may be called concurrently."]
1988 pub CreateInstance: ::std::option::Option<
1989 unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError,
1990 >,
1991 pub DisposeInstance: ::std::option::Option<
1992 unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError,
1993 >,
1994 #[doc = "\tReturn dependency information about a render, or nothing if\n\tonly the current frame is required."]
1995 pub GetFrameDependencies: ::std::option::Option<
1996 unsafe extern "C" fn(
1997 inInstanceData: *mut PrGPUFilterInstance,
1998 inRenderParams: *const PrGPUFilterRenderParams,
1999 ioQueryIndex: *mut csSDK_int32,
2000 outFrameDependencies: *mut PrGPUFilterFrameDependency,
2001 ) -> prSuiteError,
2002 >,
2003 #[doc = "\tPrecompute a result into preallocated uninitialized host (pinned) memory.\n\tWill only be called if PrGPUDependency_Precompute was returned from GetFrameDependencies.\n\tPrecomputation may be called ahead of render time. Results will be\n\tuploaded to the GPU by the host. If outPrecomputePixelFormat is not custom,\n\tframes will be converted to the GPU pixel format."]
2004 pub Precompute: ::std::option::Option<
2005 unsafe extern "C" fn(
2006 inInstanceData: *mut PrGPUFilterInstance,
2007 inRenderParams: *const PrGPUFilterRenderParams,
2008 inIndex: csSDK_int32,
2009 inFrame: PPixHand,
2010 ) -> prSuiteError,
2011 >,
2012 #[doc = "\tRender into an allocated outFrame allocated with PrSDKGPUDeviceSuite or operate\n\tin place. Result must be in the same pixel format as the input. For effects, frame 0\n\twill always be the frame at the current time, other input frames will be in the same order as\n\treturned from GetFrameDependencies. For transitions frame 0 will be the incoming frame and\n\tframe 1 the outgoing frame. Transitions may not have other frame dependencies."]
2013 pub Render: ::std::option::Option<
2014 unsafe extern "C" fn(
2015 inInstanceData: *mut PrGPUFilterInstance,
2016 inRenderParams: *const PrGPUFilterRenderParams,
2017 inFrames: *const PPixHand,
2018 inFrameCount: csSDK_size_t,
2019 outFrame: *mut PPixHand,
2020 ) -> prSuiteError,
2021 >,
2022}
2023pub type PrGPUFilterEntry = ::std::option::Option<
2024 unsafe extern "C" fn(
2025 inHostInterfaceVersion: csSDK_uint32,
2026 ioIndex: *mut csSDK_int32,
2027 inStartup: prBool,
2028 piSuites: piSuitesPtr,
2029 outFilter: *mut PrGPUFilter,
2030 outFilterInfo: *mut PrGPUFilterInfo,
2031 ) -> prSuiteError,
2032>;
2033#[doc = "\tAccess to common GPU image processing algorithms"]
2034#[repr(C, packed)]
2035#[derive(Copy, Clone)]
2036pub struct PrSDKGPUImageProcessingSuite {
2037 #[doc = "\tConvert between formats on the GPU\n\t\tOne of inSrcPixelFormat or inDestPixelFormat must be a host format,\n\tthe other must be either PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f"]
2038 pub PixelFormatConvert: ::std::option::Option<
2039 unsafe extern "C" fn(
2040 inDeviceIndex: csSDK_uint32,
2041 inSrc: *const ::std::os::raw::c_void,
2042 inSrcRowBytes: csSDK_int32,
2043 inSrcPixelFormat: PrPixelFormat,
2044 inDest: *mut ::std::os::raw::c_void,
2045 inDestRowBytes: csSDK_int32,
2046 inDestPixelFormat: PrPixelFormat,
2047 inWidth: csSDK_uint32,
2048 inHeight: csSDK_uint32,
2049 inQuality: PrRenderQuality,
2050 ) -> prSuiteError,
2051 >,
2052 #[doc = "\tScale a frame on the GPU\n\t\tinPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f"]
2053 pub Scale: ::std::option::Option<
2054 unsafe extern "C" fn(
2055 inDeviceIndex: csSDK_uint32,
2056 inSrc: *const ::std::os::raw::c_void,
2057 inSrcRowBytes: csSDK_int32,
2058 inSrcWidth: csSDK_uint32,
2059 inSrcHeight: csSDK_uint32,
2060 inDest: *mut ::std::os::raw::c_void,
2061 inDestRowBytes: csSDK_int32,
2062 inDestWidth: csSDK_uint32,
2063 inDestHeight: csSDK_uint32,
2064 inPixelFormat: PrPixelFormat,
2065 inScaleX: f32,
2066 inScaleY: f32,
2067 inQuality: PrRenderQuality,
2068 ) -> prSuiteError,
2069 >,
2070 #[doc = "\tGaussian blur on the GPU\n\t\tinPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f"]
2071 pub GaussianBlur: ::std::option::Option<
2072 unsafe extern "C" fn(
2073 inDeviceIndex: csSDK_uint32,
2074 inSrc: *const ::std::os::raw::c_void,
2075 inSrcRowBytes: csSDK_int32,
2076 inSrcWidth: csSDK_uint32,
2077 inSrcHeight: csSDK_uint32,
2078 inDest: *mut ::std::os::raw::c_void,
2079 inDestRowBytes: csSDK_int32,
2080 inDestWidth: csSDK_uint32,
2081 inDestHeight: csSDK_uint32,
2082 inPixelFormat: PrPixelFormat,
2083 inSigmaX: f32,
2084 inSigmaY: f32,
2085 inRepeatEdgePixels: prBool,
2086 inBlurHorizontally: prBool,
2087 inBlurVertically: prBool,
2088 inQuality: PrRenderQuality,
2089 ) -> prSuiteError,
2090 >,
2091}
2092#[repr(C, packed)]
2093#[derive(Debug, Copy, Clone)]
2094pub struct PrSDKMemoryManagerSuiteV1 {
2095 #[doc = "\tSet the memory reserve size in bytes for the plugin with the specified ID.\n\n\t@param\tinPluginID\t\t\tThe ID of the plugin.\n\t@param\tinSize\t\t\t\tThe size in bytes to reserve."]
2096 pub ReserveMemory: ::std::option::Option<
2097 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2098 >,
2099}
2100#[repr(C, packed)]
2101#[derive(Debug, Copy, Clone)]
2102pub struct PrSDKMemoryManagerSuiteV2 {
2103 #[doc = "\tSet the memory reserve size in bytes for the plugin with the specified ID.\n\n\t@param\tinPluginID\t\t\tThe ID of the plugin.\n\t@param\tinSize\t\t\t\tThe size in bytes to reserve."]
2104 pub ReserveMemory: ::std::option::Option<
2105 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2106 >,
2107 pub NewPtrClear:
2108 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2109 pub NewPtr: ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2110 pub GetPtrSize: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>,
2111 pub SetPtrSize:
2112 ::std::option::Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>,
2113 pub NewHandle:
2114 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2115 pub NewHandleClear:
2116 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2117 pub PrDisposePtr: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr)>,
2118 pub DisposeHandle: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2119 pub SetHandleSize: ::std::option::Option<
2120 unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> ::std::os::raw::c_short,
2121 >,
2122 pub GetHandleSize:
2123 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>,
2124 pub HUnlock: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2125 pub HLock: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2126}
2127pub type PrSDKMemoryManagerSuite_PurgeMemoryFunction = ::std::option::Option<
2128 unsafe extern "C" fn(inPurgeMemoryData: *mut ::std::os::raw::c_void, inMemoryID: csSDK_uint32),
2129>;
2130#[repr(C, packed)]
2131#[derive(Debug, Copy, Clone)]
2132pub struct PrSDKMemoryManagerSuite {
2133 #[doc = "\tSet the memory reserve size in bytes for the plugin with the specified ID.\n\n\t@param\tinPluginID\t\t\tThe ID of the plugin.\n\t@param\tinSize\t\t\t\tThe size in bytes to reserve."]
2134 pub ReserveMemory: ::std::option::Option<
2135 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2136 >,
2137 #[doc = "\tGet the current size of the media cache in this process.\n\n\t@param\toutMemoryManagerSize\tThe size of the memory manager in bytes."]
2138 pub GetMemoryManagerSize: ::std::option::Option<
2139 unsafe extern "C" fn(outMemoryManagerSize: *mut csSDK_uint64) -> prSuiteError,
2140 >,
2141 #[doc = "\tAdd a block of memory to management. This block should not be something entered\n\tin any of the suite cache, and it must be purgeable. The purge function you pass in\n\tmay be called on any thread.\n\n\t@param\tinSize\t\t\t\tThe size in bytes of the item in question.\n\t@param\tinPurgeFunction\t\tThe function pointer that will be called to purge the item.\n\t@param\tinPurgeMemoryData\tThe data object passed back in the purge callback.\n\t@param\toutID\t\t\t\tThe id the host will use for this item."]
2142 pub AddBlock: ::std::option::Option<
2143 unsafe extern "C" fn(
2144 inSize: csSDK_size_t,
2145 inPurgeFunction: PrSDKMemoryManagerSuite_PurgeMemoryFunction,
2146 inPurgeMemoryData: *mut ::std::os::raw::c_void,
2147 outID: *mut csSDK_uint32,
2148 ) -> prSuiteError,
2149 >,
2150 #[doc = "\tEach time you use a block of memory, you should call this function. This pushes its\n\tpriority up in the cache, making a purge less likely.\n\n\t@param\tinID\t\t\t\tThe id of the block to touch."]
2151 pub TouchBlock: ::std::option::Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>,
2152 #[doc = "\tYou can manually expire an item from the cache with this function. Note that the purge function\n\ton the item will not be called.\n\n\t@param\tinID\t\t\t\tThe id of the block to touch."]
2153 pub RemoveBlock:
2154 ::std::option::Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>,
2155 pub NewPtrClear:
2156 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2157 pub NewPtr: ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2158 pub GetPtrSize: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>,
2159 pub SetPtrSize:
2160 ::std::option::Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>,
2161 pub NewHandle:
2162 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2163 pub NewHandleClear:
2164 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2165 pub PrDisposePtr: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr)>,
2166 pub DisposeHandle: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2167 pub SetHandleSize: ::std::option::Option<
2168 unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> ::std::os::raw::c_short,
2169 >,
2170 pub GetHandleSize:
2171 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>,
2172 pub AdjustReservedMemorySize: ::std::option::Option<
2173 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_int64) -> prSuiteError,
2174 >,
2175}
2176#[repr(C, packed)]
2177#[derive(Debug, Copy, Clone)]
2178pub struct PrSDKPixelFormatSuite {
2179 #[doc = "\tRetrieves the minimum i.e. \"black\" value for a give pixel type.\n\n\t[NOTE]\tpixel types like YUY2, YUYV actually contain a group of two pixels to specify a color\n\t\t\tcompletely, so the data size returned in this case will be 4 bytes (rather than 2)\n\n\t@param\t\tpixelFormat\t\t\t\tthe Premiere pixel format whose black level you want\n\t@param\t\tpixelData\t\t\t\ta void pointer to data large enough to hold the pixel value (see note above)\n\n\t@returns\tsuiteError_NoError : successful retreival of black value\n\t@returns\tsuiteError_Fail :"]
2180 pub GetBlackForPixelFormat: ::std::option::Option<
2181 unsafe extern "C" fn(
2182 pixelFormat: PrPixelFormat,
2183 pixelData: *mut ::std::os::raw::c_void,
2184 ) -> prSuiteError,
2185 >,
2186 #[doc = "\tRetrieves the maximum i.e. \"white\" value for a give pixel type.\n\n\t[NOTE]\tpixel types like YUY2, YUYV actually contain a group of two pixels to specify a color\n\t\t\tcompletely, so the data size returned in this case will be 4 bytes (rather than 2)\n\n\t@param\t\tpixelFormat\t\t\t\tthe Premiere pixel format whose white level you want\n\t@param\t\tpixelData\t\t\t\ta void pointer to data large enough to hold the pixel value (see note above)\n\n\t@returns\tsuiteError_NoError : successful retreival of white value\n\t@returns\tsuiteError_Fail :"]
2187 pub GetWhiteForPixelFormat: ::std::option::Option<
2188 unsafe extern "C" fn(
2189 pixelFormat: PrPixelFormat,
2190 pixelData: *mut ::std::os::raw::c_void,
2191 ) -> prSuiteError,
2192 >,
2193 #[doc = "\tConverts an alpha, red, green, blue specification into a pixel value for a give pixel type.\n\n\t[NOTE]\tpixel types like YUY2, YUYV actually contain a group of two pixels to specify a color\n\t\t\tcompletely, so the data size returned in this case will be 4 bytes (rather than 2)\n\n\t@param\t\tpixelFormat\t\t\t\tthe Premiere pixel format whose white level you want\n\t@param\t\talpha\t\t\t\t\talpha value (0.0 - 1.0)\n\t@param\t\tred\t\t\t\t\t\tred value (0.0 - 1.0)\n\t@param\t\tgreen\t\t\t\t\tgreen value (0.0 - 1.0)\n\t@param\t\tblue\t\t\t\t\tblue value (0.0 - 1.0)\n\t@param\t\tpixelData\t\t\t\ta void pointer to data large enough to hold the pixel value (see note above)\n\n\t@returns\tsuiteError_NoError : successful conversion of color value\n\t@returns\tsuiteError_Fail :"]
2194 pub ConvertColorToPixelFormattedData: ::std::option::Option<
2195 unsafe extern "C" fn(
2196 pixelFormat: PrPixelFormat,
2197 alpha: f32,
2198 red: f32,
2199 green: f32,
2200 blue: f32,
2201 pixelData: *mut ::std::os::raw::c_void,
2202 ) -> prSuiteError,
2203 >,
2204}
2205pub const PrPPixBufferAccess_PrPPixBufferAccess_ReadOnly: PrPPixBufferAccess = 0;
2206pub const PrPPixBufferAccess_PrPPixBufferAccess_WriteOnly: PrPPixBufferAccess = 1;
2207pub const PrPPixBufferAccess_PrPPixBufferAccess_ReadWrite: PrPPixBufferAccess = 2;
2208pub const PrPPixBufferAccess_PrPPixBufferAccess_ForceEnumSize: PrPPixBufferAccess = 4294967295;
2209pub type PrPPixBufferAccess = ::std::os::raw::c_uint;
2210#[repr(C, packed)]
2211#[derive(Debug, Copy, Clone)]
2212pub struct PrSDKPPixSuite {
2213 #[doc = "\tThis will free this ppix. The ppix is no longer valid after this function is called.\n\n\t@param\tinPPixHand\t\t\t\tThe ppix handle you want to dispose."]
2214 pub Dispose: ::std::option::Option<unsafe extern "C" fn(inPPixHand: PPixHand) -> prSuiteError>,
2215 #[doc = "\tThis will return a pointer to the pixel buffer.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\tinRequestedAccess\tRequested pixel access. Most PPixs do not support write access modes.\n\t@param\toutPixelAddress\t\tThe output pixel buffer address. May be NULL if the requested pixel access is not supported."]
2216 pub GetPixels: ::std::option::Option<
2217 unsafe extern "C" fn(
2218 inPPixHand: PPixHand,
2219 inRequestedAccess: PrPPixBufferAccess,
2220 outPixelAddress: *mut *mut ::std::os::raw::c_char,
2221 ) -> prSuiteError,
2222 >,
2223 #[doc = "\tThis will return the bounding rect.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\toutBoundingRect\t\tThe address of a bounding rect to be filled in."]
2224 pub GetBounds: ::std::option::Option<
2225 unsafe extern "C" fn(inPPixHand: PPixHand, inoutBoundingRect: *mut prRect) -> prSuiteError,
2226 >,
2227 #[doc = "\tThis will return the row bytes of the ppix.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\toutRowBytes\t\t\tReturns how many bytes must be added to the pixel buffer address to get to the next line.\n\t\t\t\t\t\t\t\tMay be negative."]
2228 pub GetRowBytes: ::std::option::Option<
2229 unsafe extern "C" fn(inPPixHand: PPixHand, outRowBytes: *mut csSDK_int32) -> prSuiteError,
2230 >,
2231 #[doc = "\tThis will return the pixel aspect ratio of this ppix.\n\n\t@param\tinPPixHand\t\t\t\t\t\tThe ppix handle you want to operate on.\n\t@param\toutPixelAspectRatioNumerator\tReturns the numerator of the pixel aspect ratio.\n\t@param\toutPixelAspectRatioDenominator\tReturns the denominator of the pixel aspect ratio."]
2232 pub GetPixelAspectRatio: ::std::option::Option<
2233 unsafe extern "C" fn(
2234 inPPixHand: PPixHand,
2235 outPixelAspectRatioNumerator: *mut csSDK_uint32,
2236 outPixelAspectRatioDenominator: *mut csSDK_uint32,
2237 ) -> prSuiteError,
2238 >,
2239 #[doc = "\tThis will return the pixel format of this ppix.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\toutPixelFormat\t\tReturns the pixel format of this ppix."]
2240 pub GetPixelFormat: ::std::option::Option<
2241 unsafe extern "C" fn(
2242 inPPixHand: PPixHand,
2243 outPixelFormat: *mut PrPixelFormat,
2244 ) -> prSuiteError,
2245 >,
2246 #[doc = "\tThis will return the unique key for this ppix.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\toutKeyBuffer\t\tReturns the pixel format of this ppix.\n\n\t[TODO] Fill in returned error codes.\n\t@returns Error if the buffer size is too small (call GetUniqueKeySize() to get the correct size).\n\t@returns Error if the key is not available.\n\t@returns Success if the key data was filled in."]
2247 pub GetUniqueKey: ::std::option::Option<
2248 unsafe extern "C" fn(
2249 inPPixHand: PPixHand,
2250 inoutKeyBuffer: *mut ::std::os::raw::c_uchar,
2251 inKeyBufferSize: usize,
2252 ) -> prSuiteError,
2253 >,
2254 #[doc = "\tThis will return the unique key size.\n\tThis will not change for the entire run of the application.\n\n\t@param\toutKeyBufferSize\tReturns the size of the ppix unique key."]
2255 pub GetUniqueKeySize:
2256 ::std::option::Option<unsafe extern "C" fn(outKeyBufferSize: *mut usize) -> prSuiteError>,
2257 #[doc = "\tThis will return the render time for this ppix.\n\n\t@param\tinPPixHand\t\t\t\tThe ppix handle you want to operate on.\n\t@param\toutRenderMilliseconds\tReturns the render time in milliseconds. If the frame was cached, this time will be 0."]
2258 pub GetRenderTime: ::std::option::Option<
2259 unsafe extern "C" fn(
2260 inPPixHand: PPixHand,
2261 outRenderMilliseconds: *mut csSDK_int32,
2262 ) -> prSuiteError,
2263 >,
2264}
2265#[repr(C, packed)]
2266#[derive(Debug, Copy, Clone)]
2267pub struct PrSDKPPix2Suite {
2268 #[doc = "\tThis will return the total size of the ppix in bytes.\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\toutSize\t\t\t\tThe size of the ppix in bytes."]
2269 pub GetSize: ::std::option::Option<
2270 unsafe extern "C" fn(inPPixHand: PPixHand, outSize: *mut usize) -> prSuiteError,
2271 >,
2272 #[doc = "\t[Added in CS4]\n\tThis will return the planar buffers and rowbytes for a PPixHand\n\tif the contained pixels are in a planar format, such as\n\tPrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601\n\tPrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601\n\tPrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709\n\tPrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709\n\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to operate on.\n\t@param\tinRequestedAccess\tWill return an error if the source is read-only and the request is for write or read/write.\n\n\t@param\tout_xxx_PixelAddress\tThe output (Y, U, or V) pixel buffer address. May be NULL if the requested access is not supported.\n\t@param\tout_xxx_RowBytes\t\tReturns how many bytes must be added to the pixel buffer address to get to the next line.\n\t\t\t\t\t\t\t\t\tMay be negative."]
2273 pub GetYUV420PlanarBuffers: ::std::option::Option<
2274 unsafe extern "C" fn(
2275 inPPixHand: PPixHand,
2276 inRequestedAccess: PrPPixBufferAccess,
2277 out_Y_PixelAddress: *mut *mut ::std::os::raw::c_char,
2278 out_Y_RowBytes: *mut csSDK_uint32,
2279 out_U_PixelAddress: *mut *mut ::std::os::raw::c_char,
2280 out_U_RowBytes: *mut csSDK_uint32,
2281 out_V_PixelAddress: *mut *mut ::std::os::raw::c_char,
2282 out_V_RowBytes: *mut csSDK_uint32,
2283 ) -> prSuiteError,
2284 >,
2285 pub GetOrigin: ::std::option::Option<
2286 unsafe extern "C" fn(
2287 inPPixHand: PPixHand,
2288 outOriginX: *mut csSDK_int32,
2289 outOriginY: *mut csSDK_int32,
2290 ) -> prSuiteError,
2291 >,
2292 pub GetFieldOrder: ::std::option::Option<
2293 unsafe extern "C" fn(inPPixHand: PPixHand, outFieldType: *mut prFieldType) -> prSuiteError,
2294 >,
2295}
2296#[doc = "\tThis struct defines a specific frame format that is being requested\n\tfromt the importer. Any member can be 0, which means that any value\n\tis an acceptable match. For instance, the host might ask for a specific\n\twidth and height, but pass 0 as the pixel format, meaning it can accept\n\tany pixel format."]
2297#[repr(C, packed)]
2298#[derive(Debug, Copy, Clone)]
2299pub struct imFrameFormat {
2300 pub inFrameWidth: csSDK_int32,
2301 pub inFrameHeight: csSDK_int32,
2302 pub inPixelFormat: PrPixelFormat,
2303}
2304#[repr(C, packed)]
2305#[derive(Debug, Copy, Clone)]
2306pub struct PrSDKPPixCacheSuite {
2307 #[doc = "\tThis will add the ppix to the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to add.\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length"]
2308 pub AddFrameToCache: ::std::option::Option<
2309 unsafe extern "C" fn(
2310 inImporterID: csSDK_uint32,
2311 inStreamIndex: csSDK_int32,
2312 inPPixHand: PPixHand,
2313 inFrameNumber: csSDK_int32,
2314 inPreferences: *mut ::std::os::raw::c_void,
2315 inPreferencesLength: csSDK_int32,
2316 ) -> prSuiteError,
2317 >,
2318 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix requested.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length"]
2319 pub GetFrameFromCache: ::std::option::Option<
2320 unsafe extern "C" fn(
2321 inImporterID: csSDK_uint32,
2322 inStreamIndex: csSDK_int32,
2323 inFrameNumber: csSDK_int32,
2324 inNumFormats: csSDK_int32,
2325 inFormats: *mut imFrameFormat,
2326 outPPixHand: *mut PPixHand,
2327 inPreferences: *mut ::std::os::raw::c_void,
2328 inPreferencesLength: csSDK_int32,
2329 ) -> prSuiteError,
2330 >,
2331 #[doc = "\tThis will add the ppix to the raw cache for this importer instance.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinPPixHand\t\t\tThe raw ppix handle you want to add.\n\t@param\tinKey\t\t\t\tThe key to use for this raw ppix. If an entry with this key already\n\t\t\t\t\t\t\t\texists, this call will fail."]
2332 pub AddRawPPixToCache: ::std::option::Option<
2333 unsafe extern "C" fn(
2334 inImporterID: csSDK_uint32,
2335 inPPixHand: PPixHand,
2336 inKey: csSDK_int32,
2337 ) -> prSuiteError,
2338 >,
2339 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinKey\t\t\t\tThe key to identify this raw ppix.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame."]
2340 pub GetRawPPixFromCache: ::std::option::Option<
2341 unsafe extern "C" fn(
2342 inImporterID: csSDK_uint32,
2343 inKey: csSDK_int32,
2344 outPPixHand: *mut PPixHand,
2345 ) -> prSuiteError,
2346 >,
2347 #[doc = "\tThis function allows you to cache a PPix using a GUID as an identifier.\n\n\t@param\tinPPixIdentifier\tThe ID of the PPix, used to identify this particular set of pixels.\n\t\t\t\t\t\t\t\tThe GUID can be anything, but must be unique.\n\t@param\tinPPix\t\t\t\tThe Pixels to put in the cache. If a frame with this id is already in the cache,\n\t\t\t\t\t\t\t\tthen this PPix will be ignored. You still have ownership over the PPix.\n\t\t\t\t\t\t\t\tYou may want to get the PPix from the cache after this, in case your frame is redundant."]
2348 pub AddNamedPPixToCache: ::std::option::Option<
2349 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID, inPPix: PPixHand) -> prSuiteError,
2350 >,
2351 #[doc = "\tThis function retrieves a named PPix from the cache.\n\n\t@param\tinPPixIdentifier\tThe ID of the PPix.\n\t@param\toutPPixHand\t\t\tThe PPix, if it's available. If it's not in the cache, this will be NULL.\n\t\t\t\t\t\t\t\tYou are responsible for calling PPixDispose on this PPix, like any other."]
2352 pub GetNamedPPixFromCache: ::std::option::Option<
2353 unsafe extern "C" fn(
2354 inPPixIdentifier: *const prPluginID,
2355 outPPixHand: *mut PPixHand,
2356 ) -> prSuiteError,
2357 >,
2358 #[doc = "\tThis function registers a dependency on a PPix. If a frame with that identifier is in the cache now,\n\tor ends up in the cache soon, then it will not be flushed from the cache while there are outstanding\n\tdependencies. You are responsible for call the Unregister function - if you don't then this is the\n\tsame as a memory leak of a PPix.\n\n\t@param\tinPPixIdentifier\tThe ID of the PPix you want held in the cache."]
2359 pub RegisterDependencyOnNamedPPix: ::std::option::Option<
2360 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2361 >,
2362 #[doc = "\tThis function unregisters a dependency on a named PPix. This must be called for every successful call of\n\tRegisterDependencyOnNamedPPix\n\n\t@param inPPixIdentifier\t\tThe ID of the PPix you no longer need in the cache."]
2363 pub UnregisterDependencyOnNamedPPix: ::std::option::Option<
2364 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2365 >,
2366 #[doc = " This function attempts to flush a frame from the cache. If the frame has a registered dependency, then the\n frame will remain available until the dependency count hits zero.\n\n\t@param inPPixIdentifier\t\tThe ID of the PPix you want forcibly removed from the cache."]
2367 pub ExpireNamedPPixFromCache: ::std::option::Option<
2368 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2369 >,
2370 #[doc = " This function attempts to flush all ppixes from the cache."]
2371 pub ExpireAllPPixesFromCache: ::std::option::Option<unsafe extern "C" fn() -> prSuiteError>,
2372 #[doc = "\tThis will add the ppix to the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to add.\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2373 pub AddFrameToCacheWithColorProfile: ::std::option::Option<
2374 unsafe extern "C" fn(
2375 inImporterID: csSDK_uint32,
2376 inStreamIndex: csSDK_int32,
2377 inPPixHand: PPixHand,
2378 inFrameNumber: csSDK_int32,
2379 inPreferences: *mut ::std::os::raw::c_void,
2380 inPreferencesLength: csSDK_int32,
2381 inColorProfileName: *mut PrSDKString,
2382 inColorProfileData: *mut ::std::os::raw::c_void,
2383 inColorProfileDataLength: csSDK_int32,
2384 ) -> prSuiteError,
2385 >,
2386 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix requested.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2387 pub GetFrameFromCacheWithColorProfile: ::std::option::Option<
2388 unsafe extern "C" fn(
2389 inImporterID: csSDK_uint32,
2390 inStreamIndex: csSDK_int32,
2391 inFrameNumber: csSDK_int32,
2392 inNumFormats: csSDK_int32,
2393 inFormats: *mut imFrameFormat,
2394 outPPixHand: *mut PPixHand,
2395 inPreferences: *mut ::std::os::raw::c_void,
2396 inPreferencesLength: csSDK_int32,
2397 inColorProfileName: *mut PrSDKString,
2398 inColorProfileData: *mut ::std::os::raw::c_void,
2399 inColorProfileDataSize: csSDK_int32,
2400 ) -> prSuiteError,
2401 >,
2402 #[doc = "\tThis will add the ppix to the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to add.\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2403 pub AddFrameToCacheWithColorProfile2: ::std::option::Option<
2404 unsafe extern "C" fn(
2405 inImporterID: csSDK_uint32,
2406 inStreamIndex: csSDK_int32,
2407 inPPixHand: PPixHand,
2408 inFrameNumber: csSDK_int32,
2409 inQuality: PrRenderQuality,
2410 inPreferences: *mut ::std::os::raw::c_void,
2411 inPreferencesLength: csSDK_int32,
2412 inColorProfileName: *mut PrSDKString,
2413 inColorProfileData: *mut ::std::os::raw::c_void,
2414 inColorProfileDataLength: csSDK_int32,
2415 ) -> prSuiteError,
2416 >,
2417 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix requested.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame.\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2418 pub GetFrameFromCacheWithColorProfile2: ::std::option::Option<
2419 unsafe extern "C" fn(
2420 inImporterID: csSDK_uint32,
2421 inStreamIndex: csSDK_int32,
2422 inFrameNumber: csSDK_int32,
2423 inNumFormats: csSDK_int32,
2424 inFormats: *mut imFrameFormat,
2425 outPPixHand: *mut PPixHand,
2426 inQuality: PrRenderQuality,
2427 inPreferences: *mut ::std::os::raw::c_void,
2428 inPreferencesLength: csSDK_int32,
2429 inColorProfileName: *mut PrSDKString,
2430 inColorProfileData: *mut ::std::os::raw::c_void,
2431 inColorProfileDataSize: csSDK_int32,
2432 ) -> prSuiteError,
2433 >,
2434 #[doc = "\tThis will add the ppix to the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to add.\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\tinQuality\t\t\tThe quality level with which to render the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinPrColorSpaceID\tcolor space for the frame to be cached; this is an opaque token passed to the importer by the host that importer is expected to use in color management APIs"]
2435 pub AddFrameToCacheWithColorSpace: ::std::option::Option<
2436 unsafe extern "C" fn(
2437 inImporterID: csSDK_uint32,
2438 inStreamIndex: csSDK_int32,
2439 inPPixHand: PPixHand,
2440 inFrameNumber: csSDK_int32,
2441 inQuality: PrRenderQuality,
2442 inPreferences: *mut ::std::os::raw::c_void,
2443 inPreferencesLength: csSDK_int32,
2444 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2445 ) -> prSuiteError,
2446 >,
2447 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix requested.\n @param\tinNumFormats\t\tThe number of frame formats\n\t@param\tinFormats\t\t\tThe array of frame formats\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame.\n\t@param\tinQuality\t\t\tThe quality level with which to render the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinPrColorSpaceID\tcolor space to be used as part of identifier to retrieve a frame from cache; this is an opaque token passed to the importer by the host that importer is expected to use in color management APIs"]
2448 pub GetFrameFromCacheWithColorSpace: ::std::option::Option<
2449 unsafe extern "C" fn(
2450 inImporterID: csSDK_uint32,
2451 inStreamIndex: csSDK_int32,
2452 inFrameNumber: csSDK_int32,
2453 inNumFormats: csSDK_int32,
2454 inFormats: *mut imFrameFormat,
2455 outPPixHand: *mut PPixHand,
2456 inQuality: PrRenderQuality,
2457 inPreferences: *mut ::std::os::raw::c_void,
2458 inPreferencesLength: csSDK_int32,
2459 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2460 ) -> prSuiteError,
2461 >,
2462 #[doc = "\tThis function registers a dependency on a PPix. If a frame with these settings is in the cache now,\n\tor ends up in the cache soon, then it will not be flushed from the cache while there are outstanding\n\tdependencies. You are responsible for calling the UnregisterDependencyOnNamedPPix function with the\n returned identifier - if you don't then this is the same as a memory leak of a PPix.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\toutPPixIdentifier\tThe pointer to the ppix Identifer obtained for the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length"]
2463 pub RegisterDependencyOnFrame: ::std::option::Option<
2464 unsafe extern "C" fn(
2465 inImporterID: csSDK_uint32,
2466 inStreamIndex: csSDK_int32,
2467 inFrameNumber: csSDK_int32,
2468 inNumFormats: csSDK_int32,
2469 inFormats: *mut imFrameFormat,
2470 outPPixIdentifier: *mut prPluginID,
2471 inPreferences: *mut ::std::os::raw::c_void,
2472 inPreferencesLength: csSDK_int32,
2473 ) -> prSuiteError,
2474 >,
2475 #[doc = "\tThis function registers a dependency on a PPix. If a frame with these settings is in the cache now,\n\tor ends up in the cache soon, then it will not be flushed from the cache while there are outstanding\n\tdependencies. You are responsible for calling the UnregisterDependencyOnNamedPPix function with the\n returned identifier - if you don't then this is the same as a memory leak of a PPix.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\toutPPixIdentifier\tThe pointer to the ppix Identifer obtained for the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2476 pub RegisterDependencyOnFrameWithColorProfile: ::std::option::Option<
2477 unsafe extern "C" fn(
2478 inImporterID: csSDK_uint32,
2479 inStreamIndex: csSDK_int32,
2480 inFrameNumber: csSDK_int32,
2481 inNumFormats: csSDK_int32,
2482 inFormats: *mut imFrameFormat,
2483 outPPixIdentifier: *mut prPluginID,
2484 inPreferences: *mut ::std::os::raw::c_void,
2485 inPreferencesLength: csSDK_int32,
2486 inColorProfileName: *mut PrSDKString,
2487 inColorProfileData: *mut ::std::os::raw::c_void,
2488 inColorProfileDataSize: csSDK_int32,
2489 ) -> prSuiteError,
2490 >,
2491 #[doc = "\tThis function registers a dependency on a PPix. If a frame with these settings is in the cache now,\n\tor ends up in the cache soon, then it will not be flushed from the cache while there are outstanding\n\tdependencies. You are responsible for calling the UnregisterDependencyOnNamedPPix function with the\n returned identifier - if you don't then this is the same as a memory leak of a PPix.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n\t@param\toutPPixIdentifier\tThe pointer to the ppix Identifer obtained for the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinColorProfileName\tThe name of the selected color profile. This is only worth providing if your\n\t\t\t\t\t\t\t\tImporter supports color management, and has more than one possible profile.\n\t\t\t\t\t\t\t\tOtherwise we will default to the single profile provided.\n\t@param\tinColorProfileData\tThis is completely optional. We will use the color profile data provided\n\t\t\t\t\t\t\t\tthrough the imGetIndColorProfile selector. In some future version we will\n\t\t\t\t\t\t\t\tallow Importers to support arbitrary profiles, at which point this param will\n\t\t\t\t\t\t\t\tbe useful."]
2492 pub RegisterDependencyOnFrameWithColorProfile2: ::std::option::Option<
2493 unsafe extern "C" fn(
2494 inImporterID: csSDK_uint32,
2495 inStreamIndex: csSDK_int32,
2496 inFrameNumber: csSDK_int32,
2497 inNumFormats: csSDK_int32,
2498 inFormats: *mut imFrameFormat,
2499 inQuality: PrRenderQuality,
2500 outPPixIdentifier: *mut prPluginID,
2501 inPreferences: *mut ::std::os::raw::c_void,
2502 inPreferencesLength: csSDK_int32,
2503 inColorProfileName: *mut PrSDKString,
2504 inColorProfileData: *mut ::std::os::raw::c_void,
2505 inColorProfileDataSize: csSDK_int32,
2506 ) -> prSuiteError,
2507 >,
2508 #[doc = "\tThis function registers a dependency on a PPix. If a frame with these settings is in the cache now,\n\tor ends up in the cache soon, then it will not be flushed from the cache while there are outstanding\n\tdependencies. You are responsible for calling the UnregisterDependencyOnNamedPPix function with the\n returned identifier - if you don't then this is the same as a memory leak of a PPix.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix.\n \t@param\tinNumFormats\t\tThe number of frame formats\n\t@param\tinFormats\t\t\tThe array of frame formats\n\t@param\tinQuality\t\t\tThe quality level with which to render the frame\n\t@param\toutPPixIdentifier\tThe pointer to the ppix Identifer obtained for the frame\n\t@param\tinPreferences\t\tCurrent importer preferences, can be NULL for no preferences\n\t@param\tinPreferencesLength\tCurrent importer preferences length\n\t@param\tinPrColorSpaceID\tcolor space to be used as part of identifier to retrieve a frame from cache; this is an opaque token passed to the importer by the host that importer is expected to use in color management APIs"]
2509 pub RegisterDependencyOnFrameWithColorSpace: ::std::option::Option<
2510 unsafe extern "C" fn(
2511 inImporterID: csSDK_uint32,
2512 inStreamIndex: csSDK_int32,
2513 inFrameNumber: csSDK_int32,
2514 inNumFormats: csSDK_int32,
2515 inFormats: *mut imFrameFormat,
2516 inQuality: PrRenderQuality,
2517 outPPixIdentifier: *mut prPluginID,
2518 inPreferences: *mut ::std::os::raw::c_void,
2519 inPreferencesLength: csSDK_int32,
2520 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2521 ) -> prSuiteError,
2522 >,
2523}
2524#[repr(C, packed)]
2525#[derive(Debug, Copy, Clone)]
2526pub struct PrSDKPPixCacheSuite1 {
2527 #[doc = "\tThis will add the ppix to the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinPPixHand\t\t\tThe ppix handle you want to add.\n\t@param\tinFrameNumber\t\tThe frame number of the ppix."]
2528 pub AddFrameToCache: ::std::option::Option<
2529 unsafe extern "C" fn(
2530 inImporterID: csSDK_uint32,
2531 inStreamIndex: csSDK_int32,
2532 inPPixHand: PPixHand,
2533 inFrameNumber: csSDK_int32,
2534 ) -> prSuiteError,
2535 >,
2536 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance and stream.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinStreamIndex\t\tThe index of this stream\n\t@param\tinFrameNumber\t\tThe frame number of the ppix requested.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame."]
2537 pub GetFrameFromCache: ::std::option::Option<
2538 unsafe extern "C" fn(
2539 inImporterID: csSDK_uint32,
2540 inStreamIndex: csSDK_int32,
2541 inFrameNumber: csSDK_int32,
2542 inNumFormats: csSDK_int32,
2543 inFormats: *mut imFrameFormat,
2544 outPPixHand: *mut PPixHand,
2545 ) -> prSuiteError,
2546 >,
2547 #[doc = "\tThis will add the ppix to the raw cache for this importer instance.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinPPixHand\t\t\tThe raw ppix handle you want to add.\n\t@param\tinKey\t\t\t\tThe key to use for this raw ppix. If an entry with this key already\n\t\t\t\t\t\t\t\texists, this call will fail."]
2548 pub AddRawPPixToCache: ::std::option::Option<
2549 unsafe extern "C" fn(
2550 inImporterID: csSDK_uint32,
2551 inPPixHand: PPixHand,
2552 inKey: csSDK_int32,
2553 ) -> prSuiteError,
2554 >,
2555 #[doc = "\tThis will retrieve a ppix from the frame cache for this importer instance.\n\n\t@param\tinImporterID\t\tThe ID of this importer instance (passed down in imGetInfo8).\n\t@param\tinKey\t\t\t\tThe key to identify this raw ppix.\n\t@param\toutPPixHand\t\t\tA pointer to a ppix handle to hold the retrieved frame."]
2556 pub GetRawPPixFromCache: ::std::option::Option<
2557 unsafe extern "C" fn(
2558 inImporterID: csSDK_uint32,
2559 inKey: csSDK_int32,
2560 outPPixHand: *mut PPixHand,
2561 ) -> prSuiteError,
2562 >,
2563}
2564#[repr(C, packed)]
2565#[derive(Debug, Copy, Clone)]
2566pub struct PrSDKPPixCreator2Suite {
2567 #[doc = "\tThis will create a new ppix.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinPixelFormat\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinUseFields\t\t\t\t\t\tIf true, the ppix is a field.\n\t@param\tinFieldNumber\t\t\t\t\tIf inUseFields is true, this specifies first field (0) or second (1)\n\t@param\tinPARNumerator\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\tThe pixel aspect ratio denominator for the ppix."]
2568 pub CreatePPix: ::std::option::Option<
2569 unsafe extern "C" fn(
2570 outPPixHand: *mut PPixHand,
2571 inRequestedAccess: PrPPixBufferAccess,
2572 inPixelFormat: PrPixelFormat,
2573 inWidth: ::std::os::raw::c_int,
2574 inHeight: ::std::os::raw::c_int,
2575 inUseFields: bool,
2576 inFieldNumber: ::std::os::raw::c_int,
2577 inPARNumerator: ::std::os::raw::c_int,
2578 inPARDenominator: ::std::os::raw::c_int,
2579 ) -> prSuiteError,
2580 >,
2581 #[doc = "\tThis will create a new raw ppix.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinSize\t\t\t\t\t\t\tThe size of the ppix in bytes.\n\t@param\tinAlignment\t\t\t\t\t\tThe alignment of the beginning of the ppix in bytes."]
2582 pub CreateRawPPix: ::std::option::Option<
2583 unsafe extern "C" fn(
2584 outPPixHand: *mut PPixHand,
2585 inRequestedAccess: PrPPixBufferAccess,
2586 inSize: ::std::os::raw::c_int,
2587 inAlignment: ::std::os::raw::c_int,
2588 ) -> prSuiteError,
2589 >,
2590 #[doc = "\tThis will create a new ppix in a custom pixel format.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinPixelFormat\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinPARNumerator\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\tThe pixel aspect ratio denominator for the ppix.\n\t@param\tinDataBufferSize\t\t\t\tThe number of bytes requested, not including the header."]
2591 pub CreateCustomPPix: ::std::option::Option<
2592 unsafe extern "C" fn(
2593 outPPixHand: *mut PPixHand,
2594 inRequestedAccess: PrPPixBufferAccess,
2595 inPixelFormat: PrPixelFormat,
2596 inWidth: ::std::os::raw::c_int,
2597 inHeight: ::std::os::raw::c_int,
2598 inPARNumerator: ::std::os::raw::c_int,
2599 inPARDenominator: ::std::os::raw::c_int,
2600 inDataBufferSize: ::std::os::raw::c_int,
2601 ) -> prSuiteError,
2602 >,
2603 #[doc = "\tThis will create a new ppix properly aligned for reading from disk.\n\n\t@param\toutPPixHand\t\t\t\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinPixelFormat\t\t\t\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinPARNumerator\t\t\t\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\t\t\t\tThe pixel aspect ratio denominator for the ppix.\n\t@param\tinMemoryAlignment\t\t\t\t\t\t\tThe alignment of memory required for the start of the first sector.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIf this value is zero, then we will align to the sector size.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tThis value must be a multiple of the pixel size or bad things will happen.\n\t@param\tinSectorSize\t\t\t\t\t\t\t\tThe size of a sector on disk. The required amount of memory will be padded\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tup to a multiple of the sector size. If this is zero, then there will be no padding.\n\t@param\tinOffsetToPixelDataFromFirstSectorStart\t\tThe number of bytes between the start of the first sector and the start\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tof the pixel data. The resulting pixel start location must be aligned to\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthe pixel size."]
2604 pub CreateDiskAlignedPPix: ::std::option::Option<
2605 unsafe extern "C" fn(
2606 outPPixHand: *mut PPixHand,
2607 inPixelFormat: PrPixelFormat,
2608 inWidth: ::std::os::raw::c_int,
2609 inHeight: ::std::os::raw::c_int,
2610 inPARNumerator: ::std::os::raw::c_int,
2611 inPARDenominator: ::std::os::raw::c_int,
2612 inMemoryAlignment: ::std::os::raw::c_int,
2613 inSectorSize: ::std::os::raw::c_int,
2614 inOffsetToPixelDataFromFirstSectorStart: ::std::os::raw::c_int,
2615 ) -> prSuiteError,
2616 >,
2617 #[doc = "\tThis will create a new ppix.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinPixelFormat\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinUseFields\t\t\t\t\t\tIf true, the ppix is a field.\n\t@param\tinFieldNumber\t\t\t\t\tIf inUseFields is true, this specifies first field (0) or second (1)\n\t@param\tinPARNumerator\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\tThe pixel aspect ratio denominator for the ppix.\n\t@param \tinColorSpaceID\t\t\t\t\topaque color space identifier; new video frame will be tagged with this color space"]
2618 pub CreateColorManagedPPix: ::std::option::Option<
2619 unsafe extern "C" fn(
2620 outPPixHand: *mut PPixHand,
2621 inRequestedAccess: PrPPixBufferAccess,
2622 inPixelFormat: PrPixelFormat,
2623 inWidth: ::std::os::raw::c_int,
2624 inHeight: ::std::os::raw::c_int,
2625 inUseFields: bool,
2626 inFieldNumber: ::std::os::raw::c_int,
2627 inPARNumerator: ::std::os::raw::c_int,
2628 inPARDenominator: ::std::os::raw::c_int,
2629 inColorSpaceID: PrSDKColorSpaceID,
2630 ) -> prSuiteError,
2631 >,
2632 #[doc = "\tThis will create a new ppix in a custom pixel format.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinPixelFormat\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinPARNumerator\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\tThe pixel aspect ratio denominator for the ppix.\n\t@param\tinDataBufferSize\t\t\t\tThe number of bytes requested, not including the header.\n\t@param \tinColorSpaceID\t\t\t\t\topaque color space identifier; new video frame will be tagged with this color space"]
2633 pub CreateColorManagedCustomPPix: ::std::option::Option<
2634 unsafe extern "C" fn(
2635 outPPixHand: *mut PPixHand,
2636 inRequestedAccess: PrPPixBufferAccess,
2637 inPixelFormat: PrPixelFormat,
2638 inWidth: ::std::os::raw::c_int,
2639 inHeight: ::std::os::raw::c_int,
2640 inPARNumerator: ::std::os::raw::c_int,
2641 inPARDenominator: ::std::os::raw::c_int,
2642 inDataBufferSize: ::std::os::raw::c_int,
2643 inColorSpaceID: PrSDKColorSpaceID,
2644 ) -> prSuiteError,
2645 >,
2646 #[doc = "\tThis will create a new ppix properly aligned for reading from disk.\n\n\t@param\toutPPixHand\t\t\t\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinPixelFormat\t\t\t\t\t\t\t\tThe pixel format of this ppix.\n\t@param\tinWidth\t\t\t\t\t\t\t\t\t\tThe horizontal size of the ppix.\n\t@param\tinHeight\t\t\t\t\t\t\t\t\tThe vertical size of the ppix.\n\t@param\tinPARNumerator\t\t\t\t\t\t\t\tThe pixel aspect ratio numerator for the ppix.\n\t@param\tinPARDenominator\t\t\t\t\t\t\tThe pixel aspect ratio denominator for the ppix.\n\t@param\tinMemoryAlignment\t\t\t\t\t\t\tThe alignment of memory required for the start of the first sector.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIf this value is zero, then we will align to the sector size.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tThis value must be a multiple of the pixel size or bad things will happen.\n\t@param\tinSectorSize\t\t\t\t\t\t\t\tThe size of a sector on disk. The required amount of memory will be padded\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tup to a multiple of the sector size. If this is zero, then there will be no padding.\n\t@param\tinOffsetToPixelDataFromFirstSectorStart\t\tThe number of bytes between the start of the first sector and the start\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tof the pixel data. The resulting pixel start location must be aligned to\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthe pixel size.\n\t@param \tinColorSpaceID\t\t\t\t\t\t\t\topaque color space identifier; new video frame will be tagged with this color space"]
2647 pub CreateColorManagedDiskAlignedPPix: ::std::option::Option<
2648 unsafe extern "C" fn(
2649 outPPixHand: *mut PPixHand,
2650 inPixelFormat: PrPixelFormat,
2651 inWidth: ::std::os::raw::c_int,
2652 inHeight: ::std::os::raw::c_int,
2653 inPARNumerator: ::std::os::raw::c_int,
2654 inPARDenominator: ::std::os::raw::c_int,
2655 inMemoryAlignment: ::std::os::raw::c_int,
2656 inSectorSize: ::std::os::raw::c_int,
2657 inOffsetToPixelDataFromFirstSectorStart: ::std::os::raw::c_int,
2658 inColorSpaceID: PrSDKColorSpaceID,
2659 ) -> prSuiteError,
2660 >,
2661}
2662#[repr(C, packed)]
2663#[derive(Debug, Copy, Clone)]
2664pub struct PrSDKPPixCreatorSuite {
2665 #[doc = "\tThis will create a new ppix.\n\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access. ReadOnly is not allowed (doesn't make sense).\n\t@param\tinPixelFormat\t\t\t\t\tThe pixel format of this ppix."]
2666 pub CreatePPix: ::std::option::Option<
2667 unsafe extern "C" fn(
2668 outPPixHand: *mut PPixHand,
2669 inRequestedAccess: PrPPixBufferAccess,
2670 inPixelFormat: PrPixelFormat,
2671 inBoundingRect: *const prRect,
2672 ) -> prSuiteError,
2673 >,
2674 #[doc = "\tThis will clone an existing ppix. It will ref-count the ppix if only read-access is requested and\n\t\tthe ppix to copy from is read-only as well, otherwise it will create a new one and copy.\n\n\t@param\tinPPixToClone\t\t\t\t\tThe ppix to clone from.\n\t@param\toutPPixHand\t\t\t\t\t\tThe new ppix handle if the create was successfull. NULL otherwise.\n\t@param\tinRequestedAccess\t\t\t\tRequested pixel access on the new ppix. (Only PrPPixBufferAccess_ReadOnly is allowed right now)."]
2675 pub ClonePPix: ::std::option::Option<
2676 unsafe extern "C" fn(
2677 inPPixToClone: PPixHand,
2678 outPPixHand: *mut PPixHand,
2679 inRequestedAccess: PrPPixBufferAccess,
2680 ) -> prSuiteError,
2681 >,
2682}
2683#[repr(C, packed)]
2684#[derive(Debug, Copy, Clone)]
2685pub struct PrSceneTimebaseRec {
2686 pub scale: csSDK_uint32,
2687 pub sampleSize: csSDK_int32,
2688}
2689#[repr(C, packed)]
2690#[derive(Debug, Copy, Clone)]
2691pub struct PrSceneRecord {
2692 pub startTime: csSDK_int32,
2693 pub duration: csSDK_int32,
2694}
2695#[repr(C)]
2696#[derive(Debug, Copy, Clone)]
2697pub struct PrSceneMetaDataRec {
2698 pub timeBase: PrSceneTimebaseRec,
2699 pub scenes: [PrSceneRecord; 1usize],
2700}
2701#[repr(C, packed)]
2702#[derive(Debug, Copy, Clone)]
2703pub struct PrSDKSequenceInfoSuite {
2704 #[doc = "\tGet the video frame size of the sequence.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutFrameRect\ton return, the size of the sequence video frame."]
2705 pub GetFrameRect: ::std::option::Option<
2706 unsafe extern "C" fn(inTimelineID: PrTimelineID, outFrameRect: *mut prRect) -> prSuiteError,
2707 >,
2708 #[doc = "\tGet the aspect ratio of the sequence.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutNumerator\ton return, the aspect ratio numerator.\n\t@param\toutDenominator\ton return, the aspect ratio denominator."]
2709 pub GetPixelAspectRatio: ::std::option::Option<
2710 unsafe extern "C" fn(
2711 inTimelineID: PrTimelineID,
2712 outNumerator: *mut csSDK_uint32,
2713 outDenominator: *mut csSDK_uint32,
2714 ) -> prSuiteError,
2715 >,
2716 #[doc = "\tGet the framerate of the sequence.\n\n\t@param\tinTimelineID\t\tthe timeline instance data\n\t@param\toutTicksPerFrame\tthe framerate in ticks."]
2717 pub GetFrameRate: ::std::option::Option<
2718 unsafe extern "C" fn(
2719 inTimelineID: PrTimelineID,
2720 outTicksPerFrame: *mut PrTime,
2721 ) -> prSuiteError,
2722 >,
2723 #[doc = "\tGet the field type of the sequence.\n\n\t@param\tinTimelineID\t\tthe timeline instance data\n\t@param\toutFieldType\t\tthe field type."]
2724 pub GetFieldType: ::std::option::Option<
2725 unsafe extern "C" fn(
2726 inTimelineID: PrTimelineID,
2727 outFieldType: *mut prFieldType,
2728 ) -> prSuiteError,
2729 >,
2730 #[doc = "\tGet the zero point of the sequence.\n\n\t@param\tinTimelineID\t\tthe timeline instance data\n\t@param\toutTicksPerFrame\tstart time of the sequence."]
2731 pub GetZeroPoint: ::std::option::Option<
2732 unsafe extern "C" fn(inTimelineID: PrTimelineID, outTime: *mut PrTime) -> prSuiteError,
2733 >,
2734 #[doc = "\tReturns if the sequence timecode is drop or non drop.\n\n\t@param\tinTimelineID\t\tthe timeline instance data\n\t@param\toutDropFrame\t\tif the sequence timecode is dropframe"]
2735 pub GetTimecodeDropFrame: ::std::option::Option<
2736 unsafe extern "C" fn(inTimelineID: PrTimelineID, outDropFrame: *mut prBool) -> prSuiteError,
2737 >,
2738 #[doc = "\tReturns if the sequence has the proxy flag set.\n\n\t@param\tinTimelineID\t\tthe timeline instance data\n\t@param\toutProxyFlag\t\tif the sequence is in proxy mode"]
2739 pub GetProxyFlag: ::std::option::Option<
2740 unsafe extern "C" fn(inTimelineID: PrTimelineID, outDropFrame: *mut prBool) -> prSuiteError,
2741 >,
2742 #[doc = "\tReturns the VR Video settings of the specified sequence.\n\n\t@param\tinTimelineID\t\t\t\tThe timeline instance data.\n\t@param\toutProjectionType\t\t\tThe type of projection the specified sequence is using.\n\t@param\toutFrameLayout\t\t\t\tThe type of frame layout the specified sequence is using.\n\t@param\toutHorizontalCapturedView\tHow many degrees of horizontal view is captured in the video stream (up to 360).\n\t@param\toutVerticalCapturedView\t\tHow many degrees of vertical view is captured in the video stream (up to 180)."]
2743 pub GetImmersiveVideoVRConfiguration: ::std::option::Option<
2744 unsafe extern "C" fn(
2745 inTimelineID: PrTimelineID,
2746 outProjectionType: *mut PrIVProjectionType,
2747 outFrameLayout: *mut PrIVFrameLayout,
2748 outHorizontalCapturedView: *mut csSDK_uint32,
2749 outVerticalCapturedView: *mut csSDK_uint32,
2750 ) -> prSuiteError,
2751 >,
2752 #[doc = " Returns the identifier of the sequence working color space\n\n\t@param\tinTimelineID\t\t\t\tThe timeline instance data.\n\t@param\toutPrWorkingColorSpaceID\tPrSDKColorSpaceID with working color space identifier\n"]
2753 pub GetWorkingColorSpace: ::std::option::Option<
2754 unsafe extern "C" fn(
2755 inTimelineID: PrTimelineID,
2756 outPrWorkingColorSpaceID: *mut PrSDKColorSpaceID,
2757 ) -> prSuiteError,
2758 >,
2759 #[doc = "\tGet the HDR graphics white luminance value of the sequence in nits.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutGraphicsWhiteLuminance\ton return, HDR graphics white luminance value of the sequence in nits."]
2760 pub GetGraphicsWhiteLuminance: ::std::option::Option<
2761 unsafe extern "C" fn(
2762 inTimelineID: PrTimelineID,
2763 outGraphicsWhiteLuminance: *mut csSDK_uint32,
2764 ) -> prSuiteError,
2765 >,
2766}
2767pub type PrSDKStreamLabel = *const ::std::os::raw::c_char;
2768#[repr(C, packed)]
2769#[derive(Debug, Copy, Clone)]
2770pub struct SequenceRender_FrameInfoRec {
2771 pub repeatCount: csSDK_int32,
2772}
2773#[repr(C, packed)]
2774#[derive(Debug, Copy, Clone)]
2775pub struct SequenceRender_GetFrameReturnRec {
2776 pub asyncCompletionData: *mut ::std::os::raw::c_void,
2777 pub returnVal: csSDK_int32,
2778 pub repeatCount: csSDK_int32,
2779 pub onMarker: csSDK_int32,
2780 pub outFrame: PPixHand,
2781}
2782#[repr(C, packed)]
2783#[derive(Debug, Copy, Clone)]
2784pub struct SequenceRender_ParamsRec {
2785 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2786 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2787 pub inWidth: csSDK_int32,
2788 pub inHeight: csSDK_int32,
2789 pub inPixelAspectRatioNumerator: csSDK_int32,
2790 pub inPixelAspectRatioDenominator: csSDK_int32,
2791 pub inRenderQuality: PrRenderQuality,
2792 pub inFieldType: prFieldType,
2793 pub inDeinterlace: csSDK_int32,
2794 pub inDeinterlaceQuality: PrRenderQuality,
2795 pub inCompositeOnBlack: csSDK_int32,
2796}
2797#[repr(C, packed)]
2798#[derive(Debug, Copy, Clone)]
2799pub struct SequenceRender_ParamsRecExt {
2800 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2801 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2802 pub inWidth: csSDK_int32,
2803 pub inHeight: csSDK_int32,
2804 pub inPixelAspectRatioNumerator: csSDK_int32,
2805 pub inPixelAspectRatioDenominator: csSDK_int32,
2806 pub inRenderQuality: PrRenderQuality,
2807 pub inFieldType: prFieldType,
2808 pub inDeinterlace: csSDK_int32,
2809 pub inDeinterlaceQuality: PrRenderQuality,
2810 pub inCompositeOnBlack: csSDK_int32,
2811 pub inPrSDKColorSpaceID: PrSDKColorSpaceID,
2812}
2813#[repr(C, packed)]
2814#[derive(Debug, Copy, Clone)]
2815pub struct SequenceRender_ParamsRecExt2 {
2816 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2817 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2818 pub inWidth: csSDK_int32,
2819 pub inHeight: csSDK_int32,
2820 pub inPixelAspectRatioNumerator: csSDK_int32,
2821 pub inPixelAspectRatioDenominator: csSDK_int32,
2822 pub inRenderQuality: PrRenderQuality,
2823 pub inFieldType: prFieldType,
2824 pub inDeinterlace: csSDK_int32,
2825 pub inDeinterlaceQuality: PrRenderQuality,
2826 pub inCompositeOnBlack: csSDK_int32,
2827 pub inPrSDKColorSpaceID: PrSDKColorSpaceID,
2828 pub inPrSDKLUTID: PrSDKLUTID,
2829}
2830pub type PrSDKSequenceAsyncRenderCompletionProc = ::std::option::Option<
2831 unsafe extern "C" fn(
2832 inVideoRenderID: csSDK_uint32,
2833 inCallbackRef: *mut ::std::os::raw::c_void,
2834 inTime: PrTime,
2835 inRenderedFrame: PPixHand,
2836 inGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2837 ),
2838>;
2839#[repr(C, packed)]
2840#[derive(Debug, Copy, Clone)]
2841pub struct PrSDKSequenceRenderSuite {
2842 pub MakeVideoRenderer: ::std::option::Option<
2843 unsafe extern "C" fn(
2844 pluginID: csSDK_uint32,
2845 outVideoRenderID: *mut csSDK_uint32,
2846 inFrameRate: PrTime,
2847 ) -> prSuiteError,
2848 >,
2849 pub ReleaseVideoRenderer: ::std::option::Option<
2850 unsafe extern "C" fn(pluginID: csSDK_uint32, inVideoRenderID: csSDK_uint32) -> prSuiteError,
2851 >,
2852 pub RenderVideoFrame: ::std::option::Option<
2853 unsafe extern "C" fn(
2854 inVideoRenderID: csSDK_uint32,
2855 inTime: PrTime,
2856 inRenderParams: *mut SequenceRender_ParamsRec,
2857 inCacheFlags: PrRenderCacheType,
2858 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2859 ) -> prSuiteError,
2860 >,
2861 pub QueueAsyncVideoFrameRender: ::std::option::Option<
2862 unsafe extern "C" fn(
2863 inVideoRenderID: csSDK_uint32,
2864 inTime: PrTime,
2865 outRequestID: *mut csSDK_uint32,
2866 inRenderParams: *mut SequenceRender_ParamsRec,
2867 inCacheFlags: PrRenderCacheType,
2868 inAsyncCompletionData: *mut ::std::os::raw::c_void,
2869 ) -> prSuiteError,
2870 >,
2871 pub SetAsyncRenderCompletionProc: ::std::option::Option<
2872 unsafe extern "C" fn(
2873 inVideoRenderID: csSDK_uint32,
2874 asyncGetFrameCallback: PrSDKSequenceAsyncRenderCompletionProc,
2875 callbackRef: *mut ::std::os::raw::c_void,
2876 ) -> prSuiteError,
2877 >,
2878 pub GetFrameInfo: ::std::option::Option<
2879 unsafe extern "C" fn(
2880 inVideoRenderID: csSDK_uint32,
2881 inTime: PrTime,
2882 outFrameInfo: *mut SequenceRender_FrameInfoRec,
2883 ) -> prSuiteError,
2884 >,
2885 #[doc = "\tPre-fetches the media needed to render this frame.\n\tThis is a hint to the importers to begin reading media needed to render this video frame.\n\n\t@param\tinFrame\t\t\t\t\t\t\t\tThe video frame number."]
2886 pub PrefetchMedia: ::std::option::Option<
2887 unsafe extern "C" fn(inVideoRenderID: csSDK_uint32, inFrame: PrTime) -> prSuiteError,
2888 >,
2889 #[doc = "\tPre-fetches the media needed to render this frame, using all of the parameters used to render the frame.\n\tThis is a hint to the importers to begin reading media needed to render this video frame.\n\n\t@param\tinFrameTime\t\t\t\t\t\t\tThe time of the video frame number.\n\n\t@param\tinRequestedPixelFormatArray\t\t\tAn array of PrPixelFormats that list your format preferences in order.\n\t\t\t\t\t\t\t\t\t\t\t\tThis list must end with PrPixelFormat_BGRA_4444_8u.\n\t@param\tinRequestedPixelFormatArrayCount\tNumber of formats in the format array\n\t@param\tinFrameRect\t\t\t\t\t\t\tVideo frame size\n\t@param\tinPixelAspectRatioNumerator\t\t\tThe numerator for the pixel aspect ratio.\n\t@param\tinPixelAspectRatioDenominator\t\tThe denominator for the pixel aspect ratio.\n\t@param\tinRenderQuality\t\t\t\t\t\tThe render quality of this frame."]
2890 pub PrefetchMediaWithRenderParameters: ::std::option::Option<
2891 unsafe extern "C" fn(
2892 inVideoRenderID: csSDK_uint32,
2893 inTime: PrTime,
2894 inRenderParams: *mut SequenceRender_ParamsRec,
2895 ) -> prSuiteError,
2896 >,
2897 #[doc = "\tThis will cancel all media pre-fetches that are still outstanding."]
2898 pub CancelAllOutstandingMediaPrefetches:
2899 ::std::option::Option<unsafe extern "C" fn(inVideoRenderID: csSDK_uint32) -> prSuiteError>,
2900 #[doc = "\tIs all the prefetched media ready?"]
2901 pub IsPrefetchedMediaReady: ::std::option::Option<
2902 unsafe extern "C" fn(
2903 inVideoRenderID: csSDK_uint32,
2904 inTime: PrTime,
2905 outMediaReady: *mut prBool,
2906 ) -> prSuiteError,
2907 >,
2908 pub MakeVideoRendererForTimeline: ::std::option::Option<
2909 unsafe extern "C" fn(
2910 inTimeline: PrTimelineID,
2911 outVideoRendererID: *mut csSDK_uint32,
2912 ) -> prSuiteError,
2913 >,
2914 pub MakeVideoRendererForTimelineWithFrameRate: ::std::option::Option<
2915 unsafe extern "C" fn(
2916 inTimeline: PrTimelineID,
2917 inFrameRate: PrTime,
2918 outVideoRendererID: *mut csSDK_uint32,
2919 ) -> prSuiteError,
2920 >,
2921 pub ReleaseVideoRendererForTimeline: ::std::option::Option<
2922 unsafe extern "C" fn(inVideoRendererID: csSDK_uint32) -> prSuiteError,
2923 >,
2924 pub RenderVideoFrameAndConformToPixelFormat: ::std::option::Option<
2925 unsafe extern "C" fn(
2926 inVideoRenderID: csSDK_uint32,
2927 inTime: PrTime,
2928 inRenderParams: *mut SequenceRender_ParamsRec,
2929 inCacheFlags: PrRenderCacheType,
2930 inConformToFormat: PrPixelFormat,
2931 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2932 ) -> prSuiteError,
2933 >,
2934 pub MakeVideoRendererForTimelineWithStreamLabel: ::std::option::Option<
2935 unsafe extern "C" fn(
2936 inTimeline: PrTimelineID,
2937 inStreamLabel: PrSDKStreamLabel,
2938 outVideoRendererID: *mut csSDK_uint32,
2939 ) -> prSuiteError,
2940 >,
2941 pub RenderColorManagedVideoFrame: ::std::option::Option<
2942 unsafe extern "C" fn(
2943 inVideoRenderID: csSDK_uint32,
2944 inTime: PrTime,
2945 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2946 inCacheFlags: PrRenderCacheType,
2947 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2948 ) -> prSuiteError,
2949 >,
2950 pub QueueAsyncColorManagedVideoFrameRender: ::std::option::Option<
2951 unsafe extern "C" fn(
2952 inVideoRenderID: csSDK_uint32,
2953 inTime: PrTime,
2954 outRequestID: *mut csSDK_uint32,
2955 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2956 inCacheFlags: PrRenderCacheType,
2957 inAsyncCompletionData: *mut ::std::os::raw::c_void,
2958 ) -> prSuiteError,
2959 >,
2960 pub PrefetchColorManagedMedia: ::std::option::Option<
2961 unsafe extern "C" fn(
2962 inVideoRenderID: csSDK_uint32,
2963 inFrame: PrTime,
2964 inPrSDKColorSpaceID: PrSDKColorSpaceID,
2965 ) -> prSuiteError,
2966 >,
2967 pub PrefetchColorManagedMediaWithRenderParameters: ::std::option::Option<
2968 unsafe extern "C" fn(
2969 inVideoRenderID: csSDK_uint32,
2970 inTime: PrTime,
2971 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2972 ) -> prSuiteError,
2973 >,
2974 pub RenderColorManagedVideoFrameAndConformToPixelFormat: ::std::option::Option<
2975 unsafe extern "C" fn(
2976 inVideoRenderID: csSDK_uint32,
2977 inTime: PrTime,
2978 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2979 inCacheFlags: PrRenderCacheType,
2980 inConformToFormat: PrPixelFormat,
2981 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2982 ) -> prSuiteError,
2983 >,
2984 pub RenderColorManagedVideoFrame2: ::std::option::Option<
2985 unsafe extern "C" fn(
2986 inVideoRenderID: csSDK_uint32,
2987 inTime: PrTime,
2988 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
2989 inCacheFlags: PrRenderCacheType,
2990 outGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2991 ) -> prSuiteError,
2992 >,
2993 pub QueueAsyncColorManagedVideoFrameRender2: ::std::option::Option<
2994 unsafe extern "C" fn(
2995 inVideoRenderID: csSDK_uint32,
2996 inTime: PrTime,
2997 outRequestID: *mut csSDK_uint32,
2998 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
2999 inCacheFlags: PrRenderCacheType,
3000 inAsyncCompletionData: *mut ::std::os::raw::c_void,
3001 ) -> prSuiteError,
3002 >,
3003 pub PrefetchColorManagedMediaWithRenderParameters2: ::std::option::Option<
3004 unsafe extern "C" fn(
3005 inVideoRenderID: csSDK_uint32,
3006 inTime: PrTime,
3007 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3008 ) -> prSuiteError,
3009 >,
3010 pub RenderColorManagedVideoFrameAndConformToPixelFormat2: ::std::option::Option<
3011 unsafe extern "C" fn(
3012 inVideoRenderID: csSDK_uint32,
3013 inTime: PrTime,
3014 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3015 inCacheFlags: PrRenderCacheType,
3016 inConformToFormat: PrPixelFormat,
3017 outGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
3018 ) -> prSuiteError,
3019 >,
3020}
3021#[repr(C, packed)]
3022#[derive(Debug, Copy, Clone)]
3023pub struct PrClipSegmentInfo {
3024 pub mClipID: csSDK_int32,
3025 pub mSegmentStartTime: csSDK_int64,
3026 pub mSegmentEndTime: csSDK_int64,
3027 pub mSegmentOffset: csSDK_int64,
3028 pub mClipStartTime: csSDK_int64,
3029 pub mClipEndTime: csSDK_int64,
3030 pub mClipPath: PrSDKString,
3031 pub mMediaStartTime: csSDK_int64,
3032 pub mMediaEndTime: csSDK_int64,
3033}
3034pub type SegmentInfoCallback = ::std::option::Option<
3035 unsafe extern "C" fn(
3036 inCallbackData: *mut ::std::os::raw::c_void,
3037 inClipSegmentInfo: *mut PrClipSegmentInfo,
3038 ),
3039>;
3040#[repr(C, packed)]
3041#[derive(Debug, Copy, Clone)]
3042pub struct PrSDKSmartRenderingSuite {
3043 pub BuildSmartRenderSegmentList: ::std::option::Option<
3044 unsafe extern "C" fn(
3045 inCallbackFunc: SegmentInfoCallback,
3046 inCallbackData: *mut ::std::os::raw::c_void,
3047 inSegmentsID: csSDK_int32,
3048 inTimeBase: PrTime,
3049 inPixelFormat: PrPixelFormat,
3050 ) -> prSuiteError,
3051 >,
3052 pub BuildSmartRenderSegmentListNoPreviewFiles: ::std::option::Option<
3053 unsafe extern "C" fn(
3054 inCallbackFunc: SegmentInfoCallback,
3055 inCallbackData: *mut ::std::os::raw::c_void,
3056 inSegmentsID: csSDK_int32,
3057 inTimeBase: PrTime,
3058 inPixelFormat: PrPixelFormat,
3059 ) -> prSuiteError,
3060 >,
3061 pub BuildAncillaryDataSegmentMap: ::std::option::Option<
3062 unsafe extern "C" fn(
3063 inCallbackFunc: SegmentInfoCallback,
3064 inCallbackData: *mut ::std::os::raw::c_void,
3065 inVideoSegmentsID: csSDK_int32,
3066 inTimeBase: PrTime,
3067 inPixelFormat: PrPixelFormat,
3068 ) -> prSuiteError,
3069 >,
3070 pub BuildColorManagedSmartRenderSegmentList: ::std::option::Option<
3071 unsafe extern "C" fn(
3072 inCallbackFunc: SegmentInfoCallback,
3073 inCallbackData: *mut ::std::os::raw::c_void,
3074 inSegmentsID: csSDK_int32,
3075 inTimeBase: PrTime,
3076 inPixelFormat: PrPixelFormat,
3077 inColorSpaceID: PrSDKColorSpaceID,
3078 ) -> prSuiteError,
3079 >,
3080 pub BuildColorManagedSmartRenderSegmentListNoPreviewFiles: ::std::option::Option<
3081 unsafe extern "C" fn(
3082 inCallbackFunc: SegmentInfoCallback,
3083 inCallbackData: *mut ::std::os::raw::c_void,
3084 inSegmentsID: csSDK_int32,
3085 inTimeBase: PrTime,
3086 inPixelFormat: PrPixelFormat,
3087 inColorSpaceID: PrSDKColorSpaceID,
3088 ) -> prSuiteError,
3089 >,
3090}
3091#[repr(C, packed)]
3092#[derive(Debug, Copy, Clone)]
3093pub struct PrSDKStringSuite {
3094 #[doc = "\tThis will dispose of an SDKString. It is OK to pass in an empty string.\n\n\t@param\tinSDKString\t\t\t\tthe string to dispose of\n\n\t@return suiteError_StringNotFound\tthis string has not been allocated, or may have already been disposed\n\t@return suiteError_InvalidParms\t\tone of the params is invalid"]
3095 pub DisposeString: ::std::option::Option<
3096 unsafe extern "C" fn(inSDKString: *const PrSDKString) -> prSuiteError,
3097 >,
3098 #[doc = "\tThis will allocate an SDKString from a passed in null terminated string.\n\n\t@param\tinUTF8String\t\t\tnull terminated UTF8 string to copy into the SDK string\n\t@param\tioSDKString\t\t\t\tthis passed in SDK string will receive the new allocated string\n\t\t\t\t\t\t\t\t\t\t- you must dispose of this sdk string\n\n\t@return suiteError_StringNotFound\tthis string has not been allocated, or may have already been disposed\n\t@return suiteError_InvalidParms\t\tone of the params is invalid"]
3099 pub AllocateFromUTF8: ::std::option::Option<
3100 unsafe extern "C" fn(
3101 inUTF8String: *const prUTF8Char,
3102 outSDKString: *mut PrSDKString,
3103 ) -> prSuiteError,
3104 >,
3105 #[doc = "\tThis will copy an SDKString into a UTF8 null terminated string if ioUTF8StringBufferByteCount reports enough bytes in\n\t\tthe string buffer to copy. If there are not enough bytes - suiteError_StringBufferTooSmall will be returned\n\t\tand ioUTF8StringBufferByteCount will contain the number of bytes needed to hold the string.\n\n\t@param\toutUTF8StringBuffer\t\t\t\t\tBuffer where UTF8 string will be stored\n\t@param\tioUTF8StringBufferSizeInElements\tPass in the size, in elements, of outUTF8StringStorage. Returns the number of elements copied. Includes terminating 0.\n\n\t@return suiteError_InvalidParms\t\t\tOne of the params is invalid\n\t@return suiteError_StringBufferTooSmall\tThe passed in string buffer is too small. ioUTF8StringBufferByteCount will contain the number of bytes needed to copy this string.\n\t@return suiteError_NoError\t\t\t\tThe string has been copied. ioUTF8StringBufferByteCount contains the number of bytes copied."]
3106 pub CopyToUTF8String: ::std::option::Option<
3107 unsafe extern "C" fn(
3108 inSDKString: *const PrSDKString,
3109 outUTF8StringBuffer: *mut prUTF8Char,
3110 ioUTF8StringBufferSizeInElements: *mut csSDK_uint32,
3111 ) -> prSuiteError,
3112 >,
3113 #[doc = "\tThis will allocate an SDKString from a passed in null terminated string.\n\n\t@param\tinUTF16String\t\t\tnull terminated UTF16 string to copy into the SDK string\n\t@param\tioSDKString\t\t\t\tthis passed in SDK string will receive the new allocated string\n\t\t\t\t\t\t\t\t\t\t- you must dispose of this sdk string\n\n\t@return suiteError_StringNotFound\tthis string has not been allocated, or may have already been disposed\n\t@return suiteError_InvalidParms\t\tone of the params is invalid"]
3114 pub AllocateFromUTF16: ::std::option::Option<
3115 unsafe extern "C" fn(
3116 inUTF16String: *const prUTF16Char,
3117 outSDKString: *mut PrSDKString,
3118 ) -> prSuiteError,
3119 >,
3120 #[doc = "\tThis will copy an SDKString into a UTF16 null terminated string if ioUTF16StringBufferByteCount reports enough bytes in\n\t\tthe string buffer to copy. If there are not enough bytes - suiteError_StringBufferTooSmall will be returned\n\t\tand ioUTF16StringBufferByteCount will contain the number of bytes needed to hold the string.\n\n\t@param\toutUTF16StringBuffer\t\t\t\tBuffer where UTF16 string will be stored\n\t@param\tioUTF16StringBufferSizeInElements\tPass in the size, in elements, of outUTF16StringStorage. Returns the number of elements copied. Includes terminating 0.\n\n\t@return suiteError_InvalidParms\t\t\tOne of the params is invalid\n\t@return suiteError_StringBufferTooSmall\tThe passed in string buffer is too small. ioUTF16StringBufferByteCount will contain the number of bytes needed to copy this string.\n\t@return suiteError_NoError\t\t\t\tThe string has been copied. ioUTF16StringBufferByteCount contains the number of bytes copied."]
3121 pub CopyToUTF16String: ::std::option::Option<
3122 unsafe extern "C" fn(
3123 inSDKString: *const PrSDKString,
3124 outUTF16StringBuffer: *mut prUTF16Char,
3125 ioUTF16StringBufferSizeInElements: *mut csSDK_uint32,
3126 ) -> prSuiteError,
3127 >,
3128}
3129pub type ThreadedWorkCallback =
3130 ::std::option::Option<unsafe extern "C" fn(inInstanceData: *mut ::std::os::raw::c_void)>;
3131pub type ThreadedWorkCallbackVersion3 = ::std::option::Option<
3132 unsafe extern "C" fn(
3133 inInstanceData: *mut ::std::os::raw::c_void,
3134 inPluginID: csSDK_int32,
3135 inStatus: prSuiteError,
3136 ),
3137>;
3138pub type ThreadedWorkRegistration = *mut ::std::os::raw::c_void;
3139#[repr(C, packed)]
3140#[derive(Debug, Copy, Clone)]
3141pub struct PrSDKThreadedWorkSuiteVersion2 {
3142 pub RegisterForThreadedWork: ::std::option::Option<
3143 unsafe extern "C" fn(
3144 inCallback: ThreadedWorkCallback,
3145 inInstanceData: *mut ::std::os::raw::c_void,
3146 outRegistrationData: *mut ThreadedWorkRegistration,
3147 ) -> prSuiteError,
3148 >,
3149 pub QueueThreadedWork: ::std::option::Option<
3150 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3151 >,
3152 pub UnregisterForThreadedWork: ::std::option::Option<
3153 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3154 >,
3155 pub RegisterForSingleThreadedWork: ::std::option::Option<
3156 unsafe extern "C" fn(
3157 inCallback: ThreadedWorkCallback,
3158 inInstanceData: *mut ::std::os::raw::c_void,
3159 outRegistrationData: *mut ThreadedWorkRegistration,
3160 ) -> prSuiteError,
3161 >,
3162}
3163#[doc = "\tThe following typedef is provided for short-term backwards compatibility only.\n\tClients should prefer the explicit versioned struct name."]
3164pub type PrSDKThreadedWorkSuite = PrSDKThreadedWorkSuiteVersion2;
3165#[repr(C, packed)]
3166#[derive(Debug, Copy, Clone)]
3167pub struct PrSDKThreadedWorkSuiteVersion3 {
3168 pub RegisterForThreadedWork: ::std::option::Option<
3169 unsafe extern "C" fn(
3170 inCallback: ThreadedWorkCallbackVersion3,
3171 inInstanceData: *mut ::std::os::raw::c_void,
3172 outRegistrationData: *mut ThreadedWorkRegistration,
3173 ) -> prSuiteError,
3174 >,
3175 pub QueueThreadedWork: ::std::option::Option<
3176 unsafe extern "C" fn(
3177 inRegistrationData: ThreadedWorkRegistration,
3178 inPluginID: csSDK_int32,
3179 ) -> prSuiteError,
3180 >,
3181 pub UnregisterForThreadedWork: ::std::option::Option<
3182 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3183 >,
3184 pub RegisterForSingleThreadedWork: ::std::option::Option<
3185 unsafe extern "C" fn(
3186 inCallback: ThreadedWorkCallbackVersion3,
3187 inInstanceData: *mut ::std::os::raw::c_void,
3188 outRegistrationData: *mut ThreadedWorkRegistration,
3189 ) -> prSuiteError,
3190 >,
3191}
3192pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsCompletelyOpaque: PrNodeInfoFlag = 1;
3193pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsCompletelyTransparent: PrNodeInfoFlag = 2;
3194pub const PrNodeInfoFlag_kPrNodeInfoFlag_DoesNotDependOnSequenceTime: PrNodeInfoFlag = 4;
3195pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnSegmentTime: PrNodeInfoFlag = 8;
3196pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnClipInOutTime: PrNodeInfoFlag = 16;
3197pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsNOP: PrNodeInfoFlag = 32;
3198pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnTrackInputs: PrNodeInfoFlag = 64;
3199pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsAdjustment: PrNodeInfoFlag = 128;
3200pub const PrNodeInfoFlag_kPrNodeInfoFlag_MaxSize: PrNodeInfoFlag = 4294967295;
3201pub type PrNodeInfoFlag = ::std::os::raw::c_uint;
3202pub const kMaxNodeTypeStringSize: ::std::os::raw::c_int = 256;
3203pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Linear:
3204 PrKeyframeInterpolationModeFlag = 0;
3205pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Hold:
3206 PrKeyframeInterpolationModeFlag = 4;
3207pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Bezier:
3208 PrKeyframeInterpolationModeFlag = 5;
3209pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Time:
3210 PrKeyframeInterpolationModeFlag = 6;
3211pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_TimeTransitionStart:
3212 PrKeyframeInterpolationModeFlag = 7;
3213pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_TimeTransitionEnd:
3214 PrKeyframeInterpolationModeFlag = 8;
3215pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_MaxSize:
3216 PrKeyframeInterpolationModeFlag = 4294967295;
3217pub type PrKeyframeInterpolationModeFlag = ::std::os::raw::c_uint;
3218pub const PrNodeScalePolicy_kPrNodeScalePolicy_None: PrNodeScalePolicy = 0;
3219pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFrame: PrNodeScalePolicy = 1;
3220pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFillCrop: PrNodeScalePolicy = 2;
3221pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFillDistort: PrNodeScalePolicy = 3;
3222pub type PrNodeScalePolicy = ::std::os::raw::c_uint;
3223#[doc = "\tThis callback function is used by the property query methods. Iteration can be cancelled at\n\tany time by returning a result other than malNoError.\n\n\t@param\tinPluginObject\t\t\tA value (such as \"this\") passed by the plugin in the original call\n\t\t\t\t\t\t\t\t\tand passed back in the callback. May be NULL.\n\t@param\tinKey\t\t\t\t\tThe key for the property\n\t@param\tinValue\t\t\t\t\tThe value for the property"]
3224pub type SegmentNodePropertyCallback = ::std::option::Option<
3225 unsafe extern "C" fn(
3226 inPluginObject: csSDK_int32,
3227 inKey: *const ::std::os::raw::c_char,
3228 inValue: *const prUTF8Char,
3229 ) -> prSuiteError,
3230>;
3231#[repr(C, packed)]
3232#[derive(Debug, Copy, Clone)]
3233pub struct PrSDKVideoSegmentSuite {
3234 #[doc = "\tFrom a sequence, get an ID to its video segments ID. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tReceives the ID for the Video Segments"]
3235 pub AcquireVideoSegmentsID: ::std::option::Option<
3236 unsafe extern "C" fn(
3237 inTimelineData: PrTimelineID,
3238 outVideoSegmentsID: *mut csSDK_int32,
3239 ) -> prSuiteError,
3240 >,
3241 #[doc = "\tFrom a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tReceives the ID for the Video Segments with Previews."]
3242 pub AcquireVideoSegmentsWithPreviewsID: ::std::option::Option<
3243 unsafe extern "C" fn(
3244 inTimelineData: PrTimelineID,
3245 outVideoSegmentsID: *mut csSDK_int32,
3246 ) -> prSuiteError,
3247 >,
3248 #[doc = "\tFrom a sequence, get an ID to its video segments ID with preview files substituted, but only previews\n\tfor sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tRecevies the ID for the Video Segments with Previews."]
3249 pub AcquireVideoSegmentsWithOpaquePreviewsID: ::std::option::Option<
3250 unsafe extern "C" fn(
3251 inTimelineData: PrTimelineID,
3252 outVideoSegmentsID: *mut csSDK_int32,
3253 ) -> prSuiteError,
3254 >,
3255 #[doc = "\tRelease a Video Segments ID\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID to release"]
3256 pub ReleaseVideoSegmentsID:
3257 ::std::option::Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32) -> prSuiteError>,
3258 #[doc = "\tGet the hash of a Video Segments object\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\toutHash\t\t\t\tThe GUID hash of the segments"]
3259 pub GetHash: ::std::option::Option<
3260 unsafe extern "C" fn(
3261 inVideoSegmentsID: csSDK_int32,
3262 outHash: *mut prPluginID,
3263 ) -> prSuiteError,
3264 >,
3265 #[doc = "\tGet the number of segments in the segments object\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\toutNumSegments\t\tThe number of segments"]
3266 pub GetSegmentCount: ::std::option::Option<
3267 unsafe extern "C" fn(
3268 inVideoSegmentsID: csSDK_int32,
3269 outNumSegments: *mut csSDK_int32,
3270 ) -> prSuiteError,
3271 >,
3272 #[doc = "\tGet the details of the Nth Node.\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\tinIndex\t\t\t\tWhich segment?\n\t@param\toutStartTime\t\tThe start time of the segment\n\t@param\toutEndTime\t\t\tThe end time of the segment\n\t@param\toutSegmentOffset\tThe offset value for the segment\n\t@param\toutHash\t\t\t\tThe hash for the segment"]
3273 pub GetSegmentInfo: ::std::option::Option<
3274 unsafe extern "C" fn(
3275 inVideoSegmentsID: csSDK_int32,
3276 inIndex: csSDK_int32,
3277 outStartTime: *mut PrTime,
3278 outEndTime: *mut PrTime,
3279 outSegmentOffset: *mut PrTime,
3280 outHash: *mut prPluginID,
3281 ) -> prSuiteError,
3282 >,
3283 #[doc = "\tGet a segment node. This object is ref-counted and must be released.\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\tinHash\t\t\t\tThe hash for the segment\n\t@param\toutVideoNodeID\t\tThe video node ID."]
3284 pub AcquireNodeID: ::std::option::Option<
3285 unsafe extern "C" fn(
3286 inVideoSegmentsID: csSDK_int32,
3287 inHash: *mut prPluginID,
3288 outVideoNodeID: *mut csSDK_int32,
3289 ) -> prSuiteError,
3290 >,
3291 #[doc = "\tRelease a Video Node ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID to release"]
3292 pub ReleaseVideoNodeID:
3293 ::std::option::Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32) -> prSuiteError>,
3294 #[doc = "\tGet details about a node.\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\toutNodeType\t\t\tA string of size kMaxNodeTypeStringSize holding the node type\n\t@param\toutHash\t\t\t\tThe hash for the node (may be different than the hash used to get the node)\n\t@param\toutInfoFlags\t\tThe flags for this node (see enum above)"]
3295 pub GetNodeInfo: ::std::option::Option<
3296 unsafe extern "C" fn(
3297 inVideoNodeID: csSDK_int32,
3298 outNodeType: *mut ::std::os::raw::c_char,
3299 outHash: *mut prPluginID,
3300 outFlags: *mut csSDK_int32,
3301 ) -> prSuiteError,
3302 >,
3303 #[doc = "\tGet the number of inputs on the node object\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\toutNumInputs\t\tThe number of inputs"]
3304 pub GetNodeInputCount: ::std::option::Option<
3305 unsafe extern "C" fn(
3306 inVideoNodeID: csSDK_int32,
3307 outNumInputs: *mut csSDK_int32,
3308 ) -> prSuiteError,
3309 >,
3310 #[doc = "\tGet a segment node that is an input to another node. This object is ref-counted and must be released.\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinIndex\t\t\t\tThe index of the input\n\t@param\toutOffset\t\t\tThe time offset relative to it's parent node\n\t@param\toutInputVideoNodeID\tThe video node ID of the input node."]
3311 pub AcquireInputNodeID: ::std::option::Option<
3312 unsafe extern "C" fn(
3313 inVideoNodeID: csSDK_int32,
3314 inIndex: csSDK_int32,
3315 outOffset: *mut PrTime,
3316 outInputVideoNodeID: *mut csSDK_int32,
3317 ) -> prSuiteError,
3318 >,
3319 #[doc = "\tGet the number of inputs on the node object\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\toutNumOperators\t\tThe number of operators"]
3320 pub GetNodeOperatorCount: ::std::option::Option<
3321 unsafe extern "C" fn(
3322 inVideoNodeID: csSDK_int32,
3323 outNumOperators: *mut csSDK_int32,
3324 ) -> prSuiteError,
3325 >,
3326 #[doc = "\tGet a segment node that is an operator on another node. This object is ref-counted and must be released.\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinIndex\t\t\t\tThe index of the operator\n\t@param\toutOperatorVideoNodeID\tThe video node ID of the input node."]
3327 pub AcquireOperatorNodeID: ::std::option::Option<
3328 unsafe extern "C" fn(
3329 inVideoNodeID: csSDK_int32,
3330 inIndex: csSDK_int32,
3331 outOperatorVideoNodeID: *mut csSDK_int32,
3332 ) -> prSuiteError,
3333 >,
3334 #[doc = "\tIterate all of the properties on a node.\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinCallback\t\t\tThe callback function to return the properties\n\t@param\tinPluginObject\t\tThe plugin object returned in the callback."]
3335 pub IterateNodeProperties: ::std::option::Option<
3336 unsafe extern "C" fn(
3337 inVideoNodeID: csSDK_int32,
3338 inCallback: SegmentNodePropertyCallback,
3339 inPluginObject: csSDK_int32,
3340 ) -> prSuiteError,
3341 >,
3342 #[doc = "\tGet the value of a single property on a node\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinKey\t\t\t\tThe key of the property\n\t@param\toutValue\t\t\tA string holding the value. This UTF8 string is allocated using PrNewPtr,\n\t\t\t\t\t\t\t\tand ownership is transferred to the plugin and must be disposed\n\t\t\t\t\t\t\t\tby the plugin."]
3343 pub GetNodeProperty: ::std::option::Option<
3344 unsafe extern "C" fn(
3345 inVideoNodeID: csSDK_int32,
3346 inKey: *const ::std::os::raw::c_char,
3347 outValue: *mut PrMemoryPtr,
3348 ) -> prSuiteError,
3349 >,
3350 #[doc = "\tGet the number of params\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\toutParamCount\t\tThe number of params"]
3351 pub GetParamCount: ::std::option::Option<
3352 unsafe extern "C" fn(
3353 inVideoNodeID: csSDK_int32,
3354 outParamCount: *mut csSDK_int32,
3355 ) -> prSuiteError,
3356 >,
3357 #[doc = "\tGet a specific param value at a specific time\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinIndex\t\t\t\tThe index of the param\n\t@param\tinTime\t\t\t\tThe time requested (in Media time)\n\t@param\toutParam\t\t\tThe param"]
3358 pub GetParam: ::std::option::Option<
3359 unsafe extern "C" fn(
3360 inVideoNodeID: csSDK_int32,
3361 inIndex: csSDK_int32,
3362 inTime: PrTime,
3363 outParam: *mut PrParam,
3364 ) -> prSuiteError,
3365 >,
3366 #[doc = "\tGet the next keyframe time after the specified time.\n\n\tExample: Keyframes at 0 and 10\n\tinTime = -1, outKeyframeTime = 0\n\tinTime = 0, outKeyframeTime = 10\n\tinTime = 9, outKeyframeTime = 10\n\tinTime = 10, returns suiteError_NoKeyframeAfterInTime\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinIndex\t\t\t\tThe index of the param\n\t@param\tinTime\t\t\t\tThe lower bound time\n\t@param\toutKeyframeTime\t\tThe time of the next keyframe > inTime\n\t@param\toutKeyframeInterpolationMode\tThe temporal interpolation mode of the keyframe, see\n\t\t\t\t\t\t\t\t\t\t\tthe enum for PrKeyframeInterpolationModeFlag above"]
3367 pub GetNextKeyframeTime: ::std::option::Option<
3368 unsafe extern "C" fn(
3369 inVideoNodeID: csSDK_int32,
3370 inIndex: csSDK_int32,
3371 inTime: PrTime,
3372 outKeyframeTime: *mut PrTime,
3373 outKeyframeInterpolationMode: *mut csSDK_int32,
3374 ) -> prSuiteError,
3375 >,
3376 #[doc = "\tTransform a node local time into a time appropriate for node inputs and\n\toperators. When used on the clip node, for instance, this will take into\n\taccount speed change, reverse, time remapping and return a time value\n\twhich can be used in the Media and Effect nodes.\n\tIf the node does not have a time transform, function will not fail but\n\twill return in input time in the output."]
3377 pub TransformNodeTime: ::std::option::Option<
3378 unsafe extern "C" fn(
3379 inVideoNodeID: csSDK_int32,
3380 inTime: PrTime,
3381 outTime: *mut PrTime,
3382 ) -> prSuiteError,
3383 >,
3384 #[doc = "\tRetrieve general properties of a sequence (video segments). I.e. width/height, par and framerate.\n\n\t@param\tinTimelineID\t\t\t\t\tThe plugin timeline ID for the sequence\n\t@param\toutWidth\t\t\t\t\t\tReceives width of the sequence\n\t@param\toutHeight\t\t\t\t\t\tReceives height of the sequence\n\t@param\toutPixelAspectRatioNumerator\tReceives the pixel aspect ratio numerator of the sequence\n\t@param\toutPixelAspectRatioDenominator\tReceives the pixel aspect ratio denominator of the sequence\n\t@param\toutFrameRateNumerator\t\t\tReceives the frame rate numerator of the sequence\n\t@param\toutFrameRateDenominator\t\t\tReceives the frame rate denominator of the sequence"]
3385 pub GetVideoSegmentsProperties: ::std::option::Option<
3386 unsafe extern "C" fn(
3387 inTimelineData: PrTimelineID,
3388 outBounds: *mut prRect,
3389 outPixelAspectRatioNumerator: *mut csSDK_int32,
3390 outPixelAspectRatioDenominator: *mut csSDK_int32,
3391 outFrameRate: *mut PrTime,
3392 outFieldType: *mut prFieldType,
3393 ) -> prSuiteError,
3394 >,
3395 #[doc = "\tFrom a sequence, get a segment node for a requested time. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\tinTime\t\t\t\tRequested segment time\n\t@param\toutVideoNodeID\t\tThe video node ID\n\t@param\toutSegmentOffset\tOffset of retrieved segment"]
3396 pub AcquireNodeForTime: ::std::option::Option<
3397 unsafe extern "C" fn(
3398 inVideoSegmentsID: csSDK_int32,
3399 inTime: PrTime,
3400 outVideoNodeID: *mut csSDK_int32,
3401 outSegmentOffset: *mut PrTime,
3402 ) -> prSuiteError,
3403 >,
3404 #[doc = "\tFrom a sequence, get an ID to its video segments ID. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tReceives the ID for the Video Segments"]
3405 pub AcquireVideoSegmentsIDWithStreamLabel: ::std::option::Option<
3406 unsafe extern "C" fn(
3407 inTimelineData: PrTimelineID,
3408 inStreamLabel: PrSDKStreamLabel,
3409 outVideoSegmentsID: *mut csSDK_int32,
3410 ) -> prSuiteError,
3411 >,
3412 #[doc = "\tFrom a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tReceives the ID for the Video Segments with Previews."]
3413 pub AcquireVideoSegmentsWithPreviewsIDWithStreamLabel: ::std::option::Option<
3414 unsafe extern "C" fn(
3415 inTimelineData: PrTimelineID,
3416 inStreamLabel: PrSDKStreamLabel,
3417 outVideoSegmentsID: *mut csSDK_int32,
3418 ) -> prSuiteError,
3419 >,
3420 #[doc = "\tFrom a sequence, get an ID to its video segments ID with preview files substituted, but only previews\n\tfor sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted\n\tobject, and must be released when no longer needed.\n\n\t@param\tinTimelineID\t\tThe plugin timeline ID for the sequence\n\t@param\toutVideoSegmentsID\tRecevies the ID for the Video Segments with Previews."]
3421 pub AcquireVideoSegmentsWithOpaquePreviewsIDWithStreamLabel: ::std::option::Option<
3422 unsafe extern "C" fn(
3423 inTimelineData: PrTimelineID,
3424 inStreamLabel: PrSDKStreamLabel,
3425 outVideoSegmentsID: *mut csSDK_int32,
3426 ) -> prSuiteError,
3427 >,
3428 #[doc = "\tFrom a sequence, get the first segment node that intersects with a range of times.\n This is a ref-counted object, and must be released when no longer needed.\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\tinStartTime\t\t\tThe start of the requested segment time range\n\t@param\tinEndTime\t\t\tThe end of the requested segment time range\n\t@param\toutVideoNodeID\t\tThe video node ID\n\t@param\toutSegmentOffset\tOffset of retrieved segment"]
3429 pub AcquireFirstNodeInTimeRange: ::std::option::Option<
3430 unsafe extern "C" fn(
3431 inVideoSegmentsID: csSDK_int32,
3432 inStartTime: PrTime,
3433 inEndTime: PrTime,
3434 outVideoNodeID: *mut csSDK_int32,
3435 outSegmentOffset: *mut PrTime,
3436 ) -> prSuiteError,
3437 >,
3438 #[doc = "\tAcquire the node owning an operator\n\n\t@param\tinVideoNodeID\t\tThe operator\n\t@param\toutOwnerNodeID\t\tThe owner"]
3439 pub AcquireOperatorOwnerNodeID: ::std::option::Option<
3440 unsafe extern "C" fn(
3441 inVideoNodeID: csSDK_int32,
3442 outOwnerNodeID: *mut csSDK_int32,
3443 ) -> prSuiteError,
3444 >,
3445 #[doc = "\tGet graphic layer params at a specific time\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinTime\t\t\t\tThe time requested (in Media time)"]
3446 pub GetGraphicsTransformedParams: ::std::option::Option<
3447 unsafe extern "C" fn(
3448 inVideoNodeID: csSDK_int32,
3449 inTime: PrTime,
3450 outPosition: *mut prFPoint64,
3451 outAnchor: *mut prFPoint64,
3452 outScale: *mut prFPoint64,
3453 outRotation: *mut f32,
3454 ) -> prSuiteError,
3455 >,
3456 #[doc = "\tGet graphic layer group ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID"]
3457 pub HasGraphicsGroup: ::std::option::Option<
3458 unsafe extern "C" fn(
3459 inVideoNodeID: csSDK_int32,
3460 outHasGraphicGroup: *mut bool,
3461 ) -> prSuiteError,
3462 >,
3463 #[doc = "\tGet graphic layer group ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID"]
3464 pub GetGraphicsGroupID: ::std::option::Option<
3465 unsafe extern "C" fn(
3466 inVideoNodeID: csSDK_int32,
3467 outGroupID: *mut csSDK_int32,
3468 ) -> prSuiteError,
3469 >,
3470 #[doc = " Color managed version of GetVideoSegmentsProperties\n\tRetrieve general properties of a sequence (video segments). I.e. width/height, par and framerate\n and color space\n\n\t@param\tinTimelineID\t\t\t\t\tThe plugin timeline ID for the sequence\n\t@param\toutWidth\t\t\t\t\t\tReceives width of the sequence\n\t@param\toutHeight\t\t\t\t\t\tReceives height of the sequence\n\t@param\toutPixelAspectRatioNumerator\tReceives the pixel aspect ratio numerator of the sequence\n\t@param\toutPixelAspectRatioDenominator\tReceives the pixel aspect ratio denominator of the sequence\n\t@param\toutFrameRateNumerator\t\t\tReceives the frame rate numerator of the sequence\n\t@param\toutFrameRateDenominator\t\t\tReceives the frame rate denominator of the sequence\n @param\toutColorSpaceID\t\t\t\t\tReceives the opaque ID of the sequence's working color space"]
3471 pub GetVideoSegmentsPropertiesExt: ::std::option::Option<
3472 unsafe extern "C" fn(
3473 inTimelineData: PrTimelineID,
3474 outBounds: *mut prRect,
3475 outPixelAspectRatioNumerator: *mut csSDK_int32,
3476 outPixelAspectRatioDenominator: *mut csSDK_int32,
3477 outFrameRate: *mut PrTime,
3478 outFieldType: *mut prFieldType,
3479 outColorSpaceID: *mut PrSDKColorSpaceID,
3480 ) -> prSuiteError,
3481 >,
3482 #[doc = "\tFrom a sequence, get the first segment node that intersects with a range of times.\n This is a ref-counted object, and must be released when no longer needed.\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID\n\t@param\tinStartTime\t\t\tThe start of the requested segment time range\n\t@param\tinEndTime\t\t\tThe end of the requested segment time range\n\t@param\toutVideoNodeID\t\tThe video node ID\n\t@param\toutSegmentStartTime\tStart time of retrieved segment\n\t@param\toutSegmentEndTime\tEnd time of retrieved segment\n\t@param\toutSegmentOffset\tOffset of retrieved segment"]
3483 pub AcquireFirstNodeInTimeRangeExt: ::std::option::Option<
3484 unsafe extern "C" fn(
3485 inVideoSegmentsID: csSDK_int32,
3486 inStartTime: PrTime,
3487 inEndTime: PrTime,
3488 outVideoNodeID: *mut csSDK_int32,
3489 outSegmentStartTime: *mut PrTime,
3490 outSegmentEndTime: *mut PrTime,
3491 outSegmentOffset: *mut PrTime,
3492 ) -> prSuiteError,
3493 >,
3494 #[doc = "\tReturns the relative time rate of a node at a given point in time.\n Node time rate varies with e.g. time remapping but not the playback speed of the sequence\n Can be thought of as the instantaneous rate of change of TransformNodeTime()\n\t@param\tinVideoNodeID\t\tThe Video Node ID\n\t@param\tinTime\t\t\t\tThe time requested (in Media time - untransformed)\n\t@param\toutRate\t\t\t\tThe node rate relative to the containing sequence"]
3495 pub GetNodeTimeScale: ::std::option::Option<
3496 unsafe extern "C" fn(
3497 inVideoNodeID: csSDK_int32,
3498 inTime: PrTime,
3499 outRate: *mut f64,
3500 ) -> prSuiteError,
3501 >,
3502}
3503#[repr(C, packed)]
3504#[derive(Debug, Copy, Clone)]
3505pub struct PrSDKWindowSuite {
3506 pub GetMainWindow: ::std::option::Option<unsafe extern "C" fn() -> prWnd>,
3507 pub UpdateAllWindows: ::std::option::Option<unsafe extern "C" fn()>,
3508}
3509pub type A_long = i32;
3510pub type A_u_long = u32;
3511pub type A_char = ::std::os::raw::c_char;
3512pub type A_FpLong = f64;
3513pub type A_FpShort = f32;
3514pub type A_short = i16;
3515pub type A_u_short = u16;
3516pub type A_u_char = u8;
3517pub type A_Boolean = u8;
3518pub type A_intptr_t = isize;
3519pub type A_u_longlong = u64;
3520pub type UInt32 = ::std::os::raw::c_uint;
3521pub type SInt32 = ::std::os::raw::c_int;
3522pub type Fixed = SInt32;
3523pub type Ptr = *mut ::std::os::raw::c_char;
3524pub type Handle = *mut Ptr;
3525pub type Boolean = ::std::os::raw::c_uchar;
3526pub type ProcPtr = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_long>;
3527pub type ProcHandle = *mut ProcPtr;
3528#[repr(C, packed(2))]
3529#[derive(Debug, Copy, Clone)]
3530pub struct ProcessSerialNumber {
3531 pub highLongOfPSN: UInt32,
3532 pub lowLongOfPSN: UInt32,
3533}
3534pub type ProcessSerialNumberPtr = *mut ProcessSerialNumber;
3535pub const PF_Stage_DEVELOP: _bindgen_ty_23 = 0;
3536pub const PF_Stage_ALPHA: _bindgen_ty_23 = 1;
3537pub const PF_Stage_BETA: _bindgen_ty_23 = 2;
3538pub const PF_Stage_RELEASE: _bindgen_ty_23 = 3;
3539pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
3540pub type PF_Stage = A_long;
3541pub const PF_Quality_DRAWING_AUDIO: _bindgen_ty_24 = -1;
3542pub const PF_Quality_LO: _bindgen_ty_24 = 0;
3543pub const PF_Quality_HI: _bindgen_ty_24 = 1;
3544pub type _bindgen_ty_24 = ::std::os::raw::c_int;
3545pub type PF_Quality = A_long;
3546pub const PF_MF_Alpha_PREMUL: _bindgen_ty_25 = 0;
3547pub const PF_MF_Alpha_STRAIGHT: _bindgen_ty_25 = 1;
3548pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
3549pub type PF_ModeFlags = A_long;
3550pub const PF_Field_FRAME: _bindgen_ty_26 = 0;
3551pub const PF_Field_UPPER: _bindgen_ty_26 = 1;
3552pub const PF_Field_LOWER: _bindgen_ty_26 = 2;
3553pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
3554pub type PF_Field = A_long;
3555pub const PF_Param_RESERVED: _bindgen_ty_27 = -1;
3556pub const PF_Param_LAYER: _bindgen_ty_27 = 0;
3557pub const PF_Param_SLIDER: _bindgen_ty_27 = 1;
3558pub const PF_Param_FIX_SLIDER: _bindgen_ty_27 = 2;
3559pub const PF_Param_ANGLE: _bindgen_ty_27 = 3;
3560pub const PF_Param_CHECKBOX: _bindgen_ty_27 = 4;
3561pub const PF_Param_COLOR: _bindgen_ty_27 = 5;
3562pub const PF_Param_POINT: _bindgen_ty_27 = 6;
3563pub const PF_Param_POPUP: _bindgen_ty_27 = 7;
3564pub const PF_Param_CUSTOM: _bindgen_ty_27 = 8;
3565pub const PF_Param_NO_DATA: _bindgen_ty_27 = 9;
3566pub const PF_Param_FLOAT_SLIDER: _bindgen_ty_27 = 10;
3567pub const PF_Param_ARBITRARY_DATA: _bindgen_ty_27 = 11;
3568pub const PF_Param_PATH: _bindgen_ty_27 = 12;
3569pub const PF_Param_GROUP_START: _bindgen_ty_27 = 13;
3570pub const PF_Param_GROUP_END: _bindgen_ty_27 = 14;
3571pub const PF_Param_BUTTON: _bindgen_ty_27 = 15;
3572pub const PF_Param_RESERVED2: _bindgen_ty_27 = 16;
3573pub const PF_Param_RESERVED3: _bindgen_ty_27 = 17;
3574pub const PF_Param_POINT_3D: _bindgen_ty_27 = 18;
3575pub type _bindgen_ty_27 = ::std::os::raw::c_int;
3576pub type PF_ParamType = A_long;
3577pub const PF_ParamFlag_RESERVED1: _bindgen_ty_28 = 1;
3578pub const PF_ParamFlag_CANNOT_TIME_VARY: _bindgen_ty_28 = 2;
3579pub const PF_ParamFlag_CANNOT_INTERP: _bindgen_ty_28 = 4;
3580pub const PF_ParamFlag_RESERVED2: _bindgen_ty_28 = 8;
3581pub const PF_ParamFlag_RESERVED3: _bindgen_ty_28 = 16;
3582pub const PF_ParamFlag_COLLAPSE_TWIRLY: _bindgen_ty_28 = 32;
3583pub const PF_ParamFlag_SUPERVISE: _bindgen_ty_28 = 64;
3584pub const PF_ParamFlag_START_COLLAPSED: _bindgen_ty_28 = 32;
3585pub const PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS: _bindgen_ty_28 = 128;
3586pub const PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE: _bindgen_ty_28 = 128;
3587pub const PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED: _bindgen_ty_28 = 256;
3588pub const PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_28 = 512;
3589pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
3590pub type PF_ParamFlags = A_long;
3591pub const PF_Err_NONE: _bindgen_ty_29 = 0;
3592pub const PF_Err_OUT_OF_MEMORY: _bindgen_ty_29 = 4;
3593pub const PF_Err_INTERNAL_STRUCT_DAMAGED: _bindgen_ty_29 = 512;
3594pub const PF_Err_INVALID_INDEX: _bindgen_ty_29 = 513;
3595pub const PF_Err_UNRECOGNIZED_PARAM_TYPE: _bindgen_ty_29 = 514;
3596pub const PF_Err_INVALID_CALLBACK: _bindgen_ty_29 = 515;
3597pub const PF_Err_BAD_CALLBACK_PARAM: _bindgen_ty_29 = 516;
3598pub const PF_Interrupt_CANCEL: _bindgen_ty_29 = 517;
3599pub const PF_Err_CANNOT_PARSE_KEYFRAME_TEXT: _bindgen_ty_29 = 518;
3600pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
3601pub type PF_Err = A_long;
3602pub const PF_WorldFlag_DEEP: _bindgen_ty_30 = 1;
3603pub const PF_WorldFlag_WRITEABLE: _bindgen_ty_30 = 2;
3604pub const PF_WorldFlag_RESERVED0: _bindgen_ty_30 = 16777216;
3605pub const PF_WorldFlag_RESERVED1: _bindgen_ty_30 = 33554432;
3606pub const PF_WorldFlag_RESERVED2: _bindgen_ty_30 = 67108864;
3607pub const PF_WorldFlag_RESERVED3: _bindgen_ty_30 = 134217728;
3608pub const PF_WorldFlag_RESERVED4: _bindgen_ty_30 = 268435456;
3609pub const PF_WorldFlag_RESERVED5: _bindgen_ty_30 = 536870912;
3610pub const PF_WorldFlag_RESERVED6: _bindgen_ty_30 = 1073741824;
3611pub const PF_WorldFlag_RESERVED: _bindgen_ty_30 = 2147483648;
3612pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
3613pub type PF_WorldFlags = A_long;
3614pub const PF_OutFlag_NONE: _bindgen_ty_31 = 0;
3615pub const PF_OutFlag_KEEP_RESOURCE_OPEN: _bindgen_ty_31 = 1;
3616pub const PF_OutFlag_WIDE_TIME_INPUT: _bindgen_ty_31 = 2;
3617pub const PF_OutFlag_NON_PARAM_VARY: _bindgen_ty_31 = 4;
3618pub const PF_OutFlag_RESERVED6: _bindgen_ty_31 = 8;
3619pub const PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING: _bindgen_ty_31 = 16;
3620pub const PF_OutFlag_I_DO_DIALOG: _bindgen_ty_31 = 32;
3621pub const PF_OutFlag_USE_OUTPUT_EXTENT: _bindgen_ty_31 = 64;
3622pub const PF_OutFlag_SEND_DO_DIALOG: _bindgen_ty_31 = 128;
3623pub const PF_OutFlag_DISPLAY_ERROR_MESSAGE: _bindgen_ty_31 = 256;
3624pub const PF_OutFlag_I_EXPAND_BUFFER: _bindgen_ty_31 = 512;
3625pub const PF_OutFlag_PIX_INDEPENDENT: _bindgen_ty_31 = 1024;
3626pub const PF_OutFlag_I_WRITE_INPUT_BUFFER: _bindgen_ty_31 = 2048;
3627pub const PF_OutFlag_I_SHRINK_BUFFER: _bindgen_ty_31 = 4096;
3628pub const PF_OutFlag_WORKS_IN_PLACE: _bindgen_ty_31 = 8192;
3629pub const PF_OutFlag_RESERVED8: _bindgen_ty_31 = 16384;
3630pub const PF_OutFlag_CUSTOM_UI: _bindgen_ty_31 = 32768;
3631pub const PF_OutFlag_RESERVED7: _bindgen_ty_31 = 65536;
3632pub const PF_OutFlag_REFRESH_UI: _bindgen_ty_31 = 131072;
3633pub const PF_OutFlag_NOP_RENDER: _bindgen_ty_31 = 262144;
3634pub const PF_OutFlag_I_USE_SHUTTER_ANGLE: _bindgen_ty_31 = 524288;
3635pub const PF_OutFlag_I_USE_AUDIO: _bindgen_ty_31 = 1048576;
3636pub const PF_OutFlag_I_AM_OBSOLETE: _bindgen_ty_31 = 2097152;
3637pub const PF_OutFlag_FORCE_RERENDER: _bindgen_ty_31 = 4194304;
3638pub const PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS: _bindgen_ty_31 = 8388608;
3639pub const PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES: _bindgen_ty_31 = 16777216;
3640pub const PF_OutFlag_DEEP_COLOR_AWARE: _bindgen_ty_31 = 33554432;
3641pub const PF_OutFlag_SEND_UPDATE_PARAMS_UI: _bindgen_ty_31 = 67108864;
3642pub const PF_OutFlag_AUDIO_FLOAT_ONLY: _bindgen_ty_31 = 134217728;
3643pub const PF_OutFlag_AUDIO_IIR: _bindgen_ty_31 = 268435456;
3644pub const PF_OutFlag_I_SYNTHESIZE_AUDIO: _bindgen_ty_31 = 536870912;
3645pub const PF_OutFlag_AUDIO_EFFECT_TOO: _bindgen_ty_31 = 1073741824;
3646pub const PF_OutFlag_AUDIO_EFFECT_ONLY: _bindgen_ty_31 = 2147483648;
3647#[doc = " -------------------- Output Flags --------------------\n\nThe out_flags field of the OutData can be set to an OR-ed\ncombination of these flags to communicate various things to\nthe driver program. The flags are described here:\n\nPF_OutFlag_NONE\nThis is the \"empty\" setting -- no outflags.\n\nPF_OutFlag_WIDE_TIME_INPUT\nSet this flag if the effect calls get_param to inquire a\nparameter at a time besides the current one (e.g. to get\nthe previous video frame). This should be sent, if it is\ngoing to be sent, at PF_Cmd_GLOBAL_SETUP. Can be over-ridden\ndynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nAs of AE10, this flag is no longer recommended. It still works the\nsame way and is safe to set, but there's a more efficient option.\nSee PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT.\n\nPF_OutFlag_NON_PARAM_VARY\nSet this if the effect uses information other than the parameters\nin the param list to generate its output at the current time.\nFor instance, if the effect uses the current time of the frame\nor some random value to decide the output, set this flag. This\nflag should be sent at PF_Cmd_GLOBAL_SETUP. If the effect\nproduces changing frames when applied to a still image and\nall parameters are constant, that's a sure sign that this bit\nshould be set (e.g. Wave Warp).\tCan be over-ridden dynamically\nduring PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING\nWhen you allocate a sequence data handle, the app\nmay write the handle out to disk and reuse it\nlater. Pass this flag if the handle is not \"flat\"\n(i.e. has pointers or handles hanging off of it).\nBasically, this gives you a chance to alter the\nhandle contents before it is written out to disk,\nso you won't get invalid handles or pointers. Once\nyou have flattened a handle, you will get an\nopportunity to un-flatten it before the effect\nneeds to continue. For sequence data, you will be\ninvoked with a PF_Cmd_SEQUENCE_RESETUP call. You\nshould store a boolean at a common offset in your\nunflattened and flattened data that says whether\nthe data is flat or not. If you get a\nPF_Cmd_SEQUENCE_RESETUP and the boolean indicated\nthe data is flattened, you should unflatten the\ndata, free the flattened data handle, and set the\nsequence_data handle in the PF_OutData. If you\never set the data to NULL when you flatten it, you\nwill NOT get the sequence resetup call to\nunflatten it. Instead, you may just get a RENDER\ncall with NULL data. Forewarned is forearmed. This\nflag, indicating if the data will need to be\nflattened, should be set at PF_Cmd_GLOBAL_SETUP time.\n\nPF_OutFlag_I_DO_DIALOG\nSet this is the effect responds to a PF_Cmd_DO_DIALOG, i.e. Does this\neffect bring up an options dialog box. PF_Cmd_DO_DIALOG is generated\nwhen the user presses the Options button on the Effect floater.\nThis flag should be set at PF_Cmd_GLOBAL_SETUP time.\n\nPF_OutFlag_USE_OUTPUT_EXTENT\nThe output layer is passed with an \"extent rect\" indicating\nthe area of the layer that actually contains visible image data. If\nthe effect changes its behavior based on the extent rect (for instance,\nby not iterating over the entire image), set this flag, so the\napplication will know whether having the extent\tchange should cause\nthe frame to re-render. Specify this flag at PF_Cmd_GLOBAL_SETUP.\n\nPF_OutFlag_SEND_DO_DIALOG\nSome filters need their options dialog box to be brought up at least\nonce to be valid. You can set this flag, and the driver app will\nautomatically send a PF_Cmd_DO_DIALOG to the effect when it is applied.\nThe DO_DIALOG will be sent after PF_Cmd_SEQUENCE_SETUP. This flag\nshould be set in PF_Cmd_SEQUENCE_SETUP if it is going to be set.\n\nPF_OutFlag_DISPLAY_ERROR_MESSAGE\nWhenever the return_msg field in the PF_OutData is set to a string,\nAfter Effects will bring up a simple dialog box containing that\nstring. If you set this flag, the dialog box will be made to look\nlike an error message dialog box. If you don't set this flag, it\nwill be an undecorated dialog box. Using this flag, an effects module\ncan have and display its own error messages and not worry about the\ncode for dialog boxes -- the program will do it for you.\nThis flag can be sent after any command.\n\nPF_OutFlag_I_EXPAND_BUFFER\nStarting with After Effects 2.0, effects will be able to expand their buffers\nbeyond the current layer's dimensions. This has always been part of the\nPF specification, but as an extra precaution (and hint to the AE rendering\nengine) set this flag at PF_Cmd_GLOBAL_SETUP if you plan to expand your\nbuffer.\n\nPF_OutFlag_I_SHRINK_BUFFER\nSet this flag if you can shrink your buffer based on the extent-rects passed\nto you in order to be more memory efficient.\n\nPF_OutFlag_PIX_INDEPENDENT\nSet this flag if the output at a given pixel is not dependent on the values\nof the pixels around it. If this is set, the pixels After Effects does not\ncare about (because of field rendering, for example) could be filled with garbage\ncolors. Please set this flag at PF_Cmd_GLOBAL_SETUP. Can be over-ridden\ndynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_I_WRITE_INPUT_BUFFER\nSet this flag if your effect would like to write into the input buffer. This\ncan be useful if you need an scratch buffer, but it also invalidates some speedups\nin the AE rendering pipeline, so use it with some discretion. Please set this\nflag at PF_Cmd_GLOBAL_SETUP.\n\nPF_OutFlag_KEEP_RESOURCE_OPEN\n\nObsoleted in AE 2015 (does nothing when set).\n\nSet this flag if your effect expects its Macintosh resource fork to be open\nat any time other than global setup. Note that this does not mean that\nthe resource fork will be kept open at all times, just whenever the\neffect is being executed.\n\nPF_OutFlag_NOP_RENDER\n\nSet this flag in PF_Cmd_GLOBAL_SETUP if the render would never result in changes\nto the source image (or audio?). For example, an expression control would set this.\n\nPF_OutFlag_CUSTOM_UI\n\nThis flag must be set if your effect has a custom UI in the Effect Controls\nWindow, Layer Window or Comp Window.\n\nPF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER\t(new in 13.5)\n\nThis flags enables use of AEGP_CheckoutOrRender_*_AsyncManager() calls\nwhich avoid the need for plugin management of the lifetime of async custom UI renders from the UI thread.\nThe plugin asks for what frames it needs and the manager calls PF_Event_DRAW again when they are available\n(or cancels them as needed automatically). The plugin responds in PF_Event_DRAW by asking for what it needs\nand drawing what it can from what is available.\n\nDue to separation of Render thread and UI thread in 13.5, frames for custom UI should no longer be\nrendered synchronously (see RenderSuite5 for more details). The manager simplifies this, especially when\nthere are multiple requests needed for DRAW.\n\nWhen enabled, this flag associates a \"PF_AsyncManager\" with the NEW_CONTEXT/CLOSE_CONTEXT and PF_Event_DRAW\nthat will automatically track completion of 1 or more asynch render requests made for drawing custom UI.\nAs requests complete, PF_Event_DRAW will be called again and the current state of the CUSTOM_UI can be drawn.\nSuch requests may be canceled automatically as the user scrubs the time needle or project changes are made and\nbecome invalid.\n\nThis flag is used in addition to the CUSTOM_UI flag during PF_Cmd_GLOBAL_SETUP\n\nPF_OutFlag_REFRESH_UI\n\nCan be returned from PF_Cmd_EVENT, PF_Cmd_RENDER, and PF_Cmd_DO_DIALOG.\nCauses the effects control window, layer window, and comp window to be re-drawn.\n\nPF_OutFlag_I_USE_SHUTTER_ANGLE\n\nMust be set at PF_Cmd_GLOBAL_SETUP time if the effect uses\nthe shutter_angle or the shutter_phase. Can be over-ridden dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_I_USE_AUDIO\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for a visual effect\nthat calls the audio checkout calls.\n\nPF_OutFlag_I_AM_OBSOLETE\n\nSet at PF_Cmd_GLOBAL_SETUP time for effects that don't\nwant to appear in the AE Effects menu (but will still be invoked\nif you load a project that has an old copy of the effect applied).\n\nPF_OutFlag_FORCE_RERENDER\n\nSet at PF_Cmd_EVENT if the effect modified sequence data,\nor did anything else that requires the effect needs to re-render.\nNote that setting PF_ChangeFlag_CHANGED_VALUE automatically\ncauses a re-render, so don't worry about setting PF_OutFlag_FORCE_RERENDER\nin that case. Also, I_MIX_GUID_DEPENDENCIES can be used to trigger a rerender on\ndependant changes if sequence_data has not been changed.\n\nIMPORTANT: FORCE_RERENDER should be used as a last resort. Long term we should be eliminating the need for this\nbecause it causes forced cache invalidation that doesn't work well with undo.\nOnce we have the full set of APIs in place needed to manage render state, we will be able to deprecate this.\nPrefer using ARB data + CHANGED_VALUE or I_MIX_GUID_DEPENDENCIES when possible instead.\n\nIn 13.5 the split between a UI and render threads means that FORCE_RERENDER will now also have the needed\nside effect of copying sequence_data state to the render project. This can be expensive if the sequence_data is large.\nSupport GET_FLATTENED_SEQUENCE_DATA to prevent deallocation of your sequence_data, which can help.\nGET_FLATTENED_SEQUENCE_DATA support is required for FORCE_RERENDER use in custom mouse/key events.\n\nPF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS\n\nValid only for setting in your PiPL. When set out_flags will be\nignored at PF_Cmd_GLOBAL_SETUP time (& thus don't need to match).\n\nPF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if the effect has dependencies\nthat the user should know about before transporting their project to a\ndifferent machine. For example, dependencies on an installed font,\nor on an external file. If set, the effect will receive a\nPF_Cmd_GET_EXTERNAL_DEPENDENCIES request, where the extra\nparam will be a PF_ExtDependenciesExtra, and the effect should\nreport its information based on the given sequence_data.\n\nPF_OutFlag_SEND_UPDATE_PARAMS_UI\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you want to receive\nPF_Cmd_UPDATE_PARAMS_UI messages.\n\nPF_OutFlag_AUDIO_FLOAT_ONLY\n\nSet this flag if you only want to receive PF_SIGNED_FLOAT data\nwhen processing audio data. Requires PF_OutFlag_AUDIO_EFFECT_TOO\nor PF_OutFlag_AUDIO_EFFECT_ONLY.\n\nPF_OutFlag_AUDIO_IIR\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you are an\nInfinite-Impulse-Response audio filter (i.e. your output at a given\ntime depends on your output from previous times).\n\nPF_OutFlag_I_SYNTHESIZE_AUDIO\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you generate\naudio even when handed silence. Requires PF_OutFlag_AUDIO_EFFECT_TOO\nor PF_OutFlag_AUDIO_EFFECT_ONLY.\n\nPF_OutFlag_AUDIO_EFFECT_TOO\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for an effect that\nwants to filter the audio too (as opposed to just reading the audio).\n\nPF_OutFlag_AUDIO_EFFECT_ONLY\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for an effect\nthat only filters audio (no video).\n\nPF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS\n\nSet this during PF_Cmd_GLOBAL_SETUP if the effect handles PF_Cmd_QUERY_DYNAMIC_FLAGS.\nSupporting this command can dramatically improve performance for certain\neffects, because it provides dynamic information to the host about what\ncan be cached (as opposed to PIPL bits which cannot be changed at run-time)\n\nPF_OutFlag2_I_USE_3D_CAMERA\n\nThis bit must be set if the effect ever uses the AEGP PF_Interface suite to\naccess camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_I_USE_3D_LIGHTS\n\nThis bit must be set if the effect ever uses the AEGP PF_Interface suite to\naccess camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG\n\nIf you want a parameter group to honor the PF_ParamFlag_COLLAPSE_TWIRLY or\nPF_ParamFlag_START_COLLAPSED flag, set this bit. Otherwise, all parameter\ngroups will be collapsed by default.\n\nPF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS\n\nAdded for render optimizations; shrinks the input buffer passed to the effect to\nexclude any empty pixels (where empty means \"zero alpha\" unless\nPF_OutFlag2_REVEALS_ZERO_ALPHA is set, in which case RGB must be zero as well.)\nThe origin of the trimmed buffer can be found in in_data->pre_effect_source_origin.\nEffects with both this flag and PF_OutFlag_I_EXPAND_BUFFER set may get called with\na null input buffer if their input is completely empty, and must be able to handle\nthis case without crashing. This flag can be cleared dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_REVEALS_ZERO_ALPHA\n\nThe effect can take pixels with zero alpha and reveal the RGB data in them (like\nour Set Channels effect). This tells After Effects not to trim such pixels when\ndetermining the input for the effect. This flag can be cleared dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_I_AM_DEPRECATED\nthis effect is still available, and shows up under user-visible \"Obsolete\" category\nin the UI. Setting this flag means \"there's a better way to do this, but this effect\nmay still be useful in some situations\". distinct from PF_OutFlag_I_AM_OBSOLETE in\nthat these will still show up in the GUI and the user can still apply them to new\nprojects. The category that is set by the effect is pretty much ignored, as it will\ninstead always go into the \"Obsolete\" category\n\nPF_OutFlag2_I_USE_TIMECODE\nNew in AE 9.0. The effect depends on the Composition's timecode or a layer's\nsource footage timecode. If the underlying timecode changes the effects will\nbe asked to rerender.\n\nPF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT\nNew in AE 10. Requires setting of PF_OutFlag_WIDE_TIME_INPUT (which allows you\nto support old hosts), but effectively overrides that flag. When set, all\nparameter checkouts are tracked so over-time dependencies are known by AE. Note\nthat if you use this new flag, and you cache any time-dependent data in your\nsequence data (or anywhere else), you must validate that cache using the\nnew PF_HaveInputsChangedOverTimeSpan() before using it.\n\nThis only works for smart effects (those that set PF_OutFlag2_SUPPORTS_SMART_RENDER). If you haven't\nset that, After Effects will silently treat this as PF_OutFlag_WIDE_TIME_INPUT instead.\n\nTo test that it's working, apply your effect with one parameter keyframed on every frame.\nRAM Preview to fill the cache, then change one of the keyframes. The related frame and\nall dependent frames (e.g. later frames, in the case of a simulation) should lose their\ncache marks and require re-rendering. Simlarly, upstream changes to sources of layer\nparameters should cause time-selective invalidation of the cache.\n\nPF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS\nSet this if you are going to look at paths that aren't directly referenced by a path\nparam, e.g. if you are going to draw a stroke on all masks.\n\nPF_OutFlag2_OUTPUT_IS_WATERMARKED\nSet this if your output is going to be watermarked in some way that makes it unsuitable for\nfinal use, probably because the user is using an unlicensed demo version. It is ok to change\nthis state during the course of app session, if e.g. a floating license status changes.\nPlugin authors that actually do have this state changing asynchronously must be careful to\nhave the next render match the last state returned from QUERY_DYNAMIC_FLAGS otherwise race conditions\ncould cause incorrect frames to be cached. (This is a non-issue if you only change this in response\nto DO_DIALOG.)\n\nPF_OutFlag2_I_MIX_GUID_DEPENDENCIES\t(new in 13.5)\nSmart effects only. With this option, FORCE_RERENDER becomes a cache-savvy more efficient MAYBE rerender.\nIf custom UI or DO_DIALOG change sequence data, returning FORCE_RERENDER requests AE to check whether\nrerender needs to occur. During PreRender, the effect uses the GuidMixInPtr callback to mix\nany additional state that affects the render into our internal GUID for the cached frame.\nAE can then tell whether the frame already exists and if so, no longer needs to render.\nThis also means that DO_DIALOG no longer always blows the cache and that undo works across DO_DIALOG.\nCancelation of DO_DIALOG no longer blows the cache either.\nThis also means that I_USE_* flags are now basically redundant since any dependency could be mixed in.\nJust be sure to mix in everything that can uniquely affect resulting rendered pixels (that is not already\nan AE stream parameter). But don't mixin things that are disabled and have no render effect (this\nresults in less cache efficiency).\n\nPF_OutFlag2_SUPPORTS_THREADED_RENDERING\nIndicates the effect supports rendering on multiple threads at the same time. Single or multiple\napplications of this effect on a layer can be called to render at the same time on multiple threads.\n\nUI selectors are still sent on the main thread, however Sequence Setup, Sequence Resetup, Sequence SetDown,\nPreRender, and Render may be sent on multiple threads at the same time as the UI selectors are being handled\nso all of these selectors must be thread safe.\n\nGlobal Setup and Global Setdown selectors are unaffected by this flag. Regardless whether this flag is set\nor not, they will only be sent on the main thread, and will not be sent at the same time as any other selectors.\n\nIf the effect sets PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING indicating the sequence data needs flattening\nthen it must also set PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA.\n\nsequence_data is read-only at render time and must be accessed with PF_EffectSequenceDataSuite.\nin_data->sequence_data will be NULL during render. AEGP_ComputeCacheSuite is suggested if writing to\nsequence_data at render time is needed for caching. This suite unifies cache entries so multiple threads do\nnot recompute the same cache value. If neither of these solutions work, see the next flag,\nPF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER.\n\nPF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER\nIndicates the effect needs sequence_data replicated for each render thread, thus allowing each render to have\nsequence_data which can be written to. Note that changes to sequence_data will be discarded regularly, currently\nafter each span of frames is rendered such as single RAM Preview or Render Queue export."]
3648pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
3649pub type PF_OutFlags = A_long;
3650pub const PF_OutFlag2_NONE: _bindgen_ty_32 = 0;
3651pub const PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS: _bindgen_ty_32 = 1;
3652pub const PF_OutFlag2_I_USE_3D_CAMERA: _bindgen_ty_32 = 2;
3653pub const PF_OutFlag2_I_USE_3D_LIGHTS: _bindgen_ty_32 = 4;
3654pub const PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG: _bindgen_ty_32 = 8;
3655pub const PF_OutFlag2_I_AM_THREADSAFE: _bindgen_ty_32 = 16;
3656pub const PF_OutFlag2_CAN_COMBINE_WITH_DESTINATION: _bindgen_ty_32 = 32;
3657pub const PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS: _bindgen_ty_32 = 64;
3658pub const PF_OutFlag2_REVEALS_ZERO_ALPHA: _bindgen_ty_32 = 128;
3659pub const PF_OutFlag2_PRESERVES_FULLY_OPAQUE_PIXELS: _bindgen_ty_32 = 256;
3660pub const PF_OutFlag2_SUPPORTS_SMART_RENDER: _bindgen_ty_32 = 1024;
3661pub const PF_OutFlag2_RESERVED9: _bindgen_ty_32 = 2048;
3662pub const PF_OutFlag2_FLOAT_COLOR_AWARE: _bindgen_ty_32 = 4096;
3663pub const PF_OutFlag2_I_USE_COLORSPACE_ENUMERATION: _bindgen_ty_32 = 8192;
3664pub const PF_OutFlag2_I_AM_DEPRECATED: _bindgen_ty_32 = 16384;
3665pub const PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER: _bindgen_ty_32 = 32768;
3666pub const PF_OutFlag2_RESERVED10: _bindgen_ty_32 = 65536;
3667pub const PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT: _bindgen_ty_32 = 131072;
3668pub const PF_OutFlag2_I_USE_TIMECODE: _bindgen_ty_32 = 262144;
3669pub const PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS: _bindgen_ty_32 = 524288;
3670pub const PF_OutFlag2_OUTPUT_IS_WATERMARKED: _bindgen_ty_32 = 1048576;
3671pub const PF_OutFlag2_I_MIX_GUID_DEPENDENCIES: _bindgen_ty_32 = 2097152;
3672pub const PF_OutFlag2_AE13_5_THREADSAFE: _bindgen_ty_32 = 4194304;
3673pub const PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_32 = 8388608;
3674pub const PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER: _bindgen_ty_32 = 16777216;
3675pub const PF_OutFlag2_SUPPORTS_GPU_RENDER_F32: _bindgen_ty_32 = 33554432;
3676pub const PF_OutFlag2_RESERVED12: _bindgen_ty_32 = 67108864;
3677pub const PF_OutFlag2_SUPPORTS_THREADED_RENDERING: _bindgen_ty_32 = 134217728;
3678pub const PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER: _bindgen_ty_32 = 268435456;
3679pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
3680pub type PF_OutFlags2 = A_long;
3681pub const PF_InFlag_NONE: _bindgen_ty_33 = 0;
3682pub const PF_InFlag_PROJECT_IS_RENDER_ONLY: _bindgen_ty_33 = 1;
3683#[doc = " -------------------- Input Flags --------------------\n\nThe in_flags field of the InData can be set to an OR-ed\ncombination of these flags to communicate various things from AE to an effect plugin\nThe flags are described here:\n\nPF_InFlag_NONE\nThis is the \"empty\" setting -- no inflags.\n\nPF_InFlag_PROJECT_IS_RENDER_ONLY (since 13.5)\n\nFor efficiency, if a plugin sets up UI that is not used in render, this flag\ncan be tested to skip that step when an effect is being RESETUP for render only.\nEffect instances with this flag on in RESETUP are in read-only AE projects and will not receive UI related selectors.\n\nThis is an optimization hint. If you don't make such optimizations in render your plugin should still work.\n\nThis flag should generally not be used to suppress errors in render. Errors should still be reported as usual via AE standard mechanisms,\nand AE will then handle the differences in context reporting.\n\nIf this is off, UI should be set up normally (and the effect could also be running in an earlier version of\nAE that assumed render and UI on the same effect instance.)"]
3684pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
3685pub type PF_InFlags = A_long;
3686pub const PF_Cmd_ABOUT: _bindgen_ty_34 = 0;
3687pub const PF_Cmd_GLOBAL_SETUP: _bindgen_ty_34 = 1;
3688pub const PF_Cmd_UNUSED_0: _bindgen_ty_34 = 2;
3689pub const PF_Cmd_GLOBAL_SETDOWN: _bindgen_ty_34 = 3;
3690pub const PF_Cmd_PARAMS_SETUP: _bindgen_ty_34 = 4;
3691pub const PF_Cmd_SEQUENCE_SETUP: _bindgen_ty_34 = 5;
3692pub const PF_Cmd_SEQUENCE_RESETUP: _bindgen_ty_34 = 6;
3693pub const PF_Cmd_SEQUENCE_FLATTEN: _bindgen_ty_34 = 7;
3694pub const PF_Cmd_SEQUENCE_SETDOWN: _bindgen_ty_34 = 8;
3695pub const PF_Cmd_DO_DIALOG: _bindgen_ty_34 = 9;
3696pub const PF_Cmd_FRAME_SETUP: _bindgen_ty_34 = 10;
3697pub const PF_Cmd_RENDER: _bindgen_ty_34 = 11;
3698pub const PF_Cmd_FRAME_SETDOWN: _bindgen_ty_34 = 12;
3699pub const PF_Cmd_USER_CHANGED_PARAM: _bindgen_ty_34 = 13;
3700pub const PF_Cmd_UPDATE_PARAMS_UI: _bindgen_ty_34 = 14;
3701pub const PF_Cmd_EVENT: _bindgen_ty_34 = 15;
3702pub const PF_Cmd_GET_EXTERNAL_DEPENDENCIES: _bindgen_ty_34 = 16;
3703pub const PF_Cmd_COMPLETELY_GENERAL: _bindgen_ty_34 = 17;
3704pub const PF_Cmd_QUERY_DYNAMIC_FLAGS: _bindgen_ty_34 = 18;
3705pub const PF_Cmd_AUDIO_RENDER: _bindgen_ty_34 = 19;
3706pub const PF_Cmd_AUDIO_SETUP: _bindgen_ty_34 = 20;
3707pub const PF_Cmd_AUDIO_SETDOWN: _bindgen_ty_34 = 21;
3708pub const PF_Cmd_ARBITRARY_CALLBACK: _bindgen_ty_34 = 22;
3709pub const PF_Cmd_SMART_PRE_RENDER: _bindgen_ty_34 = 23;
3710pub const PF_Cmd_SMART_RENDER: _bindgen_ty_34 = 24;
3711pub const PF_Cmd_RESERVED1: _bindgen_ty_34 = 25;
3712pub const PF_Cmd_RESERVED2: _bindgen_ty_34 = 26;
3713pub const PF_Cmd_RESERVED3: _bindgen_ty_34 = 27;
3714pub const PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_34 = 28;
3715pub const PF_Cmd_TRANSLATE_PARAMS_TO_PREFS: _bindgen_ty_34 = 29;
3716pub const PF_Cmd_RESERVED4: _bindgen_ty_34 = 30;
3717pub const PF_Cmd_SMART_RENDER_GPU: _bindgen_ty_34 = 31;
3718pub const PF_Cmd_GPU_DEVICE_SETUP: _bindgen_ty_34 = 32;
3719pub const PF_Cmd_GPU_DEVICE_SETDOWN: _bindgen_ty_34 = 33;
3720pub const PF_Cmd_NUM_CMDS: _bindgen_ty_34 = 34;
3721#[doc = " -------------------- Command Selectors --------------------\n\nThe first parameter to the effect routine is one of t\these command\nselectors. The commands are described here.\n\nPF_Cmd_ABOUT\nThis command should display an information dialog box about the\neffect module. The easiest thing to do is PF_SPRINTF the info\ninto the out_data->return_msg field. After Effects will bring\nup a simple undecorated modal dialog with your text proudly displayed.\nThis command can be sent at _any_ time, so don't count on having\nany global data or anything else set. (Except, as always, the\ncurrent resource file will be set to your effects module.)\n\nPF_Cmd_GLOBAL_SETUP\nWhen you get this command, you should check the version of the\neffect protocol with which you are being invoked, and set any of\nthe necessary out flags (described above) or out data fields\n(described below). If your global data was flattened, the flat\ndata will be passed here and you should unflatten it, free the\nflat global data, and set the OutData global_data to the new un-flat\ndata. Alternatively, the global data may come in NULL and you can\nallocate new global data at this time.\n\nPF_Cmd_GLOBAL_SETDOWN\nYou should free any global data you have allocated when you get\nthis command.\n\nPF_Cmd_PARAMS_SETUP\nHere you should add any params your effect wants using the\nPF_ADD_PARAM callback described below. This is called after global\nsetup -- see the add_param callback described below.\n\nPF_Cmd_SEQUENCE_SETUP\nThis is called when the effect is first applied to a layer.\nA sequence is a series of images that will usually be all be of the same\nsize and in the same context. You can allocate sequence data\nat this time -- many more input fields are defined at this time.\nSee the PF_InData description below.\n\nAs of 13.5 this only happens on the UI thread.\nExcept for legacy (no GET_FLATTENED_SEQUENCE_DATA) effects that do I_DO_DIALOG which can still hit this in render.\n\nPF_Cmd_SEQUENCE_RESETUP\nThis call is made to unflatten flattened sequence data.\nThere are at least three cases when this can happen:\n1) after the sequence data is written to disk, 2) after the\nsequence data is read in from disk, 3) after a duplicate\nis made (called on both original and the new sequence).\n\nThis can happen in UI or Render thread (13.5), the effect must handle\ninitialization of a NULL sequence_data input if needed. See also PF_InFlag_PROJECT_IS_RENDER_ONLY.\n\nPF_Cmd_SEQUENCE_FLATTEN\nThis call is made to flatten unflat sequence data so it can be\ncached to disk. After the data is flattened, free the un-flat data\nand set the out_data->sequence_data to the new flat data.\nIf you don't want your sequence handle written to disk, you\ncan set it to NULL (after disposing it) at this time. Presumably\nyou would then reallocate it at another time.\n\nThis command will be sent when saving and when duplicating\nthe sequence.\n\nPF_Cmd_GET_FLATTENED_SEQUENCE_DATA\t(new in 13.5)\nReturns an independent allocation of the sequence data which can be written\nto disk or used to initialise or update other instances of the effect plug-in.\n\nThe host calls this command to serialize the sequence data without\nhaving to flatten and resetup the UI plug-in as was legacy practice. (However, at present effects\nstill may need flattening in render if the sequence_data is about to be assigned.)\n\nAn effect that implements GET_FLATTENED_SEQUENCE_DATA will only receive SEQUENCE_SETUP on the UI thread.\nSEQUENCE_RESETUP can happen on either thread. Make sure you handle a NULL sequence_data in RESETUP.\n(Without GET_FLATTENED, a legacy effect may still get SEQUENCE_SETUP in render but DO_DIALOG will not be called.)\n\nAlso when enabled, this means that the effect is guaranteed to get a\nSEQUENCE_SETDOWN cmd to dispose the effect's sequence_data (previously\nit was possible for AE to bypass this if the sequence_data was flat,\nbut that lead to SEQUENCE_SETUP/SETDOWN imbalances for some plugins.\nThe imbalance should not happen when using this flag, but the plugin must\nhandle being called on SETDOWN with possibly flat data. For example,\ntry copy and pasting an effect onto itself.\n\nSupport for this command is indicated by setting\nPF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA\n\nThe ownership of the returned handle is transferred to the host.\n\nPF_Cmd_SEQUENCE_SETDOWN\nYou should free any sequence data you have allocated when you\nget this command.\n\nPF_Cmd_DO_DIALOG\nThis command indicated that the Options button or command has\nbeen selected and the effect should bring up its options dialog.\nThis command will only be sent it the effect has indicated that\nit has an options dialog with PF_OutFlag_I_DO_DIALOG. This\ncommand will automatically be sent once upon applying the filter\nif PF_OutFlag_SEND_DO_DIALOG is set in SEQUENCE_SETUP.\n\nPF_Cmd_FRAME_SETUP\nThis is called immediately before each frame is invoked. You\ncan allocate frame data at this time, if you wish, or you can\njust wait for the RENDER which will immediately follow.\n\nPF_Cmd_RENDER\nThis is the call to render the frame. All fields in the in_data\nwill be valid at this time and you can inquire parameters or\nwhat-have-you. This should set the output frame with the new\nimage data. This is the main action command.\n\nPF_Cmd_FRAME_SETDOWN\nIf you allocated data in PF_Cmd_FRAME_SETUP, this is the time\nto free it and clean up after rendering the frame.\n\nPF_Cmd_USER_CHANGED_PARAM\nThis command will be sent if you set the PF_ParamFlag_SUPERVISE\nflag for a param. This allows you to modify the params array contents to\ncontrol values or make one control affect others, including arbitrary\ndata. This command will be sent whenever the user interacts with a\nstandard param controller that has PF_ParamFlag_SUPERVISE\nset.\n\nThe \"extra\" field will be a pointer to a PF_UserChangedParamExtra structure\nwhich contains the param_index of the changed parameter.\n\nYou can return PF_ChangeFlag_CHANGED_VALUE and/or call PF_UpdateParamUI()\nfor any param.\n\nPF_Cmd_UPDATE_PARAMS_UI\nThis command will be sent when the Effect Controls Window (ECW)\nneeds to updated (e.g. after opening the ECW or moving the comp to\na new time) if you have set PF_OutFlag_SEND_UPDATE_PARAMS_UI at\nglobal setup time.\n\nThis gives you a chance to call PF_UpdateParamUI() to modify certain\nui fields for the params. See the doc for PF_UpdateParamUI()\nto see which fields can be modified.\n\nWARNING: When handling PF_Cmd_UPDATE_PARAMS_UI, you can call\nPF_UpdateParamUI() for any param(s), but not PF_ChangeFlag_CHANGED_VALUE --\nonly cosmetic changes can be made in response to this command.\n\nPF_Cmd_QUERY_DYNAMIC_FLAGS\nThis command will be sent at arbitrary times if PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS\nis set during global setup. During this call the effect may examine the values\nof its parameters at the current time (except layer parameters) by checking them out,\nand decide whether any of the flags that support PF_Cmd_QUERY_DYNAMIC_FLAGS should be set.\n\nThe appropriate flags must be set in out_data->out_flags and out_data->out_flags2 before\nreturning. The effect must decide what information is necessary to render a frame at\nthe current time, given only the values of parameters at that time. Clearing the\nappropriate bits when possible can result in great performance improvements, but\nincorrectly clearing bits will result in caching bugs, and you won't like that. Nope.\n\n Important Reminder***\nBefore you add a new PF_Cmd, evaluate whether it should allow\nnew Sequence Data allocations! If so, remember to add it to\nCmdCanChangeSequenceData() in FLT_Host.cpp!"]
3722pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
3723pub type PF_Cmd = A_long;
3724#[repr(C)]
3725#[derive(Debug, Copy, Clone)]
3726pub struct _PF_LayerAudio {
3727 _unused: [u8; 0],
3728}
3729#[doc = " -------------------- Simple Types --------------------"]
3730pub type PF_LayerAudio = *mut _PF_LayerAudio;
3731pub type PF_SndSamplePtr = *mut ::std::os::raw::c_void;
3732#[repr(C)]
3733#[derive(Debug, Copy, Clone)]
3734pub struct PF_ProgressInfo {
3735 _unused: [u8; 0],
3736}
3737pub type PF_ProgPtr = *mut PF_ProgressInfo;
3738pub type PF_ParamValue = A_long;
3739#[repr(C)]
3740#[derive(Debug, Copy, Clone)]
3741pub struct PF_SpecVersion {
3742 pub major: A_short,
3743 pub minor: A_short,
3744}
3745pub type PF_ParamIndex = A_long;
3746pub type PF_UFixed = A_u_long;
3747pub type PF_Fixed = Fixed;
3748pub type PF_Boolean = Boolean;
3749pub type PF_Handle = Handle;
3750#[repr(C)]
3751#[derive(Debug, Copy, Clone)]
3752pub struct PF_Point {
3753 pub h: A_long,
3754 pub v: A_long,
3755}
3756#[repr(C)]
3757#[derive(Debug, Copy, Clone)]
3758pub struct PF_LRect {
3759 pub left: A_long,
3760 pub top: A_long,
3761 pub right: A_long,
3762 pub bottom: A_long,
3763}
3764pub type PF_Rect = PF_LRect;
3765pub type PF_UnionableRect = PF_Rect;
3766#[repr(C)]
3767#[derive(Debug, Copy, Clone)]
3768pub struct PF_RationalScale {
3769 pub num: A_long,
3770 pub den: A_u_long,
3771}
3772#[repr(C)]
3773#[derive(Debug, Copy, Clone)]
3774pub struct PF_FixedPoint {
3775 pub x: PF_Fixed,
3776 pub y: PF_Fixed,
3777}
3778#[repr(C)]
3779#[derive(Debug, Copy, Clone)]
3780pub struct PF_FixedRect {
3781 pub left: PF_Fixed,
3782 pub top: PF_Fixed,
3783 pub right: PF_Fixed,
3784 pub bottom: PF_Fixed,
3785}
3786#[repr(C)]
3787#[derive(Debug, Copy, Clone)]
3788pub struct PF_Matrix {
3789 pub mat: [[PF_Fixed; 3usize]; 3usize],
3790}
3791pub type PF_TransferMode = A_long;
3792pub type PF_XferMode = PF_TransferMode;
3793#[repr(C)]
3794#[derive(Debug, Copy, Clone)]
3795pub struct PF_Pixel {
3796 pub alpha: A_u_char,
3797 pub red: A_u_char,
3798 pub green: A_u_char,
3799 pub blue: A_u_char,
3800}
3801pub type PF_Pixel8 = PF_Pixel;
3802pub type PF_UnionablePixel = PF_Pixel;
3803#[repr(C)]
3804#[derive(Debug, Copy, Clone)]
3805pub struct PF_Pixel16 {
3806 pub alpha: A_u_short,
3807 pub red: A_u_short,
3808 pub green: A_u_short,
3809 pub blue: A_u_short,
3810}
3811pub type PF_FpShort = A_FpShort;
3812pub type PF_FpLong = A_FpLong;
3813#[repr(C)]
3814#[derive(Debug, Copy, Clone)]
3815pub struct PF_PixelFloat {
3816 pub alpha: PF_FpShort,
3817 pub red: PF_FpShort,
3818 pub green: PF_FpShort,
3819 pub blue: PF_FpShort,
3820}
3821pub type PF_Pixel32 = PF_PixelFloat;
3822#[repr(C)]
3823#[derive(Debug, Copy, Clone)]
3824pub struct PF_FloatMatrix {
3825 pub mat: [[PF_FpLong; 3usize]; 3usize],
3826}
3827#[repr(C)]
3828#[derive(Debug, Copy, Clone)]
3829pub struct PF_CompositeMode {
3830 pub xfer: PF_TransferMode,
3831 pub rand_seed: A_long,
3832 pub opacity: A_u_char,
3833 pub rgb_only: PF_Boolean,
3834 pub opacitySu: A_u_short,
3835}
3836pub type PF_PixLong = A_u_long;
3837#[repr(C)]
3838#[derive(Debug, Copy, Clone)]
3839pub struct _PF_PixelOpaque {
3840 _unused: [u8; 0],
3841}
3842pub type PF_PixelOpaquePtr = *mut _PF_PixelOpaque;
3843pub type PF_PixelPtr = *mut PF_Pixel;
3844pub type PF_RGB_Pixel = [PF_Fixed; 3usize];
3845pub type PF_YIQ_Pixel = [PF_Fixed; 3usize];
3846pub type PF_HLS_Pixel = [PF_Fixed; 3usize];
3847pub type PF_ChannelType = A_long;
3848pub type PF_DataType = A_long;
3849#[doc = " for enumerating over all the channels"]
3850pub type PF_ChannelIndex = A_long;
3851#[repr(C)]
3852#[derive(Debug, Copy, Clone)]
3853pub struct PF_ChannelDesc {
3854 pub channel_type: PF_ChannelType,
3855 pub name: [A_char; 64usize],
3856 pub data_type: PF_DataType,
3857 pub dimension: A_long,
3858}
3859#[doc = " the opaque type representing the channel data"]
3860#[repr(C)]
3861#[derive(Debug, Copy, Clone)]
3862pub struct PF_ChannelRef {
3863 pub opaque: [A_intptr_t; 8usize],
3864}
3865#[doc = " the opaque type representing the channel data"]
3866pub type PF_ChannelRefPtr = *mut PF_ChannelRef;
3867#[doc = " the channel data parallels the image data in size and shape.\n the width is the number of pixels, the height is the number of scanlines\n the height is image_height\n the dimension is the number of planes in a pixel\n the row_bytes is the length of a scanline in bytes\n the data type is the type of data in a plane\n\tNote : a pixel consists of dimensionL * sizeof(data_type) bytes\n dataH is a handle to the data.\n dataPV is a pointer to the dereferenced locked handle\n effects should always have dataPV non null."]
3868#[repr(C)]
3869#[derive(Debug, Copy, Clone)]
3870pub struct PF_ChannelChunk {
3871 pub channel_ref: PF_ChannelRef,
3872 pub widthL: A_long,
3873 pub heightL: A_long,
3874 pub dimensionL: A_long,
3875 pub row_bytesL: A_long,
3876 pub data_type: PF_DataType,
3877 pub dataH: PF_Handle,
3878 pub dataPV: *mut ::std::os::raw::c_void,
3879}
3880pub const PF_LayerDefault_MYSELF: _bindgen_ty_35 = -1;
3881pub const PF_LayerDefault_NONE: _bindgen_ty_35 = 0;
3882#[doc = " -------------------- Effect Parameter Description Structures --------------------\n\nIn general each structure is divided into two parts:\na) description of the parameter\nb) setting of parameter at the current invocation time\n\nA number of these structures end in A_char*, A_char[] unions. These\nstructures are \"flattened\" between the add_param callback (in which\nthe A_char * should be used) and the read-only values accessible when\nthe effect is later invoked (at which time the A_char [] is used and\nthe string data is concatenated right at the end of the struct)."]
3883pub type _bindgen_ty_35 = ::std::os::raw::c_int;
3884#[repr(C)]
3885#[derive(Debug, Copy, Clone)]
3886pub struct PF_LayerDef {
3887 pub reserved0: *mut ::std::os::raw::c_void,
3888 pub reserved1: *mut ::std::os::raw::c_void,
3889 pub world_flags: PF_WorldFlags,
3890 pub data: PF_PixelPtr,
3891 pub rowbytes: A_long,
3892 pub width: A_long,
3893 pub height: A_long,
3894 pub extent_hint: PF_UnionableRect,
3895 pub platform_ref: *mut ::std::os::raw::c_void,
3896 pub reserved_long1: A_long,
3897 pub reserved_long4: *mut ::std::os::raw::c_void,
3898 pub pix_aspect_ratio: PF_RationalScale,
3899 pub reserved_long2: *mut ::std::os::raw::c_void,
3900 pub origin_x: A_long,
3901 pub origin_y: A_long,
3902 pub reserved_long3: A_long,
3903 pub dephault: A_long,
3904}
3905pub type PF_EffectWorld = PF_LayerDef;
3906pub const PF_UNSIGNED_PCM: _bindgen_ty_36 = 0;
3907pub const PF_SIGNED_PCM: _bindgen_ty_36 = 1;
3908pub const PF_SIGNED_FLOAT: _bindgen_ty_36 = 2;
3909pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
3910pub type PF_SoundFormat = A_short;
3911pub const PF_SSS_1: _bindgen_ty_37 = 1;
3912pub const PF_SSS_2: _bindgen_ty_37 = 2;
3913pub const PF_SSS_4: _bindgen_ty_37 = 4;
3914pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
3915pub type PF_SoundSampleSize = A_short;
3916pub const PF_Channels_MONO: _bindgen_ty_38 = 1;
3917pub const PF_Channels_STEREO: _bindgen_ty_38 = 2;
3918pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
3919pub type PF_SoundChannels = A_short;
3920#[repr(C)]
3921#[derive(Debug, Copy, Clone)]
3922pub struct PF_SoundFormatInfo {
3923 pub rateF: PF_FpLong,
3924 pub num_channels: PF_SoundChannels,
3925 pub format: PF_SoundFormat,
3926 pub sample_size: PF_SoundSampleSize,
3927}
3928#[repr(C)]
3929#[derive(Debug, Copy, Clone)]
3930pub struct PF_SoundWorld {
3931 pub fi: PF_SoundFormatInfo,
3932 pub num_samples: A_long,
3933 pub dataP: *mut ::std::os::raw::c_void,
3934}
3935pub const PF_ValueDisplayFlag_NONE: _bindgen_ty_39 = 0;
3936pub const PF_ValueDisplayFlag_PERCENT: _bindgen_ty_39 = 1;
3937pub const PF_ValueDisplayFlag_PIXEL: _bindgen_ty_39 = 2;
3938pub const PF_ValueDisplayFlag_RESERVED1: _bindgen_ty_39 = 4;
3939pub const PF_ValueDisplayFlag_REVERSE: _bindgen_ty_39 = 8;
3940pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
3941pub type PF_ValueDisplayFlags = A_short;
3942#[doc = " Slider -- PF_Param_SLIDER"]
3943#[repr(C)]
3944#[derive(Debug, Copy, Clone)]
3945pub struct PF_SliderDef {
3946 pub value: PF_ParamValue,
3947 pub value_str: [A_char; 32usize],
3948 pub value_desc: [A_char; 32usize],
3949 pub valid_min: PF_ParamValue,
3950 pub valid_max: PF_ParamValue,
3951 pub slider_min: PF_ParamValue,
3952 pub slider_max: PF_ParamValue,
3953 pub dephault: PF_ParamValue,
3954}
3955#[doc = " Fixed Point Slider -- PF_Param_FIX_SLIDER"]
3956#[repr(C)]
3957#[derive(Debug, Copy, Clone)]
3958pub struct PF_FixedSliderDef {
3959 pub value: PF_Fixed,
3960 pub value_str: [A_char; 32usize],
3961 pub value_desc: [A_char; 32usize],
3962 pub valid_min: PF_Fixed,
3963 pub valid_max: PF_Fixed,
3964 pub slider_min: PF_Fixed,
3965 pub slider_max: PF_Fixed,
3966 pub dephault: PF_Fixed,
3967 pub precision: A_short,
3968 pub display_flags: PF_ValueDisplayFlags,
3969}
3970pub const PF_FSliderFlag_NONE: _bindgen_ty_40 = 0;
3971pub const PF_FSliderFlag_WANT_PHASE: _bindgen_ty_40 = 1;
3972pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
3973pub type PF_FSliderFlags = A_u_long;
3974#[doc = " Floating Point Slider -- PF_Param_FLOAT_SLIDER"]
3975#[repr(C)]
3976#[derive(Debug, Copy, Clone)]
3977pub struct PF_FloatSliderDef {
3978 pub value: PF_FpLong,
3979 pub phase: PF_FpLong,
3980 pub value_desc: [A_char; 32usize],
3981 pub valid_min: PF_FpShort,
3982 pub valid_max: PF_FpShort,
3983 pub slider_min: PF_FpShort,
3984 pub slider_max: PF_FpShort,
3985 pub dephault: PF_FpShort,
3986 pub precision: A_short,
3987 pub display_flags: PF_ValueDisplayFlags,
3988 pub fs_flags: PF_FSliderFlags,
3989 pub curve_tolerance: PF_FpShort,
3990 pub useExponent: PF_Boolean,
3991 pub exponent: PF_FpShort,
3992}
3993#[doc = " Angle -- PF_Param_ANGLE"]
3994#[repr(C)]
3995#[derive(Debug, Copy, Clone)]
3996pub struct PF_AngleDef {
3997 pub value: PF_Fixed,
3998 pub dephault: PF_Fixed,
3999 pub valid_min: PF_Fixed,
4000 pub valid_max: PF_Fixed,
4001}
4002#[doc = " CheckBox -- PF_Param_CHECKBOX"]
4003#[repr(C)]
4004#[derive(Copy, Clone)]
4005pub struct PF_CheckBoxDef {
4006 pub value: PF_ParamValue,
4007 pub dephault: PF_Boolean,
4008 pub reserved: A_char,
4009 pub reserved1: A_short,
4010 pub u: PF_CheckBoxDef__bindgen_ty_1,
4011}
4012#[repr(C)]
4013#[derive(Copy, Clone)]
4014pub union PF_CheckBoxDef__bindgen_ty_1 {
4015 pub nameptr: *const A_char,
4016}
4017#[doc = " Color -- PF_Param_COLOR"]
4018#[repr(C)]
4019#[derive(Debug, Copy, Clone)]
4020pub struct PF_ColorDef {
4021 pub value: PF_UnionablePixel,
4022 pub dephault: PF_UnionablePixel,
4023}
4024#[doc = " Point -- PF_Param_POINT\n\nThe values for the point use the source's coordinate system, with the\norigin at the top left. The values are expressed in fixed point, with\n16 bits of fractional precision (out of a total of 32 bits).\n\nThe dephaults (sorry) are expressed as percentages (with 16 bits of\nfraction) with the origin at the top left. The percent can be negative,\nbut should not be smaller than -600%. It should not be greater than 600%.\n\nIf restrict_bounds is TRUE, the user will not be allowed to specify\npoints outside the bounds of the layer to which they are applying the\neffect. If this is TRUE, the dephaults should be between 0.0 and 100.0."]
4025#[repr(C)]
4026#[derive(Debug, Copy, Clone)]
4027pub struct PF_PointDef {
4028 pub x_value: PF_Fixed,
4029 pub y_value: PF_Fixed,
4030 pub reserved: [A_char; 3usize],
4031 pub restrict_bounds: PF_Boolean,
4032 pub x_dephault: PF_Fixed,
4033 pub y_dephault: PF_Fixed,
4034}
4035#[doc = " 3D Point -- PF_Param_POINT_3D\n\nJust like POINT, with an extra dimension. Supported in AE starting with version 10.5 (CS 5.5)."]
4036#[repr(C)]
4037#[derive(Debug, Copy, Clone)]
4038pub struct PF_Point3DDef {
4039 pub x_value: PF_FpLong,
4040 pub y_value: PF_FpLong,
4041 pub z_value: PF_FpLong,
4042 pub x_dephault: PF_FpLong,
4043 pub y_dephault: PF_FpLong,
4044 pub z_dephault: PF_FpLong,
4045 pub reserved: [::std::os::raw::c_char; 16usize],
4046}
4047#[doc = " Popup Menu -- PF_Param_POPUP\n\n can also be used as a radio-button group in some hosts\n when PF_PUI_RADIO_BUTTON is set\n"]
4048#[repr(C)]
4049#[derive(Copy, Clone)]
4050pub struct PF_PopupDef {
4051 pub value: PF_ParamValue,
4052 pub num_choices: A_short,
4053 pub dephault: A_short,
4054 pub u: PF_PopupDef__bindgen_ty_1,
4055}
4056#[repr(C)]
4057#[derive(Copy, Clone)]
4058pub union PF_PopupDef__bindgen_ty_1 {
4059 pub namesptr: *const A_char,
4060}
4061#[doc = " Momentary Buttons -- PF_Param_BUTTON\n\n supported by AE starting with CS 5.5 (AE 10.5); may be supported in other hosts\n"]
4062#[repr(C)]
4063#[derive(Copy, Clone)]
4064pub struct PF_ButtonDef {
4065 pub value: PF_ParamValue,
4066 pub u: PF_ButtonDef__bindgen_ty_1,
4067}
4068#[repr(C)]
4069#[derive(Copy, Clone)]
4070pub union PF_ButtonDef__bindgen_ty_1 {
4071 pub namesptr: *const A_char,
4072}
4073pub const PF_PathID_NONE: _bindgen_ty_41 = 0;
4074pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
4075pub type PF_PathID = A_u_long;
4076pub const PF_MaskMode_NONE: _bindgen_ty_42 = 0;
4077pub const PF_MaskMode_ADD: _bindgen_ty_42 = 1;
4078pub const PF_MaskMode_SUBTRACT: _bindgen_ty_42 = 2;
4079pub const PF_MaskMode_INTERSECT: _bindgen_ty_42 = 3;
4080pub const PF_MaskMode_LIGHTEN: _bindgen_ty_42 = 4;
4081pub const PF_MaskMode_DARKEN: _bindgen_ty_42 = 5;
4082pub const PF_MaskMode_DIFFERENCE: _bindgen_ty_42 = 6;
4083pub const PF_MaskMode_ACCUM: _bindgen_ty_42 = 7;
4084pub const PF_NUM_MASKMODES: _bindgen_ty_42 = 8;
4085pub type _bindgen_ty_42 = ::std::os::raw::c_uint;
4086pub type PF_MaskMode = A_long;
4087#[doc = " Path -- PF_Param_PATH\n\nPath parameters give access to the mask/path/shapes of the layer on which\nthe effect is applied. For more information\non how to use these paths, see the PF_PathQuerySuite, and the PF_PathDataSuite\nin AE_EffectSuites.h"]
4088#[repr(C)]
4089#[derive(Debug, Copy, Clone)]
4090pub struct PF_PathDef {
4091 pub path_id: PF_PathID,
4092 pub reserved0: A_long,
4093 pub dephault: A_long,
4094}
4095pub type PF_ArbitraryH = PF_Handle;
4096#[repr(C)]
4097#[derive(Debug, Copy, Clone)]
4098pub struct PF_ArbitraryDef {
4099 pub id: A_short,
4100 pub pad: A_short,
4101 pub dephault: PF_ArbitraryH,
4102 pub value: PF_ArbitraryH,
4103 pub refconPV: *mut ::std::os::raw::c_void,
4104}
4105pub const PF_Arbitrary_NEW_FUNC: _bindgen_ty_43 = 0;
4106pub const PF_Arbitrary_DISPOSE_FUNC: _bindgen_ty_43 = 1;
4107pub const PF_Arbitrary_COPY_FUNC: _bindgen_ty_43 = 2;
4108pub const PF_Arbitrary_FLAT_SIZE_FUNC: _bindgen_ty_43 = 3;
4109pub const PF_Arbitrary_FLATTEN_FUNC: _bindgen_ty_43 = 4;
4110pub const PF_Arbitrary_UNFLATTEN_FUNC: _bindgen_ty_43 = 5;
4111pub const PF_Arbitrary_INTERP_FUNC: _bindgen_ty_43 = 6;
4112pub const PF_Arbitrary_COMPARE_FUNC: _bindgen_ty_43 = 7;
4113pub const PF_Arbitrary_PRINT_SIZE_FUNC: _bindgen_ty_43 = 8;
4114pub const PF_Arbitrary_PRINT_FUNC: _bindgen_ty_43 = 9;
4115pub const PF_Arbitrary_SCAN_FUNC: _bindgen_ty_43 = 10;
4116pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
4117pub type PF_FunctionSelector = A_long;
4118pub const PF_ArbCompare_EQUAL: _bindgen_ty_44 = 0;
4119pub const PF_ArbCompare_LESS: _bindgen_ty_44 = 1;
4120pub const PF_ArbCompare_MORE: _bindgen_ty_44 = 2;
4121pub const PF_ArbCompare_NOT_EQUAL: _bindgen_ty_44 = 3;
4122pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
4123pub type PF_ArbCompareResult = A_long;
4124pub const PF_ArbPrint_NONE: _bindgen_ty_45 = 0;
4125pub const PF_ArbPrint_ABBREVIATED: _bindgen_ty_45 = 1;
4126pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
4127pub type PF_ArbPrintFlags = A_long;
4128#[repr(C)]
4129#[derive(Copy, Clone)]
4130pub struct PF_ArbParamsExtra {
4131 pub which_function: PF_FunctionSelector,
4132 pub id: A_short,
4133 pub padding: A_short,
4134 pub u: PF_ArbParamsExtra__bindgen_ty_1,
4135}
4136#[repr(C)]
4137#[derive(Copy, Clone)]
4138pub union PF_ArbParamsExtra__bindgen_ty_1 {
4139 pub new_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1,
4140 pub dispose_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2,
4141 pub copy_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3,
4142 pub flat_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4,
4143 pub flatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5,
4144 pub unflatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6,
4145 pub interp_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7,
4146 pub compare_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8,
4147 pub print_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9,
4148 pub print_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10,
4149 pub scan_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11,
4150}
4151#[repr(C)]
4152#[derive(Debug, Copy, Clone)]
4153pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1 {
4154 pub refconPV: *mut ::std::os::raw::c_void,
4155 pub arbPH: *mut PF_ArbitraryH,
4156}
4157#[repr(C)]
4158#[derive(Debug, Copy, Clone)]
4159pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2 {
4160 pub refconPV: *mut ::std::os::raw::c_void,
4161 pub arbH: PF_ArbitraryH,
4162}
4163#[repr(C)]
4164#[derive(Debug, Copy, Clone)]
4165pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3 {
4166 pub refconPV: *mut ::std::os::raw::c_void,
4167 pub src_arbH: PF_ArbitraryH,
4168 pub dst_arbPH: *mut PF_ArbitraryH,
4169}
4170#[repr(C)]
4171#[derive(Debug, Copy, Clone)]
4172pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4 {
4173 pub refconPV: *mut ::std::os::raw::c_void,
4174 pub arbH: PF_ArbitraryH,
4175 pub flat_data_sizePLu: *mut A_u_long,
4176}
4177#[repr(C)]
4178#[derive(Debug, Copy, Clone)]
4179pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5 {
4180 pub refconPV: *mut ::std::os::raw::c_void,
4181 pub arbH: PF_ArbitraryH,
4182 pub buf_sizeLu: A_u_long,
4183 pub flat_dataPV: *mut ::std::os::raw::c_void,
4184}
4185#[repr(C)]
4186#[derive(Debug, Copy, Clone)]
4187pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6 {
4188 pub refconPV: *mut ::std::os::raw::c_void,
4189 pub buf_sizeLu: A_u_long,
4190 pub flat_dataPV: *const ::std::os::raw::c_void,
4191 pub arbPH: *mut PF_ArbitraryH,
4192}
4193#[repr(C)]
4194#[derive(Debug, Copy, Clone)]
4195pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7 {
4196 pub refconPV: *mut ::std::os::raw::c_void,
4197 pub left_arbH: PF_ArbitraryH,
4198 pub right_arbH: PF_ArbitraryH,
4199 pub tF: PF_FpLong,
4200 pub interpPH: *mut PF_ArbitraryH,
4201}
4202#[repr(C)]
4203#[derive(Debug, Copy, Clone)]
4204pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8 {
4205 pub refconPV: *mut ::std::os::raw::c_void,
4206 pub a_arbH: PF_ArbitraryH,
4207 pub b_arbH: PF_ArbitraryH,
4208 pub compareP: *mut PF_ArbCompareResult,
4209}
4210#[repr(C)]
4211#[derive(Debug, Copy, Clone)]
4212pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9 {
4213 pub refconPV: *mut ::std::os::raw::c_void,
4214 pub arbH: PF_ArbitraryH,
4215 pub print_sizePLu: *mut A_u_long,
4216}
4217#[repr(C)]
4218#[derive(Debug, Copy, Clone)]
4219pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10 {
4220 pub refconPV: *mut ::std::os::raw::c_void,
4221 pub print_flags: PF_ArbPrintFlags,
4222 pub arbH: PF_ArbitraryH,
4223 pub print_sizeLu: A_u_long,
4224 pub print_bufferPC: *mut A_char,
4225}
4226#[repr(C)]
4227#[derive(Debug, Copy, Clone)]
4228pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11 {
4229 pub refconPV: *mut ::std::os::raw::c_void,
4230 pub bufPC: *const A_char,
4231 pub bytes_to_scanLu: A_u_long,
4232 pub arbPH: *mut PF_ArbitraryH,
4233}
4234#[repr(C)]
4235#[derive(Debug, Copy, Clone)]
4236pub struct PF_UserChangedParamExtra {
4237 pub param_index: PF_ParamIndex,
4238}
4239#[repr(C)]
4240#[derive(Debug, Copy, Clone)]
4241pub struct PF_ImporterPrefsData {
4242 _unused: [u8; 0],
4243}
4244pub type PF_ImporterPrefsDataPtr = *mut PF_ImporterPrefsData;
4245#[repr(C)]
4246#[derive(Debug, Copy, Clone)]
4247pub struct PF_TranslateParamsToPrefsExtra {
4248 pub prefsPC: PF_ImporterPrefsDataPtr,
4249 pub prefs_sizeLu: A_u_long,
4250}
4251pub const PF_DepCheckType_NONE: _bindgen_ty_46 = 0;
4252pub const PF_DepCheckType_ALL_DEPENDENCIES: _bindgen_ty_46 = 1;
4253pub const PF_DepCheckType_MISSING_DEPENDENCIES: _bindgen_ty_46 = 2;
4254pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
4255pub type PF_DepCheckType = A_long;
4256#[repr(C)]
4257#[derive(Debug, Copy, Clone)]
4258pub struct PF_ExtDependenciesExtra {
4259 pub check_type: PF_DepCheckType,
4260 pub dependencies_strH: PF_Handle,
4261}
4262#[repr(C)]
4263#[derive(Copy, Clone)]
4264pub union PF_ParamDefUnion {
4265 pub ld: PF_LayerDef,
4266 pub sd: PF_SliderDef,
4267 pub fd: PF_FixedSliderDef,
4268 pub ad: PF_AngleDef,
4269 pub bd: PF_CheckBoxDef,
4270 pub cd: PF_ColorDef,
4271 pub td: PF_PointDef,
4272 pub pd: PF_PopupDef,
4273 pub fs_d: PF_FloatSliderDef,
4274 pub arb_d: PF_ArbitraryDef,
4275 pub path_d: PF_PathDef,
4276 pub button_d: PF_ButtonDef,
4277 pub point3d_d: PF_Point3DDef,
4278}
4279pub const PF_PUI_NONE: _bindgen_ty_47 = 0;
4280pub const PF_PUI_TOPIC: _bindgen_ty_47 = 1;
4281pub const PF_PUI_CONTROL: _bindgen_ty_47 = 2;
4282pub const PF_PUI_STD_CONTROL_ONLY: _bindgen_ty_47 = 4;
4283pub const PF_PUI_NO_ECW_UI: _bindgen_ty_47 = 8;
4284pub const PF_PUI_ECW_SEPARATOR: _bindgen_ty_47 = 16;
4285pub const PF_PUI_DISABLED: _bindgen_ty_47 = 32;
4286pub const PF_PUI_DONT_ERASE_TOPIC: _bindgen_ty_47 = 64;
4287pub const PF_PUI_DONT_ERASE_CONTROL: _bindgen_ty_47 = 128;
4288pub const PF_PUI_RADIO_BUTTON: _bindgen_ty_47 = 256;
4289pub const PF_PUI_INVISIBLE: _bindgen_ty_47 = 512;
4290#[doc = " Param UI Flags\n\nPF_PUI_TOPIC\n\nSet this flag if you handle PF_Cmd_EVENTs for the \"topic\" of\nthe parameter. The \"topic\" is the portion of the param UI\nin the Effect Controls Window (ECW) that is still visible\nwhen the twirly-arrow is twirled up for that param.\n\nIf you set this flag, you must also set PF_OutFlag_CUSTOM_UI\nat PF_Cmd_GLOBAL_SETUP time.\n\nPF_PUI_CONTROL\n\nSet this flag if you handle PF_Cmd_EVENTs for the control\narea in the ECW. This is the area that becomes invisible\nwhen you twirl up a parameter's twirly arrow (and is the\nusual place to have your custom UI).\n\nIf you set this flag, you must also set PF_OutFlag_CUSTOM_UI\nat PF_Cmd_GLOBAL_SETUP time.\n\nPF_PUI_STD_CONTROL_ONLY\n\nSet this flag if you want the standard control only -- no\ndata stream will be associated with this parameter, and\nthus no keyframes (nothing appears in the Time Layout window\nfor this type of param).\n\nYou might want to do this to control something in your\nsequence data with a standard control. Or in your arb\ndata, or custom UI in the comp window, or to group-set multiple\nother controls.\n\n\nThis flag can be used with these param types:\nPF_Param_SLIDER, PF_Param_FIX_SLIDER, PF_Param_ANGLE,\nPF_Param_CHECKBOX, PF_Param_COLOR, PF_Param_POINT,\nPF_Param_POPUP, PF_Param_FLOAT_SLIDER, PF_Param_POINT_3D\n\nbut NOT:\n\nPF_Param_CUSTOM, PF_Param_NO_DATA,\nPF_Param_LAYER, PF_Param_ARBITRARY_DATA, PF_Param_PATH\n\nIf you set this flag, you must also set PF_ParamFlag_SUPERVISE\n(otherwise you would never find out about value changes, and\nthe setting would never be used for anything). This flag\ndoes not require the setting of PF_OutFlag_CUSTOM_UI.\n\nIf you want a standard control for PF_Param_ARBITRARY_DATA,\njust add one (or more) using PF_PUI_STD_CONTROL_ONLY with\nthe supported param types, and then when handling\nPF_Cmd_USER_CHANGED_PARAM you can modify your arb data.\n\n\nPF_PUI_NO_ECW_UI\n\nSet this flag if you want no UI to appear in the Effect Controls\nWindow. Presumably, you are setting the value of the parameter\nthrough some other method (e.g. custom UI in the comp window,\nor while handling PF_Cmd_USER_CHANGED_PARAM for a different param with\nPF_ParamFlag_SUPERVISE set). In AE, this doesn't affect keyframe\nvisibility in the timeline. In PPro it does remove the entire row,\nso you won't see keyframes.\n\nPF_PUI_ECW_SEPARATOR\n\nSet this flag if you'd like a thick line above this parameter\nin the effect control window. This is provided so that parameters\ncan be grouped visually, if needed (without adding groups).\nThis flag can be changed at runtime through the PF_UpdateParamUI()\nmethod. Not used by AE.\n\nPF_PUI_INVISIBLE\n\nSet this flag if you'd like the parameter to be initially invisible. This is useful\nif your effect needs hidden data parameters that affect rendering.\n\nPremiere only: The parameter can later be made visible by clearing the flag\nduring the PF_UpdateParamUI() callback."]
4291pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
4292pub type PF_ParamUIFlags = A_long;
4293pub const PF_ChangeFlag_NONE: _bindgen_ty_48 = 0;
4294pub const PF_ChangeFlag_CHANGED_VALUE: _bindgen_ty_48 = 1;
4295pub const PF_ChangeFlag_RESERVED: _bindgen_ty_48 = 2;
4296pub const PF_ChangeFlag_SET_TO_VARY: _bindgen_ty_48 = 4;
4297pub const PF_ChangeFlag_SET_TO_CONSTANT: _bindgen_ty_48 = 8;
4298#[doc = " PF_ChangeFlags\n\nNew in AE 4.0 (although PF_ChangeFlag_CHANGED_VALUE was implemented\nby setting low bit of old changed field).\n\nPF_ChangeFlag_CHANGED_VALUE\n\nSet this flag for each param whose value you change when handling\na PF_Cmd_USER_CHANGED_PARAM or specific PF_Cmd_EVENT events\n(PF_Event_DO_CLICK, PF_Event_DRAG, & PF_Event_KEYDOWN). If set during\nPF_Cmd_EVENT, but sure to also set PF_EO_HANDLED_EVENT before returning.\nYou can change as many params as you want at once. These changes are undoable and\nre-doable by the user. Exception: do not set PF_PUI_STD_CONTROL_ONLY\nparam values with this flag, use PF_UpdateParamUI() instead.\n\nPF_ChangeFlag_SET_TO_VARY\n\nNot yet implemented. Same restrictions as PF_ChangeFlag_CHANGED_VALUE.\n\nPF_ChangeFlag_SET_TO_CONSTANT\n\nNot yet implemented. Same restrictions as PF_ChangeFlag_CHANGED_VALUE."]
4299pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
4300pub type PF_ChangeFlags = A_long;
4301#[doc = " ParamDef"]
4302#[repr(C)]
4303#[derive(Copy, Clone)]
4304pub struct PF_ParamDef {
4305 pub uu: PF_ParamDef__bindgen_ty_1,
4306 pub ui_flags: PF_ParamUIFlags,
4307 pub ui_width: A_short,
4308 pub ui_height: A_short,
4309 pub param_type: PF_ParamType,
4310 pub name: [A_char; 32usize],
4311 pub flags: PF_ParamFlags,
4312 pub unused: A_long,
4313 pub u: PF_ParamDefUnion,
4314}
4315#[repr(C)]
4316#[derive(Copy, Clone)]
4317pub union PF_ParamDef__bindgen_ty_1 {
4318 pub id: A_long,
4319 pub change_flags: PF_ChangeFlags,
4320}
4321#[doc = " ParamDef"]
4322pub type PF_ParamDefPtr = *mut PF_ParamDef;
4323#[doc = " ParamDef"]
4324pub type PF_ParamDefH = *mut *mut PF_ParamDef;
4325pub type PF_ParamList = *mut *mut PF_ParamDef;
4326pub const PF_ChannelMask_ALPHA: _bindgen_ty_49 = 1;
4327pub const PF_ChannelMask_RED: _bindgen_ty_49 = 2;
4328pub const PF_ChannelMask_GREEN: _bindgen_ty_49 = 4;
4329pub const PF_ChannelMask_BLUE: _bindgen_ty_49 = 8;
4330pub const PF_ChannelMask_ARGB: _bindgen_ty_49 = 15;
4331#[doc = " -------------------- Smart Render Interface Constants and Structures --------------------\n\nPF_Cmd_SMART_PRE_RENDER gets a PF_PreRenderExtra struct in the extra pointer, and must\nfill out the \"output\" field before returning.\n\nPF_Cmd_SMART_RENDER gets a PF_SmartRenderExtra struct in the extra pointer, if pre-render was invoked.\n"]
4332pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
4333pub type PF_ChannelMask = A_long;
4334pub const PF_GPU_Framework_NONE: _bindgen_ty_50 = 0;
4335pub const PF_GPU_Framework_OPENCL: _bindgen_ty_50 = 1;
4336pub const PF_GPU_Framework_METAL: _bindgen_ty_50 = 2;
4337pub const PF_GPU_Framework_CUDA: _bindgen_ty_50 = 3;
4338pub type _bindgen_ty_50 = ::std::os::raw::c_uint;
4339pub type PF_GPU_Framework = A_long;
4340#[repr(C)]
4341#[derive(Debug, Copy, Clone)]
4342pub struct PF_RenderRequest {
4343 pub rect: PF_LRect,
4344 pub field: PF_Field,
4345 pub channel_mask: PF_ChannelMask,
4346 pub preserve_rgb_of_zero_alpha: PF_Boolean,
4347 pub unused: [::std::os::raw::c_char; 3usize],
4348 pub reserved: [A_long; 4usize],
4349}
4350#[repr(C)]
4351#[derive(Debug, Copy, Clone)]
4352pub struct PF_PreRenderInput {
4353 pub output_request: PF_RenderRequest,
4354 pub bitdepth: ::std::os::raw::c_short,
4355 pub gpu_data: *const ::std::os::raw::c_void,
4356 pub what_gpu: PF_GPU_Framework,
4357 pub device_index: A_u_long,
4358}
4359pub type PF_DeletePreRenderDataFunc =
4360 ::std::option::Option<unsafe extern "C" fn(pre_render_data: *mut ::std::os::raw::c_void)>;
4361pub const PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS: _bindgen_ty_51 = 1;
4362pub const PF_RenderOutputFlag_GPU_RENDER_POSSIBLE: _bindgen_ty_51 = 2;
4363pub const PF_RenderOutputFlag_RESERVED1: _bindgen_ty_51 = 4;
4364pub type _bindgen_ty_51 = ::std::os::raw::c_uint;
4365pub type PF_RenderOutputFlags = ::std::os::raw::c_short;
4366#[repr(C)]
4367#[derive(Debug, Copy, Clone)]
4368pub struct PF_PreRenderOutput {
4369 pub result_rect: PF_LRect,
4370 pub max_result_rect: PF_LRect,
4371 pub solid: PF_Boolean,
4372 pub reserved: PF_Boolean,
4373 pub flags: PF_RenderOutputFlags,
4374 pub pre_render_data: *mut ::std::os::raw::c_void,
4375 pub delete_pre_render_data_func: PF_DeletePreRenderDataFunc,
4376}
4377#[repr(C)]
4378#[derive(Debug, Copy, Clone)]
4379pub struct PF_CheckoutResult {
4380 pub result_rect: PF_LRect,
4381 pub max_result_rect: PF_LRect,
4382 pub par: PF_RationalScale,
4383 pub solid: PF_Boolean,
4384 pub reservedB: [PF_Boolean; 3usize],
4385 pub ref_width: A_long,
4386 pub ref_height: A_long,
4387 pub reserved: [A_long; 6usize],
4388}
4389#[repr(C)]
4390#[derive(Debug, Copy, Clone)]
4391pub struct PF_PreRenderCallbacks {
4392 pub checkout_layer: ::std::option::Option<
4393 unsafe extern "C" fn(
4394 effect_ref: PF_ProgPtr,
4395 index: PF_ParamIndex,
4396 checkout_idL: A_long,
4397 req: *const PF_RenderRequest,
4398 what_time: A_long,
4399 time_step: A_long,
4400 time_scale: A_u_long,
4401 checkout_result: *mut PF_CheckoutResult,
4402 ) -> PF_Err,
4403 >,
4404 pub GuidMixInPtr: ::std::option::Option<
4405 unsafe extern "C" fn(
4406 effect_ref: PF_ProgPtr,
4407 buf_sizeLu: A_u_long,
4408 buf: *const ::std::os::raw::c_void,
4409 ) -> PF_Err,
4410 >,
4411}
4412#[repr(C)]
4413#[derive(Debug, Copy, Clone)]
4414pub struct PF_PreRenderExtra {
4415 pub input: *mut PF_PreRenderInput,
4416 pub output: *mut PF_PreRenderOutput,
4417 pub cb: *mut PF_PreRenderCallbacks,
4418}
4419#[repr(C)]
4420#[derive(Debug, Copy, Clone)]
4421pub struct PF_SmartRenderInput {
4422 pub output_request: PF_RenderRequest,
4423 pub bitdepth: ::std::os::raw::c_short,
4424 pub pre_render_data: *mut ::std::os::raw::c_void,
4425 pub gpu_data: *const ::std::os::raw::c_void,
4426 pub what_gpu: PF_GPU_Framework,
4427 pub device_index: A_u_long,
4428}
4429#[repr(C)]
4430#[derive(Debug, Copy, Clone)]
4431pub struct PF_SmartRenderCallbacks {
4432 pub checkout_layer_pixels: ::std::option::Option<
4433 unsafe extern "C" fn(
4434 effect_ref: PF_ProgPtr,
4435 checkout_idL: A_long,
4436 pixels: *mut *mut PF_EffectWorld,
4437 ) -> PF_Err,
4438 >,
4439 pub checkin_layer_pixels: ::std::option::Option<
4440 unsafe extern "C" fn(effect_ref: PF_ProgPtr, checkout_idL: A_long) -> PF_Err,
4441 >,
4442 pub checkout_output: ::std::option::Option<
4443 unsafe extern "C" fn(effect_ref: PF_ProgPtr, output: *mut *mut PF_EffectWorld) -> PF_Err,
4444 >,
4445}
4446#[repr(C)]
4447#[derive(Debug, Copy, Clone)]
4448pub struct PF_SmartRenderExtra {
4449 pub input: *mut PF_SmartRenderInput,
4450 pub cb: *mut PF_SmartRenderCallbacks,
4451}
4452#[doc = " -------------------- GPU Setup/Setdown Constants and Structures --------------------\n\nPF_Cmd_GPU_DEVICE_SETUP gets a PF_GPUDeviceSetupExtra struct in the extra pointer.\n\nPF_Cmd_GPU_DEVICE_SETDOWN gets a PF_GPUDeviceSetdownExtra struct in the extra pointer.\n"]
4453#[repr(C)]
4454#[derive(Debug, Copy, Clone)]
4455pub struct PF_GPUDeviceSetupInput {
4456 pub what_gpu: PF_GPU_Framework,
4457 pub device_index: A_u_long,
4458}
4459#[repr(C)]
4460#[derive(Debug, Copy, Clone)]
4461pub struct PF_GPUDeviceSetupOutput {
4462 pub gpu_data: *mut ::std::os::raw::c_void,
4463}
4464#[repr(C)]
4465#[derive(Debug, Copy, Clone)]
4466pub struct PF_GPUDeviceSetupExtra {
4467 pub input: *mut PF_GPUDeviceSetupInput,
4468 pub output: *mut PF_GPUDeviceSetupOutput,
4469}
4470#[repr(C)]
4471#[derive(Debug, Copy, Clone)]
4472pub struct PF_GPUDeviceSetdownInput {
4473 pub gpu_data: *mut ::std::os::raw::c_void,
4474 pub what_gpu: PF_GPU_Framework,
4475 pub device_index: A_u_long,
4476}
4477#[repr(C)]
4478#[derive(Debug, Copy, Clone)]
4479pub struct PF_GPUDeviceSetdownExtra {
4480 pub input: *mut PF_GPUDeviceSetdownInput,
4481}
4482#[repr(C)]
4483#[derive(Debug, Copy, Clone)]
4484pub struct _PF_CustomUIInfo {
4485 _unused: [u8; 0],
4486}
4487#[doc = " -------------------- Interaction Callbacks --------------------\n\nEffects modules use callbacks to define their parameters. When invoked,\nthey will be given the parameters values at the particular invocation\nmoment, but some effects may need to ask for the parameter values at\nother times (notably of layer parameters for, say, a visual echo).\n\nWhile running, effects modules are responsible for checking for user\ninterrupts. This checking can be done with either the abort callback,\nwhich will return a value indicating if the user has taken any action,\nor with the progress callback, which performs user interrupt checking\njust like the abort callback, and also displays a progress display.\n\nAt the bottom of this section are macros for accessing these callback\nroutines. The first parameter to each macro is a pointer to a PF_InData\nstructure, defined below. This pointer will be passed to your effect.\n\ncheckout_param\nThe checkout_param callback allows you to inquire param values at times\nother than the current one, and allows you to access layer params other\nthan the default input layer and the output layer. See the notes on the\n\"params\" structure at the end of this file. The PF_ParamDef you must\nspecify cannot point into the \"params\" array; the memory must exist else-\nwhere, such as on the stack.\n\nIf you checkout a layer parameter and the layer popup is currently set\nto <none>, the return value will be filled with zeros. You can check\nthe \"data\" pointer. If it is NULL, then the layer param is set to <none>\nand you should do something like faking an all alpha zero layer or some\nsuch nonsense. IMPORTANT: Due to 13.5 threading changes, checking out\na layer param that is not <none> inside of UPDATE_PARAMS_UI will return\na frame with black pixels to avoid render requests and possible deadlock.\nIn other selectors the actual render will be triggered as it did before.\n\ncheckin_param\nWhen you have called checkout_param, you must call checkin_param when you\nare done, so After Effects can clean up after itself and you. This is\nvery important for smooth functioning and also to save memory where possible.\nOnce checked in, the fields in the PF_ParamDef will no longer be valid.\n\nadd_param\nWhen given the PARAMS_SETUP message, the effect will generally make a\nseries of calls to the add_param routine to define the interface that\nthe After Effects user will see. See the PF_ParamDefs defined above.\nCurrently you can only add params at the end, and only at PARAMS_SETUP\ntime.\n\nabort\nPeriodically, you should check if the user wants to interrupt the\ncurrent processing. The abort proc here will return non-zero if\nthe effects module should suspend its current processing. If you\ncall this routine and it returns a value other than zero, you should\nreturn that value when your effect returns. That will let us know\nif the effect completed rendering or not.\n\nprogress\nAlternatively, you may wish to display a progress bar while you are\nprocessing the image. This routine combines the abort proc user\ninterrupt checking with code that will display a progress bar for\nyou. The current and total params represent a fraction (current/total)\nthat describes how far you are along in your processing. Current\nshould equal total when done. Additionally, this routine will return\nnon-zero if you should suspend/abort your current processing. You\nshould probably try not to call this too frequently (e.g. at every pixel).\nIt is better to call it, say, once per scanline, unless your filter is\nreally really slow."]
4488pub type PF_CustomUIInfo = _PF_CustomUIInfo;
4489#[repr(C)]
4490#[derive(Debug, Copy, Clone)]
4491pub struct PF_InteractCallbacks {
4492 pub checkout_param: ::std::option::Option<
4493 unsafe extern "C" fn(
4494 effect_ref: PF_ProgPtr,
4495 index: PF_ParamIndex,
4496 what_time: A_long,
4497 time_step: A_long,
4498 time_scale: A_u_long,
4499 param: *mut PF_ParamDef,
4500 ) -> PF_Err,
4501 >,
4502 pub checkin_param: ::std::option::Option<
4503 unsafe extern "C" fn(effect_ref: PF_ProgPtr, param: *mut PF_ParamDef) -> PF_Err,
4504 >,
4505 pub add_param: ::std::option::Option<
4506 unsafe extern "C" fn(
4507 effect_ref: PF_ProgPtr,
4508 index: PF_ParamIndex,
4509 def: PF_ParamDefPtr,
4510 ) -> PF_Err,
4511 >,
4512 pub abort: ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
4513 pub progress: ::std::option::Option<
4514 unsafe extern "C" fn(effect_ref: PF_ProgPtr, current: A_long, total: A_long) -> PF_Err,
4515 >,
4516 pub register_ui: ::std::option::Option<
4517 unsafe extern "C" fn(effect_ref: PF_ProgPtr, cust_info: *mut PF_CustomUIInfo) -> PF_Err,
4518 >,
4519 pub checkout_layer_audio: ::std::option::Option<
4520 unsafe extern "C" fn(
4521 effect_ref: PF_ProgPtr,
4522 index: PF_ParamIndex,
4523 start_time: A_long,
4524 duration: A_long,
4525 time_scale: A_u_long,
4526 rate: PF_UFixed,
4527 bytes_per_sample: A_long,
4528 num_channels: A_long,
4529 fmt_signed: A_long,
4530 audio: *mut PF_LayerAudio,
4531 ) -> PF_Err,
4532 >,
4533 pub checkin_layer_audio: ::std::option::Option<
4534 unsafe extern "C" fn(effect_ref: PF_ProgPtr, audio: PF_LayerAudio) -> PF_Err,
4535 >,
4536 pub get_audio_data: ::std::option::Option<
4537 unsafe extern "C" fn(
4538 effect_ref: PF_ProgPtr,
4539 audio: PF_LayerAudio,
4540 data0: *mut PF_SndSamplePtr,
4541 num_samples0: *mut A_long,
4542 rate0: *mut PF_UFixed,
4543 bytes_per_sample0: *mut A_long,
4544 num_channels0: *mut A_long,
4545 fmt_signed0: *mut A_long,
4546 ) -> PF_Err,
4547 >,
4548 pub reserved_str: [*mut ::std::os::raw::c_void; 3usize],
4549 pub reserved: [*mut ::std::os::raw::c_void; 10usize],
4550}
4551#[doc = " -------------------- Effect Parameter Blocks --------------------\n\nThe effects module itself is invoked with input and output blocks\nof parameters for various messages that it needs to handle. The\noutput block (values returned from the effect to the program) and\nthe input block (values provided by the program for the edification\nof the effect) are defined here. Discussion follows.\n\nThe Output Block\n\nMost fields of the output block are only examined for changes after\ncertain commands have been sent to the effect module. Each field\nbelow describes when it will be checked.\n\nmy_version\nThis is the version number of your plug-in effect, not to be confused\nwith the version of the plug-in specification. Please set this\nat PF_Cmd_GLOBAL_SETUP.\n\nname\nThis lets you override the name of the effect in the Time Layout and\nin the Effect Controls windows when the effect is applied. The name from\nthe PiPL resource is always used in the Effect menu. This field is\nchecked after PF_Cmd_SEQUENCE_SETUP. You will almost always leave\nthis field empty.\n\nglobal_data\nThis is a Handle that you can allocate at PF_Cmd_GLOBAL_SETUP\ntime. It will be passed back to you verbatim in the input\nparameter block for use later on. In PF_Cmd_GLOBAL_SETUP,\nthe global_data field in the Input Block may be set to a\nflattened version of your global data, in which case you should\nunflatten it, free the flat version, and set this field to the\nunflattened new global data.\n\nIt will be locked & unlocked for you automatically like sequence_data.\n\nnum_params\nThe calling application will sanity check the num_params field\nvs the times add_param is called. The implicit main\nlayer parameter MUST be included in the parameter count. Use the\nnum_params value in the in_data as a starting value (it will\ninclude the implicit layer parameter).\nSet this field when you get PF_Cmd_PARAMS_SETUP.\n\nsequence_data\nThis is a Handle that you can allocate (using PF_NEW_HANDLE)\nat PF_Cmd_SEQUENCE_SETUP time.\nIt will be passed back to you in the input parameter block\nfor later use.\n\nWARNING: this handle is always locked for you before your plugin\nis called, and the lock-state is restored on the way out. If you\nhave arbitrary data, your plugin can be called re-entrantly, so\nif you have a lock/unlock inside your plugin, the handle will\nbecome unlocked prematurely -- instead simply depend on the host\nto lock & unlock your sequence data for you. Of course during\nPF_Cmd_SEQUENCE_SETUP the handle you allocate will not be\nlocked unless you explicitly lock it at that time.\n\nThe contents of this handle will be written out to\ndisk. If other handles\thang off this block, you must specify the\nPF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING out flag when you get\nthe PF_Cmd_GLOBAL_SETUP command. You will then receive the\nPF_Cmd_SEQUENCE_FLATTEN before your handle is written out. At that\ntime, you should create a flat version of the handle contents,\nfree the old unflat handle, and set this field to the flattened\nversion of the handle. Or after disposing, simply set to NULL\nand nothing will be written to disk.\n\nYou will receive a PF_Cmd_SEQUENCE_RESETUP\ncall to unflatten this handle (as well as to adjust the sequence\ndata to altered frame rates, etc). If your\nsequence data can be flat or unflat, you should store its current\nstate along with the other data, and check that value in Resetup.\nIf the handle is flat, Resetup should unflatten it, free the flat\nhandle, and set this field to the new unflat usable handle.\n\nflat_sdata_size\nOBSOLETE. Turns out, it was never used. Since the handle\nset in sequence_data must be allocated using PF_NEW_HANDLE,\nthe host can find out the size of the handle without asking.\n\nframe_data\nThis is a Handle that you can allocated at PF_Cmd_FRAME_SETUP\ntime. It will be passed to you in the input parameters, as\nwith the global_data and the sequence_data. This will not\nbe written out to disk. There is no particular use for this.\nSet this field in PF_Cmd_FRAME_SETUP, if you must.\n\nIt will be locked & unlocked for you like sequence_data.\n\nwidth\nheight\norigin\nYou set these fields at PF_Cmd_FRAME_SETUP time to indicate\nthat the output image will be larger than the input image.\nYou\tshould set width and height to the size that you want the\noutput buffer to be. Set origin to the place that the\npoint (0,0) in the input should map to in the new larger\noutput. Thus, if you created a 5 pixel drop shadow up and left,\nyou would set origin to (5, 5).\n\nout_flags\nout_flags2\nThis field can be set to an OR-ed combination of the PF_OutFlag\nand PF_OutFlag2 constants (don't mix them up!) to communicate\nthings to After Effects. This will be checked after every\ncommand, but only certain flags are relevant at given times.\nCheck the PF_OutFlag constants above.\n\nreturn_msg\nThis is a message string (in C string format) that will be\ninterpreted as either an error message or a useful display\nmessage (for instance, for handling PF_Cmd_ABOUT). Fill\nthis string with a message you want After Effects to report\nto the user for you. It will come up in a simple dialog\nwith an OK button. Set the first byte of this string to '\\0'\nto indicate no string -- it is set that way upon entry. This\nfield is examined after every PF_Cmd.\n\nThe Input Block\n\nMany parts of the input block are actually structures defined elsewhere\nin this file, or in the companion file AE_EffectCB.h. See the documentation\nwhere those structures are defined to understand their contents.\nWith any given PF_Cmd, only certain fields in the Input Block will\nhave valid values. Each field described below tells when it is valid.\n\nin_flags\nin_flags2\nThese are various flags indicating some boolean value to\nthe effect module. This is a combination of PF_InFlag values\nOR-ed together. This is set for all commands, though most\nflags make sense only at certain times. Usually this is\njust a copy of the PiPL global flags. See PF_OutFlags and\nPF_OutFlags2 above.\n\ninter\nThis is a structure defined above containing callbacks\nrelated to user interaction. This has callbacks to add parameters,\nto check if the user has interrupted the effect, to display\na progress bar, and to inquire parameter values outside of the\ncurrent moment. See the doc above. When each callback can\nvalidly be executed is defined above.\n\nutils\nThis is a pointer to a block of useful graphical and mathematical\ncallbacks provided for the effects module. The documentation\nfor this block is in the AE_EffectCB.h file. This is a void *,\nwhich can be confusing. See AE_EffectCB.h for macros to use these\nfunctions. This pointer will be defined at all times.\n\neffect_ref\nThis is a opaque piece of data that needs to be passed to\nmost of the various callback routines. Don't worry about it.\n\nquality\nThis is set to one of the PF_Quality constants above to\ndescribe the Quality currently chosen by the user. Ideally,\nyour effect should do a faster version with LO quality, and\na better, \"broadcast\"-able version with HI quality. Also,\nsome of the utility callbacks perform differently between\nLO and HI quality. This is defined for all PF_Cmds related\nto SEQUENCE and FRAME (obviously, including RENDER).\n\nversion\nThis is the version of the effects spec with which you are\nbeing invoked. This will not be defined until after GLOBAL_SETUP.\n\nserial_num\nThis is the serial number of the invoking application.\n\nappl_id\nThis is the identifier of the invoking application. It will\nbe the creator A_long of the app.\n\nfreq\nThis is an estimate of the frequency with which you should\ncall the abort check callback. You can ignore this.\n\nnum_params\nThis is set to the number of input parameters you are receiving.\n\nwhat_cpu\nThis is set to the return value from Gestalt asking what sort\nof CPU your machine has. If your effect requires a certain\ntype of CPU it should check this value and return an error\nindicating that it cannot run. After Effects only runs on\n68020s and higher, so don't sweat it if you require that.\n\nwhat_fpu\nThis is set to the return value from Gestalt asking what sort\nof FPU your machine has. If you require a floating point unit,\nyou should return the OutFlag indicating that in GLOBAL_SETUP,\nand then do not execute your floating point code if this value\nis set to 0 -- just do a PF_COPY of the input to the output when\nyou get the PF_Cmd_RENDER. See OutFlag description above.\n\ncurrent_time\nThis is the time of the current frame. It will be set in RENDER.\nThe number of the current frame is current_time / time_step.\nAll effects sequences start at time 0.\n\ntime_step\nThis is the time difference to the next or last frame. This value\nand current_time and total_time are in units given by time_scale.\nThe time between frames is time_step, not 1. This value will be 0\nat SEQUENCE_SETUP if it is not constant for all frames. It will\nbe set correctly in the FRAME calls, even if it's not constant.\n\ntotal_time\nThis is the amount of time from the start to the end of the\nimage sequence on which this effect is being invoked. The total\nnumber of frames is total_time / time_step.\n\ntime_scale\nThese are the units that current_time, time_step, and total_time\nare in. See QuickTime for an explanation of how these time values work.\n\nwidth\nheight\nThese are the size of the input image. As Stoney Ballard points out,\nthese are certainly NOT the same as the\twidth and height fields in param[0],\nbut rather reflect the full-resolution dimensions of the input layer.\n\nfield\nWill be set to PF_Field_UPPER or PF_Field_LOWER during field-rendering\nif certain conditions are met -- for example: effect must have\nPF_OutFlag_PIX_INDEPENDENT set, and the layer to which the effect is\napplied must not be rotated, scaled nor positioned on a subpixel.\nYou can safely ignore the setting of this field, but might be able to\noptimize things by only processing the specified field.\n\nextent_hint\nThis is a rectangle that indicates the intersection of the visible\nportions of the input and output layers. For an effect that does\nnot do a geometric distortion of the image, copying just this rectangle\nfrom the source image to the destination image is sufficient to copy\nall the image data that the user will see. This can speed up effects\nvery much. Just iterate over only this rectangle of pixels.\n\noutput_origin_x\noutput_origin_y\nThese fields correspond to the origin returned in the out_data at\nPF_Cmd_FRAME_SETUP time. They indicate the position of the top left\ncorner of the input buffer in the output buffer.\n\ndownsample_x\ndownsample_y\nFor speed, the user may have asked for only every Nth vertical or\nhorizontal pixel to be actually rendered by After Effects. The width\nand height of all effect parameters (including layers) will be\nautomatically adjusted to compensate, but the effect needs to know\nthe downsampling factors to correctly interpret scalar parameters\n(ie. sliders) that represent pixel distances in the image.\nDownsample factors will be in the range 1 to 999+. This is set in\nSEQUENCE_SETUP or RESETUP as the case may be. As of PF_PLUG_IN_VERSION 2,\nthis factor is a rational quantity.\n\nglobal_data\nsequence_data\nframe_data\nThese fields are copied from the out data on previous invocations\nand set here for you to access as you need them. They will only\nbe set if they have been allocated during previous commands.\n\npre_effect_source_origin_x\npre_effect_source_origin_y\nThese fields are the origin of the source image in the input buffer. They are set\nonly during frame calls (PF_Cmd_FRAME_SETUP, PF_Cmd_RENDER, PF_Cmd_FRAME_SETDOWN).\nThey will be non-zero only if one or more effects that preceded this effect\non the same layer resized the output buffer (i.e. specified that the output\nimage will be larger or smaller than the input image)."]
4552#[repr(C)]
4553#[derive(Debug, Copy, Clone)]
4554pub struct PF_OutData {
4555 pub my_version: A_u_long,
4556 pub name: [A_char; 32usize],
4557 pub global_data: PF_Handle,
4558 pub num_params: A_long,
4559 pub sequence_data: PF_Handle,
4560 pub flat_sdata_size: A_long,
4561 pub frame_data: PF_Handle,
4562 pub width: A_long,
4563 pub height: A_long,
4564 pub origin: PF_Point,
4565 pub out_flags: PF_OutFlags,
4566 pub return_msg: [A_char; 256usize],
4567 pub start_sampL: A_long,
4568 pub dur_sampL: A_long,
4569 pub dest_snd: PF_SoundWorld,
4570 pub out_flags2: PF_OutFlags2,
4571}
4572#[repr(C)]
4573#[derive(Debug, Copy, Clone)]
4574pub struct PF_InData {
4575 pub inter: PF_InteractCallbacks,
4576 pub utils: *mut _PF_UtilCallbacks,
4577 pub effect_ref: PF_ProgPtr,
4578 pub quality: PF_Quality,
4579 pub version: PF_SpecVersion,
4580 pub serial_num: A_long,
4581 pub appl_id: A_long,
4582 pub num_params: A_long,
4583 pub reserved: A_long,
4584 pub what_cpu: A_long,
4585 pub what_fpu: A_long,
4586 pub current_time: A_long,
4587 pub time_step: A_long,
4588 pub total_time: A_long,
4589 pub local_time_step: A_long,
4590 pub time_scale: A_u_long,
4591 pub field: PF_Field,
4592 pub shutter_angle: PF_Fixed,
4593 pub width: A_long,
4594 pub height: A_long,
4595 pub extent_hint: PF_Rect,
4596 pub output_origin_x: A_long,
4597 pub output_origin_y: A_long,
4598 pub downsample_x: PF_RationalScale,
4599 pub downsample_y: PF_RationalScale,
4600 pub pixel_aspect_ratio: PF_RationalScale,
4601 pub in_flags: PF_InFlags,
4602 pub global_data: PF_Handle,
4603 pub sequence_data: PF_Handle,
4604 pub frame_data: PF_Handle,
4605 pub start_sampL: A_long,
4606 pub dur_sampL: A_long,
4607 pub total_sampL: A_long,
4608 pub src_snd: PF_SoundWorld,
4609 pub pica_basicP: *mut SPBasicSuite,
4610 pub pre_effect_source_origin_x: A_long,
4611 pub pre_effect_source_origin_y: A_long,
4612 pub shutter_phase: PF_Fixed,
4613}
4614#[doc = " -------------------- Effect Prototype --------------------\n\nThe effects module provides a single entry point corresponding to the\nbelow prototype through which all messages are dispatched to the\nappropriate code.\n\nThe cmd parameter is one of the PF_Cmd enumeration defined above.\nAll commands are discussed at that enumeration. There are a lot.\n\nThe in_data and out_data parameters are respectively, PF_InData and\nPF_OutData blocks defined and described above. The in_data contains\nread only information that the effect can use. The out_data contains\nwrite only information through which the effect communicates back to\nthe calling program. The descriptions above give a lot more detail.\n\nThe params list is an array of pointers to variably sized PF_ParamDef\nstructs. This is in typical Unix-like argv format, where the last item\npoints to NULL. The entries in this array describe the current settings\nof the parameters to the effect. Params[0] is the layer to which the\neffect has been applied and is a PF_LayerDef param. Other parameters\nare defined by the effect.\n\nThe output param is also a PF_LayerDef param, like params[0], and is\nan output buffer into which your effect should write the new contents\nof the layer.\n\nA brief explanation about parameter passing to effects:\n\nWhen you are invoked to Render, all \"params\" array entries will be filled\nwith their value at the current time, except for layer params other than\nthe default input layer parameter (ie. param[0]). To get other layer param\nvalues, you must call the checkout_param callback. (See callbacks above.)\n\nIn other words, on PF_Cmd_RENDER, params[0] will be a valid ready-to-use\nPF_EffectWorld and output will be a valid ready-to-use PF_EffectWorld. Other params that\nare not layer params (i.e. sliders, popups, etc.) will be ready-to-use, filled\nwith their value at the current time; you do not need to call checkout_param for\nthem. However, other params (besides [0]) that are layer params will NOT be\nfilled in correctly -- you must make a checkout_param callback to get them.\n\nANY param which you call checkout_param on, you must also call checkin_param\nbefore you exit. If not, After Effects will automatically erase your effect\nmodule code resource from the users hard disk, along with any files that contain\nyour name or any nicknames you have. Sorry. Calling checkin_param is important!"]
4615pub type PF_FilterProc = ::std::option::Option<
4616 unsafe extern "C" fn(
4617 cmd: PF_Cmd,
4618 in_data: *mut PF_InData,
4619 out_data: *mut PF_OutData,
4620 params: PF_ParamList,
4621 output: *mut PF_LayerDef,
4622 extra: *mut ::std::os::raw::c_void,
4623 ) -> PF_Err,
4624>;
4625pub type PF_KernelFlags = A_u_long;
4626pub const PF_SampleEdgeBehav_ZERO: _bindgen_ty_52 = 0;
4627#[doc = " ---------- PF_SampleEdgeBehav ----------\n\nThe sampling routines always deal with 32 bit images, and thus\nneed to compute properly alpha-weighted samples. An issue arises\nwhen an attempt is made to sample outside of the image content area.\n\nBefore PF_PLUG_IN_VERSION 2, After Effects always treated pixels\noutside of the image content area as having alpha = 0, which is desirable\nin many cases. Distortions and other effects may want different sampling\nbehaviors, however, hence the PF_SampleEdgeBehav.\n"]
4628pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
4629pub type PF_SampleEdgeBehav = A_u_long;
4630pub const PF_Xfer_NONE: _bindgen_ty_53 = -1;
4631pub const PF_Xfer_COPY: _bindgen_ty_53 = 0;
4632pub const PF_Xfer_BEHIND: _bindgen_ty_53 = 1;
4633pub const PF_Xfer_IN_FRONT: _bindgen_ty_53 = 2;
4634pub const PF_Xfer_DISSOLVE: _bindgen_ty_53 = 3;
4635pub const PF_Xfer_ADD: _bindgen_ty_53 = 4;
4636pub const PF_Xfer_MULTIPLY: _bindgen_ty_53 = 5;
4637pub const PF_Xfer_SCREEN: _bindgen_ty_53 = 6;
4638pub const PF_Xfer_OVERLAY: _bindgen_ty_53 = 7;
4639pub const PF_Xfer_SOFT_LIGHT: _bindgen_ty_53 = 8;
4640pub const PF_Xfer_HARD_LIGHT: _bindgen_ty_53 = 9;
4641pub const PF_Xfer_DARKEN: _bindgen_ty_53 = 10;
4642pub const PF_Xfer_LIGHTEN: _bindgen_ty_53 = 11;
4643pub const PF_Xfer_DIFFERENCE: _bindgen_ty_53 = 12;
4644pub const PF_Xfer_HUE: _bindgen_ty_53 = 13;
4645pub const PF_Xfer_SATURATION: _bindgen_ty_53 = 14;
4646pub const PF_Xfer_COLOR: _bindgen_ty_53 = 15;
4647pub const PF_Xfer_LUMINOSITY: _bindgen_ty_53 = 16;
4648pub const PF_Xfer_MULTIPLY_ALPHA: _bindgen_ty_53 = 17;
4649pub const PF_Xfer_MULTIPLY_ALPHA_LUMA: _bindgen_ty_53 = 18;
4650pub const PF_Xfer_MULTIPLY_NOT_ALPHA: _bindgen_ty_53 = 19;
4651pub const PF_Xfer_MULTIPLY_NOT_ALPHA_LUMA: _bindgen_ty_53 = 20;
4652pub const PF_Xfer_ADDITIVE_PREMUL: _bindgen_ty_53 = 21;
4653pub const PF_Xfer_ALPHA_ADD: _bindgen_ty_53 = 22;
4654pub const PF_Xfer_COLOR_DODGE: _bindgen_ty_53 = 23;
4655pub const PF_Xfer_COLOR_BURN: _bindgen_ty_53 = 24;
4656pub const PF_Xfer_EXCLUSION: _bindgen_ty_53 = 25;
4657pub const PF_Xfer_DIFFERENCE2: _bindgen_ty_53 = 26;
4658pub const PF_Xfer_COLOR_DODGE2: _bindgen_ty_53 = 27;
4659pub const PF_Xfer_COLOR_BURN2: _bindgen_ty_53 = 28;
4660pub const PF_Xfer_LINEAR_DODGE: _bindgen_ty_53 = 29;
4661pub const PF_Xfer_LINEAR_BURN: _bindgen_ty_53 = 30;
4662pub const PF_Xfer_LINEAR_LIGHT: _bindgen_ty_53 = 31;
4663pub const PF_Xfer_VIVID_LIGHT: _bindgen_ty_53 = 32;
4664pub const PF_Xfer_PIN_LIGHT: _bindgen_ty_53 = 33;
4665pub const PF_Xfer_HARD_MIX: _bindgen_ty_53 = 34;
4666pub const PF_Xfer_LIGHTER_COLOR: _bindgen_ty_53 = 35;
4667pub const PF_Xfer_DARKER_COLOR: _bindgen_ty_53 = 36;
4668pub const PF_Xfer_SUBTRACT: _bindgen_ty_53 = 37;
4669pub const PF_Xfer_DIVIDE: _bindgen_ty_53 = 38;
4670pub const PF_Xfer_RESERVED0: _bindgen_ty_53 = 39;
4671pub const PF_Xfer_RESERVED1: _bindgen_ty_53 = 40;
4672pub const PF_Xfer_NUM_MODES: _bindgen_ty_53 = 41;
4673pub type _bindgen_ty_53 = ::std::os::raw::c_int;
4674pub const PF_Xfer_TINT: _bindgen_ty_54 = 29;
4675pub const PF_Xfer_SHADE: _bindgen_ty_54 = 30;
4676pub const PF_Xfer_INTENSE_LIGHT: _bindgen_ty_54 = 32;
4677pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
4678pub const PF_MaskFlag_NONE: _bindgen_ty_55 = 0;
4679pub const PF_MaskFlag_INVERTED: _bindgen_ty_55 = 1;
4680pub const PF_MaskFlag_LUMINANCE: _bindgen_ty_55 = 2;
4681pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
4682pub type PF_MaskFlags = A_long;
4683#[repr(C)]
4684#[derive(Debug, Copy, Clone)]
4685pub struct PF_MaskWorld {
4686 pub mask: PF_EffectWorld,
4687 pub offset: PF_Point,
4688 pub what_is_mask: PF_MaskFlags,
4689}
4690#[doc = " ---------- PF_SampPB ----------\n\nThere are calls to sample an a non-integral point in an image,\nand to sample an area of an image. This parameter block describes\nsome information needed for these image resampling routines."]
4691#[repr(C)]
4692#[derive(Debug, Copy, Clone)]
4693pub struct PF_SampPB {
4694 pub x_radius: PF_Fixed,
4695 pub y_radius: PF_Fixed,
4696 pub area: PF_Fixed,
4697 pub src: *mut PF_EffectWorld,
4698 pub samp_behave: PF_SampleEdgeBehav,
4699 pub allow_asynch: A_long,
4700 pub motion_blur: A_long,
4701 pub comp_mode: PF_CompositeMode,
4702 pub mask0: PF_PixelPtr,
4703 pub fcm_table: *mut A_u_char,
4704 pub fcd_table: *mut A_u_char,
4705 pub reserved: [A_long; 8usize],
4706}
4707pub const PF_Callback_NONE: _bindgen_ty_56 = 0;
4708pub const PF_Callback_BEGIN_SAMPLING: _bindgen_ty_56 = 1;
4709pub const PF_Callback_SUBPIXEL_SAMPLE: _bindgen_ty_56 = 2;
4710pub const PF_Callback_AREA_SAMPLE: _bindgen_ty_56 = 3;
4711pub const PF_Callback_OBSOLETE0: _bindgen_ty_56 = 4;
4712pub const PF_Callback_END_SAMPLING: _bindgen_ty_56 = 5;
4713pub const PF_Callback_COMPOSITE_RECT: _bindgen_ty_56 = 6;
4714pub const PF_Callback_BLEND: _bindgen_ty_56 = 7;
4715pub const PF_Callback_CONVOLVE: _bindgen_ty_56 = 8;
4716pub const PF_Callback_COPY: _bindgen_ty_56 = 9;
4717pub const PF_Callback_FILL: _bindgen_ty_56 = 10;
4718pub const PF_Callback_GAUSSIAN: _bindgen_ty_56 = 11;
4719pub const PF_Callback_ITERATE: _bindgen_ty_56 = 12;
4720pub const PF_Callback_PREMUL: _bindgen_ty_56 = 13;
4721pub const PF_Callback_PREMUL_COLOR: _bindgen_ty_56 = 14;
4722pub const PF_Callback_RGB_TO_HLS: _bindgen_ty_56 = 15;
4723pub const PF_Callback_HLS_TO_RGB: _bindgen_ty_56 = 16;
4724pub const PF_Callback_RGB_TO_YIQ: _bindgen_ty_56 = 17;
4725pub const PF_Callback_YIQ_TO_RGB: _bindgen_ty_56 = 18;
4726pub const PF_Callback_LUMINANCE: _bindgen_ty_56 = 19;
4727pub const PF_Callback_HUE: _bindgen_ty_56 = 20;
4728pub const PF_Callback_LIGHTNESS: _bindgen_ty_56 = 21;
4729pub const PF_Callback_SATURATION: _bindgen_ty_56 = 22;
4730pub const PF_Callback_NEW_WORLD: _bindgen_ty_56 = 23;
4731pub const PF_Callback_DISPOSE_WORLD: _bindgen_ty_56 = 24;
4732pub const PF_Callback_ITERATE_ORIGIN: _bindgen_ty_56 = 25;
4733pub const PF_Callback_ITERATE_LUT: _bindgen_ty_56 = 26;
4734pub const PF_Callback_TRANSFER_RECT: _bindgen_ty_56 = 27;
4735pub const PF_Callback_TRANSFORM_WORLD: _bindgen_ty_56 = 28;
4736pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC: _bindgen_ty_56 = 29;
4737pub const PF_Callback_ITERATE_GENERIC: _bindgen_ty_56 = 30;
4738pub const PF_Callback_SUBPIXEL_SAMPLE16: _bindgen_ty_56 = 31;
4739pub const PF_Callback_AREA_SAMPLE16: _bindgen_ty_56 = 32;
4740pub const PF_Callback_FILL16: _bindgen_ty_56 = 33;
4741pub const PF_Callback_PREMUL_COLOR16: _bindgen_ty_56 = 34;
4742pub const PF_Callback_ITERATE16: _bindgen_ty_56 = 35;
4743pub const PF_Callback_ITERATE_ORIGIN16: _bindgen_ty_56 = 36;
4744pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16: _bindgen_ty_56 = 37;
4745pub const PF_Callback_ITERATE_GENERIC_NO_MAX_THREADS: _bindgen_ty_56 = 38;
4746pub const PF_Callback_ITERATE_NO_MAX_THREADS: _bindgen_ty_56 = 39;
4747pub const PF_Callback_ITERATE_ORIGIN_NO_MAX_THREADS: _bindgen_ty_56 = 40;
4748pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC_NO_MAX_THREADS: _bindgen_ty_56 = 41;
4749pub const PF_Callback_ITERATE16_NO_MAX_THREADS: _bindgen_ty_56 = 42;
4750pub const PF_Callback_ITERATE_ORIGIN16_NO_MAX_THREADS: _bindgen_ty_56 = 43;
4751pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16_NO_MAX_THREADS: _bindgen_ty_56 = 44;
4752#[doc = " ---------- Callback Selectors ----------\n\nSome callbacks have different high and low quality versions.\nThe parameter block of function pointers will automatically\nbe filled with the appropriate versions for the current quality\nsetting, but some filters may wish to override this and access\na callback of different quality. To do this, a get_callback_addr\ncallback is provided which will take a callback selector and a\ndesired quality and return the callback of that quality. The\nselectors for the various callbacks are listed here. Also, a\ntypedef for the function pointer that will be returned is given."]
4753pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
4754pub type PF_CallbackID = A_long;
4755#[repr(C)]
4756#[derive(Debug, Copy, Clone)]
4757pub struct PF_YouMustCastThisToActualFunctionType {
4758 _unused: [u8; 0],
4759}
4760#[doc = "Previous versions of PF_CallbackFunc were defined using varargs in attempt to enforce\nthe effect_ref passed as the first argument to all callbacks. The actual host\nimplementations are generally *not* varargs, and on some platforms the calling\nconventions between normal C ABI and C varargs ABI are not compatible. If your\ncode is trying to call through a PF_CallbackFunc it is unsafe; with this definition\nit will now no longer compile. To fix, cast to the proper API signature before\ncalling. Or better, use the extensive Suite implementations which are explicitly typed"]
4761pub type PF_CallbackFunc = *mut PF_YouMustCastThisToActualFunctionType;
4762pub const PF_PlatData_MAIN_WND: _bindgen_ty_57 = 0;
4763pub const PF_PlatData_EXE_FILE_PATH_DEPRECATED: _bindgen_ty_57 = 1;
4764pub const PF_PlatData_RES_FILE_PATH_DEPRECATED: _bindgen_ty_57 = 2;
4765pub const PF_PlatData_RES_REFNUM: _bindgen_ty_57 = 3;
4766pub const PF_PlatData_RES_DLLINSTANCE: _bindgen_ty_57 = 4;
4767pub const PF_PlatData_SP_PLUG_REF: _bindgen_ty_57 = 5;
4768pub const PF_PlatData_BUNDLE_REF: _bindgen_ty_57 = 6;
4769pub const PF_PlatData_EXE_FILE_PATH_W: _bindgen_ty_57 = 7;
4770pub const PF_PlatData_RES_FILE_PATH_W: _bindgen_ty_57 = 8;
4771pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
4772pub type PF_PlatDataID = A_long;
4773pub const PF_Plane_ALPHA: _bindgen_ty_58 = 1;
4774pub const PF_Plane_RED: _bindgen_ty_58 = 2;
4775pub const PF_Plane_GREEN: _bindgen_ty_58 = 4;
4776pub const PF_Plane_BLUE: _bindgen_ty_58 = 8;
4777#[doc = " ---------- Image Plane Selectors ----------\n\nThese constants can be used to specify a subset\nof the planes of the 32-bit image."]
4778pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
4779pub type PF_Plane = A_u_long;
4780#[doc = " ---------- ANSI Routines Block ----------\n\nWithin the callback routines block there is a block of ANSI\nroutines, so that the filter will not need to link with the\nANSI library. The following structure describes that block\nand is included in the larger Callback Routines block below.\n\nAll angles are expressed in radians; use PF_RAD_PER_DEGREE\nto convert from degrees to radians, if necessary. Be aware\nthat angle parameter types use degrees (in fixed point).\n\nSprintf and strcpy are provided to facilitate string usage,\nsuch as printing for names and supervised controls.\n\nNone of these callbacks vary based on the Quality setting."]
4781#[repr(C)]
4782#[derive(Debug, Copy, Clone)]
4783pub struct PF_ANSICallbacks {
4784 pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4785 pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
4786 pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4787 pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4788 pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4789 pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4790 pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4791 pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4792 pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4793 pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4794 pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4795 pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4796 pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4797 pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4798 pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4799 pub sprintf: ::std::option::Option<
4800 unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
4801 >,
4802 pub strcpy: ::std::option::Option<
4803 unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
4804 >,
4805 pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4806 pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4807 pub ansi_procs: [A_long; 1usize],
4808}
4809#[doc = " ---------- Colorspace Conversion Callbacks\n"]
4810#[repr(C)]
4811#[derive(Debug, Copy, Clone)]
4812pub struct PF_ColorCallbacks {
4813 pub RGBtoHLS: ::std::option::Option<
4814 unsafe extern "C" fn(
4815 effect_ref: PF_ProgPtr,
4816 rgb: *mut PF_Pixel,
4817 hls: *mut PF_Fixed,
4818 ) -> PF_Err,
4819 >,
4820 pub HLStoRGB: ::std::option::Option<
4821 unsafe extern "C" fn(
4822 effect_ref: PF_ProgPtr,
4823 hls: *mut PF_Fixed,
4824 rgb: *mut PF_Pixel,
4825 ) -> PF_Err,
4826 >,
4827 pub RGBtoYIQ: ::std::option::Option<
4828 unsafe extern "C" fn(
4829 effect_ref: PF_ProgPtr,
4830 rgb: *mut PF_Pixel,
4831 yiq: *mut PF_Fixed,
4832 ) -> PF_Err,
4833 >,
4834 pub YIQtoRGB: ::std::option::Option<
4835 unsafe extern "C" fn(
4836 effect_ref: PF_ProgPtr,
4837 yiq: *mut PF_Fixed,
4838 rgb: *mut PF_Pixel,
4839 ) -> PF_Err,
4840 >,
4841 pub Luminance: ::std::option::Option<
4842 unsafe extern "C" fn(
4843 effect_ref: PF_ProgPtr,
4844 rgb: *mut PF_Pixel,
4845 lum100: *mut A_long,
4846 ) -> PF_Err,
4847 >,
4848 pub Hue: ::std::option::Option<
4849 unsafe extern "C" fn(
4850 effect_ref: PF_ProgPtr,
4851 rgb: *mut PF_Pixel,
4852 hue: *mut A_long,
4853 ) -> PF_Err,
4854 >,
4855 pub Lightness: ::std::option::Option<
4856 unsafe extern "C" fn(
4857 effect_ref: PF_ProgPtr,
4858 rgb: *mut PF_Pixel,
4859 lightness: *mut A_long,
4860 ) -> PF_Err,
4861 >,
4862 pub Saturation: ::std::option::Option<
4863 unsafe extern "C" fn(
4864 effect_ref: PF_ProgPtr,
4865 rgb: *mut PF_Pixel,
4866 saturation: *mut A_long,
4867 ) -> PF_Err,
4868 >,
4869}
4870pub type PF_BatchSampleFunc = *mut ::std::os::raw::c_void;
4871pub type PF_BatchSample16Func = *mut ::std::os::raw::c_void;
4872pub const PF_NewWorldFlag_NONE: _bindgen_ty_59 = 0;
4873pub const PF_NewWorldFlag_CLEAR_PIXELS: _bindgen_ty_59 = 1;
4874pub const PF_NewWorldFlag_DEEP_PIXELS: _bindgen_ty_59 = 2;
4875pub const PF_NewWorldFlag_RESERVED0: _bindgen_ty_59 = 4;
4876pub const PF_NewWorldFlag_RESERVED1: _bindgen_ty_59 = 8;
4877pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
4878pub type PF_NewWorldFlags = A_long;
4879#[doc = "prototypes for PF_ITERATE8 and PF_ITERATE16 pixel functions\n\nthe user of PF_ITERATE provides a refcon; After Effects may distribute iteration\nacross multiple threads, so any data pointed to by refconL should be read-only or\nproperly synchronized\n\ninP is writable only if the world you pass to PF_ITERATE() is PF_WorldFlag_WRITEABLE\n\n"]
4880pub type PF_IteratePixel8Func = ::std::option::Option<
4881 unsafe extern "C" fn(
4882 refconP: *mut ::std::os::raw::c_void,
4883 xL: A_long,
4884 yL: A_long,
4885 inP: *mut PF_Pixel,
4886 outP: *mut PF_Pixel,
4887 ) -> PF_Err,
4888>;
4889pub type PF_IteratePixel16Func = ::std::option::Option<
4890 unsafe extern "C" fn(
4891 refconP: *mut ::std::os::raw::c_void,
4892 xL: A_long,
4893 yL: A_long,
4894 inP: *mut PF_Pixel16,
4895 outP: *mut PF_Pixel16,
4896 ) -> PF_Err,
4897>;
4898pub type PF_IteratePixelFloatFunc = ::std::option::Option<
4899 unsafe extern "C" fn(
4900 refconP: *mut ::std::os::raw::c_void,
4901 xL: A_long,
4902 yL: A_long,
4903 inP: *mut PF_PixelFloat,
4904 outP: *mut PF_PixelFloat,
4905 ) -> PF_Err,
4906>;
4907#[repr(C)]
4908#[derive(Debug, Copy, Clone)]
4909pub struct _PF_UtilCallbacks {
4910 pub begin_sampling: ::std::option::Option<
4911 unsafe extern "C" fn(
4912 effect_ref: PF_ProgPtr,
4913 qual: PF_Quality,
4914 mf: PF_ModeFlags,
4915 params: *mut PF_SampPB,
4916 ) -> PF_Err,
4917 >,
4918 pub subpixel_sample: ::std::option::Option<
4919 unsafe extern "C" fn(
4920 effect_ref: PF_ProgPtr,
4921 x: PF_Fixed,
4922 y: PF_Fixed,
4923 params: *const PF_SampPB,
4924 dst_pixel: *mut PF_Pixel,
4925 ) -> PF_Err,
4926 >,
4927 pub area_sample: ::std::option::Option<
4928 unsafe extern "C" fn(
4929 effect_ref: PF_ProgPtr,
4930 x: PF_Fixed,
4931 y: PF_Fixed,
4932 params: *const PF_SampPB,
4933 dst_pixel: *mut PF_Pixel,
4934 ) -> PF_Err,
4935 >,
4936 pub get_batch_func_is_deprecated: *mut ::std::os::raw::c_void,
4937 pub end_sampling: ::std::option::Option<
4938 unsafe extern "C" fn(
4939 effect_ref: PF_ProgPtr,
4940 qual: PF_Quality,
4941 mf: PF_ModeFlags,
4942 params: *mut PF_SampPB,
4943 ) -> PF_Err,
4944 >,
4945 pub composite_rect: ::std::option::Option<
4946 unsafe extern "C" fn(
4947 effect_ref: PF_ProgPtr,
4948 src_rect: *mut PF_Rect,
4949 src_opacity: A_long,
4950 source_wld: *mut PF_EffectWorld,
4951 dest_x: A_long,
4952 dest_y: A_long,
4953 field_rdr: PF_Field,
4954 xfer_mode: PF_XferMode,
4955 dest_wld: *mut PF_EffectWorld,
4956 ) -> PF_Err,
4957 >,
4958 pub blend: ::std::option::Option<
4959 unsafe extern "C" fn(
4960 effect_ref: PF_ProgPtr,
4961 src1: *const PF_EffectWorld,
4962 src2: *const PF_EffectWorld,
4963 ratio: PF_Fixed,
4964 dst: *mut PF_EffectWorld,
4965 ) -> PF_Err,
4966 >,
4967 pub convolve: ::std::option::Option<
4968 unsafe extern "C" fn(
4969 effect_ref: PF_ProgPtr,
4970 src: *mut PF_EffectWorld,
4971 area: *const PF_Rect,
4972 flags: PF_KernelFlags,
4973 kernel_size: A_long,
4974 a_kernel: *mut ::std::os::raw::c_void,
4975 r_kernel: *mut ::std::os::raw::c_void,
4976 g_kernel: *mut ::std::os::raw::c_void,
4977 b_kernel: *mut ::std::os::raw::c_void,
4978 dst: *mut PF_EffectWorld,
4979 ) -> PF_Err,
4980 >,
4981 pub copy: ::std::option::Option<
4982 unsafe extern "C" fn(
4983 effect_ref: PF_ProgPtr,
4984 src: *mut PF_EffectWorld,
4985 dst: *mut PF_EffectWorld,
4986 src_r: *mut PF_Rect,
4987 dst_r: *mut PF_Rect,
4988 ) -> PF_Err,
4989 >,
4990 pub fill: ::std::option::Option<
4991 unsafe extern "C" fn(
4992 effect_ref: PF_ProgPtr,
4993 color: *const PF_Pixel,
4994 dst_rect: *const PF_Rect,
4995 world: *mut PF_EffectWorld,
4996 ) -> PF_Err,
4997 >,
4998 pub gaussian_kernel: ::std::option::Option<
4999 unsafe extern "C" fn(
5000 effect_ref: PF_ProgPtr,
5001 kRadius: A_FpLong,
5002 flags: PF_KernelFlags,
5003 multiplier: A_FpLong,
5004 diameter: *mut A_long,
5005 kernel: *mut ::std::os::raw::c_void,
5006 ) -> PF_Err,
5007 >,
5008 pub iterate: ::std::option::Option<
5009 unsafe extern "C" fn(
5010 in_data: *mut PF_InData,
5011 progress_base: A_long,
5012 progress_final: A_long,
5013 src: *mut PF_EffectWorld,
5014 area: *const PF_Rect,
5015 refcon: *mut ::std::os::raw::c_void,
5016 pix_fn: PF_IteratePixel8Func,
5017 dst: *mut PF_EffectWorld,
5018 ) -> PF_Err,
5019 >,
5020 pub premultiply: ::std::option::Option<
5021 unsafe extern "C" fn(
5022 effect_ref: PF_ProgPtr,
5023 forward: A_long,
5024 dst: *mut PF_EffectWorld,
5025 ) -> PF_Err,
5026 >,
5027 pub premultiply_color: ::std::option::Option<
5028 unsafe extern "C" fn(
5029 effect_ref: PF_ProgPtr,
5030 src: *mut PF_EffectWorld,
5031 color: *const PF_Pixel,
5032 forward: A_long,
5033 dst: *mut PF_EffectWorld,
5034 ) -> PF_Err,
5035 >,
5036 pub new_world: ::std::option::Option<
5037 unsafe extern "C" fn(
5038 effect_ref: PF_ProgPtr,
5039 width: A_long,
5040 height: A_long,
5041 flags: PF_NewWorldFlags,
5042 world: *mut PF_EffectWorld,
5043 ) -> PF_Err,
5044 >,
5045 pub dispose_world: ::std::option::Option<
5046 unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
5047 >,
5048 pub iterate_origin: ::std::option::Option<
5049 unsafe extern "C" fn(
5050 in_data: *mut PF_InData,
5051 progress_base: A_long,
5052 progress_final: A_long,
5053 src: *mut PF_EffectWorld,
5054 area: *const PF_Rect,
5055 origin: *const PF_Point,
5056 refcon: *mut ::std::os::raw::c_void,
5057 pix_fn: PF_IteratePixel8Func,
5058 dst: *mut PF_EffectWorld,
5059 ) -> PF_Err,
5060 >,
5061 pub iterate_lut: ::std::option::Option<
5062 unsafe extern "C" fn(
5063 in_data: *mut PF_InData,
5064 progress_base: A_long,
5065 progress_final: A_long,
5066 src: *mut PF_EffectWorld,
5067 area: *const PF_Rect,
5068 a_lut0: *mut A_u_char,
5069 r_lut0: *mut A_u_char,
5070 g_lut0: *mut A_u_char,
5071 b_lut0: *mut A_u_char,
5072 dst: *mut PF_EffectWorld,
5073 ) -> PF_Err,
5074 >,
5075 pub transfer_rect: ::std::option::Option<
5076 unsafe extern "C" fn(
5077 effect_ref: PF_ProgPtr,
5078 quality: PF_Quality,
5079 m_flags: PF_ModeFlags,
5080 field: PF_Field,
5081 src_rec: *const PF_Rect,
5082 src_world: *const PF_EffectWorld,
5083 comp_mode: *const PF_CompositeMode,
5084 mask_world0: *const PF_MaskWorld,
5085 dest_x: A_long,
5086 dest_y: A_long,
5087 dst_world: *mut PF_EffectWorld,
5088 ) -> PF_Err,
5089 >,
5090 pub transform_world: ::std::option::Option<
5091 unsafe extern "C" fn(
5092 effect_ref: PF_ProgPtr,
5093 quality: PF_Quality,
5094 m_flags: PF_ModeFlags,
5095 field: PF_Field,
5096 src_world: *const PF_EffectWorld,
5097 comp_mode: *const PF_CompositeMode,
5098 mask_world0: *const PF_MaskWorld,
5099 matrices: *const PF_FloatMatrix,
5100 num_matrices: A_long,
5101 src2dst_matrix: PF_Boolean,
5102 dest_rect: *const PF_Rect,
5103 dst_world: *mut PF_EffectWorld,
5104 ) -> PF_Err,
5105 >,
5106 pub host_new_handle:
5107 ::std::option::Option<unsafe extern "C" fn(size: A_u_longlong) -> PF_Handle>,
5108 pub host_lock_handle: ::std::option::Option<
5109 unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
5110 >,
5111 pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
5112 pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
5113 pub get_callback_addr: ::std::option::Option<
5114 unsafe extern "C" fn(
5115 effect_ref: PF_ProgPtr,
5116 quality: PF_Quality,
5117 mode_flags: PF_ModeFlags,
5118 which_callback: PF_CallbackID,
5119 fn_ptr: *mut PF_CallbackFunc,
5120 ) -> PF_Err,
5121 >,
5122 pub app:
5123 ::std::option::Option<unsafe extern "C" fn(arg1: PF_ProgPtr, arg2: A_long, ...) -> PF_Err>,
5124 pub ansi: PF_ANSICallbacks,
5125 pub colorCB: PF_ColorCallbacks,
5126 pub get_platform_data: ::std::option::Option<
5127 unsafe extern "C" fn(
5128 effect_ref: PF_ProgPtr,
5129 which: PF_PlatDataID,
5130 data: *mut ::std::os::raw::c_void,
5131 ) -> PF_Err,
5132 >,
5133 pub host_get_handle_size:
5134 ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_u_longlong>,
5135 pub iterate_origin_non_clip_src: ::std::option::Option<
5136 unsafe extern "C" fn(
5137 in_data: *mut PF_InData,
5138 progress_base: A_long,
5139 progress_final: A_long,
5140 src: *mut PF_EffectWorld,
5141 area: *const PF_Rect,
5142 origin: *const PF_Point,
5143 refcon: *mut ::std::os::raw::c_void,
5144 pix_fn: PF_IteratePixel8Func,
5145 dst: *mut PF_EffectWorld,
5146 ) -> PF_Err,
5147 >,
5148 pub iterate_generic: ::std::option::Option<
5149 unsafe extern "C" fn(
5150 iterationsL: A_long,
5151 refconPV: *mut ::std::os::raw::c_void,
5152 fn_func: ::std::option::Option<
5153 unsafe extern "C" fn(
5154 refconPV: *mut ::std::os::raw::c_void,
5155 thread_indexL: A_long,
5156 i: A_long,
5157 iterationsL: A_long,
5158 ) -> PF_Err,
5159 >,
5160 ) -> PF_Err,
5161 >,
5162 pub host_resize_handle: ::std::option::Option<
5163 unsafe extern "C" fn(new_sizeL: A_u_longlong, handlePH: *mut PF_Handle) -> PF_Err,
5164 >,
5165 pub subpixel_sample16: ::std::option::Option<
5166 unsafe extern "C" fn(
5167 effect_ref: PF_ProgPtr,
5168 x: PF_Fixed,
5169 y: PF_Fixed,
5170 params: *const PF_SampPB,
5171 dst_pixel: *mut PF_Pixel16,
5172 ) -> PF_Err,
5173 >,
5174 pub area_sample16: ::std::option::Option<
5175 unsafe extern "C" fn(
5176 effect_ref: PF_ProgPtr,
5177 x: PF_Fixed,
5178 y: PF_Fixed,
5179 params: *const PF_SampPB,
5180 dst_pixel: *mut PF_Pixel16,
5181 ) -> PF_Err,
5182 >,
5183 pub fill16: ::std::option::Option<
5184 unsafe extern "C" fn(
5185 effect_ref: PF_ProgPtr,
5186 color: *const PF_Pixel16,
5187 dst_rect: *const PF_Rect,
5188 world: *mut PF_EffectWorld,
5189 ) -> PF_Err,
5190 >,
5191 pub premultiply_color16: ::std::option::Option<
5192 unsafe extern "C" fn(
5193 effect_ref: PF_ProgPtr,
5194 src: *mut PF_EffectWorld,
5195 color: *const PF_Pixel16,
5196 forward: A_long,
5197 dst: *mut PF_EffectWorld,
5198 ) -> PF_Err,
5199 >,
5200 pub iterate16: ::std::option::Option<
5201 unsafe extern "C" fn(
5202 in_data: *mut PF_InData,
5203 progress_base: A_long,
5204 progress_final: A_long,
5205 src: *mut PF_EffectWorld,
5206 area: *const PF_Rect,
5207 refcon: *mut ::std::os::raw::c_void,
5208 pix_fn: PF_IteratePixel16Func,
5209 dst: *mut PF_EffectWorld,
5210 ) -> PF_Err,
5211 >,
5212 pub iterate_origin16: ::std::option::Option<
5213 unsafe extern "C" fn(
5214 in_data: *mut PF_InData,
5215 progress_base: A_long,
5216 progress_final: A_long,
5217 src: *mut PF_EffectWorld,
5218 area: *const PF_Rect,
5219 origin: *const PF_Point,
5220 refcon: *mut ::std::os::raw::c_void,
5221 pix_fn: PF_IteratePixel16Func,
5222 dst: *mut PF_EffectWorld,
5223 ) -> PF_Err,
5224 >,
5225 pub iterate_origin_non_clip_src16: ::std::option::Option<
5226 unsafe extern "C" fn(
5227 in_data: *mut PF_InData,
5228 progress_base: A_long,
5229 progress_final: A_long,
5230 src: *mut PF_EffectWorld,
5231 area: *const PF_Rect,
5232 origin: *const PF_Point,
5233 refcon: *mut ::std::os::raw::c_void,
5234 pix_fn: PF_IteratePixel16Func,
5235 dst: *mut PF_EffectWorld,
5236 ) -> PF_Err,
5237 >,
5238 pub get_pixel_data8: ::std::option::Option<
5239 unsafe extern "C" fn(
5240 worldP: *mut PF_EffectWorld,
5241 pixelsP0: PF_PixelPtr,
5242 pixPP: *mut *mut PF_Pixel8,
5243 ) -> PF_Err,
5244 >,
5245 pub get_pixel_data16: ::std::option::Option<
5246 unsafe extern "C" fn(
5247 worldP: *mut PF_EffectWorld,
5248 pixelsP0: PF_PixelPtr,
5249 pixPP: *mut *mut PF_Pixel16,
5250 ) -> PF_Err,
5251 >,
5252 pub reserved: [A_long; 1usize],
5253}
5254pub type PF_UtilCallbacks = _PF_UtilCallbacks;
5255#[repr(C)]
5256#[derive(Debug, Copy, Clone)]
5257pub struct PF_CacheOnLoadSuite1 {
5258 pub PF_SetNoCacheOnLoad: ::std::option::Option<
5259 unsafe extern "C" fn(
5260 effect_ref: PF_ProgPtr,
5261 effectAvailable: ::std::os::raw::c_long,
5262 ) -> PF_Err,
5263 >,
5264}
5265pub const PF_TimeDisplay_24: _bindgen_ty_60 = 1;
5266pub const PF_TimeDisplay_25: _bindgen_ty_60 = 2;
5267pub const PF_TimeDisplay_30Drop: _bindgen_ty_60 = 3;
5268pub const PF_TimeDisplay_30NonDrop: _bindgen_ty_60 = 4;
5269pub const PF_TimeDisplay_50: _bindgen_ty_60 = 5;
5270pub const PF_TimeDisplay_60Drop: _bindgen_ty_60 = 6;
5271pub const PF_TimeDisplay_60NonDrop: _bindgen_ty_60 = 7;
5272pub const PF_TimeDisplay_NonStandard: _bindgen_ty_60 = 8;
5273pub const PF_TimeDisplay_Invalid: _bindgen_ty_60 = 9;
5274pub type _bindgen_ty_60 = ::std::os::raw::c_uint;
5275pub type PF_TimeDisplay = csSDK_uint32;
5276#[repr(C)]
5277#[derive(Debug, Copy, Clone)]
5278pub struct PF_PixelFormatSuite1 {
5279 pub AddSupportedPixelFormat: ::std::option::Option<
5280 unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixelFormat: PrPixelFormat) -> PF_Err,
5281 >,
5282 pub ClearSupportedPixelFormats:
5283 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5284 pub NewWorldOfPixelFormat: ::std::option::Option<
5285 unsafe extern "C" fn(
5286 effect_ref: PF_ProgPtr,
5287 width: A_u_long,
5288 height: A_u_long,
5289 flags: PF_NewWorldFlags,
5290 pixelFormat: PrPixelFormat,
5291 world: *mut PF_EffectWorld,
5292 ) -> PF_Err,
5293 >,
5294 pub DisposeWorld: ::std::option::Option<
5295 unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
5296 >,
5297 pub GetPixelFormat: ::std::option::Option<
5298 unsafe extern "C" fn(
5299 inWorld: *mut PF_EffectWorld,
5300 pixelFormat: *mut PrPixelFormat,
5301 ) -> PF_Err,
5302 >,
5303 pub GetBlackForPixelFormat: ::std::option::Option<
5304 unsafe extern "C" fn(
5305 pixelFormat: PrPixelFormat,
5306 pixelData: *mut ::std::os::raw::c_void,
5307 ) -> PF_Err,
5308 >,
5309 pub GetWhiteForPixelFormat: ::std::option::Option<
5310 unsafe extern "C" fn(
5311 pixelFormat: PrPixelFormat,
5312 pixelData: *mut ::std::os::raw::c_void,
5313 ) -> PF_Err,
5314 >,
5315 pub ConvertColorToPixelFormattedData: ::std::option::Option<
5316 unsafe extern "C" fn(
5317 pixelFormat: PrPixelFormat,
5318 alpha: f32,
5319 red: f32,
5320 green: f32,
5321 blue: f32,
5322 pixelData: *mut ::std::os::raw::c_void,
5323 ) -> PF_Err,
5324 >,
5325}
5326#[repr(C)]
5327#[derive(Debug, Copy, Clone)]
5328pub struct PF_BackgroundFrameSuite1 {
5329 pub AddSupportedBackgroundTransferMode: ::std::option::Option<
5330 unsafe extern "C" fn(
5331 effect_ref: PF_ProgPtr,
5332 supportedTransferMode: PF_TransferMode,
5333 supportedPixelFormat: PrPixelFormat,
5334 ) -> PF_Err,
5335 >,
5336 pub GetBackgroundFrame: ::std::option::Option<
5337 unsafe extern "C" fn(
5338 effect_ref: PF_ProgPtr,
5339 backgroundFrame: *mut *mut PF_LayerDef,
5340 backgroundTransferMode: *mut PF_TransferMode,
5341 ) -> PF_Err,
5342 >,
5343}
5344#[repr(C)]
5345#[derive(Debug, Copy, Clone)]
5346pub struct PF_UtilitySuite4 {
5347 pub GetFilterInstanceID: ::std::option::Option<
5348 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5349 >,
5350 pub GetMediaTimecode: ::std::option::Option<
5351 unsafe extern "C" fn(
5352 effect_ref: PF_ProgPtr,
5353 outCurrentFrame: *mut A_long,
5354 outTimeDisplay: *mut PF_TimeDisplay,
5355 ) -> PF_Err,
5356 >,
5357 pub GetClipSpeed: ::std::option::Option<
5358 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5359 >,
5360 pub GetClipDuration: ::std::option::Option<
5361 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5362 >,
5363 pub GetClipStart: ::std::option::Option<
5364 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5365 >,
5366 pub GetUnscaledClipDuration: ::std::option::Option<
5367 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5368 >,
5369 pub GetUnscaledClipStart: ::std::option::Option<
5370 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5371 >,
5372 pub GetTrackItemStart: ::std::option::Option<
5373 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5374 >,
5375 pub GetMediaFieldType: ::std::option::Option<
5376 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5377 >,
5378 pub GetMediaFrameRate: ::std::option::Option<
5379 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5380 >,
5381 pub GetContainingTimelineID: ::std::option::Option<
5382 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5383 >,
5384 pub GetClipName: ::std::option::Option<
5385 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5386 >,
5387 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5388 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5389}
5390#[repr(C)]
5391#[derive(Debug, Copy, Clone)]
5392pub struct PF_UtilitySuite {
5393 pub GetFilterInstanceID: ::std::option::Option<
5394 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5395 >,
5396 pub GetMediaTimecode: ::std::option::Option<
5397 unsafe extern "C" fn(
5398 effect_ref: PF_ProgPtr,
5399 outCurrentFrame: *mut A_long,
5400 outTimeDisplay: *mut PF_TimeDisplay,
5401 ) -> PF_Err,
5402 >,
5403 pub GetClipSpeed: ::std::option::Option<
5404 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5405 >,
5406 pub GetClipDuration: ::std::option::Option<
5407 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5408 >,
5409 pub GetClipStart: ::std::option::Option<
5410 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5411 >,
5412 pub GetUnscaledClipDuration: ::std::option::Option<
5413 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5414 >,
5415 pub GetUnscaledClipStart: ::std::option::Option<
5416 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5417 >,
5418 pub GetTrackItemStart: ::std::option::Option<
5419 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5420 >,
5421 pub GetMediaFieldType: ::std::option::Option<
5422 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5423 >,
5424 pub GetMediaFrameRate: ::std::option::Option<
5425 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5426 >,
5427 pub GetContainingTimelineID: ::std::option::Option<
5428 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5429 >,
5430 pub GetClipName: ::std::option::Option<
5431 unsafe extern "C" fn(
5432 effect_ref: PF_ProgPtr,
5433 inGetMasterClipName: A_Boolean,
5434 outSDKString: *mut PrSDKString,
5435 ) -> PF_Err,
5436 >,
5437 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5438 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5439 pub EffectDependsOnClipName: ::std::option::Option<
5440 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
5441 >,
5442 pub SetEffectInstanceName: ::std::option::Option<
5443 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
5444 >,
5445 pub GetFileName: ::std::option::Option<
5446 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5447 >,
5448 pub GetOriginalClipFrameRate: ::std::option::Option<
5449 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5450 >,
5451 pub GetSourceTrackMediaTimecode: ::std::option::Option<
5452 unsafe extern "C" fn(
5453 effect_ref: PF_ProgPtr,
5454 inLayerParamIndex: csSDK_uint32,
5455 inApplyTransform: bool,
5456 inAddStartTimeOffset: bool,
5457 outCurrentFrame: *mut A_long,
5458 ) -> PF_Err,
5459 >,
5460 pub GetSourceTrackClipName: ::std::option::Option<
5461 unsafe extern "C" fn(
5462 effect_ref: PF_ProgPtr,
5463 inLayerParamIndex: csSDK_uint32,
5464 inGetMasterClipName: A_Boolean,
5465 outSDKString: *mut PrSDKString,
5466 ) -> PF_Err,
5467 >,
5468 pub GetSourceTrackFileName: ::std::option::Option<
5469 unsafe extern "C" fn(
5470 effect_ref: PF_ProgPtr,
5471 inLayerParamIndex: csSDK_uint32,
5472 outSDKString: *mut PrSDKString,
5473 ) -> PF_Err,
5474 >,
5475 pub EffectDependsOnClipName2: ::std::option::Option<
5476 unsafe extern "C" fn(
5477 effect_ref: PF_ProgPtr,
5478 inDependsOnClipName: A_Boolean,
5479 inLayerParamIndex: csSDK_uint32,
5480 ) -> PF_Err,
5481 >,
5482 pub GetMediaTimecode2: ::std::option::Option<
5483 unsafe extern "C" fn(
5484 effect_ref: PF_ProgPtr,
5485 inApplyTrim: bool,
5486 outCurrentFrame: *mut A_long,
5487 outTimeDisplay: *mut PF_TimeDisplay,
5488 ) -> PF_Err,
5489 >,
5490 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
5491 unsafe extern "C" fn(
5492 effect_ref: PF_ProgPtr,
5493 inLayerParamIndex: csSDK_uint32,
5494 inApplyTransform: bool,
5495 inAddStartTimeOffset: bool,
5496 inSequenceTime: PrTime,
5497 outCurrentFrame: *mut A_long,
5498 ) -> PF_Err,
5499 >,
5500 pub GetSourceTrackClipName2: ::std::option::Option<
5501 unsafe extern "C" fn(
5502 effect_ref: PF_ProgPtr,
5503 inLayerParamIndex: csSDK_uint32,
5504 inGetMasterClipName: A_Boolean,
5505 outSDKString: *mut PrSDKString,
5506 inSequenceTime: PrTime,
5507 ) -> PF_Err,
5508 >,
5509 pub GetSourceTrackFileName2: ::std::option::Option<
5510 unsafe extern "C" fn(
5511 effect_ref: PF_ProgPtr,
5512 inLayerParamIndex: csSDK_uint32,
5513 outSDKString: *mut PrSDKString,
5514 inSequenceTime: PrTime,
5515 ) -> PF_Err,
5516 >,
5517 pub GetCommentString: ::std::option::Option<
5518 unsafe extern "C" fn(
5519 inEffectRef: PF_ProgPtr,
5520 inSourceTrack: i32,
5521 inSequenceTime: PrTime,
5522 outSDKString: *mut PrSDKString,
5523 ) -> PF_Err,
5524 >,
5525 pub GetLogNoteString: ::std::option::Option<
5526 unsafe extern "C" fn(
5527 inEffectRef: PF_ProgPtr,
5528 inSourceTrack: i32,
5529 inSequenceTime: PrTime,
5530 outSDKString: *mut PrSDKString,
5531 ) -> PF_Err,
5532 >,
5533 pub GetCameraRollString: ::std::option::Option<
5534 unsafe extern "C" fn(
5535 inEffectRef: PF_ProgPtr,
5536 inSourceTrack: i32,
5537 inSequenceTime: PrTime,
5538 outSDKString: *mut PrSDKString,
5539 ) -> PF_Err,
5540 >,
5541 pub GetClientMetadataString: ::std::option::Option<
5542 unsafe extern "C" fn(
5543 inEffectRef: PF_ProgPtr,
5544 inSourceTrack: i32,
5545 inSequenceTime: PrTime,
5546 outSDKString: *mut PrSDKString,
5547 ) -> PF_Err,
5548 >,
5549 pub GetDailyRollString: ::std::option::Option<
5550 unsafe extern "C" fn(
5551 inEffectRef: PF_ProgPtr,
5552 inSourceTrack: i32,
5553 inSequenceTime: PrTime,
5554 outSDKString: *mut PrSDKString,
5555 ) -> PF_Err,
5556 >,
5557 pub GetDescriptionString: ::std::option::Option<
5558 unsafe extern "C" fn(
5559 inEffectRef: PF_ProgPtr,
5560 inSourceTrack: i32,
5561 inSequenceTime: PrTime,
5562 outSDKString: *mut PrSDKString,
5563 ) -> PF_Err,
5564 >,
5565 pub GetLabRollString: ::std::option::Option<
5566 unsafe extern "C" fn(
5567 inEffectRef: PF_ProgPtr,
5568 inSourceTrack: i32,
5569 inSequenceTime: PrTime,
5570 outSDKString: *mut PrSDKString,
5571 ) -> PF_Err,
5572 >,
5573 pub GetSceneString: ::std::option::Option<
5574 unsafe extern "C" fn(
5575 inEffectRef: PF_ProgPtr,
5576 inSourceTrack: i32,
5577 inSequenceTime: PrTime,
5578 outSDKString: *mut PrSDKString,
5579 ) -> PF_Err,
5580 >,
5581 pub GetShotString: ::std::option::Option<
5582 unsafe extern "C" fn(
5583 inEffectRef: PF_ProgPtr,
5584 inSourceTrack: i32,
5585 inSequenceTime: PrTime,
5586 outSDKString: *mut PrSDKString,
5587 ) -> PF_Err,
5588 >,
5589 pub GetTapeNameString: ::std::option::Option<
5590 unsafe extern "C" fn(
5591 inEffectRef: PF_ProgPtr,
5592 inSourceTrack: i32,
5593 inSequenceTime: PrTime,
5594 outSDKString: *mut PrSDKString,
5595 ) -> PF_Err,
5596 >,
5597 pub GetVideoCodecString: ::std::option::Option<
5598 unsafe extern "C" fn(
5599 inEffectRef: PF_ProgPtr,
5600 inSourceTrack: i32,
5601 inSequenceTime: PrTime,
5602 outSDKString: *mut PrSDKString,
5603 ) -> PF_Err,
5604 >,
5605 pub GetGoodMetadataString: ::std::option::Option<
5606 unsafe extern "C" fn(
5607 inEffectRef: PF_ProgPtr,
5608 inSourceTrack: i32,
5609 inSequenceTime: PrTime,
5610 outSDKString: *mut PrSDKString,
5611 ) -> PF_Err,
5612 >,
5613 pub GetSoundRollString: ::std::option::Option<
5614 unsafe extern "C" fn(
5615 inEffectRef: PF_ProgPtr,
5616 inSourceTrack: i32,
5617 inSequenceTime: PrTime,
5618 outSDKString: *mut PrSDKString,
5619 ) -> PF_Err,
5620 >,
5621 pub GetSequenceTime: ::std::option::Option<
5622 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
5623 >,
5624 pub GetSoundTimecode: ::std::option::Option<
5625 unsafe extern "C" fn(
5626 inEffectRef: PF_ProgPtr,
5627 inSourceTrack: i32,
5628 inSequenceTime: PrTime,
5629 outCurrentFrame: *mut A_long,
5630 ) -> PF_Err,
5631 >,
5632 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
5633 unsafe extern "C" fn(
5634 inEffectRef: PF_ProgPtr,
5635 inSourceTrack: i32,
5636 outTicksPerFrame: *mut PrTime,
5637 ) -> PF_Err,
5638 >,
5639 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
5640 unsafe extern "C" fn(
5641 inEffectRef: PF_ProgPtr,
5642 inSourceTrack: i32,
5643 inSequenceTime: PrTime,
5644 outTicksPerFrame: *mut PrTime,
5645 ) -> PF_Err,
5646 >,
5647 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
5648 unsafe extern "C" fn(
5649 inEffectRef: PF_ProgPtr,
5650 inLayerParamIndex: csSDK_uint32,
5651 inSequenceTime: PrTime,
5652 outClipActualStartTime: *mut PrTime,
5653 ) -> PF_Err,
5654 >,
5655 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
5656 unsafe extern "C" fn(
5657 inEffectRef: PF_ProgPtr,
5658 inLayerParamIndex: csSDK_uint32,
5659 inSequenceTime: PrTime,
5660 outTrimApplied: *mut bool,
5661 ) -> PF_Err,
5662 >,
5663 pub IsMediaTrimmed: ::std::option::Option<
5664 unsafe extern "C" fn(
5665 inEffectRef: PF_ProgPtr,
5666 inSequenceTime: PrTime,
5667 outTrimApplied: *mut bool,
5668 ) -> PF_Err,
5669 >,
5670 pub IsTrackEmpty: ::std::option::Option<
5671 unsafe extern "C" fn(
5672 inEffectRef: PF_ProgPtr,
5673 inLayerParamIndex: csSDK_uint32,
5674 inSequenceTime: PrTime,
5675 outIsTrackEmpty: *mut bool,
5676 ) -> PF_Err,
5677 >,
5678 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
5679 unsafe extern "C" fn(
5680 inEffectRef: PF_ProgPtr,
5681 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
5682 ) -> PF_Err,
5683 >,
5684}
5685#[repr(C)]
5686#[derive(Debug, Copy, Clone)]
5687pub struct PF_UtilitySuite10 {
5688 pub GetFilterInstanceID: ::std::option::Option<
5689 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5690 >,
5691 pub GetMediaTimecode: ::std::option::Option<
5692 unsafe extern "C" fn(
5693 effect_ref: PF_ProgPtr,
5694 outCurrentFrame: *mut A_long,
5695 outTimeDisplay: *mut PF_TimeDisplay,
5696 ) -> PF_Err,
5697 >,
5698 pub GetClipSpeed: ::std::option::Option<
5699 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5700 >,
5701 pub GetClipDuration: ::std::option::Option<
5702 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5703 >,
5704 pub GetClipStart: ::std::option::Option<
5705 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5706 >,
5707 pub GetUnscaledClipDuration: ::std::option::Option<
5708 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5709 >,
5710 pub GetUnscaledClipStart: ::std::option::Option<
5711 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5712 >,
5713 pub GetTrackItemStart: ::std::option::Option<
5714 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5715 >,
5716 pub GetMediaFieldType: ::std::option::Option<
5717 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5718 >,
5719 pub GetMediaFrameRate: ::std::option::Option<
5720 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5721 >,
5722 pub GetContainingTimelineID: ::std::option::Option<
5723 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5724 >,
5725 pub GetClipName: ::std::option::Option<
5726 unsafe extern "C" fn(
5727 effect_ref: PF_ProgPtr,
5728 inGetMasterClipName: A_Boolean,
5729 outSDKString: *mut PrSDKString,
5730 ) -> PF_Err,
5731 >,
5732 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5733 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5734 pub EffectDependsOnClipName: ::std::option::Option<
5735 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
5736 >,
5737 pub SetEffectInstanceName: ::std::option::Option<
5738 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
5739 >,
5740 pub GetFileName: ::std::option::Option<
5741 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5742 >,
5743 pub GetOriginalClipFrameRate: ::std::option::Option<
5744 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5745 >,
5746 pub GetSourceTrackMediaTimecode: ::std::option::Option<
5747 unsafe extern "C" fn(
5748 effect_ref: PF_ProgPtr,
5749 inLayerParamIndex: csSDK_uint32,
5750 inApplyTransform: bool,
5751 inAddStartTimeOffset: bool,
5752 outCurrentFrame: *mut A_long,
5753 ) -> PF_Err,
5754 >,
5755 pub GetSourceTrackClipName: ::std::option::Option<
5756 unsafe extern "C" fn(
5757 effect_ref: PF_ProgPtr,
5758 inLayerParamIndex: csSDK_uint32,
5759 inGetMasterClipName: A_Boolean,
5760 outSDKString: *mut PrSDKString,
5761 ) -> PF_Err,
5762 >,
5763 pub GetSourceTrackFileName: ::std::option::Option<
5764 unsafe extern "C" fn(
5765 effect_ref: PF_ProgPtr,
5766 inLayerParamIndex: csSDK_uint32,
5767 outSDKString: *mut PrSDKString,
5768 ) -> PF_Err,
5769 >,
5770 pub EffectDependsOnClipName2: ::std::option::Option<
5771 unsafe extern "C" fn(
5772 effect_ref: PF_ProgPtr,
5773 inDependsOnClipName: A_Boolean,
5774 inLayerParamIndex: csSDK_uint32,
5775 ) -> PF_Err,
5776 >,
5777 pub GetMediaTimecode2: ::std::option::Option<
5778 unsafe extern "C" fn(
5779 effect_ref: PF_ProgPtr,
5780 inApplyTrim: bool,
5781 outCurrentFrame: *mut A_long,
5782 outTimeDisplay: *mut PF_TimeDisplay,
5783 ) -> PF_Err,
5784 >,
5785 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
5786 unsafe extern "C" fn(
5787 effect_ref: PF_ProgPtr,
5788 inLayerParamIndex: csSDK_uint32,
5789 inApplyTransform: bool,
5790 inAddStartTimeOffset: bool,
5791 inSequenceTime: PrTime,
5792 outCurrentFrame: *mut A_long,
5793 ) -> PF_Err,
5794 >,
5795 pub GetSourceTrackClipName2: ::std::option::Option<
5796 unsafe extern "C" fn(
5797 effect_ref: PF_ProgPtr,
5798 inLayerParamIndex: csSDK_uint32,
5799 inGetMasterClipName: A_Boolean,
5800 outSDKString: *mut PrSDKString,
5801 inSequenceTime: PrTime,
5802 ) -> PF_Err,
5803 >,
5804 pub GetSourceTrackFileName2: ::std::option::Option<
5805 unsafe extern "C" fn(
5806 effect_ref: PF_ProgPtr,
5807 inLayerParamIndex: csSDK_uint32,
5808 outSDKString: *mut PrSDKString,
5809 inSequenceTime: PrTime,
5810 ) -> PF_Err,
5811 >,
5812 pub GetCommentString: ::std::option::Option<
5813 unsafe extern "C" fn(
5814 inEffectRef: PF_ProgPtr,
5815 inSourceTrack: i32,
5816 inSequenceTime: PrTime,
5817 outSDKString: *mut PrSDKString,
5818 ) -> PF_Err,
5819 >,
5820 pub GetLogNoteString: ::std::option::Option<
5821 unsafe extern "C" fn(
5822 inEffectRef: PF_ProgPtr,
5823 inSourceTrack: i32,
5824 inSequenceTime: PrTime,
5825 outSDKString: *mut PrSDKString,
5826 ) -> PF_Err,
5827 >,
5828 pub GetCameraRollString: ::std::option::Option<
5829 unsafe extern "C" fn(
5830 inEffectRef: PF_ProgPtr,
5831 inSourceTrack: i32,
5832 inSequenceTime: PrTime,
5833 outSDKString: *mut PrSDKString,
5834 ) -> PF_Err,
5835 >,
5836 pub GetClientMetadataString: ::std::option::Option<
5837 unsafe extern "C" fn(
5838 inEffectRef: PF_ProgPtr,
5839 inSourceTrack: i32,
5840 inSequenceTime: PrTime,
5841 outSDKString: *mut PrSDKString,
5842 ) -> PF_Err,
5843 >,
5844 pub GetDailyRollString: ::std::option::Option<
5845 unsafe extern "C" fn(
5846 inEffectRef: PF_ProgPtr,
5847 inSourceTrack: i32,
5848 inSequenceTime: PrTime,
5849 outSDKString: *mut PrSDKString,
5850 ) -> PF_Err,
5851 >,
5852 pub GetDescriptionString: ::std::option::Option<
5853 unsafe extern "C" fn(
5854 inEffectRef: PF_ProgPtr,
5855 inSourceTrack: i32,
5856 inSequenceTime: PrTime,
5857 outSDKString: *mut PrSDKString,
5858 ) -> PF_Err,
5859 >,
5860 pub GetLabRollString: ::std::option::Option<
5861 unsafe extern "C" fn(
5862 inEffectRef: PF_ProgPtr,
5863 inSourceTrack: i32,
5864 inSequenceTime: PrTime,
5865 outSDKString: *mut PrSDKString,
5866 ) -> PF_Err,
5867 >,
5868 pub GetSceneString: ::std::option::Option<
5869 unsafe extern "C" fn(
5870 inEffectRef: PF_ProgPtr,
5871 inSourceTrack: i32,
5872 inSequenceTime: PrTime,
5873 outSDKString: *mut PrSDKString,
5874 ) -> PF_Err,
5875 >,
5876 pub GetShotString: ::std::option::Option<
5877 unsafe extern "C" fn(
5878 inEffectRef: PF_ProgPtr,
5879 inSourceTrack: i32,
5880 inSequenceTime: PrTime,
5881 outSDKString: *mut PrSDKString,
5882 ) -> PF_Err,
5883 >,
5884 pub GetTapeNameString: ::std::option::Option<
5885 unsafe extern "C" fn(
5886 inEffectRef: PF_ProgPtr,
5887 inSourceTrack: i32,
5888 inSequenceTime: PrTime,
5889 outSDKString: *mut PrSDKString,
5890 ) -> PF_Err,
5891 >,
5892 pub GetVideoCodecString: ::std::option::Option<
5893 unsafe extern "C" fn(
5894 inEffectRef: PF_ProgPtr,
5895 inSourceTrack: i32,
5896 inSequenceTime: PrTime,
5897 outSDKString: *mut PrSDKString,
5898 ) -> PF_Err,
5899 >,
5900 pub GetGoodMetadataString: ::std::option::Option<
5901 unsafe extern "C" fn(
5902 inEffectRef: PF_ProgPtr,
5903 inSourceTrack: i32,
5904 inSequenceTime: PrTime,
5905 outSDKString: *mut PrSDKString,
5906 ) -> PF_Err,
5907 >,
5908 pub GetSoundRollString: ::std::option::Option<
5909 unsafe extern "C" fn(
5910 inEffectRef: PF_ProgPtr,
5911 inSourceTrack: i32,
5912 inSequenceTime: PrTime,
5913 outSDKString: *mut PrSDKString,
5914 ) -> PF_Err,
5915 >,
5916 pub GetSequenceTime: ::std::option::Option<
5917 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
5918 >,
5919 pub GetSoundTimecode: ::std::option::Option<
5920 unsafe extern "C" fn(
5921 inEffectRef: PF_ProgPtr,
5922 inSourceTrack: i32,
5923 inSequenceTime: PrTime,
5924 outCurrentFrame: *mut A_long,
5925 ) -> PF_Err,
5926 >,
5927 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
5928 unsafe extern "C" fn(
5929 inEffectRef: PF_ProgPtr,
5930 inSourceTrack: i32,
5931 outTicksPerFrame: *mut PrTime,
5932 ) -> PF_Err,
5933 >,
5934 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
5935 unsafe extern "C" fn(
5936 inEffectRef: PF_ProgPtr,
5937 inSourceTrack: i32,
5938 inSequenceTime: PrTime,
5939 outTicksPerFrame: *mut PrTime,
5940 ) -> PF_Err,
5941 >,
5942 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
5943 unsafe extern "C" fn(
5944 inEffectRef: PF_ProgPtr,
5945 inLayerParamIndex: csSDK_uint32,
5946 inSequenceTime: PrTime,
5947 outClipActualStartTime: *mut PrTime,
5948 ) -> PF_Err,
5949 >,
5950 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
5951 unsafe extern "C" fn(
5952 inEffectRef: PF_ProgPtr,
5953 inLayerParamIndex: csSDK_uint32,
5954 inSequenceTime: PrTime,
5955 outTrimApplied: *mut bool,
5956 ) -> PF_Err,
5957 >,
5958 pub IsMediaTrimmed: ::std::option::Option<
5959 unsafe extern "C" fn(
5960 inEffectRef: PF_ProgPtr,
5961 inSequenceTime: PrTime,
5962 outTrimApplied: *mut bool,
5963 ) -> PF_Err,
5964 >,
5965 pub IsTrackEmpty: ::std::option::Option<
5966 unsafe extern "C" fn(
5967 inEffectRef: PF_ProgPtr,
5968 inLayerParamIndex: csSDK_uint32,
5969 inSequenceTime: PrTime,
5970 outIsTrackEmpty: *mut bool,
5971 ) -> PF_Err,
5972 >,
5973 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
5974 unsafe extern "C" fn(
5975 inEffectRef: PF_ProgPtr,
5976 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
5977 ) -> PF_Err,
5978 >,
5979 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
5980 unsafe extern "C" fn(
5981 effect_ref: PF_ProgPtr,
5982 inLayerParamIndex: csSDK_uint32,
5983 inUseSoundTimecodeAsStartTime: bool,
5984 inSequenceTime: PrTime,
5985 outCurrentMediaTime: *mut PrTime,
5986 outMediaTicksPerFrame: *mut PrTime,
5987 outMediaTimeDisplay: *mut PF_TimeDisplay,
5988 ) -> PF_Err,
5989 >,
5990 pub GetSequenceZeroPoint: ::std::option::Option<
5991 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
5992 >,
5993}
5994#[repr(C)]
5995#[derive(Debug, Copy, Clone)]
5996pub struct PF_UtilitySuite11 {
5997 pub GetFilterInstanceID: ::std::option::Option<
5998 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5999 >,
6000 pub GetMediaTimecode: ::std::option::Option<
6001 unsafe extern "C" fn(
6002 effect_ref: PF_ProgPtr,
6003 outCurrentFrame: *mut A_long,
6004 outTimeDisplay: *mut PF_TimeDisplay,
6005 ) -> PF_Err,
6006 >,
6007 pub GetClipSpeed: ::std::option::Option<
6008 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
6009 >,
6010 pub GetClipDuration: ::std::option::Option<
6011 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6012 >,
6013 pub GetClipStart: ::std::option::Option<
6014 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6015 >,
6016 pub GetUnscaledClipDuration: ::std::option::Option<
6017 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6018 >,
6019 pub GetUnscaledClipStart: ::std::option::Option<
6020 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6021 >,
6022 pub GetTrackItemStart: ::std::option::Option<
6023 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6024 >,
6025 pub GetMediaFieldType: ::std::option::Option<
6026 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
6027 >,
6028 pub GetMediaFrameRate: ::std::option::Option<
6029 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6030 >,
6031 pub GetContainingTimelineID: ::std::option::Option<
6032 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
6033 >,
6034 pub GetClipName: ::std::option::Option<
6035 unsafe extern "C" fn(
6036 effect_ref: PF_ProgPtr,
6037 inGetMasterClipName: A_Boolean,
6038 outSDKString: *mut PrSDKString,
6039 ) -> PF_Err,
6040 >,
6041 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
6042 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
6043 pub EffectDependsOnClipName: ::std::option::Option<
6044 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
6045 >,
6046 pub SetEffectInstanceName: ::std::option::Option<
6047 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
6048 >,
6049 pub GetFileName: ::std::option::Option<
6050 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
6051 >,
6052 pub GetOriginalClipFrameRate: ::std::option::Option<
6053 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6054 >,
6055 pub GetSourceTrackMediaTimecode: ::std::option::Option<
6056 unsafe extern "C" fn(
6057 effect_ref: PF_ProgPtr,
6058 inLayerParamIndex: csSDK_uint32,
6059 inApplyTransform: bool,
6060 inAddStartTimeOffset: bool,
6061 outCurrentFrame: *mut A_long,
6062 ) -> PF_Err,
6063 >,
6064 pub GetSourceTrackClipName: ::std::option::Option<
6065 unsafe extern "C" fn(
6066 effect_ref: PF_ProgPtr,
6067 inLayerParamIndex: csSDK_uint32,
6068 inGetMasterClipName: A_Boolean,
6069 outSDKString: *mut PrSDKString,
6070 ) -> PF_Err,
6071 >,
6072 pub GetSourceTrackFileName: ::std::option::Option<
6073 unsafe extern "C" fn(
6074 effect_ref: PF_ProgPtr,
6075 inLayerParamIndex: csSDK_uint32,
6076 outSDKString: *mut PrSDKString,
6077 ) -> PF_Err,
6078 >,
6079 pub EffectDependsOnClipName2: ::std::option::Option<
6080 unsafe extern "C" fn(
6081 effect_ref: PF_ProgPtr,
6082 inDependsOnClipName: A_Boolean,
6083 inLayerParamIndex: csSDK_uint32,
6084 ) -> PF_Err,
6085 >,
6086 pub GetMediaTimecode2: ::std::option::Option<
6087 unsafe extern "C" fn(
6088 effect_ref: PF_ProgPtr,
6089 inApplyTrim: bool,
6090 outCurrentFrame: *mut A_long,
6091 outTimeDisplay: *mut PF_TimeDisplay,
6092 ) -> PF_Err,
6093 >,
6094 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
6095 unsafe extern "C" fn(
6096 effect_ref: PF_ProgPtr,
6097 inLayerParamIndex: csSDK_uint32,
6098 inApplyTransform: bool,
6099 inAddStartTimeOffset: bool,
6100 inSequenceTime: PrTime,
6101 outCurrentFrame: *mut A_long,
6102 ) -> PF_Err,
6103 >,
6104 pub GetSourceTrackClipName2: ::std::option::Option<
6105 unsafe extern "C" fn(
6106 effect_ref: PF_ProgPtr,
6107 inLayerParamIndex: csSDK_uint32,
6108 inGetMasterClipName: A_Boolean,
6109 outSDKString: *mut PrSDKString,
6110 inSequenceTime: PrTime,
6111 ) -> PF_Err,
6112 >,
6113 pub GetSourceTrackFileName2: ::std::option::Option<
6114 unsafe extern "C" fn(
6115 effect_ref: PF_ProgPtr,
6116 inLayerParamIndex: csSDK_uint32,
6117 outSDKString: *mut PrSDKString,
6118 inSequenceTime: PrTime,
6119 ) -> PF_Err,
6120 >,
6121 pub GetCommentString: ::std::option::Option<
6122 unsafe extern "C" fn(
6123 inEffectRef: PF_ProgPtr,
6124 inSourceTrack: i32,
6125 inSequenceTime: PrTime,
6126 outSDKString: *mut PrSDKString,
6127 ) -> PF_Err,
6128 >,
6129 pub GetLogNoteString: ::std::option::Option<
6130 unsafe extern "C" fn(
6131 inEffectRef: PF_ProgPtr,
6132 inSourceTrack: i32,
6133 inSequenceTime: PrTime,
6134 outSDKString: *mut PrSDKString,
6135 ) -> PF_Err,
6136 >,
6137 pub GetCameraRollString: ::std::option::Option<
6138 unsafe extern "C" fn(
6139 inEffectRef: PF_ProgPtr,
6140 inSourceTrack: i32,
6141 inSequenceTime: PrTime,
6142 outSDKString: *mut PrSDKString,
6143 ) -> PF_Err,
6144 >,
6145 pub GetClientMetadataString: ::std::option::Option<
6146 unsafe extern "C" fn(
6147 inEffectRef: PF_ProgPtr,
6148 inSourceTrack: i32,
6149 inSequenceTime: PrTime,
6150 outSDKString: *mut PrSDKString,
6151 ) -> PF_Err,
6152 >,
6153 pub GetDailyRollString: ::std::option::Option<
6154 unsafe extern "C" fn(
6155 inEffectRef: PF_ProgPtr,
6156 inSourceTrack: i32,
6157 inSequenceTime: PrTime,
6158 outSDKString: *mut PrSDKString,
6159 ) -> PF_Err,
6160 >,
6161 pub GetDescriptionString: ::std::option::Option<
6162 unsafe extern "C" fn(
6163 inEffectRef: PF_ProgPtr,
6164 inSourceTrack: i32,
6165 inSequenceTime: PrTime,
6166 outSDKString: *mut PrSDKString,
6167 ) -> PF_Err,
6168 >,
6169 pub GetLabRollString: ::std::option::Option<
6170 unsafe extern "C" fn(
6171 inEffectRef: PF_ProgPtr,
6172 inSourceTrack: i32,
6173 inSequenceTime: PrTime,
6174 outSDKString: *mut PrSDKString,
6175 ) -> PF_Err,
6176 >,
6177 pub GetSceneString: ::std::option::Option<
6178 unsafe extern "C" fn(
6179 inEffectRef: PF_ProgPtr,
6180 inSourceTrack: i32,
6181 inSequenceTime: PrTime,
6182 outSDKString: *mut PrSDKString,
6183 ) -> PF_Err,
6184 >,
6185 pub GetShotString: ::std::option::Option<
6186 unsafe extern "C" fn(
6187 inEffectRef: PF_ProgPtr,
6188 inSourceTrack: i32,
6189 inSequenceTime: PrTime,
6190 outSDKString: *mut PrSDKString,
6191 ) -> PF_Err,
6192 >,
6193 pub GetTapeNameString: ::std::option::Option<
6194 unsafe extern "C" fn(
6195 inEffectRef: PF_ProgPtr,
6196 inSourceTrack: i32,
6197 inSequenceTime: PrTime,
6198 outSDKString: *mut PrSDKString,
6199 ) -> PF_Err,
6200 >,
6201 pub GetVideoCodecString: ::std::option::Option<
6202 unsafe extern "C" fn(
6203 inEffectRef: PF_ProgPtr,
6204 inSourceTrack: i32,
6205 inSequenceTime: PrTime,
6206 outSDKString: *mut PrSDKString,
6207 ) -> PF_Err,
6208 >,
6209 pub GetGoodMetadataString: ::std::option::Option<
6210 unsafe extern "C" fn(
6211 inEffectRef: PF_ProgPtr,
6212 inSourceTrack: i32,
6213 inSequenceTime: PrTime,
6214 outSDKString: *mut PrSDKString,
6215 ) -> PF_Err,
6216 >,
6217 pub GetSoundRollString: ::std::option::Option<
6218 unsafe extern "C" fn(
6219 inEffectRef: PF_ProgPtr,
6220 inSourceTrack: i32,
6221 inSequenceTime: PrTime,
6222 outSDKString: *mut PrSDKString,
6223 ) -> PF_Err,
6224 >,
6225 pub GetSequenceTime: ::std::option::Option<
6226 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
6227 >,
6228 pub GetSoundTimecode: ::std::option::Option<
6229 unsafe extern "C" fn(
6230 inEffectRef: PF_ProgPtr,
6231 inSourceTrack: i32,
6232 inSequenceTime: PrTime,
6233 outCurrentFrame: *mut A_long,
6234 ) -> PF_Err,
6235 >,
6236 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
6237 unsafe extern "C" fn(
6238 inEffectRef: PF_ProgPtr,
6239 inSourceTrack: i32,
6240 outTicksPerFrame: *mut PrTime,
6241 ) -> PF_Err,
6242 >,
6243 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
6244 unsafe extern "C" fn(
6245 inEffectRef: PF_ProgPtr,
6246 inSourceTrack: i32,
6247 inSequenceTime: PrTime,
6248 outTicksPerFrame: *mut PrTime,
6249 ) -> PF_Err,
6250 >,
6251 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
6252 unsafe extern "C" fn(
6253 inEffectRef: PF_ProgPtr,
6254 inLayerParamIndex: csSDK_uint32,
6255 inSequenceTime: PrTime,
6256 outClipActualStartTime: *mut PrTime,
6257 ) -> PF_Err,
6258 >,
6259 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
6260 unsafe extern "C" fn(
6261 inEffectRef: PF_ProgPtr,
6262 inLayerParamIndex: csSDK_uint32,
6263 inSequenceTime: PrTime,
6264 outTrimApplied: *mut bool,
6265 ) -> PF_Err,
6266 >,
6267 pub IsMediaTrimmed: ::std::option::Option<
6268 unsafe extern "C" fn(
6269 inEffectRef: PF_ProgPtr,
6270 inSequenceTime: PrTime,
6271 outTrimApplied: *mut bool,
6272 ) -> PF_Err,
6273 >,
6274 pub IsTrackEmpty: ::std::option::Option<
6275 unsafe extern "C" fn(
6276 inEffectRef: PF_ProgPtr,
6277 inLayerParamIndex: csSDK_uint32,
6278 inSequenceTime: PrTime,
6279 outIsTrackEmpty: *mut bool,
6280 ) -> PF_Err,
6281 >,
6282 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
6283 unsafe extern "C" fn(
6284 inEffectRef: PF_ProgPtr,
6285 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
6286 ) -> PF_Err,
6287 >,
6288 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
6289 unsafe extern "C" fn(
6290 effect_ref: PF_ProgPtr,
6291 inLayerParamIndex: csSDK_uint32,
6292 inUseSoundTimecodeAsStartTime: bool,
6293 inSequenceTime: PrTime,
6294 outCurrentMediaTime: *mut PrTime,
6295 outMediaTicksPerFrame: *mut PrTime,
6296 outMediaTimeDisplay: *mut PF_TimeDisplay,
6297 ) -> PF_Err,
6298 >,
6299 pub GetSequenceZeroPoint: ::std::option::Option<
6300 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
6301 >,
6302 pub GetSourceTrackCurrentClipDuration: ::std::option::Option<
6303 unsafe extern "C" fn(
6304 inEffectRef: PF_ProgPtr,
6305 inLayerParamIndex: csSDK_uint32,
6306 inSequenceTime: PrTime,
6307 outClipDuration: *mut PrTime,
6308 ) -> PF_Err,
6309 >,
6310 pub GetSequenceDuration: ::std::option::Option<
6311 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceDuration: *mut PrTime) -> PF_Err,
6312 >,
6313 pub GetVideoResolutionString: ::std::option::Option<
6314 unsafe extern "C" fn(
6315 inEffectRef: PF_ProgPtr,
6316 inSourceTrack: i32,
6317 inSequenceTime: PrTime,
6318 outSDKString: *mut PrSDKString,
6319 ) -> PF_Err,
6320 >,
6321}
6322pub type PF_UtilitySuiteVersion1 = PF_UtilitySuite;
6323pub type PF_UtilitySuite2 = PF_UtilitySuite;
6324pub type PF_UtilitySuite3 = PF_UtilitySuite;
6325pub type PF_UtilitySuite5 = PF_UtilitySuite;
6326pub type PF_UtilitySuite6 = PF_UtilitySuite;
6327pub type PF_UtilitySuite7 = PF_UtilitySuite;
6328pub type PF_UtilitySuite8 = PF_UtilitySuite;
6329#[repr(C)]
6330#[derive(Debug, Copy, Clone)]
6331pub struct PF_SourceSettingsSuite {
6332 pub PerformSourceSettingsCommand: ::std::option::Option<
6333 unsafe extern "C" fn(
6334 inEffectRef: PF_ProgPtr,
6335 ioCommandStruct: *mut ::std::os::raw::c_void,
6336 inDataSize: csSDK_uint32,
6337 ) -> PF_Err,
6338 >,
6339 pub SetIsSourceSettingsEffect: ::std::option::Option<
6340 unsafe extern "C" fn(
6341 inEffectRef: PF_ProgPtr,
6342 inIsSourceSettingsEffect: A_Boolean,
6343 ) -> PF_Err,
6344 >,
6345}
6346pub type PF_SourceSettingsSuite2 = PF_SourceSettingsSuite;
6347#[repr(C)]
6348#[derive(Debug, Copy, Clone)]
6349pub struct PF_TransitionSuite {
6350 #[doc = "\tRegister an effect as a transition using the passed in\n\tinput layer as the outgoing clip. When registered the effect\n\twill be available to be dragged directly onto clip ends rather\n\tthan only applied to layers."]
6351 pub RegisterTransitionInputParam: ::std::option::Option<
6352 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
6353 >,
6354 #[doc = "\tRegister a PF_ADD_FLOAT_SLIDER parameter to receive\n\tchanges to the start of the transition region through the\n\tPF_Cmd_USER_CHANGED_PARAM command."]
6355 pub RegisterTransitionStartParam: ::std::option::Option<
6356 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
6357 >,
6358 #[doc = "\tRegister a PF_ADD_FLOAT_SLIDER parameter to receive\n\tchanges to the end of the transition region through the\n\tPF_Cmd_USER_CHANGED_PARAM command."]
6359 pub RegisterTransitionEndParam: ::std::option::Option<
6360 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
6361 >,
6362}
6363#[repr(C)]
6364#[derive(Debug, Copy, Clone)]
6365pub struct OpaqueEffectDataType {
6366 _unused: [u8; 0],
6367}
6368#[doc = "\tThis suite provides effects a means to share unflattened sequence data between its instances.\n The data is opaque to the host and effects are responsible for maintaining thread safety\n of the shared data. The host provides ref counting that the effect can use to manage\n the lifetime of the shared data."]
6369#[repr(C)]
6370#[derive(Debug, Copy, Clone)]
6371pub struct PrSDKOpaqueEffectDataSuite {
6372 #[doc = "\tAcquire pointer to opaque effect data. This is reference counted meaning that\n AcquireOpaqueEffectData and ReleaseOpaqueEffectData should always be called in pairs.\n If no opaque effect was registered for the given effect_ref AcquireOpaqueEffectData\n will return 0 and the reference count remains 0."]
6373 pub AcquireOpaqueEffectData: ::std::option::Option<
6374 unsafe extern "C" fn(
6375 instanceID: csSDK_int32,
6376 outOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
6377 ) -> PF_Err,
6378 >,
6379 #[doc = "Register opaque effect data. If multiple threads invoke RegisterOpaqueEffectData\n only one will be successful. The ioOpaqueEffectDataPP of the successful thread\n will be returned to all callers. Calling threads are always responsible for\n managing the data they register. This is the case whether or not threads are\n successful registering their data.\n Similarly, RegisterOpaqueEffectData always increments the internal reference count.\n\n//\n// Sample code showing how to use RegisterOpaqueEffectData.\n// Note: code is simplified (not exception-safe, etc.)\n//\n\n//\n// Try to acquire first, in case another thread registered the opaque effect data earlier\n//\nOpaqueEffectDataType * pData = 0;\nPF_Err err = opaqueEffectDataSuite->AcquireOpaqueEffectData(instanceID, &pData);\nassert(err == PF_Err_NONE);\n\n//\n// If acquire did not return a valid pointer, create a new object and register it\n// otherwise we are done\n//\nif (pData == 0)\n{\nOpaqueEffectDataType * pNewData(new OpaqueEffectDataType());\npData = pNewData;\nerr = opaqueEffectDataSuite->RegisterOpaqueEffectData(instanceID, &pData);\nassert(err == PF_Err_NONE);\n\n// now we check if this thread actually succeeded registering\n// if the returned pData is unchanged it means that it was successful\nif (pData != pNewData)\n{\ndelete pNewData;\n}\n}\n\n// pData now points to the right OpaqueEffectDataType object and we can start using it\n...\n\n\n\n"]
6380 pub RegisterOpaqueEffectData: ::std::option::Option<
6381 unsafe extern "C" fn(
6382 instanceID: csSDK_int32,
6383 ioOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
6384 ) -> PF_Err,
6385 >,
6386 #[doc = "\tRelease opaque effect data. This decrements the internal reference count.\n If the internal reference count goes to 0 outDisposeOpaqueEffectDataPP is set\n to the managed data that should be deleted, otherwise it is set to NULL.\n If the internal reference count goes to 0 any calls made to AcquireOpaqueEffectData\n will return 0 until new opaque effect data is registered via RegisterOpaqueEffectData."]
6387 pub ReleaseOpaqueEffectData: ::std::option::Option<
6388 unsafe extern "C" fn(
6389 instanceID: csSDK_int32,
6390 outDisposeOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
6391 ) -> PF_Err,
6392 >,
6393}
6394pub const PrPixelFormatGpu_GPU_BGRA_4444_32f: PrPixelFormatGpu = 1094992704;
6395pub const PrPixelFormatGpu_GPU_BGRA_4444_16f: PrPixelFormatGpu = 1631863616;
6396pub type PrPixelFormatGpu = ::std::os::raw::c_uint;