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 = 9;
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_ToneMapSettings: &[u8; 26] = b"ClipNode::ToneMapSettings\0";
271pub const kVideoSegmentProperty_Clip_HasCaptions: &[u8; 22] = b"ClipNode::HasCaptions\0";
272pub const kVideoSegmentProperty_Clip_UntrimmedDuration: &[u8; 28] =
273 b"ClipNode::UntrimmedDuration\0";
274pub const kVideoSegmentProperty_Multicam_SelectedTrack: &[u8; 28] =
275 b"MulticamNode::SelectedTrack\0";
276pub const kVideoSegmentProperty_Multicam_CameraOrder: &[u8; 26] = b"MulticamNode::CameraOrder\0";
277pub const kVideoSegmentProperty_Multicam_CamerasPerPage: &[u8; 29] =
278 b"MulticamNode::CamerasPerPage\0";
279pub const kVideoSegmentProperty_Multicam_CurrentPage: &[u8; 26] = b"MulticamNode::CurrentPage\0";
280pub const kVideoSegmentProperty_Multicam_ShowProgram: &[u8; 26] = b"MulticamNode::ShowProgram\0";
281pub const kVideoSegmentProperty_Multicam_Recording: &[u8; 24] = b"MulticamNode::Recording\0";
282pub const kVideoSegmentProperty_Multicam_IsNonMultiCam: &[u8; 28] =
283 b"MulticamNode::IsNonMultiCam\0";
284pub const kVideoSegmentProperty_Multicam_UseTimeRemapping: &[u8; 31] =
285 b"MulticamNode::UseTimeRemapping\0";
286pub const kVideoSegmentProperty_SolidColor_Color: &[u8; 22] = b"SolidColorNode::Color\0";
287pub const kVideoSegmentProperty_Effect_FilterMatchName: &[u8; 28] =
288 b"EffectNode::FilterMatchName\0";
289pub const kVideoSegmentProperty_Effect_FilterCategoryName: &[u8; 31] =
290 b"EffectNode::FilterCategoryName\0";
291pub const kVideoSegmentProperty_Effect_FilterOpaqueData: &[u8; 29] =
292 b"EffectNode::FilterOpaqueData\0";
293pub const kVideoSegmentProperty_Effect_FilterParams: &[u8; 25] = b"EffectNode::FilterParams\0";
294pub const kVideoSegmentProperty_Effect_EffectDuration: &[u8; 27] = b"EffectNode::EffectDuration\0";
295pub const kVideoSegmentProperty_Effect_RuntimeInstanceID: &[u8; 30] =
296 b"EffectNode::RuntimeInstanceID\0";
297pub const kVideoSegmentProperty_Effect_LayerInputHashes: &[u8; 29] =
298 b"EffectNode::LayerInputHashes\0";
299pub const kVideoSegmentProperty_Effect_RuntimeHash: &[u8; 24] = b"EffectNode::RuntimeHash\0";
300pub const kVideoSegmentProperty_Effect_StreamLabel: &[u8; 24] = b"EffectNode::StreamLabel\0";
301pub const kVideoSegmentProperty_Effect_ClipName: &[u8; 21] = b"EffectNode::ClipName\0";
302pub const kVideoSegmentProperty_Effect_MasterClipName: &[u8; 27] = b"EffectNode::MasterClipName\0";
303pub const kVideoSegmentProperty_Effect_FileName: &[u8; 21] = b"EffectNode::FileName\0";
304pub const kVideoSegmentProperty_Effect_SourceTrackClipNameHashes: &[u8; 38] =
305 b"EffectNode::SourceTrackClipNameHashes\0";
306pub const kVideoSegmentProperty_Transition_TransitionMatchName: &[u8; 36] =
307 b"TransitionNode::TransitionMatchName\0";
308pub const kVideoSegmentProperty_Transition_TransitionCategoryName: &[u8; 39] =
309 b"TransitionNode::TransitionCategoryName\0";
310pub const kVideoSegmentProperty_Transition_TransitionOpaqueData: &[u8; 37] =
311 b"TransitionNode::TransitionOpaqueData\0";
312pub const kVideoSegmentProperty_Transition_TransitionStartPosition: &[u8; 40] =
313 b"TransitionNode::TransitionStartPosition\0";
314pub const kVideoSegmentProperty_Transition_TransitionEndPosition: &[u8; 38] =
315 b"TransitionNode::TransitionEndPosition\0";
316pub const kVideoSegmentProperty_Transition_TransitionCenterPosition: &[u8; 41] =
317 b"TransitionNode::TransitionCenterPosition\0";
318pub const kVideoSegmentProperty_Transition_TransitionStartPercent: &[u8; 39] =
319 b"TransitionNode::TransitionStartPercent\0";
320pub const kVideoSegmentProperty_Transition_TransitionEndPercent: &[u8; 37] =
321 b"TransitionNode::TransitionEndPercent\0";
322pub const kVideoSegmentProperty_Transition_TransitionBorderWidth: &[u8; 38] =
323 b"TransitionNode::TransitionBorderWidth\0";
324pub const kVideoSegmentProperty_Transition_TransitionBorderColor: &[u8; 38] =
325 b"TransitionNode::TransitionBorderColor\0";
326pub const kVideoSegmentProperty_Transition_TransitionSwitchSources: &[u8; 40] =
327 b"TransitionNode::TransitionSwitchSources\0";
328pub const kVideoSegmentProperty_Transition_TransitionReverse: &[u8; 34] =
329 b"TransitionNode::TransitionReverse\0";
330pub const kVideoSegmentProperty_Transition_TransitionDirection: &[u8; 36] =
331 b"TransitionNode::TransitionDirection\0";
332pub const kVideoSegmentProperty_Transition_TransitionAntiAliasQuality: &[u8; 43] =
333 b"TransitionNode::TransitionAntiAliasQuality\0";
334pub const kVideoSegmentProperty_Transition_TransitionDuration: &[u8; 35] =
335 b"TransitionNode::TransitionDuration\0";
336pub const kVideoSegmentProperty_Transition_TransitionParams: &[u8; 33] =
337 b"TransitionNode::TransitionParams\0";
338pub const kVideoSegmentProperty_Transition_RuntimeInstanceID: &[u8; 34] =
339 b"TransitionNode::RuntimeInstanceID\0";
340pub const kVideoSegmentProperty_Adjustment_AdjustmentMediaIsOpaque: &[u8; 40] =
341 b"AdjustmentNode::AdjustmentMediaIsOpaque\0";
342pub const kVideoSegmentProperty_Adjustment_InvertAlpha: &[u8; 28] =
343 b"AdjustmentNode::InvertAlpha\0";
344pub const kPrSDKVideoSegmentSuite: &[u8; 30] = b"MediaCore Video Segment Suite\0";
345pub const kPrSDKVideoSegmentSuiteVersion4: u32 = 4;
346pub const kPrSDKVideoSegmentSuiteVersion5: u32 = 5;
347pub const kPrSDKVideoSegmentSuiteVersion6: u32 = 6;
348pub const kPrSDKVideoSegmentSuiteVersion7: u32 = 7;
349pub const kPrSDKVideoSegmentSuiteVersion8: u32 = 8;
350pub const kPrSDKVideoSegmentSuiteVersion9: u32 = 9;
351pub const kPrSDKVideoSegmentSuiteVersion: u32 = 9;
352pub const kVideoSegment_NodeType_Clip: &[u8; 23] = b"RenderableNodeClipImpl\0";
353pub const kVideoSegment_NodeType_Compositor: &[u8; 29] = b"RenderableNodeCompositorImpl\0";
354pub const kVideoSegment_NodeType_Disabled: &[u8; 27] = b"RenderableNodeDisabledImpl\0";
355pub const kVideoSegment_NodeType_Effect: &[u8; 25] = b"RenderableNodeEffectImpl\0";
356pub const kVideoSegment_NodeType_Transition: &[u8; 29] = b"RenderableNodeTransitionImpl\0";
357pub const kVideoSegment_NodeType_Media: &[u8; 24] = b"RenderableNodeMediaImpl\0";
358pub const kVideoSegment_NodeType_Preview: &[u8; 26] = b"RenderableNodePreviewImpl\0";
359pub const kVideoSegment_NodeType_SolidColor: &[u8; 29] = b"RenderableNodeSolidColorImpl\0";
360pub const kVideoSegment_NodeType_Multicam: &[u8; 27] = b"RenderableNodeMulticamImpl\0";
361pub const kVideoSegment_NodeType_Adjustment: &[u8; 30] = b"RenderableNode_AdjustmentImpl\0";
362pub const kVideoSegment_NodeType_AdjustmentEffect: &[u8; 36] =
363 b"RenderableNode_AdjustmentEffectImpl\0";
364pub const kPrSDKWindowSuite: &[u8; 22] = b"Premiere Window Suite\0";
365pub const kPrSDKWindowSuiteVersion: u32 = 1;
366pub const PF_Vers_BUILD_BITS: u32 = 511;
367pub const PF_Vers_BUILD_SHIFT: u32 = 0;
368pub const PF_Vers_STAGE_BITS: u32 = 3;
369pub const PF_Vers_STAGE_SHIFT: u32 = 9;
370pub const PF_Vers_BUGFIX_BITS: u32 = 15;
371pub const PF_Vers_BUGFIX_SHIFT: u32 = 11;
372pub const PF_Vers_SUBVERS_BITS: u32 = 15;
373pub const PF_Vers_SUBVERS_SHIFT: u32 = 15;
374pub const PF_Vers_VERS_BITS: u32 = 7;
375pub const PF_Vers_VERS_SHIFT: u32 = 19;
376pub const PF_Vers_VERS_HIGH_BITS: u32 = 15;
377pub const PF_Vers_VERS_HIGH_SHIFT: u32 = 26;
378pub const PF_Vers_VERS_LOW_SHIFT: u32 = 3;
379pub const PF_AE234_PLUG_IN_VERSION: u32 = 13;
380pub const PF_AE234_PLUG_IN_SUBVERS: u32 = 28;
381pub const PF_AE220_PLUG_IN_VERSION: u32 = 13;
382pub const PF_AE220_PLUG_IN_SUBVERS: u32 = 27;
383pub const PF_AE184_PLUG_IN_VERSION: u32 = 13;
384pub const PF_AE184_PLUG_IN_SUBVERS: u32 = 26;
385pub const PF_AE182_PLUG_IN_VERSION: u32 = 13;
386pub const PF_AE182_PLUG_IN_SUBVERS: u32 = 25;
387pub const PF_AE180_PLUG_IN_VERSION: u32 = 13;
388pub const PF_AE180_PLUG_IN_SUBVERS: u32 = 24;
389pub const PF_AE177_PLUG_IN_VERSION: u32 = 13;
390pub const PF_AE177_PLUG_IN_SUBVERS: u32 = 23;
391pub const PF_AE176_PLUG_IN_VERSION: u32 = 13;
392pub const PF_AE176_PLUG_IN_SUBVERS: u32 = 22;
393pub const PF_AE175_PLUG_IN_VERSION: u32 = 13;
394pub const PF_AE175_PLUG_IN_SUBVERS: u32 = 21;
395pub const PF_AE171_PLUG_IN_VERSION: u32 = 13;
396pub const PF_AE171_PLUG_IN_SUBVERS: u32 = 20;
397pub const PF_AE170_PLUG_IN_VERSION: u32 = 13;
398pub const PF_AE170_PLUG_IN_SUBVERS: u32 = 18;
399pub const PF_AE161_PLUG_IN_VERSION: u32 = 13;
400pub const PF_AE161_PLUG_IN_SUBVERS: u32 = 17;
401pub const PF_AE160_PLUG_IN_VERSION: u32 = 13;
402pub const PF_AE160_PLUG_IN_SUBVERS: u32 = 16;
403pub const PF_AE151_PLUG_IN_VERSION: u32 = 13;
404pub const PF_AE151_PLUG_IN_SUBVERS: u32 = 15;
405pub const PF_AE150_PLUG_IN_VERSION: u32 = 13;
406pub const PF_AE150_PLUG_IN_SUBVERS: u32 = 15;
407pub const PF_AE142_PLUG_IN_VERSION: u32 = 13;
408pub const PF_AE142_PLUG_IN_SUBVERS: u32 = 14;
409pub const PF_AE140_PLUG_IN_VERSION: u32 = 13;
410pub const PF_AE140_PLUG_IN_SUBVERS: u32 = 13;
411pub const PF_AE138_PLUG_IN_VERSION: u32 = 13;
412pub const PF_AE138_PLUG_IN_SUBVERS: u32 = 11;
413pub const PF_AE136_PLUG_IN_VERSION: u32 = 13;
414pub const PF_AE136_PLUG_IN_SUBVERS: u32 = 10;
415pub const PF_AE135_PLUG_IN_VERSION: u32 = 13;
416pub const PF_AE135_PLUG_IN_SUBVERS: u32 = 9;
417pub const PF_AE130_PLUG_IN_VERSION: u32 = 13;
418pub const PF_AE130_PLUG_IN_SUBVERS: u32 = 7;
419pub const PF_AE122_PLUG_IN_VERSION: u32 = 13;
420pub const PF_AE122_PLUG_IN_SUBVERS: u32 = 6;
421pub const PF_AE121_PLUG_IN_VERSION: u32 = 13;
422pub const PF_AE121_PLUG_IN_SUBVERS: u32 = 5;
423pub const PF_AE120_PLUG_IN_VERSION: u32 = 13;
424pub const PF_AE120_PLUG_IN_SUBVERS: u32 = 4;
425pub const PF_AE1101_PLUG_IN_VERSION: u32 = 13;
426pub const PF_AE1101_PLUG_IN_SUBVERS: u32 = 3;
427pub const PF_AE110_PLUG_IN_VERSION: u32 = 13;
428pub const PF_AE110_PLUG_IN_SUBVERS: u32 = 2;
429pub const PF_AE105_PLUG_IN_VERSION: u32 = 13;
430pub const PF_AE105_PLUG_IN_SUBVERS: u32 = 1;
431pub const PF_AE100_PLUG_IN_VERSION: u32 = 13;
432pub const PF_AE100_PLUG_IN_SUBVERS: u32 = 0;
433pub const PF_AE90_PLUG_IN_VERSION: u32 = 12;
434pub const PF_AE90_PLUG_IN_SUBVERS: u32 = 14;
435pub const PF_AE80_PLUG_IN_VERSION: u32 = 12;
436pub const PF_AE80_PLUG_IN_SUBVERS: u32 = 13;
437pub const PF_AE70_PLUG_IN_VERSION: u32 = 12;
438pub const PF_AE70_PLUG_IN_SUBVERS: u32 = 12;
439pub const PF_AE65_PLUG_IN_VERSION: u32 = 12;
440pub const PF_AE65_PLUG_IN_SUBVERS: u32 = 11;
441pub const PF_AE41_PLUG_IN_VERSION: u32 = 12;
442pub const PF_AE41_PLUG_IN_SUBVERS: u32 = 2;
443pub const PF_AE40_PLUG_IN_VERSION: u32 = 12;
444pub const PF_AE40_PLUG_IN_SUBVERS: u32 = 1;
445pub const PF_AE31_PLUG_IN_VERSION: u32 = 11;
446pub const PF_AE31_PLUG_IN_SUBVERS: u32 = 6;
447pub const PF_AE31_PLUG_IN_SUBVERS_STRICTIFY: u32 = 8;
448pub const PF_AE_PLUG_IN_VERSION: u32 = 13;
449pub const PF_AE_PLUG_IN_SUBVERS: u32 = 28;
450pub const PF_MAX_EFFECT_NAME_LEN: u32 = 31;
451pub const PF_MAX_EFFECT_CATEGORY_NAME_LEN: u32 = 31;
452pub const PF_MAX_EFFECT_PARAM_NAME_LEN: u32 = 31;
453pub const PF_MAX_PARAM_DESCRIPTION_LEN: u32 = 31;
454pub const PF_MAX_PARAM_VALUE_LEN: u32 = 31;
455pub const PF_MAX_EFFECT_MSG_LEN: u32 = 255;
456pub const PF_AE65_AND_EARLIER_MAX_NUM_EFFECT_PARAMS: u32 = 127;
457pub const PF_MAX_WORLD_WIDTH: u32 = 30000;
458pub const PF_MAX_WORLD_HEIGHT: u32 = 30000;
459pub const PF_FIRST_ERR: u32 = 512;
460pub const PF_Category_BLUR_AND_SHARPEN: &[u8; 15] = b"Blur & Sharpen\0";
461pub const PF_Category_CHANNEL: &[u8; 8] = b"Channel\0";
462pub const PF_Category_DISTORT: &[u8; 8] = b"Distort\0";
463pub const PF_Category_IMAGE_CONTROL: &[u8; 14] = b"Image Control\0";
464pub const PF_Category_KEYING: &[u8; 7] = b"Keying\0";
465pub const PF_Category_PERSPECTIVE: &[u8; 12] = b"Perspective\0";
466pub const PF_Category_STYLIZE: &[u8; 8] = b"Stylize\0";
467pub const PF_Category_TEXT: &[u8; 5] = b"Text\0";
468pub const PF_Category_VIDEO: &[u8; 6] = b"Video\0";
469pub const PF_Category_TRANSITION: &[u8; 11] = b"Transition\0";
470pub const PF_Category_AUDIO: &[u8; 6] = b"Audio\0";
471pub const PF_Category_OTHER: &[u8; 6] = b"Other\0";
472pub const PF_MAX_CHAN8: u32 = 255;
473pub const PF_HALF_CHAN8: u32 = 128;
474pub const PF_MAX_CHAN16: u32 = 32768;
475pub const PF_HALF_CHAN16: u32 = 16384;
476pub const PF_HUE_UNDEFINED: u32 = 2147483648;
477pub const PF_CHANNEL_NAME_LEN: u32 = 63;
478pub const PF_PI: f64 = 3.141592653589793;
479pub const PF_2PI: f64 = 6.283185307179586;
480pub const PF_HALF_PI: f64 = 1.5707963267948966;
481pub const PF_E: f64 = 2.718281828459045;
482pub const PF_SQRT2: f64 = 1.4142135623730951;
483pub const PF_RAD_PER_DEGREE: f64 = 0.017453292519943295;
484pub const PF_KernelFlag_2D: u32 = 0;
485pub const PF_KernelFlag_1D: u32 = 1;
486pub const PF_KernelFlag_UNNORMALIZED: u32 = 0;
487pub const PF_KernelFlag_NORMALIZED: u32 = 2;
488pub const PF_KernelFlag_CLAMP: u32 = 0;
489pub const PF_KernelFlag_NO_CLAMP: u32 = 4;
490pub const PF_KernelFlag_USE_LONG: u32 = 0;
491pub const PF_KernelFlag_USE_CHAR: u32 = 8;
492pub const PF_KernelFlag_USE_FIXED: u32 = 16;
493pub const PF_KernelFlag_USE_UNDEFINED: u32 = 24;
494pub const PF_KernelFlag_HORIZONTAL: u32 = 0;
495pub const PF_KernelFlag_VERTICAL: u32 = 32;
496pub const PF_KernelFlag_TRANSPARENT_BORDERS: u32 = 0;
497pub const PF_KernelFlag_REPLICATE_BORDERS: u32 = 64;
498pub const PF_KernelFlag_STRAIGHT_CONVOLVE: u32 = 0;
499pub const PF_KernelFlag_ALPHA_WEIGHT_CONVOLVE: u32 = 128;
500pub const PF_Iterations_ONCE_PER_PROCESSOR: i32 = -1;
501pub const PF_Iteratations_ONCE_PER_PROCESSOR: i32 = -1;
502pub const kPFCacheOnLoadSuite: &[u8; 23] = b"PF Cache On Load Suite\0";
503pub const kPFCacheOnLoadSuiteVersion1: u32 = 1;
504pub const kPFPixelFormatSuite: &[u8; 22] = b"PF Pixel Format Suite\0";
505pub const kPFPixelFormatSuiteVersion1: u32 = 1;
506pub const kPFBackgroundFrameSuite: &[u8; 26] = b"PF Background Frame Suite\0";
507pub const kPFBackgroundFrameSuiteVersion1: u32 = 1;
508pub const kPFUtilitySuite: &[u8; 17] = b"PF Utility Suite\0";
509pub const kPFUtilitySuiteVersion2: u32 = 2;
510pub const kPFUtilitySuiteVersion3: u32 = 3;
511pub const kPFUtilitySuiteVersion4: u32 = 4;
512pub const kPFUtilitySuiteVersion5: u32 = 5;
513pub const kPFUtilitySuiteVersion6: u32 = 6;
514pub const kPFUtilitySuiteVersion7: u32 = 7;
515pub const kPFUtilitySuiteVersion8: u32 = 8;
516pub const kPFUtilitySuiteVersion9: u32 = 9;
517pub const kPFUtilitySuiteVersion10: u32 = 10;
518pub const kPFUtilitySuiteVersion11: u32 = 11;
519pub const kPFUtilitySuiteVersion12: u32 = 12;
520pub const kPFUtilitySuiteVersion13: u32 = 13;
521pub const kPFUtilitySuiteVersion: u32 = 13;
522pub const kPFSourceSettingsSuite: &[u8; 25] = b"PF Source Settings Suite\0";
523pub const kPFSourceSettingsSuiteVersion1: u32 = 1;
524pub const kPFSourceSettingsSuiteVersion2: u32 = 2;
525pub const kPFSourceSettingsSuiteVersion: u32 = 2;
526pub const kPFTransitionSuite: &[u8; 20] = b"PF Transition Suite\0";
527pub const kPFTransitionSuiteVersion1: u32 = 1;
528pub const kPFTransitionSuiteVersion2: u32 = 2;
529pub const kPFTransitionSuiteVersion: u32 = 2;
530pub const kPrSDKOpaqueEffectDataSuite: &[u8; 25] = b"Opaque Effect Data Suite\0";
531pub const kPrSDKOpaqueEffectDataSuiteVersion2: u32 = 2;
532pub const kPrSDKOpaqueEffectDataSuiteVersion: u32 = 2;
533#[repr(C)]
534#[derive(Debug, Copy, Clone)]
535pub struct NSView {
536 _unused: [u8; 0],
537}
538pub type csSDK_int8 = i8;
539pub type csSDK_int16 = i16;
540pub type csSDK_int32 = i32;
541pub type csSDK_int64 = i64;
542pub type csSDK_uint8 = u8;
543pub type csSDK_uint16 = u16;
544pub type csSDK_uint32 = u32;
545pub type csSDK_uint64 = u64;
546pub type csSDK_size_t = csSDK_uint64;
547pub type PrMemoryPtr = *mut ::std::os::raw::c_char;
548pub type PrMemoryHandle = *mut PrMemoryPtr;
549pub type PrFourCC = csSDK_uint32;
550#[repr(C, packed)]
551#[derive(Debug, Copy, Clone)]
552pub struct prRect {
553 pub top: csSDK_int16,
554 pub left: csSDK_int16,
555 pub bottom: csSDK_int16,
556 pub right: csSDK_int16,
557}
558#[repr(C, packed)]
559#[derive(Debug, Copy, Clone)]
560pub struct prFPoint64 {
561 pub x: f64,
562 pub y: f64,
563}
564pub type prBool = csSDK_int32;
565pub const kPrTrue: prBool = 1;
566pub const kPrFalse: prBool = 0;
567pub type prUTF8Char = csSDK_uint8;
568pub type prInt64 = csSDK_int64;
569pub type prUTF16Char = csSDK_uint16;
570pub type prWnd = *mut NSView;
571#[repr(C, packed)]
572#[derive(Debug, Copy, Clone)]
573pub struct PrSDKString {
574 pub opaque: [csSDK_int64; 2usize],
575}
576#[repr(C, packed)]
577#[derive(Debug, Copy, Clone)]
578pub struct PrSDKGuid {
579 pub opaque: [csSDK_int64; 2usize],
580}
581pub type PrSDKColorSpaceID = PrSDKGuid;
582unsafe extern "C" {
583 #[link_name = "\u{1}__ZL26kPrSDKColorSpaceID_Invalid"]
584 pub static kPrSDKColorSpaceID_Invalid: PrSDKColorSpaceID;
585}
586pub type PrSDKLUTID = PrSDKGuid;
587unsafe extern "C" {
588 #[link_name = "\u{1}__ZL19kPrSDKLUTID_Invalid"]
589 pub static kPrSDKLUTID_Invalid: PrSDKLUTID;
590}
591#[repr(C, packed)]
592#[derive(Debug, Copy, Clone)]
593pub struct PPix {
594 pub bounds: prRect,
595 pub rowbytes: csSDK_int32,
596 pub bitsperpixel: csSDK_int32,
597 pub pix: *mut ::std::os::raw::c_void,
598 pub reserved: [*mut ::std::os::raw::c_void; 32usize],
599}
600pub type PPixHand = *mut *mut PPix;
601pub type prFieldType = csSDK_int32;
602pub type PrTimelineID = csSDK_int32;
603pub type PrClipID = csSDK_int32;
604#[repr(C)]
605#[derive(Debug, Copy, Clone)]
606pub struct prPluginID {
607 pub mGUID: [::std::os::raw::c_char; 37usize],
608}
609pub const PrMaxBitDepth_kMaxBitDepth_Off: PrMaxBitDepth = 0;
610pub const PrMaxBitDepth_kMaxBitDepth_On: PrMaxBitDepth = 1;
611pub const PrMaxBitDepth_kMaxBitDepth_Unknown: PrMaxBitDepth = 2;
612pub type PrMaxBitDepth = ::std::os::raw::c_uint;
613pub const PrParamType_kPrParamType_Int8: PrParamType = 1;
614pub const PrParamType_kPrParamType_Int16: PrParamType = 2;
615pub const PrParamType_kPrParamType_Int32: PrParamType = 3;
616pub const PrParamType_kPrParamType_Int64: PrParamType = 4;
617pub const PrParamType_kPrParamType_Float32: PrParamType = 5;
618pub const PrParamType_kPrParamType_Float64: PrParamType = 6;
619pub const PrParamType_kPrParamType_Bool: PrParamType = 7;
620pub const PrParamType_kPrParamType_Point: PrParamType = 8;
621pub const PrParamType_kPrParamType_Guid: PrParamType = 9;
622pub const PrParamType_kPrParamType_PrMemoryPtr: PrParamType = 10;
623pub const PrParamType_kPrParamType_MaxSize: PrParamType = 4294967295;
624pub type PrParamType = ::std::os::raw::c_uint;
625#[repr(C, packed)]
626#[derive(Copy, Clone)]
627pub struct PrParam {
628 pub mType: PrParamType,
629 pub __bindgen_anon_1: PrParam__bindgen_ty_1,
630}
631#[repr(C, packed)]
632#[derive(Copy, Clone)]
633pub union PrParam__bindgen_ty_1 {
634 pub mInt8: csSDK_int8,
635 pub mInt16: csSDK_int16,
636 pub mInt32: csSDK_int32,
637 pub mInt64: csSDK_int64,
638 pub mFloat32: f32,
639 pub mFloat64: f64,
640 pub mBool: csSDK_uint8,
641 pub mPoint: prFPoint64,
642 pub mGuid: prPluginID,
643 pub mMemoryPtr: PrMemoryPtr,
644}
645#[doc = "\tCurrently supported types"]
646pub const PrPixelFormat_PrPixelFormat_BGRA_4444_8u: PrPixelFormat = 1634887522;
647#[doc = "\tCurrently supported types"]
648pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u: PrPixelFormat = 1635349878;
649#[doc = "\tCurrently supported types"]
650pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u_709: PrPixelFormat = 1096373590;
651#[doc = "\tCurrently supported types"]
652pub const PrPixelFormat_PrPixelFormat_ARGB_4444_8u: PrPixelFormat = 1650946657;
653#[doc = "\tCurrently supported types"]
654pub const PrPixelFormat_PrPixelFormat_BGRX_4444_8u: PrPixelFormat = 2020763490;
655#[doc = "\tCurrently supported types"]
656pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u: PrPixelFormat = 2021225846;
657#[doc = "\tCurrently supported types"]
658pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u_709: PrPixelFormat = 930641270;
659#[doc = "\tCurrently supported types"]
660pub const PrPixelFormat_PrPixelFormat_XRGB_4444_8u: PrPixelFormat = 1650946680;
661#[doc = "\tCurrently supported types"]
662pub const PrPixelFormat_PrPixelFormat_BGRP_4444_8u: PrPixelFormat = 1886545762;
663#[doc = "\tCurrently supported types"]
664pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u: PrPixelFormat = 1887008118;
665#[doc = "\tCurrently supported types"]
666pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u_709: PrPixelFormat = 930116982;
667#[doc = "\tCurrently supported types"]
668pub const PrPixelFormat_PrPixelFormat_PRGB_4444_8u: PrPixelFormat = 1650946672;
669#[doc = "\tCurrently supported types"]
670pub const PrPixelFormat_PrPixelFormat_BGRA_4444_16u: PrPixelFormat = 1634887490;
671#[doc = "\tCurrently supported types"]
672pub const PrPixelFormat_PrPixelFormat_VUYA_4444_16u: PrPixelFormat = 1635349846;
673#[doc = "\tCurrently supported types"]
674pub const PrPixelFormat_PrPixelFormat_ARGB_4444_16u: PrPixelFormat = 1650946625;
675#[doc = "\tCurrently supported types"]
676pub const PrPixelFormat_PrPixelFormat_BGRX_4444_16u: PrPixelFormat = 2020763458;
677#[doc = "\tCurrently supported types"]
678pub const PrPixelFormat_PrPixelFormat_XRGB_4444_16u: PrPixelFormat = 1650946648;
679#[doc = "\tCurrently supported types"]
680pub const PrPixelFormat_PrPixelFormat_BGRP_4444_16u: PrPixelFormat = 1886545730;
681#[doc = "\tCurrently supported types"]
682pub const PrPixelFormat_PrPixelFormat_PRGB_4444_16u: PrPixelFormat = 1650946640;
683#[doc = "\tCurrently supported types"]
684pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f: PrPixelFormat = 1634879298;
685#[doc = "\tCurrently supported types"]
686pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f: PrPixelFormat = 1635341654;
687#[doc = "\tCurrently supported types"]
688pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f_709: PrPixelFormat = 1633244534;
689#[doc = "\tCurrently supported types"]
690pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f: PrPixelFormat = 1650938433;
691#[doc = "\tCurrently supported types"]
692pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f: PrPixelFormat = 2020755266;
693#[doc = "\tCurrently supported types"]
694pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f: PrPixelFormat = 2021217622;
695#[doc = "\tCurrently supported types"]
696pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f_709: PrPixelFormat = 930633046;
697#[doc = "\tCurrently supported types"]
698pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f: PrPixelFormat = 1650938456;
699#[doc = "\tCurrently supported types"]
700pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f: PrPixelFormat = 1886537538;
701#[doc = "\tCurrently supported types"]
702pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f: PrPixelFormat = 1886999894;
703#[doc = "\tCurrently supported types"]
704pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f_709: PrPixelFormat = 930108758;
705#[doc = "\tCurrently supported types"]
706pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f: PrPixelFormat = 1650938448;
707#[doc = "\tCurrently supported types"]
708pub const PrPixelFormat_PrPixelFormat_RGB_444_10u: PrPixelFormat = 826427218;
709#[doc = "\tCurrently supported types"]
710pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_601: PrPixelFormat = 846820729;
711#[doc = "\tCurrently supported types"]
712pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_709: PrPixelFormat = 863597945;
713#[doc = "\tCurrently supported types"]
714pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_601: PrPixelFormat = 2037807477;
715#[doc = "\tCurrently supported types"]
716pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_709: PrPixelFormat = 930511221;
717#[doc = "\tCurrently supported types"]
718pub const PrPixelFormat_PrPixelFormat_V210_422_10u_601: PrPixelFormat = 808530550;
719#[doc = "\tCurrently supported types"]
720pub const PrPixelFormat_PrPixelFormat_V210_422_10u_709: PrPixelFormat = 825307766;
721#[doc = "\tCurrently supported types"]
722pub const PrPixelFormat_PrPixelFormat_V210_422_10u_709_FullRange: PrPixelFormat = 1714500214;
723#[doc = "\tCurrently supported types"]
724pub const PrPixelFormat_PrPixelFormat_P210_422_10u_709: PrPixelFormat = 808530544;
725#[doc = "\tCurrently supported types"]
726pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_601: PrPixelFormat = 2037799253;
727#[doc = "\tCurrently supported types"]
728pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_709: PrPixelFormat = 930502997;
729#[doc = "\tCurrently supported types"]
730pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f_Linear: PrPixelFormat = 1281443650;
731#[doc = "\tCurrently supported types"]
732pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f_Linear: PrPixelFormat = 1282426690;
733#[doc = "\tCurrently supported types"]
734pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f_Linear: PrPixelFormat = 1282950978;
735#[doc = "\tCurrently supported types"]
736pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f_Linear: PrPixelFormat = 1281839681;
737#[doc = "\tCurrently supported types"]
738pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f_Linear: PrPixelFormat = 1281839696;
739#[doc = "\tCurrently supported types"]
740pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f_Linear: PrPixelFormat = 1281839704;
741#[doc = "\tCurrently supported types"]
742pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_709: PrPixelFormat = 928075840;
743pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_P3: PrPixelFormat = 1347506240;
744pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_2020: PrPixelFormat = 844189760;
745pub const PrPixelFormat_PrPixelFormat_RGB_444_10u_HLG: PrPixelFormat = 827082816;
746pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_HLG: PrPixelFormat = 843860032;
747pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
748 842102393;
749pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
750 845772409;
751pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange:
752 PrPixelFormat = 1714517625;
753pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange:
754 PrPixelFormat = 1718187641;
755pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
756 925988473;
757pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
758 929658489;
759pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange:
760 PrPixelFormat = 1177646713;
761pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange:
762 PrPixelFormat = 1181316729;
763pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
764 842102361;
765pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
766 845772377;
767pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange:
768 PrPixelFormat = 1714517593;
769pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange:
770 PrPixelFormat = 1718187609;
771pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
772 925988441;
773pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
774 929658457;
775pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange:
776 PrPixelFormat = 1177646681;
777pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange:
778 PrPixelFormat = 1181316697;
779pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f_Planar: PrPixelFormat = 1348948545;
780pub const PrPixelFormat_PrPixelFormat_RGB_444_32f_Planar: PrPixelFormat = 1346520914;
781pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
782 862549614;
783pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
784 858879598;
785pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601_FullRange:
786 PrPixelFormat = 828995182;
787pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601_FullRange:
788 PrPixelFormat = 825325166;
789pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
790 845772398;
791pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
792 842102382;
793pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709_FullRange:
794 PrPixelFormat = 812217966;
795pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709_FullRange:
796 PrPixelFormat = 808547950;
797pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
798 862549582;
799pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601: PrPixelFormat =
800 858879566;
801pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_601_FullRange:
802 PrPixelFormat = 828995150;
803pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_601_FullRange:
804 PrPixelFormat = 825325134;
805pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
806 845772366;
807pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709: PrPixelFormat =
808 842102350;
809pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FIELD_PICTURE_BIPLANAR_8u_709_FullRange:
810 PrPixelFormat = 812217934;
811pub const PrPixelFormat_PrPixelFormat_YVU_420_MPEG4_FRAME_PICTURE_BIPLANAR_8u_709_FullRange:
812 PrPixelFormat = 808547918;
813pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_709:
814 PrPixelFormat = 812200048;
815pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_709:
816 PrPixelFormat = 808530032;
817pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_709_FullRange : PrPixelFormat = 1718169712 ;
818pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_709_FullRange : PrPixelFormat = 1714499696 ;
819pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020:
820 PrPixelFormat = 812200016;
821pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020:
822 PrPixelFormat = 808530000;
823pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_FullRange : PrPixelFormat = 1718169680 ;
824pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_FullRange : PrPixelFormat = 1714499664 ;
825pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR:
826 PrPixelFormat = 812207952;
827pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR:
828 PrPixelFormat = 808537936;
829pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_FullRange : PrPixelFormat = 1718177616 ;
830pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_FullRange : PrPixelFormat = 1714507600 ;
831pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG : PrPixelFormat = 812410960 ;
832pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG : PrPixelFormat = 810305616 ;
833pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG_FullRange : PrPixelFormat = 1718380624 ;
834pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_BIPLANAR_10u_as16u_2020_HDR_HLG_FullRange : PrPixelFormat = 1716275280 ;
835pub const PrPixelFormat_PrPixelFormat_Y210_422_10u_as16u_709: PrPixelFormat = 808530553;
836pub const PrPixelFormat_PrPixelFormat_Y210_422_10u_as16u_709_FullRange: PrPixelFormat = 1714500217;
837pub const PrPixelFormat_PrPixelFormat_NTSCDV25: PrPixelFormat = 846100068;
838pub const PrPixelFormat_PrPixelFormat_PALDV25: PrPixelFormat = 846231140;
839pub const PrPixelFormat_PrPixelFormat_NTSCDV50: PrPixelFormat = 896431716;
840pub const PrPixelFormat_PrPixelFormat_PALDV50: PrPixelFormat = 896562788;
841pub const PrPixelFormat_PrPixelFormat_NTSCDV100_720p: PrPixelFormat = 929986148;
842pub const PrPixelFormat_PrPixelFormat_PALDV100_720p: PrPixelFormat = 930117220;
843pub const PrPixelFormat_PrPixelFormat_NTSCDV100_1080i: PrPixelFormat = 829322852;
844pub const PrPixelFormat_PrPixelFormat_PALDV100_1080i: PrPixelFormat = 829453924;
845pub const PrPixelFormat_PrPixelFormat_Raw: PrPixelFormat = 2004312434;
846pub const PrPixelFormat_PrPixelFormat_Invalid: PrPixelFormat = 1717854562;
847pub const PrPixelFormat_PrPixelFormat_Any: PrPixelFormat = 0;
848#[doc = "\tPremiere supported pixel formats for RenderFrame and PPixs"]
849pub type PrPixelFormat = ::std::os::raw::c_uint;
850pub type plugGetClipVideoFunc = ::std::option::Option<
851 unsafe extern "C" fn(
852 frame: csSDK_int32,
853 thePort: PPixHand,
854 bounds: *mut prRect,
855 flags: csSDK_int32,
856 clipData: PrClipID,
857 ) -> csSDK_int32,
858>;
859pub type plugGetWorkAreaFunc = ::std::option::Option<
860 unsafe extern "C" fn(
861 timelineData: PrTimelineID,
862 workAreaStart: *mut csSDK_int32,
863 workAreaEnd: *mut csSDK_int32,
864 ) -> csSDK_int32,
865>;
866pub type plugGetCurrentTimebaseFunc = ::std::option::Option<
867 unsafe extern "C" fn(
868 timelineData: PrTimelineID,
869 scale: *mut csSDK_uint32,
870 sampleSize: *mut csSDK_int32,
871 ),
872>;
873pub type plugGetCurrentPosFunc =
874 ::std::option::Option<unsafe extern "C" fn(timelineData: PrTimelineID) -> csSDK_int32>;
875pub type plugGetPreviewFrameExFunc = ::std::option::Option<
876 unsafe extern "C" fn(
877 inTimelineData: PrTimelineID,
878 inFrame: csSDK_int32,
879 outRenderedFrame: *mut PPixHand,
880 inFrameRect: *const prRect,
881 inRequestedPixelFormatArray: *mut PrPixelFormat,
882 inRequestedPixelFormatArrayCount: csSDK_int32,
883 inPixelAspectRatioNumerator: csSDK_uint32,
884 inPixelAspectRatioDenominator: csSDK_uint32,
885 inAlwaysRender: bool,
886 ) -> csSDK_int32,
887>;
888pub type plugGetClipVideoBoundsFunc = ::std::option::Option<
889 unsafe extern "C" fn(
890 inClipData: PrClipID,
891 outBounds: *mut prRect,
892 outPixelAspectRatioNumerator: *mut csSDK_uint32,
893 outPixelAspectRatioDenominator: *mut csSDK_uint32,
894 ) -> csSDK_int32,
895>;
896pub type plugGetClipVideoExFunc = ::std::option::Option<
897 unsafe extern "C" fn(
898 inFrame: csSDK_int32,
899 outRenderedFrame: *mut PPixHand,
900 inFrameRect: *const prRect,
901 inRequestedPixelFormatArray: *const PrPixelFormat,
902 inRequestedPixelFormatArrayCount: csSDK_int32,
903 inPixelAspectRatioNumerator: csSDK_uint32,
904 inPixelAspectRatioDenominator: csSDK_uint32,
905 inClipData: PrClipID,
906 ) -> csSDK_int32,
907>;
908#[repr(C, packed)]
909#[derive(Debug, Copy, Clone)]
910pub struct PlugTimelineFuncs {
911 pub unused2: *mut ::std::os::raw::c_void,
912 pub unused3: *mut ::std::os::raw::c_void,
913 pub getClipVideo: plugGetClipVideoFunc,
914 pub unused1: *mut ::std::os::raw::c_void,
915 pub unused8: *mut ::std::os::raw::c_void,
916 pub unused9: *mut ::std::os::raw::c_void,
917 pub unused10: *mut ::std::os::raw::c_void,
918 pub getWorkArea: plugGetWorkAreaFunc,
919 pub unused7: *mut ::std::os::raw::c_void,
920 pub unused4: *mut ::std::os::raw::c_void,
921 pub getCurrentTimebase: plugGetCurrentTimebaseFunc,
922 pub getCurrentPos: plugGetCurrentPosFunc,
923 pub unused5: *mut ::std::os::raw::c_void,
924 pub unused6: *mut ::std::os::raw::c_void,
925 pub getPreviewFrameEx: plugGetPreviewFrameExFunc,
926 pub getClipVideoBounds: plugGetClipVideoBoundsFunc,
927 pub getClipVideoEx: plugGetClipVideoExFunc,
928}
929pub type PlugTimelineFuncsPtr = *mut PlugTimelineFuncs;
930pub type prSuiteError = csSDK_int32;
931pub const suiteError_NoError: prSuiteError = 0;
932pub const suiteError_Fail: prSuiteError = -2147483648;
933pub const suiteError_InvalidParms: prSuiteError = -2147483647;
934pub const suiteError_OutOfMemory: prSuiteError = -2147483646;
935pub const suiteError_InvalidCall: prSuiteError = -2147483645;
936pub const suiteError_NotImplemented: prSuiteError = -2147483644;
937pub const suiteError_IDNotValid: prSuiteError = -2147483643;
938pub const suiteError_RenderPending: prSuiteError = 65536;
939pub const suiteError_RenderedFrameNotFound: prSuiteError = 65537;
940pub const suiteError_RenderedFrameCanceled: prSuiteError = 65538;
941pub const suiteError_RenderInvalidPixelFormat: prSuiteError = -2147418112;
942pub const suiteError_RenderCompletionProcNotSet: prSuiteError = -2147418111;
943pub const suiteError_TimeRoundedAudioRate: prSuiteError = 131072;
944pub const suiteError_CompilerCompileAbort: prSuiteError = 196609;
945pub const suiteError_CompilerCompileDone: prSuiteError = 196610;
946pub const suiteError_CompilerOutputFormatAccept: prSuiteError = 196612;
947pub const suiteError_CompilerOutputFormatDecline: prSuiteError = 196613;
948pub const suiteError_CompilerRebuildCutList: prSuiteError = 196614;
949pub const suiteError_CompilerIterateCompiler: prSuiteError = 196615;
950pub const suiteError_CompilerIterateCompilerDone: prSuiteError = 196616;
951pub const suiteError_CompilerInternalErrorSilent: prSuiteError = 196617;
952pub const suiteError_CompilerIterateCompilerCacheable: prSuiteError = 196618;
953pub const suiteError_CompilerBadFormatIndex: prSuiteError = -2147287040;
954pub const suiteError_CompilerInternalError: prSuiteError = -2147287039;
955pub const suiteError_CompilerOutOfDiskSpace: prSuiteError = -2147287038;
956pub const suiteError_CompilerBufferFull: prSuiteError = -2147287037;
957pub const suiteError_CompilerErrOther: prSuiteError = -2147287036;
958pub const suiteError_CompilerErrMemory: prSuiteError = -2147287035;
959pub const suiteError_CompilerErrFileNotFound: prSuiteError = -2147287034;
960pub const suiteError_CompilerErrTooManyOpenFiles: prSuiteError = -2147287033;
961pub const suiteError_CompilerErrPermErr: prSuiteError = -2147287032;
962pub const suiteError_CompilerErrOpenErr: prSuiteError = -2147287031;
963pub const suiteError_CompilerErrInvalidDrive: prSuiteError = -2147287030;
964pub const suiteError_CompilerErrDupFile: prSuiteError = -2147287029;
965pub const suiteError_CompilerErrIo: prSuiteError = -2147287028;
966pub const suiteError_CompilerErrInUse: prSuiteError = -2147287027;
967pub const suiteError_CompilerErrCodecBadInput: prSuiteError = -2147287026;
968pub const suiteError_ExporterSuspended: prSuiteError = -2147287025;
969pub const suiteError_ExporterNoMoreFrames: prSuiteError = -2147287024;
970pub const suiteError_FileBufferTooSmall: prSuiteError = -2147221504;
971pub const suiteError_FileNotImportableFileType: prSuiteError = -2147221503;
972pub const suiteError_LegacyInvalidVideoRate: prSuiteError = -2147155968;
973pub const suiteError_PlayModuleAudioInitFailure: prSuiteError = -2147090432;
974pub const suiteError_PlayModuleAudioIllegalPlaySetting: prSuiteError = -2147090431;
975pub const suiteError_PlayModuleAudioNotInitialized: prSuiteError = -2147090430;
976pub const suiteError_PlayModuleAudioNotStarted: prSuiteError = -2147090429;
977pub const suiteError_PlayModuleAudioIllegalAction: prSuiteError = -2147090428;
978pub const suiteError_PlayModuleDeviceControlSuiteIllegalCallSequence: prSuiteError = -2147024896;
979pub const suiteError_MediaAcceleratorSuitePathNotFound: prSuiteError = -2146959360;
980pub const suiteError_MediaAcceleratorSuiteRegisterFailure: prSuiteError = -2146959359;
981pub const suiteError_RepositoryReadFailed: prSuiteError = -2146893824;
982pub const suiteError_RepositoryWriteFailed: prSuiteError = -2146893823;
983pub const suiteError_NotActivated: prSuiteError = -2146893822;
984pub const suiteError_DataNotPresent: prSuiteError = -2146893821;
985pub const suiteError_ServerCommunicationFailed: prSuiteError = -2146893820;
986pub const suiteError_Internal: prSuiteError = -2146893819;
987pub const suiteError_StringNotFound: prSuiteError = -2146828288;
988pub const suiteError_StringBufferTooSmall: prSuiteError = -2146828287;
989pub const suiteError_NoKeyframeAfterInTime: prSuiteError = -2146762752;
990pub const suiteError_NoMoreData: prSuiteError = 786432;
991pub const suiteError_InstanceDestroyed: prSuiteError = -2146631680;
992pub const suiteError_HostIORequired: prSuiteError = -2146566144;
993pub const PrRenderQuality_kPrRenderQuality_Max: PrRenderQuality = 4;
994pub const PrRenderQuality_kPrRenderQuality_High: PrRenderQuality = 3;
995pub const PrRenderQuality_kPrRenderQuality_Medium: PrRenderQuality = 2;
996pub const PrRenderQuality_kPrRenderQuality_Low: PrRenderQuality = 1;
997pub const PrRenderQuality_kPrRenderQuality_Draft: PrRenderQuality = 0;
998pub const PrRenderQuality_kPrRenderQuality_Invalid: PrRenderQuality = 4294967295;
999pub const PrRenderQuality_kPrRenderQuality_ForceEnumSize: PrRenderQuality = 4294967295;
1000#[doc = "\tRender qualities"]
1001pub type PrRenderQuality = ::std::os::raw::c_uint;
1002pub const PrPlaybackQuality_kPrPlaybackQuality_Invalid: PrPlaybackQuality = 4;
1003pub const PrPlaybackQuality_kPrPlaybackQuality_High: PrPlaybackQuality = 3;
1004pub const PrPlaybackQuality_kPrPlaybackQuality_Draft: PrPlaybackQuality = 2;
1005pub const PrPlaybackQuality_kPrPlaybackQuality_Auto: PrPlaybackQuality = 1;
1006pub const PrPlaybackQuality_kPrPlaybackQuality_ForceEnumSize: PrPlaybackQuality = 4294967295;
1007#[doc = " Playback qualities"]
1008pub type PrPlaybackQuality = ::std::os::raw::c_uint;
1009pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Invalid:
1010 PrPlaybackFractionalResolution = 6;
1011pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Sixteenth:
1012 PrPlaybackFractionalResolution = 5;
1013pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Eighth:
1014 PrPlaybackFractionalResolution = 4;
1015pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Quarter:
1016 PrPlaybackFractionalResolution = 3;
1017pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Half:
1018 PrPlaybackFractionalResolution = 2;
1019pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_Full:
1020 PrPlaybackFractionalResolution = 1;
1021pub const PrPlaybackFractionalResolution_kPrPlaybackFractionalResolution_ForceEnumSize:
1022 PrPlaybackFractionalResolution = 4294967295;
1023#[doc = " Playback Fractional Resolutions"]
1024pub type PrPlaybackFractionalResolution = ::std::os::raw::c_uint;
1025#[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."]
1026pub type PrTime = prInt64;
1027#[doc = "\tRatioTime is used where value that are not representable by ticks are needed."]
1028#[repr(C, packed)]
1029#[derive(Debug, Copy, Clone)]
1030pub struct PrRatioTime {
1031 pub mValue: prInt64,
1032 pub mScale: prInt64,
1033}
1034pub const PrVideoFrameRates_kVideoFrameRate_24Drop: PrVideoFrameRates = 1;
1035pub const PrVideoFrameRates_kVideoFrameRate_24: PrVideoFrameRates = 2;
1036pub const PrVideoFrameRates_kVideoFrameRate_PAL: PrVideoFrameRates = 3;
1037pub const PrVideoFrameRates_kVideoFrameRate_NTSC: PrVideoFrameRates = 4;
1038pub const PrVideoFrameRates_kVideoFrameRate_30: PrVideoFrameRates = 5;
1039pub const PrVideoFrameRates_kVideoFrameRate_PAL_HD: PrVideoFrameRates = 6;
1040pub const PrVideoFrameRates_kVideoFrameRate_NTSC_HD: PrVideoFrameRates = 7;
1041pub const PrVideoFrameRates_kVideoFrameRate_60: PrVideoFrameRates = 8;
1042pub const PrVideoFrameRates_kVideoFrameRate_Max: PrVideoFrameRates = 4294967295;
1043pub type PrVideoFrameRates = ::std::os::raw::c_uint;
1044#[repr(C, packed)]
1045#[derive(Debug, Copy, Clone)]
1046pub struct PrSDKTimeSuite {
1047 #[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."]
1048 pub GetTicksPerSecond:
1049 ::std::option::Option<unsafe extern "C" fn(outTicksPerSec: *mut PrTime) -> prSuiteError>,
1050 #[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."]
1051 pub GetTicksPerVideoFrame: ::std::option::Option<
1052 unsafe extern "C" fn(
1053 inVideoFrameRate: PrVideoFrameRates,
1054 outTicksPerFrame: *mut PrTime,
1055 ) -> prSuiteError,
1056 >,
1057 #[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."]
1058 pub GetTicksPerAudioSample: ::std::option::Option<
1059 unsafe extern "C" fn(inSampleRate: f32, outTicksPerSample: *mut PrTime) -> prSuiteError,
1060 >,
1061}
1062pub type PrRenderCacheType = csSDK_int32;
1063#[repr(C, packed)]
1064#[derive(Debug, Copy, Clone)]
1065pub struct ClipFrameFormat {
1066 pub inPixelFormat: PrPixelFormat,
1067 pub inWidth: csSDK_int32,
1068 pub inHeight: csSDK_int32,
1069}
1070#[repr(C, packed)]
1071#[derive(Debug, Copy, Clone)]
1072pub struct PrSDKClipRenderSuite {
1073 #[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."]
1074 pub SupportsClipRenderSuite: ::std::option::Option<
1075 unsafe extern "C" fn(
1076 inClipID: PrClipID,
1077 outSupported: *mut prBool,
1078 outAsyncIOSupported: *mut prBool,
1079 ) -> prSuiteError,
1080 >,
1081 #[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."]
1082 pub GetNumPixelFormats: ::std::option::Option<
1083 unsafe extern "C" fn(
1084 inClipID: PrClipID,
1085 outNumPixelFormats: *mut csSDK_int32,
1086 ) -> prSuiteError,
1087 >,
1088 #[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."]
1089 pub GetPixelFormat: ::std::option::Option<
1090 unsafe extern "C" fn(
1091 inClipID: PrClipID,
1092 inIndex: csSDK_int32,
1093 outPixelFormat: *mut PrPixelFormat,
1094 ) -> prSuiteError,
1095 >,
1096 #[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."]
1097 pub GetNumPreferredFrameSizes: ::std::option::Option<
1098 unsafe extern "C" fn(
1099 inClipID: PrClipID,
1100 inPixelFormat: PrPixelFormat,
1101 outNumPreferredFrameSizes: *mut csSDK_int32,
1102 ) -> prSuiteError,
1103 >,
1104 #[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."]
1105 pub GetPreferredFrameSize: ::std::option::Option<
1106 unsafe extern "C" fn(
1107 inClipID: PrClipID,
1108 inPixelFormat: PrPixelFormat,
1109 inIndex: csSDK_int32,
1110 outWidth: *mut csSDK_int32,
1111 outHeight: *mut csSDK_int32,
1112 ) -> prSuiteError,
1113 >,
1114 #[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."]
1115 pub InitiateAsyncRead: ::std::option::Option<
1116 unsafe extern "C" fn(
1117 inClipID: PrClipID,
1118 inFrameTime: *const PrTime,
1119 inFormat: *mut ClipFrameFormat,
1120 ) -> prSuiteError,
1121 >,
1122 #[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."]
1123 pub CancelAsyncRead: ::std::option::Option<
1124 unsafe extern "C" fn(
1125 inClipID: PrClipID,
1126 inFrameTime: *const PrTime,
1127 inFormat: *mut ClipFrameFormat,
1128 ) -> prSuiteError,
1129 >,
1130 #[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."]
1131 pub FindFrame: ::std::option::Option<
1132 unsafe extern "C" fn(
1133 inClipID: PrClipID,
1134 inFrameTime: *const PrTime,
1135 inFormats: *mut ClipFrameFormat,
1136 inNumFormats: csSDK_int32,
1137 inSynchronous: bool,
1138 outFrame: *mut PPixHand,
1139 ) -> prSuiteError,
1140 >,
1141 #[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"]
1142 pub GetClipFieldType: ::std::option::Option<
1143 unsafe extern "C" fn(inClipID: PrClipID, outFieldType: *mut prFieldType) -> prSuiteError,
1144 >,
1145 #[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."]
1146 pub GetNumCustomPixelFormats: ::std::option::Option<
1147 unsafe extern "C" fn(
1148 inClipID: PrClipID,
1149 outNumPixelFormats: *mut csSDK_int32,
1150 ) -> prSuiteError,
1151 >,
1152 #[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."]
1153 pub GetCustomPixelFormat: ::std::option::Option<
1154 unsafe extern "C" fn(
1155 inClipID: PrClipID,
1156 inIndex: csSDK_int32,
1157 outPixelFormat: *mut PrPixelFormat,
1158 ) -> prSuiteError,
1159 >,
1160}
1161#[doc = "!Indicates Data Group"]
1162pub const PrDSGroupChildType_kPrDSGroupType_GROUP: PrDSGroupChildType = 0;
1163#[doc = "!Indicates Dynamic Group"]
1164pub const PrDSGroupChildType_kPrDSGroupType_DYNAMIC_DATA: PrDSGroupChildType = 1;
1165#[doc = "!Indicates Static Group"]
1166pub const PrDSGroupChildType_kPrDSGroupType_STATIC_DATA: PrDSGroupChildType = 2;
1167#[doc = "!Indicates invalid entry"]
1168pub const PrDSGroupChildType_kPrDSGroupType_INVALID: PrDSGroupChildType = 3;
1169#[doc = "\tDefines data stream types"]
1170pub type PrDSGroupChildType = ::std::os::raw::c_uint;
1171pub type plugNewPtrFunc =
1172 ::std::option::Option<unsafe extern "C" fn(size: csSDK_uint32) -> *mut ::std::os::raw::c_char>;
1173pub type plugSetPtrSizeFunc =
1174 ::std::option::Option<unsafe extern "C" fn(ptr: *mut PrMemoryPtr, newsize: csSDK_uint32)>;
1175pub type plugGetPtrSizeFunc =
1176 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_char) -> csSDK_int32>;
1177pub type plugDisposePtrFunc =
1178 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_char)>;
1179pub type plugNewHandleFunc = ::std::option::Option<
1180 unsafe extern "C" fn(size: csSDK_uint32) -> *mut *mut ::std::os::raw::c_char,
1181>;
1182pub type plugSetHandleSizeFunc = ::std::option::Option<
1183 unsafe extern "C" fn(h: PrMemoryHandle, newsize: csSDK_uint32) -> csSDK_int16,
1184>;
1185pub type plugGetHandleSizeFunc =
1186 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_int32>;
1187pub type plugDisposeHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1188pub type plugNewPtrClearFunc =
1189 ::std::option::Option<unsafe extern "C" fn(size: csSDK_uint32) -> *mut ::std::os::raw::c_char>;
1190pub type plugNewHandleClearFunc = ::std::option::Option<
1191 unsafe extern "C" fn(size: csSDK_uint32) -> *mut *mut ::std::os::raw::c_char,
1192>;
1193pub type plugLockHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1194pub type plugUnlockHandleFunc = ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>;
1195#[repr(C, packed)]
1196#[derive(Debug, Copy, Clone)]
1197pub struct PlugMemoryFuncs {
1198 pub newPtr: plugNewPtrFunc,
1199 pub setPtrSize: plugSetPtrSizeFunc,
1200 pub getPtrSize: plugGetPtrSizeFunc,
1201 pub disposePtr: plugDisposePtrFunc,
1202 pub newHandle: plugNewHandleFunc,
1203 pub setHandleSize: plugSetHandleSizeFunc,
1204 pub getHandleSize: plugGetHandleSizeFunc,
1205 pub disposeHandle: plugDisposeHandleFunc,
1206 pub newPtrClear: plugNewPtrClearFunc,
1207 pub newHandleClear: plugNewHandleClearFunc,
1208 pub lockHandle: plugLockHandleFunc,
1209 pub unlockHandle: plugUnlockHandleFunc,
1210}
1211pub type PlugMemoryFuncsPtr = *mut PlugMemoryFuncs;
1212pub type plugUpdateAllWindowsFunc = ::std::option::Option<unsafe extern "C" fn()>;
1213pub type plugGetMainWindFunc =
1214 ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
1215#[repr(C, packed)]
1216#[derive(Debug, Copy, Clone)]
1217pub struct PlugWindowFuncs {
1218 pub updateAllWindows: plugUpdateAllWindowsFunc,
1219 pub getMainWnd: plugGetMainWindFunc,
1220}
1221pub type PlugWindowFuncsPtr = *mut PlugWindowFuncs;
1222pub type plugppixGetPixelsFunc =
1223 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand) -> *mut ::std::os::raw::c_char>;
1224pub type plugppixGetBoundsFunc =
1225 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand, bounds: *mut prRect)>;
1226pub type plugppixGetRowbytesFunc =
1227 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand) -> ::std::os::raw::c_int>;
1228pub type plugppixNewFunc =
1229 ::std::option::Option<unsafe extern "C" fn(bounds: *mut prRect) -> PPixHand>;
1230pub type plugppixDisposeFunc = ::std::option::Option<unsafe extern "C" fn(ppix: PPixHand)>;
1231pub type plugppixLockFunc = ::std::option::Option<unsafe extern "C" fn(pix: PPixHand)>;
1232pub type plugppixUnlockFunc = ::std::option::Option<unsafe extern "C" fn(pix: PPixHand)>;
1233pub type plugppixGetPixelAspectRatioFunc = ::std::option::Option<
1234 unsafe extern "C" fn(
1235 pix: PPixHand,
1236 num: *mut csSDK_uint32,
1237 den: *mut csSDK_uint32,
1238 ) -> ::std::os::raw::c_int,
1239>;
1240pub type plugppixGetAlphaBounds =
1241 ::std::option::Option<unsafe extern "C" fn(pix: PPixHand, alphaBounds: *mut prRect)>;
1242#[repr(C, packed)]
1243#[derive(Debug, Copy, Clone)]
1244pub struct PlugppixFuncs {
1245 pub ppixGetPixels: plugppixGetPixelsFunc,
1246 pub ppixGetBounds: plugppixGetBoundsFunc,
1247 pub ppixGetRowbytes: plugppixGetRowbytesFunc,
1248 pub ppixNew: plugppixNewFunc,
1249 pub ppixDispose: plugppixDisposeFunc,
1250 pub ppixLockPixels: plugppixLockFunc,
1251 pub ppixUnlockPixels: plugppixUnlockFunc,
1252 pub ppixGetPixelAspectRatio: plugppixGetPixelAspectRatioFunc,
1253 pub ppixGetAlphaBounds: plugppixGetAlphaBounds,
1254}
1255pub type PlugppixFuncsPtr = *mut PlugppixFuncs;
1256pub type SPBoolean = ::std::os::raw::c_uchar;
1257pub type SPErr = ::std::os::raw::c_int;
1258#[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"]
1259#[repr(C)]
1260#[derive(Debug, Copy, Clone)]
1261pub struct SPBasicSuite {
1262 #[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()"]
1263 pub AcquireSuite: ::std::option::Option<
1264 unsafe extern "C" fn(
1265 name: *const ::std::os::raw::c_char,
1266 version: ::std::os::raw::c_int,
1267 suite: *mut *const ::std::os::raw::c_void,
1268 ) -> SPErr,
1269 >,
1270 #[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."]
1271 pub ReleaseSuite: ::std::option::Option<
1272 unsafe extern "C" fn(
1273 name: *const ::std::os::raw::c_char,
1274 version: ::std::os::raw::c_int,
1275 ) -> SPErr,
1276 >,
1277 #[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."]
1278 pub IsEqual: ::std::option::Option<
1279 unsafe extern "C" fn(
1280 token1: *const ::std::os::raw::c_char,
1281 token2: *const ::std::os::raw::c_char,
1282 ) -> SPBoolean,
1283 >,
1284 #[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()"]
1285 pub AllocateBlock: ::std::option::Option<
1286 unsafe extern "C" fn(size: usize, block: *mut *mut ::std::os::raw::c_void) -> SPErr,
1287 >,
1288 #[doc = " Frees a block of memory allocated with \\c #AllocateBlock().\n@param block The block pointer.\n@see \\c #SPBlocksSuite::FreeBlock()"]
1289 pub FreeBlock:
1290 ::std::option::Option<unsafe extern "C" fn(block: *mut ::std::os::raw::c_void) -> SPErr>,
1291 #[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()"]
1292 pub ReallocateBlock: ::std::option::Option<
1293 unsafe extern "C" fn(
1294 block: *mut ::std::os::raw::c_void,
1295 newSize: usize,
1296 newblock: *mut *mut ::std::os::raw::c_void,
1297 ) -> SPErr,
1298 >,
1299 #[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"]
1300 pub Undefined: ::std::option::Option<unsafe extern "C" fn() -> SPErr>,
1301}
1302#[repr(C, packed)]
1303#[derive(Debug, Copy, Clone)]
1304pub struct prTimebaseRec {
1305 pub duration: csSDK_int32,
1306 pub scale: csSDK_int32,
1307 pub sampleSize: csSDK_int32,
1308}
1309#[repr(C, packed)]
1310#[derive(Debug, Copy, Clone)]
1311pub struct prFileSpec {
1312 pub volID: ::std::os::raw::c_int,
1313 pub parID: ::std::os::raw::c_int,
1314 pub name: [::std::os::raw::c_char; 256usize],
1315}
1316pub type plugGetSerialNumberFunc =
1317 ::std::option::Option<unsafe extern "C" fn(result: *mut ::std::os::raw::c_char)>;
1318pub type plugGetFileTimebaseFunc = ::std::option::Option<
1319 unsafe extern "C" fn(
1320 filespec: *mut prFileSpec,
1321 audioOnly: csSDK_int32,
1322 result: *mut prTimebaseRec,
1323 ) -> csSDK_int32,
1324>;
1325pub type plugGetFileVideoFunc = ::std::option::Option<
1326 unsafe extern "C" fn(
1327 filespec: *mut prFileSpec,
1328 frame: csSDK_int32,
1329 thePort: PPixHand,
1330 bounds: *mut prRect,
1331 flags: csSDK_int32,
1332 ) -> csSDK_int32,
1333>;
1334pub type plugGetFileAudioSecondFunc = ::std::option::Option<
1335 unsafe extern "C" fn(
1336 filespec: *mut prFileSpec,
1337 num: csSDK_int32,
1338 buffer: *mut ::std::os::raw::c_char,
1339 flags: ::std::os::raw::c_short,
1340 audrate: csSDK_int32,
1341 speed: ::std::os::raw::c_short,
1342 ) -> csSDK_int32,
1343>;
1344pub type plugGetFileVideoBoundsFunc = ::std::option::Option<
1345 unsafe extern "C" fn(filespec: *mut prFileSpec, bounds: *mut prRect) -> csSDK_int32,
1346>;
1347pub type plugGetSPBasicSuiteFunc =
1348 ::std::option::Option<unsafe extern "C" fn() -> *mut SPBasicSuite>;
1349pub type plugGetFileExtStringFunc = ::std::option::Option<
1350 unsafe extern "C" fn(
1351 fileTypes: csSDK_uint32,
1352 inBuffer: *mut ::std::os::raw::c_char,
1353 inBufferSize: csSDK_uint32,
1354 ) -> csSDK_int32,
1355>;
1356#[repr(C, packed)]
1357#[derive(Debug, Copy, Clone)]
1358pub struct PlugUtilFuncs {
1359 pub unused1: *mut ::std::os::raw::c_void,
1360 pub getSerialNumber: plugGetSerialNumberFunc,
1361 pub getFileTimebase: plugGetFileTimebaseFunc,
1362 pub getFileVideo: plugGetFileVideoFunc,
1363 pub getFileAudioSecond: plugGetFileAudioSecondFunc,
1364 pub unused2: *mut ::std::os::raw::c_void,
1365 pub getFileVideoBounds: plugGetFileVideoBoundsFunc,
1366 pub getSPBasicSuite: plugGetSPBasicSuiteFunc,
1367 pub getFileExtString: plugGetFileExtStringFunc,
1368}
1369pub type PlugUtilFuncsPtr = *mut PlugUtilFuncs;
1370#[repr(C, packed)]
1371#[derive(Debug, Copy, Clone)]
1372pub struct piSuites {
1373 pub piInterfaceVer: ::std::os::raw::c_int,
1374 pub memFuncs: PlugMemoryFuncsPtr,
1375 pub windFuncs: PlugWindowFuncsPtr,
1376 pub ppixFuncs: PlugppixFuncsPtr,
1377 pub utilFuncs: PlugUtilFuncsPtr,
1378 pub timelineFuncs: PlugTimelineFuncsPtr,
1379}
1380pub type piSuitesPtr = *mut piSuites;
1381pub type Print2TapeProcPtr = ::std::option::Option<
1382 unsafe extern "C" fn(
1383 deviceHand: PrMemoryHandle,
1384 selector: ::std::os::raw::c_long,
1385 ) -> csSDK_int32,
1386>;
1387pub const PrDeviceSelector_dsInit: PrDeviceSelector = 0;
1388pub const PrDeviceSelector_dsSetup: PrDeviceSelector = 1;
1389pub const PrDeviceSelector_dsExecute: PrDeviceSelector = 2;
1390pub const PrDeviceSelector_dsCleanup: PrDeviceSelector = 3;
1391pub const PrDeviceSelector_dsRestart: PrDeviceSelector = 4;
1392pub const PrDeviceSelector_dsQuiet: PrDeviceSelector = 5;
1393pub const PrDeviceSelector_dsHasOptions: PrDeviceSelector = 6;
1394pub const PrDeviceSelector_dsSelector_Size: PrDeviceSelector = 4294967295;
1395#[doc = "\tSelectors"]
1396pub type PrDeviceSelector = ::std::os::raw::c_uint;
1397pub const PrTransitionReturnValue_esNoErr: PrTransitionReturnValue = 0;
1398pub const PrTransitionReturnValue_esBadFormatIndex: PrTransitionReturnValue = 1;
1399pub const PrTransitionReturnValue_esDoNotCacheOnLoad: PrTransitionReturnValue = 2;
1400pub const PrTransitionReturnValue_esUnsupported: PrTransitionReturnValue = -100;
1401pub const PrTransitionReturnValue_esErr_Size: PrTransitionReturnValue = 4294967295;
1402#[doc = "\tError Definitions"]
1403pub type PrTransitionReturnValue = ::std::os::raw::c_long;
1404pub const PrFilterReturnValue_fsNoErr: PrFilterReturnValue = 0;
1405pub const PrFilterReturnValue_fsBadFormatIndex: PrFilterReturnValue = 1;
1406pub const PrFilterReturnValue_fsDoNotCacheOnLoad: PrFilterReturnValue = 2;
1407pub const PrFilterReturnValue_fsHasNoSetupDialog: PrFilterReturnValue = 3;
1408pub const PrFilterReturnValue_fsUnsupported: PrFilterReturnValue = -100;
1409pub const PrFilterReturnValue_fsErr_Size: PrFilterReturnValue = 4294967295;
1410pub type PrFilterReturnValue = ::std::os::raw::c_long;
1411pub const PrTransitionSelector_esExecute: PrTransitionSelector = 0;
1412pub const PrTransitionSelector_esSetup: PrTransitionSelector = 1;
1413pub const PrTransitionSelector_esUnused1: PrTransitionSelector = 2;
1414pub const PrTransitionSelector_esUnused2: PrTransitionSelector = 3;
1415pub const PrTransitionSelector_esUnused3: PrTransitionSelector = 4;
1416pub const PrTransitionSelector_esDisposeData: PrTransitionSelector = 5;
1417pub const PrTransitionSelector_esCanHandlePAR: PrTransitionSelector = 6;
1418pub const PrTransitionSelector_esGetPixelFormatsSupported: PrTransitionSelector = 7;
1419pub const PrTransitionSelector_esCacheOnLoad: PrTransitionSelector = 8;
1420pub const PrTransitionSelector_esSelector_Size: PrTransitionSelector = 4294967295;
1421#[doc = "\tSelectors"]
1422pub type PrTransitionSelector = ::std::os::raw::c_uint;
1423pub const PrFilterSelector_fsExecute: PrFilterSelector = 0;
1424pub const PrFilterSelector_fsSetup: PrFilterSelector = 1;
1425pub const PrFilterSelector_fsAbout: PrFilterSelector = 2;
1426pub const PrFilterSelector_fsDisposeData: PrFilterSelector = 3;
1427pub const PrFilterSelector_fsCanHandlePAR: PrFilterSelector = 4;
1428pub const PrFilterSelector_fsInitSpec: PrFilterSelector = 5;
1429pub const PrFilterSelector_fsGetPixelFormatsSupported: PrFilterSelector = 6;
1430pub const PrFilterSelector_fsCacheOnLoad: PrFilterSelector = 7;
1431pub const PrFilterSelector_fsHasSetupDialog: PrFilterSelector = 8;
1432pub const PrFilterSelector_fsSelector_Size: PrFilterSelector = 4294967295;
1433pub type PrFilterSelector = ::std::os::raw::c_uint;
1434#[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."]
1435#[repr(C, packed)]
1436#[derive(Debug, Copy, Clone)]
1437pub struct PrSDKErrorSuite1 {
1438 #[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."]
1439 pub SetErrorString: ::std::option::Option<
1440 unsafe extern "C" fn(
1441 inErrorString: *const ::std::os::raw::c_char,
1442 inContextID: csSDK_uint32,
1443 ) -> prSuiteError,
1444 >,
1445 #[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."]
1446 pub SetWarningString: ::std::option::Option<
1447 unsafe extern "C" fn(
1448 inWarningString: *const ::std::os::raw::c_char,
1449 inContextID: csSDK_uint32,
1450 ) -> prSuiteError,
1451 >,
1452 #[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."]
1453 pub SetInfoString: ::std::option::Option<
1454 unsafe extern "C" fn(
1455 inInfoString: *const ::std::os::raw::c_char,
1456 inContextID: csSDK_uint32,
1457 ) -> prSuiteError,
1458 >,
1459}
1460#[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."]
1461#[repr(C, packed)]
1462#[derive(Debug, Copy, Clone)]
1463pub struct PrSDKErrorSuite2 {
1464 pub SetEventString: ::std::option::Option<
1465 unsafe extern "C" fn(
1466 eventType: csSDK_uint32,
1467 eventTitle: *const ::std::os::raw::c_char,
1468 eventDescription: *const ::std::os::raw::c_char,
1469 ) -> prSuiteError,
1470 >,
1471}
1472pub const PrSDKErrorSuite2_kEventTypeInformational: PrSDKErrorSuite2__bindgen_ty_1 = 1;
1473pub const PrSDKErrorSuite2_kEventTypeWarning: PrSDKErrorSuite2__bindgen_ty_1 = 2;
1474pub const PrSDKErrorSuite2_kEventTypeError: PrSDKErrorSuite2__bindgen_ty_1 = 3;
1475pub type PrSDKErrorSuite2__bindgen_ty_1 = ::std::os::raw::c_uint;
1476#[doc = "\tVersion 3 changes:\n\tAdd UTF16 string support"]
1477#[repr(C, packed)]
1478#[derive(Debug, Copy, Clone)]
1479pub struct PrSDKErrorSuite3 {
1480 pub SetEventStringUnicode: ::std::option::Option<
1481 unsafe extern "C" fn(
1482 eventType: csSDK_uint32,
1483 eventTitle: *mut prUTF16Char,
1484 eventDescription: *mut prUTF16Char,
1485 ) -> prSuiteError,
1486 >,
1487}
1488pub const PrSDKErrorSuite3_kEventTypeInformational: PrSDKErrorSuite3__bindgen_ty_1 = 1;
1489pub const PrSDKErrorSuite3_kEventTypeWarning: PrSDKErrorSuite3__bindgen_ty_1 = 2;
1490pub const PrSDKErrorSuite3_kEventTypeError: PrSDKErrorSuite3__bindgen_ty_1 = 3;
1491pub const PrSDKErrorSuite3_kEventType_Mask: PrSDKErrorSuite3__bindgen_ty_1 = 255;
1492pub const PrSDKErrorSuite3_kEventFlag_DecodeError: PrSDKErrorSuite3__bindgen_ty_1 = 256;
1493pub const PrSDKErrorSuite3_kEventFlag_SubstitutedFrame: PrSDKErrorSuite3__bindgen_ty_1 = 512;
1494pub const PrSDKErrorSuite3_kEventFlag_ImportOperation: PrSDKErrorSuite3__bindgen_ty_1 = 1024;
1495pub type PrSDKErrorSuite3__bindgen_ty_1 = ::std::os::raw::c_uint;
1496#[doc = "\tVersion 3 changes:\n\tAdd UTF16 string support"]
1497pub type PrSDKErrorSuite = PrSDKErrorSuite3;
1498pub const PrGPUDeviceFramework_PrGPUDeviceFramework_CUDA: PrGPUDeviceFramework = 0;
1499pub const PrGPUDeviceFramework_PrGPUDeviceFramework_OpenCL: PrGPUDeviceFramework = 1;
1500pub const PrGPUDeviceFramework_PrGPUDeviceFramework_Metal: PrGPUDeviceFramework = 2;
1501pub const PrGPUDeviceFramework_PrGPUDeviceFramework_DirectX: PrGPUDeviceFramework = 3;
1502pub type PrGPUDeviceFramework = ::std::os::raw::c_uint;
1503#[repr(C, packed)]
1504#[derive(Debug, Copy, Clone)]
1505pub struct PrGPUDeviceInfo {
1506 pub outDeviceFramework: PrGPUDeviceFramework,
1507 pub outMeetsMinimumRequirementsForAcceleration: prBool,
1508 pub outPlatformHandle: *mut ::std::os::raw::c_void,
1509 pub outDeviceHandle: *mut ::std::os::raw::c_void,
1510 pub outContextHandle: *mut ::std::os::raw::c_void,
1511 pub outCommandQueueHandle: *mut ::std::os::raw::c_void,
1512 pub outOffscreenOpenGLContextHandle: *mut ::std::os::raw::c_void,
1513 pub outOffscreenOpenGLDeviceHandle: *mut ::std::os::raw::c_void,
1514}
1515#[doc = "\tAccess CUDA, OpenCL OR DirectX devices.\n\t\tAll CUDA usage is through the CUDA device API."]
1516#[repr(C, packed)]
1517#[derive(Debug, Copy, Clone)]
1518pub struct PrSDKGPUDeviceSuite {
1519 #[doc = "\tDevice enumeration"]
1520 pub GetDeviceCount: ::std::option::Option<
1521 unsafe extern "C" fn(outDeviceCount: *mut csSDK_uint32) -> prSuiteError,
1522 >,
1523 pub GetDeviceInfo: ::std::option::Option<
1524 unsafe extern "C" fn(
1525 inSuiteVersion: csSDK_uint32,
1526 inDeviceIndex: csSDK_uint32,
1527 outDeviceInfo: *mut PrGPUDeviceInfo,
1528 ) -> prSuiteError,
1529 >,
1530 #[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."]
1531 pub AcquireExclusiveDeviceAccess:
1532 ::std::option::Option<unsafe extern "C" fn(inDeviceIndex: csSDK_uint32) -> prSuiteError>,
1533 pub ReleaseExclusiveDeviceAccess:
1534 ::std::option::Option<unsafe extern "C" fn(inDeviceIndex: csSDK_uint32) -> prSuiteError>,
1535 #[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\n\t\tFor DirectX, the memory is ID3D12Resource* created as CommittedResource on Default Heap"]
1536 pub AllocateDeviceMemory: ::std::option::Option<
1537 unsafe extern "C" fn(
1538 inDeviceIndex: csSDK_uint32,
1539 inSizeInBytes: usize,
1540 outMemory: *mut *mut ::std::os::raw::c_void,
1541 ) -> prSuiteError,
1542 >,
1543 pub FreeDeviceMemory: ::std::option::Option<
1544 unsafe extern "C" fn(
1545 inDeviceIndex: csSDK_uint32,
1546 inMemory: *mut ::std::os::raw::c_void,
1547 ) -> prSuiteError,
1548 >,
1549 pub PurgeDeviceMemory: ::std::option::Option<
1550 unsafe extern "C" fn(
1551 inDeviceIndex: csSDK_uint32,
1552 inRequestedBytesToPurge: usize,
1553 outBytesPurged: *mut usize,
1554 ) -> prSuiteError,
1555 >,
1556 #[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.\n\t\tFor DirectX, the memory is ID3D12Resource* created as CommittedResource on Upload Heap"]
1557 pub AllocateHostMemory: ::std::option::Option<
1558 unsafe extern "C" fn(
1559 inDeviceIndex: csSDK_uint32,
1560 inSizeInBytes: usize,
1561 outMemory: *mut *mut ::std::os::raw::c_void,
1562 ) -> prSuiteError,
1563 >,
1564 pub FreeHostMemory: ::std::option::Option<
1565 unsafe extern "C" fn(
1566 inDeviceIndex: csSDK_uint32,
1567 inMemory: *mut ::std::os::raw::c_void,
1568 ) -> prSuiteError,
1569 >,
1570 pub PurgeHostMemory: ::std::option::Option<
1571 unsafe extern "C" fn(
1572 inDeviceIndex: csSDK_uint32,
1573 inRequestedBytesToPurge: usize,
1574 outBytesPurged: *mut usize,
1575 ) -> prSuiteError,
1576 >,
1577 #[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"]
1578 pub CreateGPUPPix: ::std::option::Option<
1579 unsafe extern "C" fn(
1580 inDeviceIndex: csSDK_uint32,
1581 inPixelFormat: PrPixelFormat,
1582 inWidth: ::std::os::raw::c_int,
1583 inHeight: ::std::os::raw::c_int,
1584 inPARNumerator: ::std::os::raw::c_int,
1585 inPARDenominator: ::std::os::raw::c_int,
1586 inFieldType: prFieldType,
1587 outPPixHand: *mut PPixHand,
1588 ) -> prSuiteError,
1589 >,
1590 pub GetGPUPPixData: ::std::option::Option<
1591 unsafe extern "C" fn(
1592 inPPixHand: PPixHand,
1593 outData: *mut *mut ::std::os::raw::c_void,
1594 ) -> prSuiteError,
1595 >,
1596 pub GetGPUPPixDeviceIndex: ::std::option::Option<
1597 unsafe extern "C" fn(
1598 inPPixHand: PPixHand,
1599 outDeviceIndex: *mut csSDK_uint32,
1600 ) -> prSuiteError,
1601 >,
1602 pub GetGPUPPixSize: ::std::option::Option<
1603 unsafe extern "C" fn(inPPixHand: PPixHand, outSize: *mut usize) -> prSuiteError,
1604 >,
1605}
1606pub const PrAudioSampleType_kPrAudioSampleType_8BitInt: PrAudioSampleType = 1;
1607pub const PrAudioSampleType_kPrAudioSampleType_8BitTwosInt: PrAudioSampleType = 2;
1608pub const PrAudioSampleType_kPrAudioSampleType_16BitInt: PrAudioSampleType = 3;
1609pub const PrAudioSampleType_kPrAudioSampleType_24BitInt: PrAudioSampleType = 4;
1610pub const PrAudioSampleType_kPrAudioSampleType_32BitInt: PrAudioSampleType = 5;
1611pub const PrAudioSampleType_kPrAudioSampleType_32BitFloat: PrAudioSampleType = 6;
1612pub const PrAudioSampleType_kPrAudioSampleType_64BitFloat: PrAudioSampleType = 7;
1613pub const PrAudioSampleType_kPrAudioSampleType_16BitIntBigEndian: PrAudioSampleType = 8;
1614pub const PrAudioSampleType_kPrAudioSampleType_24BitIntBigEndian: PrAudioSampleType = 9;
1615pub const PrAudioSampleType_kPrAudioSampleType_32BitIntBigEndian: PrAudioSampleType = 10;
1616pub const PrAudioSampleType_kPrAudioSampleType_32BitFloatBigEndian: PrAudioSampleType = 11;
1617pub const PrAudioSampleType_kPrAudioSampleType_Compressed: PrAudioSampleType = 12;
1618pub const PrAudioSampleType_kPrAudioSampleType_Packed: PrAudioSampleType = 13;
1619pub const PrAudioSampleType_kPrAudioSampleType_Other: PrAudioSampleType = 14;
1620pub const PrAudioSampleType_kPrAudioSampleType_Any: PrAudioSampleType = 15;
1621pub const PrAudioSampleType_kPrAudioSampleType_AudioPeakData: PrAudioSampleType = 16;
1622pub const PrAudioSampleType_kPrAudioSampleType_Max: PrAudioSampleType = 4294967295;
1623#[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}"]
1624pub type PrAudioSampleType = ::std::os::raw::c_uint;
1625pub const PrAudioChannelType_kPrAudioChannelType_Mono: PrAudioChannelType = 1;
1626pub const PrAudioChannelType_kPrAudioChannelType_Stereo: PrAudioChannelType = 2;
1627pub const PrAudioChannelType_kPrAudioChannelType_51: PrAudioChannelType = 3;
1628pub const PrAudioChannelType_kPrAudioChannelType_MaxChannel: PrAudioChannelType = 4;
1629pub const PrAudioChannelType_kPrAudioChannelType_Max: PrAudioChannelType = 4294967295;
1630pub type PrAudioChannelType = ::std::os::raw::c_uint;
1631pub const PrAudioDataType_kPrAudioDataType_Float32: PrAudioDataType = 1;
1632pub const PrAudioDataType_kPrAudioDataType_Int32: PrAudioDataType = 2;
1633pub const PrAudioDataType_kPrAudioDataType_PeakAudio: PrAudioDataType = 3;
1634#[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."]
1635pub type PrAudioDataType = ::std::os::raw::c_uint;
1636pub type PrAudioSample = prInt64;
1637pub const PrAudioChannelLabel_kPrAudioChannelLabel_Discrete: PrAudioChannelLabel = 0;
1638pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeft: PrAudioChannelLabel = 100;
1639pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRight: PrAudioChannelLabel = 101;
1640pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontCenter: PrAudioChannelLabel = 102;
1641pub const PrAudioChannelLabel_kPrAudioChannelLabel_LowFrequency: PrAudioChannelLabel = 103;
1642pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackLeft: PrAudioChannelLabel = 104;
1643pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackRight: PrAudioChannelLabel = 105;
1644pub const PrAudioChannelLabel_kPrAudioChannelLabel_BackCenter: PrAudioChannelLabel = 106;
1645pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeftOfCenter: PrAudioChannelLabel = 107;
1646pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRightOfCenter: PrAudioChannelLabel = 108;
1647pub const PrAudioChannelLabel_kPrAudioChannelLabel_SideLeft: PrAudioChannelLabel = 109;
1648pub const PrAudioChannelLabel_kPrAudioChannelLabel_SideRight: PrAudioChannelLabel = 110;
1649pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopCenter: PrAudioChannelLabel = 111;
1650pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontLeft: PrAudioChannelLabel = 112;
1651pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontRight: PrAudioChannelLabel = 113;
1652pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopFrontCenter: PrAudioChannelLabel = 114;
1653pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackLeft: PrAudioChannelLabel = 115;
1654pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackRight: PrAudioChannelLabel = 116;
1655pub const PrAudioChannelLabel_kPrAudioChannelLabel_TopBackCenter: PrAudioChannelLabel = 117;
1656pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontLeftWide: PrAudioChannelLabel = 118;
1657pub const PrAudioChannelLabel_kPrAudioChannelLabel_FrontRightWide: PrAudioChannelLabel = 119;
1658pub const PrAudioChannelLabel_kPrAudioChannelLabel_LeftHeight: PrAudioChannelLabel = 127;
1659pub const PrAudioChannelLabel_kPrAudioChannelLabel_RightHeight: PrAudioChannelLabel = 128;
1660pub const PrAudioChannelLabel_kPrAudioChannelLabel_RearSurroundLeft: PrAudioChannelLabel = 129;
1661pub const PrAudioChannelLabel_kPrAudioChannelLabel_RearSurroundRight: PrAudioChannelLabel = 130;
1662pub const PrAudioChannelLabel_kPrAudioChannelLabel_LFE2: PrAudioChannelLabel = 131;
1663pub const PrAudioChannelLabel_kPrAudioChannelLabel_LeftTotal: PrAudioChannelLabel = 132;
1664pub const PrAudioChannelLabel_kPrAudioChannelLabel_RightTotal: PrAudioChannelLabel = 133;
1665pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_W: PrAudioChannelLabel = 134;
1666pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_X: PrAudioChannelLabel = 135;
1667pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_Y: PrAudioChannelLabel = 136;
1668pub const PrAudioChannelLabel_kPrAudioChannelLabel_Ambisonic_Z: PrAudioChannelLabel = 137;
1669pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontLeft: PrAudioChannelLabel = 138;
1670pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontCenter: PrAudioChannelLabel = 139;
1671pub const PrAudioChannelLabel_kPrAudioChannelLabel_BottomFrontRight: PrAudioChannelLabel = 140;
1672pub const PrAudioChannelLabel_kPrAudioChannelLabel_ProximityLeft: PrAudioChannelLabel = 141;
1673pub const PrAudioChannelLabel_kPrAudioChannelLabel_ProximityRight: PrAudioChannelLabel = 142;
1674pub type PrAudioChannelLabel = ::std::os::raw::c_uint;
1675#[repr(C)]
1676#[derive(Debug, Copy, Clone)]
1677pub struct PrSDKAudioSuite {
1678 #[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."]
1679 pub ConvertAndInterleaveTo8BitInteger: ::std::option::Option<
1680 unsafe extern "C" fn(
1681 inSource: *mut *mut f32,
1682 inDestination: *mut ::std::os::raw::c_char,
1683 inNumChannels: ::std::os::raw::c_uint,
1684 inNumSampleFrames: ::std::os::raw::c_uint,
1685 ) -> prSuiteError,
1686 >,
1687 pub ConvertAndInterleaveTo16BitInteger: ::std::option::Option<
1688 unsafe extern "C" fn(
1689 inSource: *mut *mut f32,
1690 inDestination: *mut ::std::os::raw::c_short,
1691 inNumChannels: ::std::os::raw::c_uint,
1692 inNumSampleFrames: ::std::os::raw::c_uint,
1693 ) -> prSuiteError,
1694 >,
1695 pub ConvertAndInterleaveTo24BitInteger: ::std::option::Option<
1696 unsafe extern "C" fn(
1697 inSource: *mut *mut f32,
1698 inDestination: *mut ::std::os::raw::c_char,
1699 inNumChannels: ::std::os::raw::c_uint,
1700 inNumSampleFrames: ::std::os::raw::c_uint,
1701 ) -> prSuiteError,
1702 >,
1703 pub ConvertAndInterleaveTo32BitInteger: ::std::option::Option<
1704 unsafe extern "C" fn(
1705 inSource: *mut *mut f32,
1706 inDestination: *mut csSDK_int32,
1707 inNumChannels: ::std::os::raw::c_uint,
1708 inNumSampleFrames: ::std::os::raw::c_uint,
1709 ) -> prSuiteError,
1710 >,
1711 #[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."]
1712 pub UninterleaveAndConvertFrom8BitInteger: ::std::option::Option<
1713 unsafe extern "C" fn(
1714 inSource: *mut ::std::os::raw::c_char,
1715 inDestination: *mut *mut f32,
1716 inNumChannels: ::std::os::raw::c_uint,
1717 inNumSampleFrames: ::std::os::raw::c_uint,
1718 ) -> prSuiteError,
1719 >,
1720 pub UninterleaveAndConvertFrom16BitInteger: ::std::option::Option<
1721 unsafe extern "C" fn(
1722 inSource: *mut ::std::os::raw::c_short,
1723 inDestination: *mut *mut f32,
1724 inNumChannels: ::std::os::raw::c_uint,
1725 inNumSampleFrames: ::std::os::raw::c_uint,
1726 ) -> prSuiteError,
1727 >,
1728 pub UninterleaveAndConvertFrom24BitInteger: ::std::option::Option<
1729 unsafe extern "C" fn(
1730 inSource: *mut ::std::os::raw::c_char,
1731 inDestination: *mut *mut f32,
1732 inNumChannels: ::std::os::raw::c_uint,
1733 inNumSampleFrames: ::std::os::raw::c_uint,
1734 ) -> prSuiteError,
1735 >,
1736 pub UninterleaveAndConvertFrom32BitInteger: ::std::option::Option<
1737 unsafe extern "C" fn(
1738 inSource: *mut csSDK_int32,
1739 inDestination: *mut *mut f32,
1740 inNumChannels: ::std::os::raw::c_uint,
1741 inNumSampleFrames: ::std::os::raw::c_uint,
1742 ) -> prSuiteError,
1743 >,
1744}
1745pub const PrActivationEvent_PrActivationEvent_Unspecified: PrActivationEvent = 0;
1746pub const PrActivationEvent_PrActivationEvent_RecorderActivated: PrActivationEvent = 1;
1747pub const PrActivationEvent_PrActivationEvent_PlayerActivated: PrActivationEvent = 2;
1748pub const PrActivationEvent_PrActivationEvent_ApplicationLostFocus: PrActivationEvent = 3;
1749pub const PrActivationEvent_PrActivationEvent_ForceSize: PrActivationEvent = 4294967295;
1750#[doc = "\tPrActivationEvent - Describes the event that caused activation/deactivation to occur"]
1751pub type PrActivationEvent = ::std::os::raw::c_uint;
1752pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Undefined:
1753 PrRenderCaptionStreamFormat = 0;
1754pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Open:
1755 PrRenderCaptionStreamFormat = 1;
1756pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_OP_42:
1757 PrRenderCaptionStreamFormat = 10;
1758pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_OP_47:
1759 PrRenderCaptionStreamFormat = 11;
1760pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC1:
1761 PrRenderCaptionStreamFormat = 20;
1762pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC2:
1763 PrRenderCaptionStreamFormat = 21;
1764pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC3:
1765 PrRenderCaptionStreamFormat = 22;
1766pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_CC4:
1767 PrRenderCaptionStreamFormat = 23;
1768pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text1:
1769 PrRenderCaptionStreamFormat = 24;
1770pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text2:
1771 PrRenderCaptionStreamFormat = 25;
1772pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text3:
1773 PrRenderCaptionStreamFormat = 26;
1774pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_Text4:
1775 PrRenderCaptionStreamFormat = 27;
1776pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_608_XDS:
1777 PrRenderCaptionStreamFormat = 28;
1778pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service1:
1779 PrRenderCaptionStreamFormat = 40;
1780pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service2:
1781 PrRenderCaptionStreamFormat = 41;
1782pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service3:
1783 PrRenderCaptionStreamFormat = 42;
1784pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service4:
1785 PrRenderCaptionStreamFormat = 43;
1786pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service5:
1787 PrRenderCaptionStreamFormat = 44;
1788pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_708_Service6:
1789 PrRenderCaptionStreamFormat = 45;
1790pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Teletext_Level1:
1791 PrRenderCaptionStreamFormat = 50;
1792pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Teletext_Level2:
1793 PrRenderCaptionStreamFormat = 51;
1794pub const PrRenderCaptionStreamFormat_kPrRenderCaptionStreamFormat_Open_Subtitling:
1795 PrRenderCaptionStreamFormat = 52;
1796#[doc = "\tDefines the Caption Stream format to render"]
1797pub type PrRenderCaptionStreamFormat = ::std::os::raw::c_uint;
1798pub type PlayModuleDeviceID = csSDK_int32;
1799pub const kPrDeviceControlResult_Success: prSuiteError = 0;
1800pub const kPrDeviceControlResult_GeneralError: prSuiteError = -1;
1801pub const kPrDeviceControlResult_IllegalCallSequence: prSuiteError = -2;
1802#[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."]
1803#[repr(C, packed)]
1804#[derive(Debug, Copy, Clone)]
1805pub struct PrSDKPlayModuleDeviceControlSuite {
1806 #[doc = "\tTell the device to seek to the appropriate location.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1807 pub Seek:
1808 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1809 #[doc = "\tTell the device to prepare to record.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1810 pub Arm:
1811 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1812 #[doc = "\tTell the device to start recording.\n\n\t@return\t\t\t\t\tkPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence."]
1813 pub Record:
1814 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1815 #[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."]
1816 pub Stop:
1817 ::std::option::Option<unsafe extern "C" fn(inDeviceID: PlayModuleDeviceID) -> prSuiteError>,
1818}
1819pub const PrIVProjectionType_kPrIVProjectionType_None: PrIVProjectionType = 0;
1820pub const PrIVProjectionType_kPrIVProjectionType_Equirectangular: PrIVProjectionType = 1;
1821#[doc = "\tDefines how the VR image is projected into a 2D frame."]
1822pub type PrIVProjectionType = ::std::os::raw::c_uint;
1823pub const PrIVFrameLayout_kPrIVFrameLayout_Monoscopic: PrIVFrameLayout = 0;
1824pub const PrIVFrameLayout_kPrIVFrameLayout_StereoscopicOverUnder: PrIVFrameLayout = 1;
1825pub const PrIVFrameLayout_kPrIVFrameLayout_StereoscopicSideBySide: PrIVFrameLayout = 2;
1826#[doc = "\tDefines if the VR image contains a stereoscopic pair, and if so, what type of pair."]
1827pub type PrIVFrameLayout = ::std::os::raw::c_uint;
1828pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Left: PrIVStereoscopicEye = 0;
1829pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Right: PrIVStereoscopicEye = 1;
1830pub const PrIVStereoscopicEye_kPrIVStereoscopicEye_Anaglyph: PrIVStereoscopicEye = 2;
1831#[doc = "\tDefines which eye to view when given a VR image with a stereoscopic pair."]
1832pub type PrIVStereoscopicEye = ::std::os::raw::c_uint;
1833pub const PrIVAmbisonicsMonitoringType_kPrIVAmbisonicsMonitoringType_Off:
1834 PrIVAmbisonicsMonitoringType = 0;
1835pub const PrIVAmbisonicsMonitoringType_kPrIVAmbisonicsMonitoringType_Binaural:
1836 PrIVAmbisonicsMonitoringType = 1;
1837#[doc = "\tDefines how ambisonics audio is to be monitored."]
1838pub type PrIVAmbisonicsMonitoringType = ::std::os::raw::c_uint;
1839pub type kPrIVViewRange = csSDK_int32;
1840pub type kPrIVViewAngle = f32;
1841#[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."]
1842pub const kPrIVMinFieldOfView: kPrIVViewRange = 60;
1843pub const kPrIVMaxFieldOfView: kPrIVViewRange = 180;
1844#[doc = " These FOV values roughly approximate an average view when compared\n to a HTC Vive or Oculus Rift."]
1845pub const kPrIVDefaultFieldOfHorizontalView: kPrIVViewRange = 108;
1846pub const kPrIVDefaultFieldOfVerticalView: kPrIVViewRange = 108;
1847pub const kPrIVMinCapturedHorizontalView: kPrIVViewRange = 60;
1848pub const kPrIVMaxCapturedHorizontalView: kPrIVViewRange = 360;
1849pub const kPrIVDefaultCapturedHorizontalView: kPrIVViewRange = 360;
1850pub const kPrIVMinCapturedVerticalView: kPrIVViewRange = 60;
1851pub const kPrIVMaxCapturedVerticalView: kPrIVViewRange = 180;
1852pub const kPrIVDefaultCapturedVerticalView: kPrIVViewRange = 180;
1853#[doc = "\tID for a head-related impulse response when monitoring with PrIVAmbisonicsMonitoring_Binaural."]
1854pub const kPrIVAmbisonicsHRIRLength: usize = 256;
1855pub type PrIVAmbisonicsHRIR = [prUTF8Char; 256usize];
1856pub const PrPlaymodReturnValue_playmod_ErrNone: PrPlaymodReturnValue = 0;
1857pub const PrPlaymodReturnValue_playmod_ErrBadFile: PrPlaymodReturnValue = 1;
1858pub const PrPlaymodReturnValue_playmod_ErrDriver: PrPlaymodReturnValue = 2;
1859pub const PrPlaymodReturnValue_playmod_ErrNotPreferred: PrPlaymodReturnValue = 3;
1860pub const PrPlaymodReturnValue_playmod_BadFormatIndex: PrPlaymodReturnValue = 4;
1861pub const PrPlaymodReturnValue_playmod_DeclinePlay: PrPlaymodReturnValue = 5;
1862pub const PrPlaymodReturnValue_playmod_ListWrongType: PrPlaymodReturnValue = 6;
1863pub const PrPlaymodReturnValue_playmod_ListBadSpeed: PrPlaymodReturnValue = 7;
1864pub const PrPlaymodReturnValue_playmod_CantAddSegment: PrPlaymodReturnValue = 8;
1865pub const PrPlaymodReturnValue_playmod_Unsupported: PrPlaymodReturnValue = 9;
1866pub const PrPlaymodReturnValue_playmod_AudioOverload: PrPlaymodReturnValue = 10;
1867pub const PrPlaymodReturnValue_playmod_OutOfRange: PrPlaymodReturnValue = 11;
1868pub const PrPlaymodReturnValue_playmod_CannotRender: PrPlaymodReturnValue = 12;
1869pub const PrPlaymodReturnValue_playmod_RebuildCutlist: PrPlaymodReturnValue = 13;
1870pub const PrPlaymodReturnValue_playmod_CannotShiftLayer: PrPlaymodReturnValue = 14;
1871pub const PrPlaymodReturnValue_playmod_UnsupportedPlaybackSpeed: PrPlaymodReturnValue = 16;
1872pub const PrPlaymodReturnValue_playmod_BroadcastPrefs: PrPlaymodReturnValue = 17;
1873pub const PrPlaymodReturnValue_playmod_CannotRecord: PrPlaymodReturnValue = 18;
1874pub const PrPlaymodReturnValue_playmod_RenderAndPutFrame: PrPlaymodReturnValue = 19;
1875pub const PrPlaymodReturnValue_pmIsCacheable: PrPlaymodReturnValue = 400;
1876pub const PrPlaymodReturnValue_playmod_ErrorForceSize: PrPlaymodReturnValue = 4294967295;
1877#[doc = "\tError Definitions"]
1878pub type PrPlaymodReturnValue = ::std::os::raw::c_uint;
1879#[doc = "\tType Definitions"]
1880pub type PrPlayID = csSDK_int32;
1881pub const pmFieldDisplay_pmFieldDisplay_ShowFirstField: pmFieldDisplay = 0;
1882pub const pmFieldDisplay_pmFieldDisplay_ShowSecondField: pmFieldDisplay = 1;
1883pub const pmFieldDisplay_pmFieldDisplay_ShowBothFields: pmFieldDisplay = 2;
1884pub const pmFieldDisplay_pmFieldDisplay_ForceSize: pmFieldDisplay = 4294967295;
1885pub type pmFieldDisplay = ::std::os::raw::c_uint;
1886pub const PrPlaymodSelector_playmod_Startup: PrPlaymodSelector = 1;
1887pub const PrPlaymodSelector_playmod_Shutdown: PrPlaymodSelector = 2;
1888pub const PrPlaymodSelector_playmod_Open: PrPlaymodSelector = 3;
1889pub const PrPlaymodSelector_playmod_GetInfo: PrPlaymodSelector = 4;
1890pub const PrPlaymodSelector_playmod_SetDisp: PrPlaymodSelector = 5;
1891pub const PrPlaymodSelector_playmod_Update: PrPlaymodSelector = 6;
1892pub const PrPlaymodSelector_playmod_Stop: PrPlaymodSelector = 10;
1893pub const PrPlaymodSelector_playmod_PlayIdle: PrPlaymodSelector = 11;
1894pub const PrPlaymodSelector_playmod_Close: PrPlaymodSelector = 12;
1895pub const PrPlaymodSelector_playmod_GetIndFormat: PrPlaymodSelector = 14;
1896pub const PrPlaymodSelector_playmod_NewList: PrPlaymodSelector = 21;
1897pub const PrPlaymodSelector_playmod_GetFilePrefs: PrPlaymodSelector = 34;
1898pub const PrPlaymodSelector_playmod_UpdateMarkers: PrPlaymodSelector = 45;
1899pub const PrPlaymodSelector_playmod_SetFilePrefs: PrPlaymodSelector = 46;
1900pub const PrPlaymodSelector_playmod_PutFrame: PrPlaymodSelector = 49;
1901pub const PrPlaymodSelector_playmod_SetQuality: PrPlaymodSelector = 53;
1902pub const PrPlaymodSelector_playmod_SetPlaybackSpeed: PrPlaymodSelector = 54;
1903pub const PrPlaymodSelector_playmod_Play: PrPlaymodSelector = 55;
1904pub const PrPlaymodSelector_playmod_SetPos: PrPlaymodSelector = 56;
1905pub const PrPlaymodSelector_playmod_GetPos: PrPlaymodSelector = 57;
1906pub const PrPlaymodSelector_playmod_Step: PrPlaymodSelector = 59;
1907pub const PrPlaymodSelector_playmod_Preroll: PrPlaymodSelector = 60;
1908pub const PrPlaymodSelector_playmod_AdornSafeAreas: PrPlaymodSelector = 61;
1909pub const PrPlaymodSelector_playmod_Activate: PrPlaymodSelector = 62;
1910pub const PrPlaymodSelector_playmod_EnterScrub: PrPlaymodSelector = 63;
1911pub const PrPlaymodSelector_playmod_LeaveScrub: PrPlaymodSelector = 64;
1912pub const PrPlaymodSelector_playmod_SetView: PrPlaymodSelector = 65;
1913pub const PrPlaymodSelector_playmod_SetDisplayMode: PrPlaymodSelector = 66;
1914pub const PrPlaymodSelector_playmod_PutFrameRequest: PrPlaymodSelector = 67;
1915pub const PrPlaymodSelector_playmod_SetVideoDisplayType: PrPlaymodSelector = 69;
1916pub const PrPlaymodSelector_playmod_DisplayMoving: PrPlaymodSelector = 70;
1917pub const PrPlaymodSelector_playmod_DisplayChanged: PrPlaymodSelector = 71;
1918pub const PrPlaymodSelector_playmod_GetAudioInfo: PrPlaymodSelector = 74;
1919pub const PrPlaymodSelector_playmod_GetAudioChannelInfo: PrPlaymodSelector = 75;
1920pub const PrPlaymodSelector_playmod_PushPlayerSettings: PrPlaymodSelector = 76;
1921pub const PrPlaymodSelector_playmod_EnableDynamicPlayback: PrPlaymodSelector = 77;
1922pub const PrPlaymodSelector_playmod_AllowSetPositionDuringPlayback: PrPlaymodSelector = 78;
1923pub const PrPlaymodSelector_playmod_VideoSequenceHasChanged: PrPlaymodSelector = 79;
1924pub const PrPlaymodSelector_playmod_GetRTStatusForTime: PrPlaymodSelector = 80;
1925pub const PrPlaymodSelector_playmod_SetUseFractionalResolution: PrPlaymodSelector = 81;
1926pub const PrPlaymodSelector_playmod_SetFractionalResolution: PrPlaymodSelector = 82;
1927pub const PrPlaymodSelector_playmod_PutTemporaryTimeline: PrPlaymodSelector = 83;
1928pub const PrPlaymodSelector_playmod_SetDisplayStateProperties: PrPlaymodSelector = 84;
1929pub const PrPlaymodSelector_playmod_AudioOutputMappingUpdate: PrPlaymodSelector = 85;
1930pub const PrPlaymodSelector_playmod_SetDest: PrPlaymodSelector = 86;
1931pub const PrPlaymodSelector_playmod_SetBackgroundColor: PrPlaymodSelector = 87;
1932pub const PrPlaymodSelector_playmod_GetVRSupported: PrPlaymodSelector = 88;
1933pub const PrPlaymodSelector_playmod_SetVRConfiguration: PrPlaymodSelector = 89;
1934pub const PrPlaymodSelector_playmod_GetVRConfiguration: PrPlaymodSelector = 90;
1935pub const PrPlaymodSelector_playmod_SetVREnabled: PrPlaymodSelector = 91;
1936pub const PrPlaymodSelector_playmod_GetVREnabled: PrPlaymodSelector = 92;
1937pub const PrPlaymodSelector_playmod_SetVRView: PrPlaymodSelector = 93;
1938pub const PrPlaymodSelector_playmod_GetVRView: PrPlaymodSelector = 94;
1939pub const PrPlaymodSelector_playmod_CalculateVRDisplayDimensions: PrPlaymodSelector = 95;
1940pub const PrPlaymodSelector_playmod_SetDisplayStateProperties2: PrPlaymodSelector = 96;
1941pub const PrPlaymodSelector_playmod_SelectorsForceSize: PrPlaymodSelector = 4294967295;
1942#[doc = "\tSelectors"]
1943pub type PrPlaymodSelector = ::std::os::raw::c_uint;
1944#[doc = "\tInformation returned from a plugin"]
1945#[repr(C, packed)]
1946#[derive(Debug, Copy, Clone)]
1947pub struct PrGPUFilterInfo {
1948 pub outInterfaceVersion: csSDK_uint32,
1949 pub outMatchName: PrSDKString,
1950}
1951#[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."]
1952#[repr(C, packed)]
1953#[derive(Debug, Copy, Clone)]
1954pub struct PrGPUFilterInstance {
1955 pub piSuites: piSuitesPtr,
1956 pub inDeviceIndex: csSDK_uint32,
1957 pub inTimelineID: PrTimelineID,
1958 pub inNodeID: csSDK_int32,
1959 pub ioPrivatePluginData: *mut ::std::os::raw::c_void,
1960 pub outIsRealtime: prBool,
1961}
1962#[doc = "\tInformation about a frame render"]
1963#[repr(C, packed)]
1964#[derive(Debug, Copy, Clone)]
1965pub struct PrGPUFilterRenderParams {
1966 pub inClipTime: PrTime,
1967 pub inSequenceTime: PrTime,
1968 pub inQuality: PrRenderQuality,
1969 pub inDownsampleFactorX: f32,
1970 pub inDownsampleFactorY: f32,
1971 pub inRenderWidth: csSDK_uint32,
1972 pub inRenderHeight: csSDK_uint32,
1973 pub inRenderPARNum: csSDK_uint32,
1974 pub inRenderPARDen: csSDK_uint32,
1975 pub inRenderFieldType: prFieldType,
1976 pub inRenderTicksPerFrame: PrTime,
1977 pub inRenderField: pmFieldDisplay,
1978}
1979pub const PrGPUFilterFrameDependencyType_PrGPUDependency_InputFrame:
1980 PrGPUFilterFrameDependencyType = 1;
1981pub const PrGPUFilterFrameDependencyType_PrGPUDependency_Precompute:
1982 PrGPUFilterFrameDependencyType = 2;
1983pub const PrGPUFilterFrameDependencyType_PrGPUDependency_FieldSeparation:
1984 PrGPUFilterFrameDependencyType = 4;
1985pub const PrGPUFilterFrameDependencyType_PrGPUDependency_TransitionInputFrame:
1986 PrGPUFilterFrameDependencyType = 8;
1987#[doc = "\tSpecify dependencies to satisfy a render"]
1988pub type PrGPUFilterFrameDependencyType = ::std::os::raw::c_uint;
1989#[repr(C, packed)]
1990#[derive(Debug, Copy, Clone)]
1991pub struct PrGPUFilterFrameDependency {
1992 pub outDependencyType: PrGPUFilterFrameDependencyType,
1993 pub outTrackID: csSDK_int32,
1994 pub outSequenceTime: PrTime,
1995 pub outPrecomputePixelFormat: PrPixelFormat,
1996 pub outPrecomputeFrameWidth: csSDK_uint32,
1997 pub outPrecomputeFrameHeight: csSDK_uint32,
1998 pub outPrecomputeFramePARNumerator: csSDK_uint32,
1999 pub outPrecomputeFramePARDenominator: csSDK_uint32,
2000 pub outPrecomputeFrameFieldType: prFieldType,
2001 pub outPrecomputeCustomDataSize: csSDK_size_t,
2002 pub outNeedsFieldSeparation: prBool,
2003 pub outReadIncomingTransition: prBool,
2004}
2005#[doc = "\tGPU Filter callbacks."]
2006#[repr(C, packed)]
2007#[derive(Debug, Copy, Clone)]
2008pub struct PrGPUFilter {
2009 #[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."]
2010 pub CreateInstance: ::std::option::Option<
2011 unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError,
2012 >,
2013 pub DisposeInstance: ::std::option::Option<
2014 unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError,
2015 >,
2016 #[doc = "\tReturn dependency information about a render, or nothing if\n\tonly the current frame is required."]
2017 pub GetFrameDependencies: ::std::option::Option<
2018 unsafe extern "C" fn(
2019 inInstanceData: *mut PrGPUFilterInstance,
2020 inRenderParams: *const PrGPUFilterRenderParams,
2021 ioQueryIndex: *mut csSDK_int32,
2022 outFrameDependencies: *mut PrGPUFilterFrameDependency,
2023 ) -> prSuiteError,
2024 >,
2025 #[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."]
2026 pub Precompute: ::std::option::Option<
2027 unsafe extern "C" fn(
2028 inInstanceData: *mut PrGPUFilterInstance,
2029 inRenderParams: *const PrGPUFilterRenderParams,
2030 inIndex: csSDK_int32,
2031 inFrame: PPixHand,
2032 ) -> prSuiteError,
2033 >,
2034 #[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."]
2035 pub Render: ::std::option::Option<
2036 unsafe extern "C" fn(
2037 inInstanceData: *mut PrGPUFilterInstance,
2038 inRenderParams: *const PrGPUFilterRenderParams,
2039 inFrames: *const PPixHand,
2040 inFrameCount: csSDK_size_t,
2041 outFrame: *mut PPixHand,
2042 ) -> prSuiteError,
2043 >,
2044}
2045pub type PrGPUFilterEntry = ::std::option::Option<
2046 unsafe extern "C" fn(
2047 inHostInterfaceVersion: csSDK_uint32,
2048 ioIndex: *mut csSDK_int32,
2049 inStartup: prBool,
2050 piSuites: piSuitesPtr,
2051 outFilter: *mut PrGPUFilter,
2052 outFilterInfo: *mut PrGPUFilterInfo,
2053 ) -> prSuiteError,
2054>;
2055#[doc = "\tAccess to common GPU image processing algorithms"]
2056#[repr(C, packed)]
2057#[derive(Copy, Clone)]
2058pub struct PrSDKGPUImageProcessingSuite {
2059 #[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"]
2060 pub PixelFormatConvert: ::std::option::Option<
2061 unsafe extern "C" fn(
2062 inDeviceIndex: csSDK_uint32,
2063 inSrc: *const ::std::os::raw::c_void,
2064 inSrcRowBytes: csSDK_int32,
2065 inSrcPixelFormat: PrPixelFormat,
2066 inDest: *mut ::std::os::raw::c_void,
2067 inDestRowBytes: csSDK_int32,
2068 inDestPixelFormat: PrPixelFormat,
2069 inWidth: csSDK_uint32,
2070 inHeight: csSDK_uint32,
2071 inQuality: PrRenderQuality,
2072 ) -> prSuiteError,
2073 >,
2074 #[doc = "\tScale a frame on the GPU\n\t\tinPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f"]
2075 pub Scale: ::std::option::Option<
2076 unsafe extern "C" fn(
2077 inDeviceIndex: csSDK_uint32,
2078 inSrc: *const ::std::os::raw::c_void,
2079 inSrcRowBytes: csSDK_int32,
2080 inSrcWidth: csSDK_uint32,
2081 inSrcHeight: csSDK_uint32,
2082 inDest: *mut ::std::os::raw::c_void,
2083 inDestRowBytes: csSDK_int32,
2084 inDestWidth: csSDK_uint32,
2085 inDestHeight: csSDK_uint32,
2086 inPixelFormat: PrPixelFormat,
2087 inScaleX: f32,
2088 inScaleY: f32,
2089 inQuality: PrRenderQuality,
2090 ) -> prSuiteError,
2091 >,
2092 #[doc = "\tGaussian blur on the GPU\n\t\tinPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f"]
2093 pub GaussianBlur: ::std::option::Option<
2094 unsafe extern "C" fn(
2095 inDeviceIndex: csSDK_uint32,
2096 inSrc: *const ::std::os::raw::c_void,
2097 inSrcRowBytes: csSDK_int32,
2098 inSrcWidth: csSDK_uint32,
2099 inSrcHeight: csSDK_uint32,
2100 inDest: *mut ::std::os::raw::c_void,
2101 inDestRowBytes: csSDK_int32,
2102 inDestWidth: csSDK_uint32,
2103 inDestHeight: csSDK_uint32,
2104 inPixelFormat: PrPixelFormat,
2105 inSigmaX: f32,
2106 inSigmaY: f32,
2107 inRepeatEdgePixels: prBool,
2108 inBlurHorizontally: prBool,
2109 inBlurVertically: prBool,
2110 inQuality: PrRenderQuality,
2111 ) -> prSuiteError,
2112 >,
2113}
2114#[repr(C, packed)]
2115#[derive(Debug, Copy, Clone)]
2116pub struct PrSDKMemoryManagerSuiteV1 {
2117 #[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."]
2118 pub ReserveMemory: ::std::option::Option<
2119 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2120 >,
2121}
2122#[repr(C, packed)]
2123#[derive(Debug, Copy, Clone)]
2124pub struct PrSDKMemoryManagerSuiteV2 {
2125 #[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."]
2126 pub ReserveMemory: ::std::option::Option<
2127 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2128 >,
2129 pub NewPtrClear:
2130 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2131 pub NewPtr: ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2132 pub GetPtrSize: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>,
2133 pub SetPtrSize:
2134 ::std::option::Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>,
2135 pub NewHandle:
2136 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2137 pub NewHandleClear:
2138 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2139 pub PrDisposePtr: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr)>,
2140 pub DisposeHandle: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2141 pub SetHandleSize: ::std::option::Option<
2142 unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> ::std::os::raw::c_short,
2143 >,
2144 pub GetHandleSize:
2145 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>,
2146 pub HUnlock: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2147 pub HLock: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2148}
2149pub type PrSDKMemoryManagerSuite_PurgeMemoryFunction = ::std::option::Option<
2150 unsafe extern "C" fn(inPurgeMemoryData: *mut ::std::os::raw::c_void, inMemoryID: csSDK_uint32),
2151>;
2152#[repr(C, packed)]
2153#[derive(Debug, Copy, Clone)]
2154pub struct PrSDKMemoryManagerSuite {
2155 #[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."]
2156 pub ReserveMemory: ::std::option::Option<
2157 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError,
2158 >,
2159 #[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."]
2160 pub GetMemoryManagerSize: ::std::option::Option<
2161 unsafe extern "C" fn(outMemoryManagerSize: *mut csSDK_uint64) -> prSuiteError,
2162 >,
2163 #[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."]
2164 pub AddBlock: ::std::option::Option<
2165 unsafe extern "C" fn(
2166 inSize: csSDK_size_t,
2167 inPurgeFunction: PrSDKMemoryManagerSuite_PurgeMemoryFunction,
2168 inPurgeMemoryData: *mut ::std::os::raw::c_void,
2169 outID: *mut csSDK_uint32,
2170 ) -> prSuiteError,
2171 >,
2172 #[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."]
2173 pub TouchBlock: ::std::option::Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>,
2174 #[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."]
2175 pub RemoveBlock:
2176 ::std::option::Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>,
2177 pub NewPtrClear:
2178 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2179 pub NewPtr: ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>,
2180 pub GetPtrSize: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>,
2181 pub SetPtrSize:
2182 ::std::option::Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>,
2183 pub NewHandle:
2184 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2185 pub NewHandleClear:
2186 ::std::option::Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>,
2187 pub PrDisposePtr: ::std::option::Option<unsafe extern "C" fn(p: PrMemoryPtr)>,
2188 pub DisposeHandle: ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle)>,
2189 pub SetHandleSize: ::std::option::Option<
2190 unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> ::std::os::raw::c_short,
2191 >,
2192 pub GetHandleSize:
2193 ::std::option::Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>,
2194 pub AdjustReservedMemorySize: ::std::option::Option<
2195 unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_int64) -> prSuiteError,
2196 >,
2197}
2198#[repr(C, packed)]
2199#[derive(Debug, Copy, Clone)]
2200pub struct PrSDKPixelFormatSuite {
2201 #[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 :"]
2202 pub GetBlackForPixelFormat: ::std::option::Option<
2203 unsafe extern "C" fn(
2204 pixelFormat: PrPixelFormat,
2205 pixelData: *mut ::std::os::raw::c_void,
2206 ) -> prSuiteError,
2207 >,
2208 #[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 :"]
2209 pub GetWhiteForPixelFormat: ::std::option::Option<
2210 unsafe extern "C" fn(
2211 pixelFormat: PrPixelFormat,
2212 pixelData: *mut ::std::os::raw::c_void,
2213 ) -> prSuiteError,
2214 >,
2215 #[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 :"]
2216 pub ConvertColorToPixelFormattedData: ::std::option::Option<
2217 unsafe extern "C" fn(
2218 pixelFormat: PrPixelFormat,
2219 alpha: f32,
2220 red: f32,
2221 green: f32,
2222 blue: f32,
2223 pixelData: *mut ::std::os::raw::c_void,
2224 ) -> prSuiteError,
2225 >,
2226}
2227pub const PrPPixBufferAccess_PrPPixBufferAccess_ReadOnly: PrPPixBufferAccess = 0;
2228pub const PrPPixBufferAccess_PrPPixBufferAccess_WriteOnly: PrPPixBufferAccess = 1;
2229pub const PrPPixBufferAccess_PrPPixBufferAccess_ReadWrite: PrPPixBufferAccess = 2;
2230pub const PrPPixBufferAccess_PrPPixBufferAccess_ForceEnumSize: PrPPixBufferAccess = 4294967295;
2231pub type PrPPixBufferAccess = ::std::os::raw::c_uint;
2232#[repr(C, packed)]
2233#[derive(Debug, Copy, Clone)]
2234pub struct PrSDKPPixSuite {
2235 #[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."]
2236 pub Dispose: ::std::option::Option<unsafe extern "C" fn(inPPixHand: PPixHand) -> prSuiteError>,
2237 #[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."]
2238 pub GetPixels: ::std::option::Option<
2239 unsafe extern "C" fn(
2240 inPPixHand: PPixHand,
2241 inRequestedAccess: PrPPixBufferAccess,
2242 outPixelAddress: *mut *mut ::std::os::raw::c_char,
2243 ) -> prSuiteError,
2244 >,
2245 #[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."]
2246 pub GetBounds: ::std::option::Option<
2247 unsafe extern "C" fn(inPPixHand: PPixHand, inoutBoundingRect: *mut prRect) -> prSuiteError,
2248 >,
2249 #[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."]
2250 pub GetRowBytes: ::std::option::Option<
2251 unsafe extern "C" fn(inPPixHand: PPixHand, outRowBytes: *mut csSDK_int32) -> prSuiteError,
2252 >,
2253 #[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."]
2254 pub GetPixelAspectRatio: ::std::option::Option<
2255 unsafe extern "C" fn(
2256 inPPixHand: PPixHand,
2257 outPixelAspectRatioNumerator: *mut csSDK_uint32,
2258 outPixelAspectRatioDenominator: *mut csSDK_uint32,
2259 ) -> prSuiteError,
2260 >,
2261 #[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."]
2262 pub GetPixelFormat: ::std::option::Option<
2263 unsafe extern "C" fn(
2264 inPPixHand: PPixHand,
2265 outPixelFormat: *mut PrPixelFormat,
2266 ) -> prSuiteError,
2267 >,
2268 #[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."]
2269 pub GetUniqueKey: ::std::option::Option<
2270 unsafe extern "C" fn(
2271 inPPixHand: PPixHand,
2272 inoutKeyBuffer: *mut ::std::os::raw::c_uchar,
2273 inKeyBufferSize: usize,
2274 ) -> prSuiteError,
2275 >,
2276 #[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."]
2277 pub GetUniqueKeySize:
2278 ::std::option::Option<unsafe extern "C" fn(outKeyBufferSize: *mut usize) -> prSuiteError>,
2279 #[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."]
2280 pub GetRenderTime: ::std::option::Option<
2281 unsafe extern "C" fn(
2282 inPPixHand: PPixHand,
2283 outRenderMilliseconds: *mut csSDK_int32,
2284 ) -> prSuiteError,
2285 >,
2286}
2287#[repr(C, packed)]
2288#[derive(Debug, Copy, Clone)]
2289pub struct PrSDKPPix2Suite {
2290 #[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."]
2291 pub GetSize: ::std::option::Option<
2292 unsafe extern "C" fn(inPPixHand: PPixHand, outSize: *mut usize) -> prSuiteError,
2293 >,
2294 #[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."]
2295 pub GetYUV420PlanarBuffers: ::std::option::Option<
2296 unsafe extern "C" fn(
2297 inPPixHand: PPixHand,
2298 inRequestedAccess: PrPPixBufferAccess,
2299 out_Y_PixelAddress: *mut *mut ::std::os::raw::c_char,
2300 out_Y_RowBytes: *mut csSDK_uint32,
2301 out_U_PixelAddress: *mut *mut ::std::os::raw::c_char,
2302 out_U_RowBytes: *mut csSDK_uint32,
2303 out_V_PixelAddress: *mut *mut ::std::os::raw::c_char,
2304 out_V_RowBytes: *mut csSDK_uint32,
2305 ) -> prSuiteError,
2306 >,
2307 pub GetOrigin: ::std::option::Option<
2308 unsafe extern "C" fn(
2309 inPPixHand: PPixHand,
2310 outOriginX: *mut csSDK_int32,
2311 outOriginY: *mut csSDK_int32,
2312 ) -> prSuiteError,
2313 >,
2314 pub GetFieldOrder: ::std::option::Option<
2315 unsafe extern "C" fn(inPPixHand: PPixHand, outFieldType: *mut prFieldType) -> prSuiteError,
2316 >,
2317}
2318#[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."]
2319#[repr(C, packed)]
2320#[derive(Debug, Copy, Clone)]
2321pub struct imFrameFormat {
2322 pub inFrameWidth: csSDK_int32,
2323 pub inFrameHeight: csSDK_int32,
2324 pub inPixelFormat: PrPixelFormat,
2325}
2326#[repr(C, packed)]
2327#[derive(Debug, Copy, Clone)]
2328pub struct PrSDKPPixCacheSuite {
2329 #[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"]
2330 pub AddFrameToCache: ::std::option::Option<
2331 unsafe extern "C" fn(
2332 inImporterID: csSDK_uint32,
2333 inStreamIndex: csSDK_int32,
2334 inPPixHand: PPixHand,
2335 inFrameNumber: csSDK_int32,
2336 inPreferences: *mut ::std::os::raw::c_void,
2337 inPreferencesLength: csSDK_int32,
2338 ) -> prSuiteError,
2339 >,
2340 #[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"]
2341 pub GetFrameFromCache: ::std::option::Option<
2342 unsafe extern "C" fn(
2343 inImporterID: csSDK_uint32,
2344 inStreamIndex: csSDK_int32,
2345 inFrameNumber: csSDK_int32,
2346 inNumFormats: csSDK_int32,
2347 inFormats: *mut imFrameFormat,
2348 outPPixHand: *mut PPixHand,
2349 inPreferences: *mut ::std::os::raw::c_void,
2350 inPreferencesLength: csSDK_int32,
2351 ) -> prSuiteError,
2352 >,
2353 #[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."]
2354 pub AddRawPPixToCache: ::std::option::Option<
2355 unsafe extern "C" fn(
2356 inImporterID: csSDK_uint32,
2357 inPPixHand: PPixHand,
2358 inKey: csSDK_int32,
2359 ) -> prSuiteError,
2360 >,
2361 #[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."]
2362 pub GetRawPPixFromCache: ::std::option::Option<
2363 unsafe extern "C" fn(
2364 inImporterID: csSDK_uint32,
2365 inKey: csSDK_int32,
2366 outPPixHand: *mut PPixHand,
2367 ) -> prSuiteError,
2368 >,
2369 #[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."]
2370 pub AddNamedPPixToCache: ::std::option::Option<
2371 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID, inPPix: PPixHand) -> prSuiteError,
2372 >,
2373 #[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."]
2374 pub GetNamedPPixFromCache: ::std::option::Option<
2375 unsafe extern "C" fn(
2376 inPPixIdentifier: *const prPluginID,
2377 outPPixHand: *mut PPixHand,
2378 ) -> prSuiteError,
2379 >,
2380 #[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."]
2381 pub RegisterDependencyOnNamedPPix: ::std::option::Option<
2382 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2383 >,
2384 #[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."]
2385 pub UnregisterDependencyOnNamedPPix: ::std::option::Option<
2386 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2387 >,
2388 #[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."]
2389 pub ExpireNamedPPixFromCache: ::std::option::Option<
2390 unsafe extern "C" fn(inPPixIdentifier: *const prPluginID) -> prSuiteError,
2391 >,
2392 #[doc = " This function attempts to flush all ppixes from the cache."]
2393 pub ExpireAllPPixesFromCache: ::std::option::Option<unsafe extern "C" fn() -> prSuiteError>,
2394 #[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."]
2395 pub AddFrameToCacheWithColorProfile: ::std::option::Option<
2396 unsafe extern "C" fn(
2397 inImporterID: csSDK_uint32,
2398 inStreamIndex: csSDK_int32,
2399 inPPixHand: PPixHand,
2400 inFrameNumber: csSDK_int32,
2401 inPreferences: *mut ::std::os::raw::c_void,
2402 inPreferencesLength: csSDK_int32,
2403 inColorProfileName: *mut PrSDKString,
2404 inColorProfileData: *mut ::std::os::raw::c_void,
2405 inColorProfileDataLength: csSDK_int32,
2406 ) -> prSuiteError,
2407 >,
2408 #[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."]
2409 pub GetFrameFromCacheWithColorProfile: ::std::option::Option<
2410 unsafe extern "C" fn(
2411 inImporterID: csSDK_uint32,
2412 inStreamIndex: csSDK_int32,
2413 inFrameNumber: csSDK_int32,
2414 inNumFormats: csSDK_int32,
2415 inFormats: *mut imFrameFormat,
2416 outPPixHand: *mut PPixHand,
2417 inPreferences: *mut ::std::os::raw::c_void,
2418 inPreferencesLength: csSDK_int32,
2419 inColorProfileName: *mut PrSDKString,
2420 inColorProfileData: *mut ::std::os::raw::c_void,
2421 inColorProfileDataSize: csSDK_int32,
2422 ) -> prSuiteError,
2423 >,
2424 #[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."]
2425 pub AddFrameToCacheWithColorProfile2: ::std::option::Option<
2426 unsafe extern "C" fn(
2427 inImporterID: csSDK_uint32,
2428 inStreamIndex: csSDK_int32,
2429 inPPixHand: PPixHand,
2430 inFrameNumber: csSDK_int32,
2431 inQuality: PrRenderQuality,
2432 inPreferences: *mut ::std::os::raw::c_void,
2433 inPreferencesLength: csSDK_int32,
2434 inColorProfileName: *mut PrSDKString,
2435 inColorProfileData: *mut ::std::os::raw::c_void,
2436 inColorProfileDataLength: csSDK_int32,
2437 ) -> prSuiteError,
2438 >,
2439 #[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."]
2440 pub GetFrameFromCacheWithColorProfile2: ::std::option::Option<
2441 unsafe extern "C" fn(
2442 inImporterID: csSDK_uint32,
2443 inStreamIndex: csSDK_int32,
2444 inFrameNumber: csSDK_int32,
2445 inNumFormats: csSDK_int32,
2446 inFormats: *mut imFrameFormat,
2447 outPPixHand: *mut PPixHand,
2448 inQuality: PrRenderQuality,
2449 inPreferences: *mut ::std::os::raw::c_void,
2450 inPreferencesLength: csSDK_int32,
2451 inColorProfileName: *mut PrSDKString,
2452 inColorProfileData: *mut ::std::os::raw::c_void,
2453 inColorProfileDataSize: csSDK_int32,
2454 ) -> prSuiteError,
2455 >,
2456 #[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"]
2457 pub AddFrameToCacheWithColorSpace: ::std::option::Option<
2458 unsafe extern "C" fn(
2459 inImporterID: csSDK_uint32,
2460 inStreamIndex: csSDK_int32,
2461 inPPixHand: PPixHand,
2462 inFrameNumber: csSDK_int32,
2463 inQuality: PrRenderQuality,
2464 inPreferences: *mut ::std::os::raw::c_void,
2465 inPreferencesLength: csSDK_int32,
2466 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2467 ) -> prSuiteError,
2468 >,
2469 #[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"]
2470 pub GetFrameFromCacheWithColorSpace: ::std::option::Option<
2471 unsafe extern "C" fn(
2472 inImporterID: csSDK_uint32,
2473 inStreamIndex: csSDK_int32,
2474 inFrameNumber: csSDK_int32,
2475 inNumFormats: csSDK_int32,
2476 inFormats: *mut imFrameFormat,
2477 outPPixHand: *mut PPixHand,
2478 inQuality: PrRenderQuality,
2479 inPreferences: *mut ::std::os::raw::c_void,
2480 inPreferencesLength: csSDK_int32,
2481 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2482 ) -> prSuiteError,
2483 >,
2484 #[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"]
2485 pub RegisterDependencyOnFrame: ::std::option::Option<
2486 unsafe extern "C" fn(
2487 inImporterID: csSDK_uint32,
2488 inStreamIndex: csSDK_int32,
2489 inFrameNumber: csSDK_int32,
2490 inNumFormats: csSDK_int32,
2491 inFormats: *mut imFrameFormat,
2492 outPPixIdentifier: *mut prPluginID,
2493 inPreferences: *mut ::std::os::raw::c_void,
2494 inPreferencesLength: csSDK_int32,
2495 ) -> prSuiteError,
2496 >,
2497 #[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."]
2498 pub RegisterDependencyOnFrameWithColorProfile: ::std::option::Option<
2499 unsafe extern "C" fn(
2500 inImporterID: csSDK_uint32,
2501 inStreamIndex: csSDK_int32,
2502 inFrameNumber: csSDK_int32,
2503 inNumFormats: csSDK_int32,
2504 inFormats: *mut imFrameFormat,
2505 outPPixIdentifier: *mut prPluginID,
2506 inPreferences: *mut ::std::os::raw::c_void,
2507 inPreferencesLength: csSDK_int32,
2508 inColorProfileName: *mut PrSDKString,
2509 inColorProfileData: *mut ::std::os::raw::c_void,
2510 inColorProfileDataSize: csSDK_int32,
2511 ) -> prSuiteError,
2512 >,
2513 #[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."]
2514 pub RegisterDependencyOnFrameWithColorProfile2: ::std::option::Option<
2515 unsafe extern "C" fn(
2516 inImporterID: csSDK_uint32,
2517 inStreamIndex: csSDK_int32,
2518 inFrameNumber: csSDK_int32,
2519 inNumFormats: csSDK_int32,
2520 inFormats: *mut imFrameFormat,
2521 inQuality: PrRenderQuality,
2522 outPPixIdentifier: *mut prPluginID,
2523 inPreferences: *mut ::std::os::raw::c_void,
2524 inPreferencesLength: csSDK_int32,
2525 inColorProfileName: *mut PrSDKString,
2526 inColorProfileData: *mut ::std::os::raw::c_void,
2527 inColorProfileDataSize: csSDK_int32,
2528 ) -> prSuiteError,
2529 >,
2530 #[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"]
2531 pub RegisterDependencyOnFrameWithColorSpace: ::std::option::Option<
2532 unsafe extern "C" fn(
2533 inImporterID: csSDK_uint32,
2534 inStreamIndex: csSDK_int32,
2535 inFrameNumber: csSDK_int32,
2536 inNumFormats: csSDK_int32,
2537 inFormats: *mut imFrameFormat,
2538 inQuality: PrRenderQuality,
2539 outPPixIdentifier: *mut prPluginID,
2540 inPreferences: *mut ::std::os::raw::c_void,
2541 inPreferencesLength: csSDK_int32,
2542 inPrColorSpaceID: *mut PrSDKColorSpaceID,
2543 ) -> prSuiteError,
2544 >,
2545}
2546#[repr(C, packed)]
2547#[derive(Debug, Copy, Clone)]
2548pub struct PrSDKPPixCacheSuite1 {
2549 #[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."]
2550 pub AddFrameToCache: ::std::option::Option<
2551 unsafe extern "C" fn(
2552 inImporterID: csSDK_uint32,
2553 inStreamIndex: csSDK_int32,
2554 inPPixHand: PPixHand,
2555 inFrameNumber: csSDK_int32,
2556 ) -> prSuiteError,
2557 >,
2558 #[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."]
2559 pub GetFrameFromCache: ::std::option::Option<
2560 unsafe extern "C" fn(
2561 inImporterID: csSDK_uint32,
2562 inStreamIndex: csSDK_int32,
2563 inFrameNumber: csSDK_int32,
2564 inNumFormats: csSDK_int32,
2565 inFormats: *mut imFrameFormat,
2566 outPPixHand: *mut PPixHand,
2567 ) -> prSuiteError,
2568 >,
2569 #[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."]
2570 pub AddRawPPixToCache: ::std::option::Option<
2571 unsafe extern "C" fn(
2572 inImporterID: csSDK_uint32,
2573 inPPixHand: PPixHand,
2574 inKey: csSDK_int32,
2575 ) -> prSuiteError,
2576 >,
2577 #[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."]
2578 pub GetRawPPixFromCache: ::std::option::Option<
2579 unsafe extern "C" fn(
2580 inImporterID: csSDK_uint32,
2581 inKey: csSDK_int32,
2582 outPPixHand: *mut PPixHand,
2583 ) -> prSuiteError,
2584 >,
2585}
2586#[repr(C, packed)]
2587#[derive(Debug, Copy, Clone)]
2588pub struct PrSDKPPixCreator2Suite {
2589 #[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."]
2590 pub CreatePPix: ::std::option::Option<
2591 unsafe extern "C" fn(
2592 outPPixHand: *mut PPixHand,
2593 inRequestedAccess: PrPPixBufferAccess,
2594 inPixelFormat: PrPixelFormat,
2595 inWidth: ::std::os::raw::c_int,
2596 inHeight: ::std::os::raw::c_int,
2597 inUseFields: bool,
2598 inFieldNumber: ::std::os::raw::c_int,
2599 inPARNumerator: ::std::os::raw::c_int,
2600 inPARDenominator: ::std::os::raw::c_int,
2601 ) -> prSuiteError,
2602 >,
2603 #[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."]
2604 pub CreateRawPPix: ::std::option::Option<
2605 unsafe extern "C" fn(
2606 outPPixHand: *mut PPixHand,
2607 inRequestedAccess: PrPPixBufferAccess,
2608 inSize: ::std::os::raw::c_int,
2609 inAlignment: ::std::os::raw::c_int,
2610 ) -> prSuiteError,
2611 >,
2612 #[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."]
2613 pub CreateCustomPPix: ::std::option::Option<
2614 unsafe extern "C" fn(
2615 outPPixHand: *mut PPixHand,
2616 inRequestedAccess: PrPPixBufferAccess,
2617 inPixelFormat: PrPixelFormat,
2618 inWidth: ::std::os::raw::c_int,
2619 inHeight: ::std::os::raw::c_int,
2620 inPARNumerator: ::std::os::raw::c_int,
2621 inPARDenominator: ::std::os::raw::c_int,
2622 inDataBufferSize: ::std::os::raw::c_int,
2623 ) -> prSuiteError,
2624 >,
2625 #[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."]
2626 pub CreateDiskAlignedPPix: ::std::option::Option<
2627 unsafe extern "C" fn(
2628 outPPixHand: *mut PPixHand,
2629 inPixelFormat: PrPixelFormat,
2630 inWidth: ::std::os::raw::c_int,
2631 inHeight: ::std::os::raw::c_int,
2632 inPARNumerator: ::std::os::raw::c_int,
2633 inPARDenominator: ::std::os::raw::c_int,
2634 inMemoryAlignment: ::std::os::raw::c_int,
2635 inSectorSize: ::std::os::raw::c_int,
2636 inOffsetToPixelDataFromFirstSectorStart: ::std::os::raw::c_int,
2637 ) -> prSuiteError,
2638 >,
2639 #[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"]
2640 pub CreateColorManagedPPix: ::std::option::Option<
2641 unsafe extern "C" fn(
2642 outPPixHand: *mut PPixHand,
2643 inRequestedAccess: PrPPixBufferAccess,
2644 inPixelFormat: PrPixelFormat,
2645 inWidth: ::std::os::raw::c_int,
2646 inHeight: ::std::os::raw::c_int,
2647 inUseFields: bool,
2648 inFieldNumber: ::std::os::raw::c_int,
2649 inPARNumerator: ::std::os::raw::c_int,
2650 inPARDenominator: ::std::os::raw::c_int,
2651 inColorSpaceID: PrSDKColorSpaceID,
2652 ) -> prSuiteError,
2653 >,
2654 #[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"]
2655 pub CreateColorManagedCustomPPix: ::std::option::Option<
2656 unsafe extern "C" fn(
2657 outPPixHand: *mut PPixHand,
2658 inRequestedAccess: PrPPixBufferAccess,
2659 inPixelFormat: PrPixelFormat,
2660 inWidth: ::std::os::raw::c_int,
2661 inHeight: ::std::os::raw::c_int,
2662 inPARNumerator: ::std::os::raw::c_int,
2663 inPARDenominator: ::std::os::raw::c_int,
2664 inDataBufferSize: ::std::os::raw::c_int,
2665 inColorSpaceID: PrSDKColorSpaceID,
2666 ) -> prSuiteError,
2667 >,
2668 #[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"]
2669 pub CreateColorManagedDiskAlignedPPix: ::std::option::Option<
2670 unsafe extern "C" fn(
2671 outPPixHand: *mut PPixHand,
2672 inPixelFormat: PrPixelFormat,
2673 inWidth: ::std::os::raw::c_int,
2674 inHeight: ::std::os::raw::c_int,
2675 inPARNumerator: ::std::os::raw::c_int,
2676 inPARDenominator: ::std::os::raw::c_int,
2677 inMemoryAlignment: ::std::os::raw::c_int,
2678 inSectorSize: ::std::os::raw::c_int,
2679 inOffsetToPixelDataFromFirstSectorStart: ::std::os::raw::c_int,
2680 inColorSpaceID: PrSDKColorSpaceID,
2681 ) -> prSuiteError,
2682 >,
2683}
2684#[repr(C, packed)]
2685#[derive(Debug, Copy, Clone)]
2686pub struct PrSDKPPixCreatorSuite {
2687 #[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."]
2688 pub CreatePPix: ::std::option::Option<
2689 unsafe extern "C" fn(
2690 outPPixHand: *mut PPixHand,
2691 inRequestedAccess: PrPPixBufferAccess,
2692 inPixelFormat: PrPixelFormat,
2693 inBoundingRect: *const prRect,
2694 ) -> prSuiteError,
2695 >,
2696 #[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)."]
2697 pub ClonePPix: ::std::option::Option<
2698 unsafe extern "C" fn(
2699 inPPixToClone: PPixHand,
2700 outPPixHand: *mut PPixHand,
2701 inRequestedAccess: PrPPixBufferAccess,
2702 ) -> prSuiteError,
2703 >,
2704}
2705#[repr(C, packed)]
2706#[derive(Debug, Copy, Clone)]
2707pub struct PrSceneTimebaseRec {
2708 pub scale: csSDK_uint32,
2709 pub sampleSize: csSDK_int32,
2710}
2711#[repr(C, packed)]
2712#[derive(Debug, Copy, Clone)]
2713pub struct PrSceneRecord {
2714 pub startTime: csSDK_int32,
2715 pub duration: csSDK_int32,
2716}
2717#[repr(C)]
2718#[derive(Debug, Copy, Clone)]
2719pub struct PrSceneMetaDataRec {
2720 pub timeBase: PrSceneTimebaseRec,
2721 pub scenes: [PrSceneRecord; 1usize],
2722}
2723#[repr(C, packed)]
2724#[derive(Debug, Copy, Clone)]
2725pub struct PrSDKSequenceInfoSuite {
2726 #[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."]
2727 pub GetFrameRect: ::std::option::Option<
2728 unsafe extern "C" fn(inTimelineID: PrTimelineID, outFrameRect: *mut prRect) -> prSuiteError,
2729 >,
2730 #[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."]
2731 pub GetPixelAspectRatio: ::std::option::Option<
2732 unsafe extern "C" fn(
2733 inTimelineID: PrTimelineID,
2734 outNumerator: *mut csSDK_uint32,
2735 outDenominator: *mut csSDK_uint32,
2736 ) -> prSuiteError,
2737 >,
2738 #[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."]
2739 pub GetFrameRate: ::std::option::Option<
2740 unsafe extern "C" fn(
2741 inTimelineID: PrTimelineID,
2742 outTicksPerFrame: *mut PrTime,
2743 ) -> prSuiteError,
2744 >,
2745 #[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."]
2746 pub GetFieldType: ::std::option::Option<
2747 unsafe extern "C" fn(
2748 inTimelineID: PrTimelineID,
2749 outFieldType: *mut prFieldType,
2750 ) -> prSuiteError,
2751 >,
2752 #[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."]
2753 pub GetZeroPoint: ::std::option::Option<
2754 unsafe extern "C" fn(inTimelineID: PrTimelineID, outTime: *mut PrTime) -> prSuiteError,
2755 >,
2756 #[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"]
2757 pub GetTimecodeDropFrame: ::std::option::Option<
2758 unsafe extern "C" fn(inTimelineID: PrTimelineID, outDropFrame: *mut prBool) -> prSuiteError,
2759 >,
2760 #[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"]
2761 pub GetProxyFlag: ::std::option::Option<
2762 unsafe extern "C" fn(inTimelineID: PrTimelineID, outDropFrame: *mut prBool) -> prSuiteError,
2763 >,
2764 #[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)."]
2765 pub GetImmersiveVideoVRConfiguration: ::std::option::Option<
2766 unsafe extern "C" fn(
2767 inTimelineID: PrTimelineID,
2768 outProjectionType: *mut PrIVProjectionType,
2769 outFrameLayout: *mut PrIVFrameLayout,
2770 outHorizontalCapturedView: *mut csSDK_uint32,
2771 outVerticalCapturedView: *mut csSDK_uint32,
2772 ) -> prSuiteError,
2773 >,
2774 #[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"]
2775 pub GetWorkingColorSpace: ::std::option::Option<
2776 unsafe extern "C" fn(
2777 inTimelineID: PrTimelineID,
2778 outPrWorkingColorSpaceID: *mut PrSDKColorSpaceID,
2779 ) -> prSuiteError,
2780 >,
2781 #[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.\n\tFollowing are currently supported values for returned GraphicsWhiteLuminance\n\t\tkSDRReference = 100, \t\t// 1.0 mapped to 100 nits for Rec709\n\t\tkHDRReferenceForHLG = 203, \t// 1.0 mapped to 203 nits for HLG\n\t\tkHDRReferenceForPQ = 300 \t// 1.0 mapped to 300 nits for PQ"]
2782 pub GetGraphicsWhiteLuminance: ::std::option::Option<
2783 unsafe extern "C" fn(
2784 inTimelineID: PrTimelineID,
2785 outGraphicsWhiteLuminance: *mut csSDK_uint32,
2786 ) -> prSuiteError,
2787 >,
2788 #[doc = "\tGet the LUT interpolation mtheod for the sequence.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutLUTInterpolationMethod\t on return, LUT interpolation method for the sequence.\n\tFollowing are currently supported values for returned LUTInterpolationMethod\n\t\tkTriLinear = 0\n\t\tkTetrahedral = 1"]
2789 pub GetLUTInterpolationMethod: ::std::option::Option<
2790 unsafe extern "C" fn(
2791 inTimelineID: PrTimelineID,
2792 outLUTInterpolationMethod: *mut csSDK_uint32,
2793 ) -> prSuiteError,
2794 >,
2795 #[doc = "\tGet the auto tone map enabled setting for the sequence.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutAutoToneMapEnabled\ton return, state of auto tone map setting"]
2796 pub GetAutoToneMapEnabled: ::std::option::Option<
2797 unsafe extern "C" fn(
2798 inTimelineID: PrTimelineID,
2799 outAutoToneMapEnabled: *mut prBool,
2800 ) -> prSuiteError,
2801 >,
2802 #[doc = "\tGet the SDR gamma setting for the sequence.\n\n\t@param\tinTimelineID\tthe timeline instance data\n\t@param\toutSDRGamma\ton return, SDR Gamma value used for a sequence.\n\tFollowing are currently supported values for returned SDRGamma value\n\t\tkBroadcast = 240 (2.4f)\n\t\tkQuickTime = 196 (1.96f)\n\t\tkWebDelivery = 220 (2.2f)"]
2803 pub GetSDRGamma: ::std::option::Option<
2804 unsafe extern "C" fn(
2805 inTimelineID: PrTimelineID,
2806 outSDRGamma: *mut csSDK_uint32,
2807 ) -> prSuiteError,
2808 >,
2809}
2810pub type PrSDKStreamLabel = *const ::std::os::raw::c_char;
2811#[repr(C, packed)]
2812#[derive(Debug, Copy, Clone)]
2813pub struct SequenceRender_FrameInfoRec {
2814 pub repeatCount: csSDK_int32,
2815}
2816#[repr(C, packed)]
2817#[derive(Debug, Copy, Clone)]
2818pub struct SequenceRender_GetFrameReturnRec {
2819 pub asyncCompletionData: *mut ::std::os::raw::c_void,
2820 pub returnVal: csSDK_int32,
2821 pub repeatCount: csSDK_int32,
2822 pub onMarker: csSDK_int32,
2823 pub outFrame: PPixHand,
2824}
2825#[repr(C, packed)]
2826#[derive(Debug, Copy, Clone)]
2827pub struct SequenceRender_ParamsRec {
2828 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2829 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2830 pub inWidth: csSDK_int32,
2831 pub inHeight: csSDK_int32,
2832 pub inPixelAspectRatioNumerator: csSDK_int32,
2833 pub inPixelAspectRatioDenominator: csSDK_int32,
2834 pub inRenderQuality: PrRenderQuality,
2835 pub inFieldType: prFieldType,
2836 pub inDeinterlace: csSDK_int32,
2837 pub inDeinterlaceQuality: PrRenderQuality,
2838 pub inCompositeOnBlack: csSDK_int32,
2839}
2840#[repr(C, packed)]
2841#[derive(Debug, Copy, Clone)]
2842pub struct SequenceRender_ParamsRecExt {
2843 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2844 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2845 pub inWidth: csSDK_int32,
2846 pub inHeight: csSDK_int32,
2847 pub inPixelAspectRatioNumerator: csSDK_int32,
2848 pub inPixelAspectRatioDenominator: csSDK_int32,
2849 pub inRenderQuality: PrRenderQuality,
2850 pub inFieldType: prFieldType,
2851 pub inDeinterlace: csSDK_int32,
2852 pub inDeinterlaceQuality: PrRenderQuality,
2853 pub inCompositeOnBlack: csSDK_int32,
2854 pub inPrSDKColorSpaceID: PrSDKColorSpaceID,
2855}
2856#[repr(C, packed)]
2857#[derive(Debug, Copy, Clone)]
2858pub struct SequenceRender_ParamsRecExt2 {
2859 pub inRequestedPixelFormatArray: *const PrPixelFormat,
2860 pub inRequestedPixelFormatArrayCount: csSDK_int32,
2861 pub inWidth: csSDK_int32,
2862 pub inHeight: csSDK_int32,
2863 pub inPixelAspectRatioNumerator: csSDK_int32,
2864 pub inPixelAspectRatioDenominator: csSDK_int32,
2865 pub inRenderQuality: PrRenderQuality,
2866 pub inFieldType: prFieldType,
2867 pub inDeinterlace: csSDK_int32,
2868 pub inDeinterlaceQuality: PrRenderQuality,
2869 pub inCompositeOnBlack: csSDK_int32,
2870 pub inPrSDKColorSpaceID: PrSDKColorSpaceID,
2871 pub inPrSDKLUTID: PrSDKLUTID,
2872}
2873pub type PrSDKSequenceAsyncRenderCompletionProc = ::std::option::Option<
2874 unsafe extern "C" fn(
2875 inVideoRenderID: csSDK_uint32,
2876 inCallbackRef: *mut ::std::os::raw::c_void,
2877 inTime: PrTime,
2878 inRenderedFrame: PPixHand,
2879 inGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2880 ),
2881>;
2882#[repr(C, packed)]
2883#[derive(Debug, Copy, Clone)]
2884pub struct PrSDKSequenceRenderSuite {
2885 pub MakeVideoRenderer: ::std::option::Option<
2886 unsafe extern "C" fn(
2887 pluginID: csSDK_uint32,
2888 outVideoRenderID: *mut csSDK_uint32,
2889 inFrameRate: PrTime,
2890 ) -> prSuiteError,
2891 >,
2892 pub ReleaseVideoRenderer: ::std::option::Option<
2893 unsafe extern "C" fn(pluginID: csSDK_uint32, inVideoRenderID: csSDK_uint32) -> prSuiteError,
2894 >,
2895 pub RenderVideoFrame: ::std::option::Option<
2896 unsafe extern "C" fn(
2897 inVideoRenderID: csSDK_uint32,
2898 inTime: PrTime,
2899 inRenderParams: *mut SequenceRender_ParamsRec,
2900 inCacheFlags: PrRenderCacheType,
2901 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2902 ) -> prSuiteError,
2903 >,
2904 pub QueueAsyncVideoFrameRender: ::std::option::Option<
2905 unsafe extern "C" fn(
2906 inVideoRenderID: csSDK_uint32,
2907 inTime: PrTime,
2908 outRequestID: *mut csSDK_uint32,
2909 inRenderParams: *mut SequenceRender_ParamsRec,
2910 inCacheFlags: PrRenderCacheType,
2911 inAsyncCompletionData: *mut ::std::os::raw::c_void,
2912 ) -> prSuiteError,
2913 >,
2914 pub SetAsyncRenderCompletionProc: ::std::option::Option<
2915 unsafe extern "C" fn(
2916 inVideoRenderID: csSDK_uint32,
2917 asyncGetFrameCallback: PrSDKSequenceAsyncRenderCompletionProc,
2918 callbackRef: *mut ::std::os::raw::c_void,
2919 ) -> prSuiteError,
2920 >,
2921 pub GetFrameInfo: ::std::option::Option<
2922 unsafe extern "C" fn(
2923 inVideoRenderID: csSDK_uint32,
2924 inTime: PrTime,
2925 outFrameInfo: *mut SequenceRender_FrameInfoRec,
2926 ) -> prSuiteError,
2927 >,
2928 #[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."]
2929 pub PrefetchMedia: ::std::option::Option<
2930 unsafe extern "C" fn(inVideoRenderID: csSDK_uint32, inFrame: PrTime) -> prSuiteError,
2931 >,
2932 #[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."]
2933 pub PrefetchMediaWithRenderParameters: ::std::option::Option<
2934 unsafe extern "C" fn(
2935 inVideoRenderID: csSDK_uint32,
2936 inTime: PrTime,
2937 inRenderParams: *mut SequenceRender_ParamsRec,
2938 ) -> prSuiteError,
2939 >,
2940 #[doc = "\tThis will cancel all media pre-fetches that are still outstanding."]
2941 pub CancelAllOutstandingMediaPrefetches:
2942 ::std::option::Option<unsafe extern "C" fn(inVideoRenderID: csSDK_uint32) -> prSuiteError>,
2943 #[doc = "\tIs all the prefetched media ready?"]
2944 pub IsPrefetchedMediaReady: ::std::option::Option<
2945 unsafe extern "C" fn(
2946 inVideoRenderID: csSDK_uint32,
2947 inTime: PrTime,
2948 outMediaReady: *mut prBool,
2949 ) -> prSuiteError,
2950 >,
2951 pub MakeVideoRendererForTimeline: ::std::option::Option<
2952 unsafe extern "C" fn(
2953 inTimeline: PrTimelineID,
2954 outVideoRendererID: *mut csSDK_uint32,
2955 ) -> prSuiteError,
2956 >,
2957 pub MakeVideoRendererForTimelineWithFrameRate: ::std::option::Option<
2958 unsafe extern "C" fn(
2959 inTimeline: PrTimelineID,
2960 inFrameRate: PrTime,
2961 outVideoRendererID: *mut csSDK_uint32,
2962 ) -> prSuiteError,
2963 >,
2964 pub ReleaseVideoRendererForTimeline: ::std::option::Option<
2965 unsafe extern "C" fn(inVideoRendererID: csSDK_uint32) -> prSuiteError,
2966 >,
2967 pub RenderVideoFrameAndConformToPixelFormat: ::std::option::Option<
2968 unsafe extern "C" fn(
2969 inVideoRenderID: csSDK_uint32,
2970 inTime: PrTime,
2971 inRenderParams: *mut SequenceRender_ParamsRec,
2972 inCacheFlags: PrRenderCacheType,
2973 inConformToFormat: PrPixelFormat,
2974 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2975 ) -> prSuiteError,
2976 >,
2977 pub MakeVideoRendererForTimelineWithStreamLabel: ::std::option::Option<
2978 unsafe extern "C" fn(
2979 inTimeline: PrTimelineID,
2980 inStreamLabel: PrSDKStreamLabel,
2981 outVideoRendererID: *mut csSDK_uint32,
2982 ) -> prSuiteError,
2983 >,
2984 pub RenderColorManagedVideoFrame: ::std::option::Option<
2985 unsafe extern "C" fn(
2986 inVideoRenderID: csSDK_uint32,
2987 inTime: PrTime,
2988 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2989 inCacheFlags: PrRenderCacheType,
2990 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
2991 ) -> prSuiteError,
2992 >,
2993 pub QueueAsyncColorManagedVideoFrameRender: ::std::option::Option<
2994 unsafe extern "C" fn(
2995 inVideoRenderID: csSDK_uint32,
2996 inTime: PrTime,
2997 outRequestID: *mut csSDK_uint32,
2998 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
2999 inCacheFlags: PrRenderCacheType,
3000 inAsyncCompletionData: *mut ::std::os::raw::c_void,
3001 ) -> prSuiteError,
3002 >,
3003 pub PrefetchColorManagedMedia: ::std::option::Option<
3004 unsafe extern "C" fn(
3005 inVideoRenderID: csSDK_uint32,
3006 inFrame: PrTime,
3007 inPrSDKColorSpaceID: PrSDKColorSpaceID,
3008 ) -> prSuiteError,
3009 >,
3010 pub PrefetchColorManagedMediaWithRenderParameters: ::std::option::Option<
3011 unsafe extern "C" fn(
3012 inVideoRenderID: csSDK_uint32,
3013 inTime: PrTime,
3014 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
3015 ) -> prSuiteError,
3016 >,
3017 pub RenderColorManagedVideoFrameAndConformToPixelFormat: ::std::option::Option<
3018 unsafe extern "C" fn(
3019 inVideoRenderID: csSDK_uint32,
3020 inTime: PrTime,
3021 inRenderParamsExt: *mut SequenceRender_ParamsRecExt,
3022 inCacheFlags: PrRenderCacheType,
3023 inConformToFormat: PrPixelFormat,
3024 getFrameReturn: *mut SequenceRender_GetFrameReturnRec,
3025 ) -> prSuiteError,
3026 >,
3027 pub RenderColorManagedVideoFrame2: ::std::option::Option<
3028 unsafe extern "C" fn(
3029 inVideoRenderID: csSDK_uint32,
3030 inTime: PrTime,
3031 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3032 inCacheFlags: PrRenderCacheType,
3033 outGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
3034 ) -> prSuiteError,
3035 >,
3036 pub QueueAsyncColorManagedVideoFrameRender2: ::std::option::Option<
3037 unsafe extern "C" fn(
3038 inVideoRenderID: csSDK_uint32,
3039 inTime: PrTime,
3040 outRequestID: *mut csSDK_uint32,
3041 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3042 inCacheFlags: PrRenderCacheType,
3043 inAsyncCompletionData: *mut ::std::os::raw::c_void,
3044 ) -> prSuiteError,
3045 >,
3046 pub PrefetchColorManagedMediaWithRenderParameters2: ::std::option::Option<
3047 unsafe extern "C" fn(
3048 inVideoRenderID: csSDK_uint32,
3049 inTime: PrTime,
3050 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3051 ) -> prSuiteError,
3052 >,
3053 pub RenderColorManagedVideoFrameAndConformToPixelFormat2: ::std::option::Option<
3054 unsafe extern "C" fn(
3055 inVideoRenderID: csSDK_uint32,
3056 inTime: PrTime,
3057 inRenderParamsExt2: *mut SequenceRender_ParamsRecExt2,
3058 inCacheFlags: PrRenderCacheType,
3059 inConformToFormat: PrPixelFormat,
3060 outGetFrameReturn: *mut SequenceRender_GetFrameReturnRec,
3061 ) -> prSuiteError,
3062 >,
3063}
3064#[repr(C, packed)]
3065#[derive(Debug, Copy, Clone)]
3066pub struct PrClipSegmentInfo {
3067 pub mClipID: csSDK_int32,
3068 pub mSegmentStartTime: csSDK_int64,
3069 pub mSegmentEndTime: csSDK_int64,
3070 pub mSegmentOffset: csSDK_int64,
3071 pub mClipStartTime: csSDK_int64,
3072 pub mClipEndTime: csSDK_int64,
3073 pub mClipPath: PrSDKString,
3074 pub mMediaStartTime: csSDK_int64,
3075 pub mMediaEndTime: csSDK_int64,
3076}
3077pub type SegmentInfoCallback = ::std::option::Option<
3078 unsafe extern "C" fn(
3079 inCallbackData: *mut ::std::os::raw::c_void,
3080 inClipSegmentInfo: *mut PrClipSegmentInfo,
3081 ),
3082>;
3083#[repr(C, packed)]
3084#[derive(Debug, Copy, Clone)]
3085pub struct PrSDKSmartRenderingSuite {
3086 pub BuildSmartRenderSegmentList: ::std::option::Option<
3087 unsafe extern "C" fn(
3088 inCallbackFunc: SegmentInfoCallback,
3089 inCallbackData: *mut ::std::os::raw::c_void,
3090 inSegmentsID: csSDK_int32,
3091 inTimeBase: PrTime,
3092 inPixelFormat: PrPixelFormat,
3093 ) -> prSuiteError,
3094 >,
3095 pub BuildSmartRenderSegmentListNoPreviewFiles: ::std::option::Option<
3096 unsafe extern "C" fn(
3097 inCallbackFunc: SegmentInfoCallback,
3098 inCallbackData: *mut ::std::os::raw::c_void,
3099 inSegmentsID: csSDK_int32,
3100 inTimeBase: PrTime,
3101 inPixelFormat: PrPixelFormat,
3102 ) -> prSuiteError,
3103 >,
3104 pub BuildAncillaryDataSegmentMap: ::std::option::Option<
3105 unsafe extern "C" fn(
3106 inCallbackFunc: SegmentInfoCallback,
3107 inCallbackData: *mut ::std::os::raw::c_void,
3108 inVideoSegmentsID: csSDK_int32,
3109 inTimeBase: PrTime,
3110 inPixelFormat: PrPixelFormat,
3111 ) -> prSuiteError,
3112 >,
3113 pub BuildColorManagedSmartRenderSegmentList: ::std::option::Option<
3114 unsafe extern "C" fn(
3115 inCallbackFunc: SegmentInfoCallback,
3116 inCallbackData: *mut ::std::os::raw::c_void,
3117 inSegmentsID: csSDK_int32,
3118 inTimeBase: PrTime,
3119 inPixelFormat: PrPixelFormat,
3120 inColorSpaceID: PrSDKColorSpaceID,
3121 ) -> prSuiteError,
3122 >,
3123 pub BuildColorManagedSmartRenderSegmentListNoPreviewFiles: ::std::option::Option<
3124 unsafe extern "C" fn(
3125 inCallbackFunc: SegmentInfoCallback,
3126 inCallbackData: *mut ::std::os::raw::c_void,
3127 inSegmentsID: csSDK_int32,
3128 inTimeBase: PrTime,
3129 inPixelFormat: PrPixelFormat,
3130 inColorSpaceID: PrSDKColorSpaceID,
3131 ) -> prSuiteError,
3132 >,
3133}
3134#[repr(C, packed)]
3135#[derive(Debug, Copy, Clone)]
3136pub struct PrSDKStringSuite {
3137 #[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"]
3138 pub DisposeString: ::std::option::Option<
3139 unsafe extern "C" fn(inSDKString: *const PrSDKString) -> prSuiteError,
3140 >,
3141 #[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"]
3142 pub AllocateFromUTF8: ::std::option::Option<
3143 unsafe extern "C" fn(
3144 inUTF8String: *const prUTF8Char,
3145 outSDKString: *mut PrSDKString,
3146 ) -> prSuiteError,
3147 >,
3148 #[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."]
3149 pub CopyToUTF8String: ::std::option::Option<
3150 unsafe extern "C" fn(
3151 inSDKString: *const PrSDKString,
3152 outUTF8StringBuffer: *mut prUTF8Char,
3153 ioUTF8StringBufferSizeInElements: *mut csSDK_uint32,
3154 ) -> prSuiteError,
3155 >,
3156 #[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"]
3157 pub AllocateFromUTF16: ::std::option::Option<
3158 unsafe extern "C" fn(
3159 inUTF16String: *const prUTF16Char,
3160 outSDKString: *mut PrSDKString,
3161 ) -> prSuiteError,
3162 >,
3163 #[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."]
3164 pub CopyToUTF16String: ::std::option::Option<
3165 unsafe extern "C" fn(
3166 inSDKString: *const PrSDKString,
3167 outUTF16StringBuffer: *mut prUTF16Char,
3168 ioUTF16StringBufferSizeInElements: *mut csSDK_uint32,
3169 ) -> prSuiteError,
3170 >,
3171}
3172pub type ThreadedWorkCallback =
3173 ::std::option::Option<unsafe extern "C" fn(inInstanceData: *mut ::std::os::raw::c_void)>;
3174pub type ThreadedWorkCallbackVersion3 = ::std::option::Option<
3175 unsafe extern "C" fn(
3176 inInstanceData: *mut ::std::os::raw::c_void,
3177 inPluginID: csSDK_int32,
3178 inStatus: prSuiteError,
3179 ),
3180>;
3181pub type ThreadedWorkRegistration = *mut ::std::os::raw::c_void;
3182#[repr(C, packed)]
3183#[derive(Debug, Copy, Clone)]
3184pub struct PrSDKThreadedWorkSuiteVersion2 {
3185 pub RegisterForThreadedWork: ::std::option::Option<
3186 unsafe extern "C" fn(
3187 inCallback: ThreadedWorkCallback,
3188 inInstanceData: *mut ::std::os::raw::c_void,
3189 outRegistrationData: *mut ThreadedWorkRegistration,
3190 ) -> prSuiteError,
3191 >,
3192 pub QueueThreadedWork: ::std::option::Option<
3193 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3194 >,
3195 pub UnregisterForThreadedWork: ::std::option::Option<
3196 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3197 >,
3198 pub RegisterForSingleThreadedWork: ::std::option::Option<
3199 unsafe extern "C" fn(
3200 inCallback: ThreadedWorkCallback,
3201 inInstanceData: *mut ::std::os::raw::c_void,
3202 outRegistrationData: *mut ThreadedWorkRegistration,
3203 ) -> prSuiteError,
3204 >,
3205}
3206#[doc = "\tThe following typedef is provided for short-term backwards compatibility only.\n\tClients should prefer the explicit versioned struct name."]
3207pub type PrSDKThreadedWorkSuite = PrSDKThreadedWorkSuiteVersion2;
3208#[repr(C, packed)]
3209#[derive(Debug, Copy, Clone)]
3210pub struct PrSDKThreadedWorkSuiteVersion3 {
3211 pub RegisterForThreadedWork: ::std::option::Option<
3212 unsafe extern "C" fn(
3213 inCallback: ThreadedWorkCallbackVersion3,
3214 inInstanceData: *mut ::std::os::raw::c_void,
3215 outRegistrationData: *mut ThreadedWorkRegistration,
3216 ) -> prSuiteError,
3217 >,
3218 pub QueueThreadedWork: ::std::option::Option<
3219 unsafe extern "C" fn(
3220 inRegistrationData: ThreadedWorkRegistration,
3221 inPluginID: csSDK_int32,
3222 ) -> prSuiteError,
3223 >,
3224 pub UnregisterForThreadedWork: ::std::option::Option<
3225 unsafe extern "C" fn(inRegistrationData: ThreadedWorkRegistration) -> prSuiteError,
3226 >,
3227 pub RegisterForSingleThreadedWork: ::std::option::Option<
3228 unsafe extern "C" fn(
3229 inCallback: ThreadedWorkCallbackVersion3,
3230 inInstanceData: *mut ::std::os::raw::c_void,
3231 outRegistrationData: *mut ThreadedWorkRegistration,
3232 ) -> prSuiteError,
3233 >,
3234}
3235pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsCompletelyOpaque: PrNodeInfoFlag = 1;
3236pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsCompletelyTransparent: PrNodeInfoFlag = 2;
3237pub const PrNodeInfoFlag_kPrNodeInfoFlag_DoesNotDependOnSequenceTime: PrNodeInfoFlag = 4;
3238pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnSegmentTime: PrNodeInfoFlag = 8;
3239pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnClipInOutTime: PrNodeInfoFlag = 16;
3240pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsNOP: PrNodeInfoFlag = 32;
3241pub const PrNodeInfoFlag_kPrNodeInfoFlag_NodeDoesNotDependOnTrackInputs: PrNodeInfoFlag = 64;
3242pub const PrNodeInfoFlag_kPrNodeInfoFlag_IsAdjustment: PrNodeInfoFlag = 128;
3243pub const PrNodeInfoFlag_kPrNodeInfoFlag_MaxSize: PrNodeInfoFlag = 4294967295;
3244pub type PrNodeInfoFlag = ::std::os::raw::c_uint;
3245pub const kMaxNodeTypeStringSize: ::std::os::raw::c_int = 256;
3246pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Linear:
3247 PrKeyframeInterpolationModeFlag = 0;
3248pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Hold:
3249 PrKeyframeInterpolationModeFlag = 4;
3250pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Bezier:
3251 PrKeyframeInterpolationModeFlag = 5;
3252pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_Time:
3253 PrKeyframeInterpolationModeFlag = 6;
3254pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_TimeTransitionStart:
3255 PrKeyframeInterpolationModeFlag = 7;
3256pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_TimeTransitionEnd:
3257 PrKeyframeInterpolationModeFlag = 8;
3258pub const PrKeyframeInterpolationModeFlag_kPrInterpolationModeFlag_MaxSize:
3259 PrKeyframeInterpolationModeFlag = 4294967295;
3260pub type PrKeyframeInterpolationModeFlag = ::std::os::raw::c_uint;
3261pub const PrNodeScalePolicy_kPrNodeScalePolicy_None: PrNodeScalePolicy = 0;
3262pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFrame: PrNodeScalePolicy = 1;
3263pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFillCrop: PrNodeScalePolicy = 2;
3264pub const PrNodeScalePolicy_kPrNodeScalePolicy_ScaleToFillDistort: PrNodeScalePolicy = 3;
3265pub type PrNodeScalePolicy = ::std::os::raw::c_uint;
3266#[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"]
3267pub type SegmentNodePropertyCallback = ::std::option::Option<
3268 unsafe extern "C" fn(
3269 inPluginObject: csSDK_int32,
3270 inKey: *const ::std::os::raw::c_char,
3271 inValue: *const prUTF8Char,
3272 ) -> prSuiteError,
3273>;
3274#[repr(C, packed)]
3275#[derive(Debug, Copy, Clone)]
3276pub struct PrSDKVideoSegmentSuite {
3277 #[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"]
3278 pub AcquireVideoSegmentsID: ::std::option::Option<
3279 unsafe extern "C" fn(
3280 inTimelineData: PrTimelineID,
3281 outVideoSegmentsID: *mut csSDK_int32,
3282 ) -> prSuiteError,
3283 >,
3284 #[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."]
3285 pub AcquireVideoSegmentsWithPreviewsID: ::std::option::Option<
3286 unsafe extern "C" fn(
3287 inTimelineData: PrTimelineID,
3288 outVideoSegmentsID: *mut csSDK_int32,
3289 ) -> prSuiteError,
3290 >,
3291 #[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."]
3292 pub AcquireVideoSegmentsWithOpaquePreviewsID: ::std::option::Option<
3293 unsafe extern "C" fn(
3294 inTimelineData: PrTimelineID,
3295 outVideoSegmentsID: *mut csSDK_int32,
3296 ) -> prSuiteError,
3297 >,
3298 #[doc = "\tRelease a Video Segments ID\n\n\t@param\tinVideoSegmentsID\tThe Video Segments ID to release"]
3299 pub ReleaseVideoSegmentsID:
3300 ::std::option::Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32) -> prSuiteError>,
3301 #[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"]
3302 pub GetHash: ::std::option::Option<
3303 unsafe extern "C" fn(
3304 inVideoSegmentsID: csSDK_int32,
3305 outHash: *mut prPluginID,
3306 ) -> prSuiteError,
3307 >,
3308 #[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"]
3309 pub GetSegmentCount: ::std::option::Option<
3310 unsafe extern "C" fn(
3311 inVideoSegmentsID: csSDK_int32,
3312 outNumSegments: *mut csSDK_int32,
3313 ) -> prSuiteError,
3314 >,
3315 #[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"]
3316 pub GetSegmentInfo: ::std::option::Option<
3317 unsafe extern "C" fn(
3318 inVideoSegmentsID: csSDK_int32,
3319 inIndex: csSDK_int32,
3320 outStartTime: *mut PrTime,
3321 outEndTime: *mut PrTime,
3322 outSegmentOffset: *mut PrTime,
3323 outHash: *mut prPluginID,
3324 ) -> prSuiteError,
3325 >,
3326 #[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."]
3327 pub AcquireNodeID: ::std::option::Option<
3328 unsafe extern "C" fn(
3329 inVideoSegmentsID: csSDK_int32,
3330 inHash: *mut prPluginID,
3331 outVideoNodeID: *mut csSDK_int32,
3332 ) -> prSuiteError,
3333 >,
3334 #[doc = "\tRelease a Video Node ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID to release"]
3335 pub ReleaseVideoNodeID:
3336 ::std::option::Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32) -> prSuiteError>,
3337 #[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)"]
3338 pub GetNodeInfo: ::std::option::Option<
3339 unsafe extern "C" fn(
3340 inVideoNodeID: csSDK_int32,
3341 outNodeType: *mut ::std::os::raw::c_char,
3342 outHash: *mut prPluginID,
3343 outFlags: *mut csSDK_int32,
3344 ) -> prSuiteError,
3345 >,
3346 #[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"]
3347 pub GetNodeInputCount: ::std::option::Option<
3348 unsafe extern "C" fn(
3349 inVideoNodeID: csSDK_int32,
3350 outNumInputs: *mut csSDK_int32,
3351 ) -> prSuiteError,
3352 >,
3353 #[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."]
3354 pub AcquireInputNodeID: ::std::option::Option<
3355 unsafe extern "C" fn(
3356 inVideoNodeID: csSDK_int32,
3357 inIndex: csSDK_int32,
3358 outOffset: *mut PrTime,
3359 outInputVideoNodeID: *mut csSDK_int32,
3360 ) -> prSuiteError,
3361 >,
3362 #[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"]
3363 pub GetNodeOperatorCount: ::std::option::Option<
3364 unsafe extern "C" fn(
3365 inVideoNodeID: csSDK_int32,
3366 outNumOperators: *mut csSDK_int32,
3367 ) -> prSuiteError,
3368 >,
3369 #[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."]
3370 pub AcquireOperatorNodeID: ::std::option::Option<
3371 unsafe extern "C" fn(
3372 inVideoNodeID: csSDK_int32,
3373 inIndex: csSDK_int32,
3374 outOperatorVideoNodeID: *mut csSDK_int32,
3375 ) -> prSuiteError,
3376 >,
3377 #[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."]
3378 pub IterateNodeProperties: ::std::option::Option<
3379 unsafe extern "C" fn(
3380 inVideoNodeID: csSDK_int32,
3381 inCallback: SegmentNodePropertyCallback,
3382 inPluginObject: csSDK_int32,
3383 ) -> prSuiteError,
3384 >,
3385 #[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."]
3386 pub GetNodeProperty: ::std::option::Option<
3387 unsafe extern "C" fn(
3388 inVideoNodeID: csSDK_int32,
3389 inKey: *const ::std::os::raw::c_char,
3390 outValue: *mut PrMemoryPtr,
3391 ) -> prSuiteError,
3392 >,
3393 #[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"]
3394 pub GetParamCount: ::std::option::Option<
3395 unsafe extern "C" fn(
3396 inVideoNodeID: csSDK_int32,
3397 outParamCount: *mut csSDK_int32,
3398 ) -> prSuiteError,
3399 >,
3400 #[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"]
3401 pub GetParam: ::std::option::Option<
3402 unsafe extern "C" fn(
3403 inVideoNodeID: csSDK_int32,
3404 inIndex: csSDK_int32,
3405 inTime: PrTime,
3406 outParam: *mut PrParam,
3407 ) -> prSuiteError,
3408 >,
3409 #[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"]
3410 pub GetNextKeyframeTime: ::std::option::Option<
3411 unsafe extern "C" fn(
3412 inVideoNodeID: csSDK_int32,
3413 inIndex: csSDK_int32,
3414 inTime: PrTime,
3415 outKeyframeTime: *mut PrTime,
3416 outKeyframeInterpolationMode: *mut csSDK_int32,
3417 ) -> prSuiteError,
3418 >,
3419 #[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."]
3420 pub TransformNodeTime: ::std::option::Option<
3421 unsafe extern "C" fn(
3422 inVideoNodeID: csSDK_int32,
3423 inTime: PrTime,
3424 outTime: *mut PrTime,
3425 ) -> prSuiteError,
3426 >,
3427 #[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"]
3428 pub GetVideoSegmentsProperties: ::std::option::Option<
3429 unsafe extern "C" fn(
3430 inTimelineData: PrTimelineID,
3431 outBounds: *mut prRect,
3432 outPixelAspectRatioNumerator: *mut csSDK_int32,
3433 outPixelAspectRatioDenominator: *mut csSDK_int32,
3434 outFrameRate: *mut PrTime,
3435 outFieldType: *mut prFieldType,
3436 ) -> prSuiteError,
3437 >,
3438 #[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"]
3439 pub AcquireNodeForTime: ::std::option::Option<
3440 unsafe extern "C" fn(
3441 inVideoSegmentsID: csSDK_int32,
3442 inTime: PrTime,
3443 outVideoNodeID: *mut csSDK_int32,
3444 outSegmentOffset: *mut PrTime,
3445 ) -> prSuiteError,
3446 >,
3447 #[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"]
3448 pub AcquireVideoSegmentsIDWithStreamLabel: ::std::option::Option<
3449 unsafe extern "C" fn(
3450 inTimelineData: PrTimelineID,
3451 inStreamLabel: PrSDKStreamLabel,
3452 outVideoSegmentsID: *mut csSDK_int32,
3453 ) -> prSuiteError,
3454 >,
3455 #[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."]
3456 pub AcquireVideoSegmentsWithPreviewsIDWithStreamLabel: ::std::option::Option<
3457 unsafe extern "C" fn(
3458 inTimelineData: PrTimelineID,
3459 inStreamLabel: PrSDKStreamLabel,
3460 outVideoSegmentsID: *mut csSDK_int32,
3461 ) -> prSuiteError,
3462 >,
3463 #[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."]
3464 pub AcquireVideoSegmentsWithOpaquePreviewsIDWithStreamLabel: ::std::option::Option<
3465 unsafe extern "C" fn(
3466 inTimelineData: PrTimelineID,
3467 inStreamLabel: PrSDKStreamLabel,
3468 outVideoSegmentsID: *mut csSDK_int32,
3469 ) -> prSuiteError,
3470 >,
3471 #[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"]
3472 pub AcquireFirstNodeInTimeRange: ::std::option::Option<
3473 unsafe extern "C" fn(
3474 inVideoSegmentsID: csSDK_int32,
3475 inStartTime: PrTime,
3476 inEndTime: PrTime,
3477 outVideoNodeID: *mut csSDK_int32,
3478 outSegmentOffset: *mut PrTime,
3479 ) -> prSuiteError,
3480 >,
3481 #[doc = "\tAcquire the node owning an operator\n\n\t@param\tinVideoNodeID\t\tThe operator\n\t@param\toutOwnerNodeID\t\tThe owner"]
3482 pub AcquireOperatorOwnerNodeID: ::std::option::Option<
3483 unsafe extern "C" fn(
3484 inVideoNodeID: csSDK_int32,
3485 outOwnerNodeID: *mut csSDK_int32,
3486 ) -> prSuiteError,
3487 >,
3488 #[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)"]
3489 pub GetGraphicsTransformedParams: ::std::option::Option<
3490 unsafe extern "C" fn(
3491 inVideoNodeID: csSDK_int32,
3492 inTime: PrTime,
3493 outPosition: *mut prFPoint64,
3494 outAnchor: *mut prFPoint64,
3495 outScale: *mut prFPoint64,
3496 outRotation: *mut f32,
3497 ) -> prSuiteError,
3498 >,
3499 #[doc = "\tGet graphic layer group ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID"]
3500 pub HasGraphicsGroup: ::std::option::Option<
3501 unsafe extern "C" fn(
3502 inVideoNodeID: csSDK_int32,
3503 outHasGraphicGroup: *mut bool,
3504 ) -> prSuiteError,
3505 >,
3506 #[doc = "\tGet graphic layer group ID\n\n\t@param\tinVideoNodeID\t\tThe Video Node ID"]
3507 pub GetGraphicsGroupID: ::std::option::Option<
3508 unsafe extern "C" fn(
3509 inVideoNodeID: csSDK_int32,
3510 outGroupID: *mut csSDK_int32,
3511 ) -> prSuiteError,
3512 >,
3513 #[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"]
3514 pub GetVideoSegmentsPropertiesExt: ::std::option::Option<
3515 unsafe extern "C" fn(
3516 inTimelineData: PrTimelineID,
3517 outBounds: *mut prRect,
3518 outPixelAspectRatioNumerator: *mut csSDK_int32,
3519 outPixelAspectRatioDenominator: *mut csSDK_int32,
3520 outFrameRate: *mut PrTime,
3521 outFieldType: *mut prFieldType,
3522 outColorSpaceID: *mut PrSDKColorSpaceID,
3523 ) -> prSuiteError,
3524 >,
3525 #[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"]
3526 pub AcquireFirstNodeInTimeRangeExt: ::std::option::Option<
3527 unsafe extern "C" fn(
3528 inVideoSegmentsID: csSDK_int32,
3529 inStartTime: PrTime,
3530 inEndTime: PrTime,
3531 outVideoNodeID: *mut csSDK_int32,
3532 outSegmentStartTime: *mut PrTime,
3533 outSegmentEndTime: *mut PrTime,
3534 outSegmentOffset: *mut PrTime,
3535 ) -> prSuiteError,
3536 >,
3537 #[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"]
3538 pub GetNodeTimeScale: ::std::option::Option<
3539 unsafe extern "C" fn(
3540 inVideoNodeID: csSDK_int32,
3541 inTime: PrTime,
3542 outRate: *mut f64,
3543 ) -> prSuiteError,
3544 >,
3545}
3546#[repr(C, packed)]
3547#[derive(Debug, Copy, Clone)]
3548pub struct PrSDKWindowSuite {
3549 pub GetMainWindow: ::std::option::Option<unsafe extern "C" fn() -> prWnd>,
3550 pub UpdateAllWindows: ::std::option::Option<unsafe extern "C" fn()>,
3551}
3552pub type A_long = i32;
3553pub type A_u_long = u32;
3554pub type A_char = ::std::os::raw::c_char;
3555pub type A_FpLong = f64;
3556pub type A_FpShort = f32;
3557pub type A_short = i16;
3558pub type A_u_short = u16;
3559pub type A_u_char = u8;
3560pub type A_Boolean = u8;
3561pub type A_intptr_t = isize;
3562pub type A_u_longlong = u64;
3563pub type UInt32 = ::std::os::raw::c_uint;
3564pub type SInt32 = ::std::os::raw::c_int;
3565pub type Fixed = SInt32;
3566pub type Ptr = *mut ::std::os::raw::c_char;
3567pub type Handle = *mut Ptr;
3568pub type Boolean = ::std::os::raw::c_uchar;
3569pub type ProcPtr = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_long>;
3570pub type ProcHandle = *mut ProcPtr;
3571#[repr(C, packed(2))]
3572#[derive(Debug, Copy, Clone)]
3573pub struct ProcessSerialNumber {
3574 pub highLongOfPSN: UInt32,
3575 pub lowLongOfPSN: UInt32,
3576}
3577pub type ProcessSerialNumberPtr = *mut ProcessSerialNumber;
3578pub type PFVersionInfo = A_u_long;
3579pub const PF_Stage_DEVELOP: _bindgen_ty_22 = 0;
3580pub const PF_Stage_ALPHA: _bindgen_ty_22 = 1;
3581pub const PF_Stage_BETA: _bindgen_ty_22 = 2;
3582pub const PF_Stage_RELEASE: _bindgen_ty_22 = 3;
3583pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
3584pub type PF_Stage = A_long;
3585pub const PF_Quality_DRAWING_AUDIO: _bindgen_ty_23 = -1;
3586pub const PF_Quality_LO: _bindgen_ty_23 = 0;
3587pub const PF_Quality_HI: _bindgen_ty_23 = 1;
3588pub type _bindgen_ty_23 = ::std::os::raw::c_int;
3589pub type PF_Quality = A_long;
3590pub const PF_MF_Alpha_PREMUL: _bindgen_ty_24 = 0;
3591pub const PF_MF_Alpha_STRAIGHT: _bindgen_ty_24 = 1;
3592pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
3593pub type PF_ModeFlags = A_long;
3594pub const PF_Field_FRAME: _bindgen_ty_25 = 0;
3595pub const PF_Field_UPPER: _bindgen_ty_25 = 1;
3596pub const PF_Field_LOWER: _bindgen_ty_25 = 2;
3597pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
3598pub type PF_Field = A_long;
3599pub const PF_Param_RESERVED: _bindgen_ty_26 = -1;
3600pub const PF_Param_LAYER: _bindgen_ty_26 = 0;
3601pub const PF_Param_SLIDER: _bindgen_ty_26 = 1;
3602pub const PF_Param_FIX_SLIDER: _bindgen_ty_26 = 2;
3603pub const PF_Param_ANGLE: _bindgen_ty_26 = 3;
3604pub const PF_Param_CHECKBOX: _bindgen_ty_26 = 4;
3605pub const PF_Param_COLOR: _bindgen_ty_26 = 5;
3606pub const PF_Param_POINT: _bindgen_ty_26 = 6;
3607pub const PF_Param_POPUP: _bindgen_ty_26 = 7;
3608pub const PF_Param_CUSTOM: _bindgen_ty_26 = 8;
3609pub const PF_Param_NO_DATA: _bindgen_ty_26 = 9;
3610pub const PF_Param_FLOAT_SLIDER: _bindgen_ty_26 = 10;
3611pub const PF_Param_ARBITRARY_DATA: _bindgen_ty_26 = 11;
3612pub const PF_Param_PATH: _bindgen_ty_26 = 12;
3613pub const PF_Param_GROUP_START: _bindgen_ty_26 = 13;
3614pub const PF_Param_GROUP_END: _bindgen_ty_26 = 14;
3615pub const PF_Param_BUTTON: _bindgen_ty_26 = 15;
3616pub const PF_Param_RESERVED2: _bindgen_ty_26 = 16;
3617pub const PF_Param_RESERVED3: _bindgen_ty_26 = 17;
3618pub const PF_Param_POINT_3D: _bindgen_ty_26 = 18;
3619pub type _bindgen_ty_26 = ::std::os::raw::c_int;
3620pub type PF_ParamType = A_long;
3621pub const PF_ParamFlag_RESERVED1: _bindgen_ty_27 = 1;
3622pub const PF_ParamFlag_CANNOT_TIME_VARY: _bindgen_ty_27 = 2;
3623pub const PF_ParamFlag_CANNOT_INTERP: _bindgen_ty_27 = 4;
3624pub const PF_ParamFlag_RESERVED2: _bindgen_ty_27 = 8;
3625pub const PF_ParamFlag_RESERVED3: _bindgen_ty_27 = 16;
3626pub const PF_ParamFlag_COLLAPSE_TWIRLY: _bindgen_ty_27 = 32;
3627pub const PF_ParamFlag_SUPERVISE: _bindgen_ty_27 = 64;
3628pub const PF_ParamFlag_START_COLLAPSED: _bindgen_ty_27 = 32;
3629pub const PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS: _bindgen_ty_27 = 128;
3630pub const PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE: _bindgen_ty_27 = 128;
3631pub const PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED: _bindgen_ty_27 = 256;
3632pub const PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_27 = 512;
3633pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
3634pub type PF_ParamFlags = A_long;
3635pub const PF_Err_NONE: _bindgen_ty_28 = 0;
3636pub const PF_Err_OUT_OF_MEMORY: _bindgen_ty_28 = 4;
3637pub const PF_Err_INTERNAL_STRUCT_DAMAGED: _bindgen_ty_28 = 512;
3638pub const PF_Err_INVALID_INDEX: _bindgen_ty_28 = 513;
3639pub const PF_Err_UNRECOGNIZED_PARAM_TYPE: _bindgen_ty_28 = 514;
3640pub const PF_Err_INVALID_CALLBACK: _bindgen_ty_28 = 515;
3641pub const PF_Err_BAD_CALLBACK_PARAM: _bindgen_ty_28 = 516;
3642pub const PF_Interrupt_CANCEL: _bindgen_ty_28 = 517;
3643pub const PF_Err_CANNOT_PARSE_KEYFRAME_TEXT: _bindgen_ty_28 = 518;
3644pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
3645pub type PF_Err = A_long;
3646pub const PF_WorldFlag_DEEP: _bindgen_ty_29 = 1;
3647pub const PF_WorldFlag_WRITEABLE: _bindgen_ty_29 = 2;
3648pub const PF_WorldFlag_RESERVED0: _bindgen_ty_29 = 16777216;
3649pub const PF_WorldFlag_RESERVED1: _bindgen_ty_29 = 33554432;
3650pub const PF_WorldFlag_RESERVED2: _bindgen_ty_29 = 67108864;
3651pub const PF_WorldFlag_RESERVED3: _bindgen_ty_29 = 134217728;
3652pub const PF_WorldFlag_RESERVED4: _bindgen_ty_29 = 268435456;
3653pub const PF_WorldFlag_RESERVED5: _bindgen_ty_29 = 536870912;
3654pub const PF_WorldFlag_RESERVED6: _bindgen_ty_29 = 1073741824;
3655pub const PF_WorldFlag_RESERVED: _bindgen_ty_29 = 2147483648;
3656pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
3657pub type PF_WorldFlags = A_long;
3658pub const PF_OutFlag_NONE: _bindgen_ty_30 = 0;
3659pub const PF_OutFlag_KEEP_RESOURCE_OPEN: _bindgen_ty_30 = 1;
3660pub const PF_OutFlag_WIDE_TIME_INPUT: _bindgen_ty_30 = 2;
3661pub const PF_OutFlag_NON_PARAM_VARY: _bindgen_ty_30 = 4;
3662pub const PF_OutFlag_RESERVED6: _bindgen_ty_30 = 8;
3663pub const PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING: _bindgen_ty_30 = 16;
3664pub const PF_OutFlag_I_DO_DIALOG: _bindgen_ty_30 = 32;
3665pub const PF_OutFlag_USE_OUTPUT_EXTENT: _bindgen_ty_30 = 64;
3666pub const PF_OutFlag_SEND_DO_DIALOG: _bindgen_ty_30 = 128;
3667pub const PF_OutFlag_DISPLAY_ERROR_MESSAGE: _bindgen_ty_30 = 256;
3668pub const PF_OutFlag_I_EXPAND_BUFFER: _bindgen_ty_30 = 512;
3669pub const PF_OutFlag_PIX_INDEPENDENT: _bindgen_ty_30 = 1024;
3670pub const PF_OutFlag_I_WRITE_INPUT_BUFFER: _bindgen_ty_30 = 2048;
3671pub const PF_OutFlag_I_SHRINK_BUFFER: _bindgen_ty_30 = 4096;
3672pub const PF_OutFlag_WORKS_IN_PLACE: _bindgen_ty_30 = 8192;
3673pub const PF_OutFlag_RESERVED8: _bindgen_ty_30 = 16384;
3674pub const PF_OutFlag_CUSTOM_UI: _bindgen_ty_30 = 32768;
3675pub const PF_OutFlag_RESERVED7: _bindgen_ty_30 = 65536;
3676pub const PF_OutFlag_REFRESH_UI: _bindgen_ty_30 = 131072;
3677pub const PF_OutFlag_NOP_RENDER: _bindgen_ty_30 = 262144;
3678pub const PF_OutFlag_I_USE_SHUTTER_ANGLE: _bindgen_ty_30 = 524288;
3679pub const PF_OutFlag_I_USE_AUDIO: _bindgen_ty_30 = 1048576;
3680pub const PF_OutFlag_I_AM_OBSOLETE: _bindgen_ty_30 = 2097152;
3681pub const PF_OutFlag_FORCE_RERENDER: _bindgen_ty_30 = 4194304;
3682pub const PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS: _bindgen_ty_30 = 8388608;
3683pub const PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES: _bindgen_ty_30 = 16777216;
3684pub const PF_OutFlag_DEEP_COLOR_AWARE: _bindgen_ty_30 = 33554432;
3685pub const PF_OutFlag_SEND_UPDATE_PARAMS_UI: _bindgen_ty_30 = 67108864;
3686pub const PF_OutFlag_AUDIO_FLOAT_ONLY: _bindgen_ty_30 = 134217728;
3687pub const PF_OutFlag_AUDIO_IIR: _bindgen_ty_30 = 268435456;
3688pub const PF_OutFlag_I_SYNTHESIZE_AUDIO: _bindgen_ty_30 = 536870912;
3689pub const PF_OutFlag_AUDIO_EFFECT_TOO: _bindgen_ty_30 = 1073741824;
3690pub const PF_OutFlag_AUDIO_EFFECT_ONLY: _bindgen_ty_30 = 2147483648;
3691#[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."]
3692pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
3693pub type PF_OutFlags = A_long;
3694pub const PF_OutFlag2_NONE: _bindgen_ty_31 = 0;
3695pub const PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS: _bindgen_ty_31 = 1;
3696pub const PF_OutFlag2_I_USE_3D_CAMERA: _bindgen_ty_31 = 2;
3697pub const PF_OutFlag2_I_USE_3D_LIGHTS: _bindgen_ty_31 = 4;
3698pub const PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG: _bindgen_ty_31 = 8;
3699pub const PF_OutFlag2_I_AM_THREADSAFE: _bindgen_ty_31 = 16;
3700pub const PF_OutFlag2_CAN_COMBINE_WITH_DESTINATION: _bindgen_ty_31 = 32;
3701pub const PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS: _bindgen_ty_31 = 64;
3702pub const PF_OutFlag2_REVEALS_ZERO_ALPHA: _bindgen_ty_31 = 128;
3703pub const PF_OutFlag2_PRESERVES_FULLY_OPAQUE_PIXELS: _bindgen_ty_31 = 256;
3704pub const PF_OutFlag2_SUPPORTS_SMART_RENDER: _bindgen_ty_31 = 1024;
3705pub const PF_OutFlag2_RESERVED9: _bindgen_ty_31 = 2048;
3706pub const PF_OutFlag2_FLOAT_COLOR_AWARE: _bindgen_ty_31 = 4096;
3707pub const PF_OutFlag2_I_USE_COLORSPACE_ENUMERATION: _bindgen_ty_31 = 8192;
3708pub const PF_OutFlag2_I_AM_DEPRECATED: _bindgen_ty_31 = 16384;
3709pub const PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER: _bindgen_ty_31 = 32768;
3710pub const PF_OutFlag2_RESERVED10: _bindgen_ty_31 = 65536;
3711pub const PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT: _bindgen_ty_31 = 131072;
3712pub const PF_OutFlag2_I_USE_TIMECODE: _bindgen_ty_31 = 262144;
3713pub const PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS: _bindgen_ty_31 = 524288;
3714pub const PF_OutFlag2_OUTPUT_IS_WATERMARKED: _bindgen_ty_31 = 1048576;
3715pub const PF_OutFlag2_I_MIX_GUID_DEPENDENCIES: _bindgen_ty_31 = 2097152;
3716pub const PF_OutFlag2_AE13_5_THREADSAFE: _bindgen_ty_31 = 4194304;
3717pub const PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_31 = 8388608;
3718pub const PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER: _bindgen_ty_31 = 16777216;
3719pub const PF_OutFlag2_SUPPORTS_GPU_RENDER_F32: _bindgen_ty_31 = 33554432;
3720pub const PF_OutFlag2_RESERVED12: _bindgen_ty_31 = 67108864;
3721pub const PF_OutFlag2_SUPPORTS_THREADED_RENDERING: _bindgen_ty_31 = 134217728;
3722pub const PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER: _bindgen_ty_31 = 268435456;
3723pub const PF_OutFlag2_SUPPORTS_DIRECTX_RENDERING: _bindgen_ty_31 = 536870912;
3724pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
3725pub type PF_OutFlags2 = A_long;
3726pub const PF_InFlag_NONE: _bindgen_ty_32 = 0;
3727pub const PF_InFlag_PROJECT_IS_RENDER_ONLY: _bindgen_ty_32 = 1;
3728#[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.)"]
3729pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
3730pub type PF_InFlags = A_long;
3731pub const PF_Cmd_ABOUT: _bindgen_ty_33 = 0;
3732pub const PF_Cmd_GLOBAL_SETUP: _bindgen_ty_33 = 1;
3733pub const PF_Cmd_UNUSED_0: _bindgen_ty_33 = 2;
3734pub const PF_Cmd_GLOBAL_SETDOWN: _bindgen_ty_33 = 3;
3735pub const PF_Cmd_PARAMS_SETUP: _bindgen_ty_33 = 4;
3736pub const PF_Cmd_SEQUENCE_SETUP: _bindgen_ty_33 = 5;
3737pub const PF_Cmd_SEQUENCE_RESETUP: _bindgen_ty_33 = 6;
3738pub const PF_Cmd_SEQUENCE_FLATTEN: _bindgen_ty_33 = 7;
3739pub const PF_Cmd_SEQUENCE_SETDOWN: _bindgen_ty_33 = 8;
3740pub const PF_Cmd_DO_DIALOG: _bindgen_ty_33 = 9;
3741pub const PF_Cmd_FRAME_SETUP: _bindgen_ty_33 = 10;
3742pub const PF_Cmd_RENDER: _bindgen_ty_33 = 11;
3743pub const PF_Cmd_FRAME_SETDOWN: _bindgen_ty_33 = 12;
3744pub const PF_Cmd_USER_CHANGED_PARAM: _bindgen_ty_33 = 13;
3745pub const PF_Cmd_UPDATE_PARAMS_UI: _bindgen_ty_33 = 14;
3746pub const PF_Cmd_EVENT: _bindgen_ty_33 = 15;
3747pub const PF_Cmd_GET_EXTERNAL_DEPENDENCIES: _bindgen_ty_33 = 16;
3748pub const PF_Cmd_COMPLETELY_GENERAL: _bindgen_ty_33 = 17;
3749pub const PF_Cmd_QUERY_DYNAMIC_FLAGS: _bindgen_ty_33 = 18;
3750pub const PF_Cmd_AUDIO_RENDER: _bindgen_ty_33 = 19;
3751pub const PF_Cmd_AUDIO_SETUP: _bindgen_ty_33 = 20;
3752pub const PF_Cmd_AUDIO_SETDOWN: _bindgen_ty_33 = 21;
3753pub const PF_Cmd_ARBITRARY_CALLBACK: _bindgen_ty_33 = 22;
3754pub const PF_Cmd_SMART_PRE_RENDER: _bindgen_ty_33 = 23;
3755pub const PF_Cmd_SMART_RENDER: _bindgen_ty_33 = 24;
3756pub const PF_Cmd_RESERVED1: _bindgen_ty_33 = 25;
3757pub const PF_Cmd_RESERVED2: _bindgen_ty_33 = 26;
3758pub const PF_Cmd_RESERVED3: _bindgen_ty_33 = 27;
3759pub const PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_33 = 28;
3760pub const PF_Cmd_TRANSLATE_PARAMS_TO_PREFS: _bindgen_ty_33 = 29;
3761pub const PF_Cmd_RESERVED4: _bindgen_ty_33 = 30;
3762pub const PF_Cmd_SMART_RENDER_GPU: _bindgen_ty_33 = 31;
3763pub const PF_Cmd_GPU_DEVICE_SETUP: _bindgen_ty_33 = 32;
3764pub const PF_Cmd_GPU_DEVICE_SETDOWN: _bindgen_ty_33 = 33;
3765pub const PF_Cmd_NUM_CMDS: _bindgen_ty_33 = 34;
3766#[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!"]
3767pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
3768pub type PF_Cmd = A_long;
3769#[repr(C)]
3770#[derive(Debug, Copy, Clone)]
3771pub struct _PF_LayerAudio {
3772 _unused: [u8; 0],
3773}
3774#[doc = " -------------------- Simple Types --------------------"]
3775pub type PF_LayerAudio = *mut _PF_LayerAudio;
3776pub type PF_SndSamplePtr = *mut ::std::os::raw::c_void;
3777#[repr(C)]
3778#[derive(Debug, Copy, Clone)]
3779pub struct PF_ProgressInfo {
3780 _unused: [u8; 0],
3781}
3782pub type PF_ProgPtr = *mut PF_ProgressInfo;
3783pub type PF_ParamValue = A_long;
3784#[repr(C)]
3785#[derive(Debug, Copy, Clone)]
3786pub struct PF_SpecVersion {
3787 pub major: A_short,
3788 pub minor: A_short,
3789}
3790pub type PF_ParamIndex = A_long;
3791pub type PF_UFixed = A_u_long;
3792pub type PF_Fixed = Fixed;
3793pub type PF_Boolean = Boolean;
3794pub type PF_Handle = Handle;
3795#[repr(C)]
3796#[derive(Copy, Clone)]
3797pub struct PF_Point {
3798 pub __bindgen_anon_1: PF_Point__bindgen_ty_1,
3799 pub __bindgen_anon_2: PF_Point__bindgen_ty_2,
3800}
3801#[repr(C)]
3802#[derive(Copy, Clone)]
3803pub union PF_Point__bindgen_ty_1 {
3804 pub x: A_long,
3805 pub h: A_long,
3806}
3807#[repr(C)]
3808#[derive(Copy, Clone)]
3809pub union PF_Point__bindgen_ty_2 {
3810 pub y: A_long,
3811 pub v: A_long,
3812}
3813#[repr(C)]
3814#[derive(Debug, Copy, Clone)]
3815pub struct PF_LRect {
3816 pub left: A_long,
3817 pub top: A_long,
3818 pub right: A_long,
3819 pub bottom: A_long,
3820}
3821pub type PF_Rect = PF_LRect;
3822pub type PF_UnionableRect = PF_Rect;
3823#[repr(C)]
3824#[derive(Debug, Copy, Clone)]
3825pub struct PF_RationalScale {
3826 pub num: A_long,
3827 pub den: A_u_long,
3828}
3829#[repr(C)]
3830#[derive(Debug, Copy, Clone)]
3831pub struct PF_FixedPoint {
3832 pub x: PF_Fixed,
3833 pub y: PF_Fixed,
3834}
3835#[repr(C)]
3836#[derive(Debug, Copy, Clone)]
3837pub struct PF_FixedRect {
3838 pub left: PF_Fixed,
3839 pub top: PF_Fixed,
3840 pub right: PF_Fixed,
3841 pub bottom: PF_Fixed,
3842}
3843#[repr(C)]
3844#[derive(Debug, Copy, Clone)]
3845pub struct PF_Matrix {
3846 pub mat: [[PF_Fixed; 3usize]; 3usize],
3847}
3848pub type PF_TransferMode = A_long;
3849pub type PF_XferMode = PF_TransferMode;
3850#[repr(C)]
3851#[derive(Debug, Copy, Clone)]
3852pub struct PF_Pixel {
3853 pub alpha: A_u_char,
3854 pub red: A_u_char,
3855 pub green: A_u_char,
3856 pub blue: A_u_char,
3857}
3858pub type PF_Pixel8 = PF_Pixel;
3859pub type PF_UnionablePixel = PF_Pixel;
3860#[repr(C)]
3861#[derive(Debug, Copy, Clone)]
3862pub struct PF_Pixel16 {
3863 pub alpha: A_u_short,
3864 pub red: A_u_short,
3865 pub green: A_u_short,
3866 pub blue: A_u_short,
3867}
3868pub type PF_FpShort = A_FpShort;
3869pub type PF_FpLong = A_FpLong;
3870#[repr(C)]
3871#[derive(Debug, Copy, Clone)]
3872pub struct PF_PixelFloat {
3873 pub alpha: PF_FpShort,
3874 pub red: PF_FpShort,
3875 pub green: PF_FpShort,
3876 pub blue: PF_FpShort,
3877}
3878pub type PF_Pixel32 = PF_PixelFloat;
3879#[repr(C)]
3880#[derive(Debug, Copy, Clone)]
3881pub struct PF_FloatMatrix {
3882 pub mat: [[PF_FpLong; 3usize]; 3usize],
3883}
3884#[repr(C)]
3885#[derive(Debug, Copy, Clone)]
3886pub struct PF_CompositeMode {
3887 pub xfer: PF_TransferMode,
3888 pub rand_seed: A_long,
3889 pub opacity: A_u_char,
3890 pub rgb_only: PF_Boolean,
3891 pub opacitySu: A_u_short,
3892}
3893pub type PF_PixLong = A_u_long;
3894#[repr(C)]
3895#[derive(Debug, Copy, Clone)]
3896pub struct _PF_PixelOpaque {
3897 _unused: [u8; 0],
3898}
3899pub type PF_PixelOpaquePtr = *mut _PF_PixelOpaque;
3900pub type PF_PixelPtr = *mut PF_Pixel;
3901pub type PF_RGB_Pixel = [PF_Fixed; 3usize];
3902pub type PF_YIQ_Pixel = [PF_Fixed; 3usize];
3903pub type PF_HLS_Pixel = [PF_Fixed; 3usize];
3904pub type PF_ChannelType = A_long;
3905pub type PF_DataType = A_long;
3906#[doc = " for enumerating over all the channels"]
3907pub type PF_ChannelIndex = A_long;
3908#[repr(C)]
3909#[derive(Debug, Copy, Clone)]
3910pub struct PF_ChannelDesc {
3911 pub channel_type: PF_ChannelType,
3912 pub name: [A_char; 64usize],
3913 pub data_type: PF_DataType,
3914 pub dimension: A_long,
3915}
3916#[doc = " the opaque type representing the channel data"]
3917#[repr(C)]
3918#[derive(Debug, Copy, Clone)]
3919pub struct PF_ChannelRef {
3920 pub opaque: [A_intptr_t; 8usize],
3921}
3922#[doc = " the opaque type representing the channel data"]
3923pub type PF_ChannelRefPtr = *mut PF_ChannelRef;
3924#[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."]
3925#[repr(C)]
3926#[derive(Debug, Copy, Clone)]
3927pub struct PF_ChannelChunk {
3928 pub channel_ref: PF_ChannelRef,
3929 pub widthL: A_long,
3930 pub heightL: A_long,
3931 pub dimensionL: A_long,
3932 pub row_bytesL: A_long,
3933 pub data_type: PF_DataType,
3934 pub dataH: PF_Handle,
3935 pub dataPV: *mut ::std::os::raw::c_void,
3936}
3937pub const PF_LayerDefault_MYSELF: _bindgen_ty_34 = -1;
3938pub const PF_LayerDefault_NONE: _bindgen_ty_34 = 0;
3939#[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)."]
3940pub type _bindgen_ty_34 = ::std::os::raw::c_int;
3941#[repr(C)]
3942#[derive(Debug, Copy, Clone)]
3943pub struct PF_LayerDef {
3944 pub reserved0: *mut ::std::os::raw::c_void,
3945 pub reserved1: *mut ::std::os::raw::c_void,
3946 pub world_flags: PF_WorldFlags,
3947 pub data: PF_PixelPtr,
3948 pub rowbytes: A_long,
3949 pub width: A_long,
3950 pub height: A_long,
3951 pub extent_hint: PF_UnionableRect,
3952 pub platform_ref: *mut ::std::os::raw::c_void,
3953 pub reserved_long1: A_long,
3954 pub reserved_long4: *mut ::std::os::raw::c_void,
3955 pub pix_aspect_ratio: PF_RationalScale,
3956 pub reserved_long2: *mut ::std::os::raw::c_void,
3957 pub origin_x: A_long,
3958 pub origin_y: A_long,
3959 pub reserved_long3: A_long,
3960 pub dephault: A_long,
3961}
3962pub type PF_EffectWorld = PF_LayerDef;
3963pub const PF_UNSIGNED_PCM: _bindgen_ty_35 = 0;
3964pub const PF_SIGNED_PCM: _bindgen_ty_35 = 1;
3965pub const PF_SIGNED_FLOAT: _bindgen_ty_35 = 2;
3966pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
3967pub type PF_SoundFormat = A_short;
3968pub const PF_SSS_1: _bindgen_ty_36 = 1;
3969pub const PF_SSS_2: _bindgen_ty_36 = 2;
3970pub const PF_SSS_4: _bindgen_ty_36 = 4;
3971pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
3972pub type PF_SoundSampleSize = A_short;
3973pub const PF_Channels_MONO: _bindgen_ty_37 = 1;
3974pub const PF_Channels_STEREO: _bindgen_ty_37 = 2;
3975pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
3976pub type PF_SoundChannels = A_short;
3977#[repr(C)]
3978#[derive(Debug, Copy, Clone)]
3979pub struct PF_SoundFormatInfo {
3980 pub rateF: PF_FpLong,
3981 pub num_channels: PF_SoundChannels,
3982 pub format: PF_SoundFormat,
3983 pub sample_size: PF_SoundSampleSize,
3984}
3985#[repr(C)]
3986#[derive(Debug, Copy, Clone)]
3987pub struct PF_SoundWorld {
3988 pub fi: PF_SoundFormatInfo,
3989 pub num_samples: A_long,
3990 pub dataP: *mut ::std::os::raw::c_void,
3991}
3992pub const PF_ValueDisplayFlag_NONE: _bindgen_ty_38 = 0;
3993pub const PF_ValueDisplayFlag_PERCENT: _bindgen_ty_38 = 1;
3994pub const PF_ValueDisplayFlag_PIXEL: _bindgen_ty_38 = 2;
3995pub const PF_ValueDisplayFlag_RESERVED1: _bindgen_ty_38 = 4;
3996pub const PF_ValueDisplayFlag_REVERSE: _bindgen_ty_38 = 8;
3997pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
3998pub type PF_ValueDisplayFlags = A_short;
3999#[doc = " Slider -- PF_Param_SLIDER"]
4000#[repr(C)]
4001#[derive(Debug, Copy, Clone)]
4002pub struct PF_SliderDef {
4003 pub value: PF_ParamValue,
4004 pub value_str: [A_char; 32usize],
4005 pub value_desc: [A_char; 32usize],
4006 pub valid_min: PF_ParamValue,
4007 pub valid_max: PF_ParamValue,
4008 pub slider_min: PF_ParamValue,
4009 pub slider_max: PF_ParamValue,
4010 pub dephault: PF_ParamValue,
4011}
4012#[doc = " Fixed Point Slider -- PF_Param_FIX_SLIDER"]
4013#[repr(C)]
4014#[derive(Debug, Copy, Clone)]
4015pub struct PF_FixedSliderDef {
4016 pub value: PF_Fixed,
4017 pub value_str: [A_char; 32usize],
4018 pub value_desc: [A_char; 32usize],
4019 pub valid_min: PF_Fixed,
4020 pub valid_max: PF_Fixed,
4021 pub slider_min: PF_Fixed,
4022 pub slider_max: PF_Fixed,
4023 pub dephault: PF_Fixed,
4024 pub precision: A_short,
4025 pub display_flags: PF_ValueDisplayFlags,
4026}
4027pub const PF_FSliderFlag_NONE: _bindgen_ty_39 = 0;
4028pub const PF_FSliderFlag_WANT_PHASE: _bindgen_ty_39 = 1;
4029pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
4030pub type PF_FSliderFlags = A_u_long;
4031#[doc = " Floating Point Slider -- PF_Param_FLOAT_SLIDER"]
4032#[repr(C)]
4033#[derive(Debug, Copy, Clone)]
4034pub struct PF_FloatSliderDef {
4035 pub value: PF_FpLong,
4036 pub phase: PF_FpLong,
4037 pub value_desc: [A_char; 32usize],
4038 pub valid_min: PF_FpShort,
4039 pub valid_max: PF_FpShort,
4040 pub slider_min: PF_FpShort,
4041 pub slider_max: PF_FpShort,
4042 pub dephault: PF_FpShort,
4043 pub precision: A_short,
4044 pub display_flags: PF_ValueDisplayFlags,
4045 pub fs_flags: PF_FSliderFlags,
4046 pub curve_tolerance: PF_FpShort,
4047 pub useExponent: PF_Boolean,
4048 pub exponent: PF_FpShort,
4049}
4050#[doc = " Angle -- PF_Param_ANGLE"]
4051#[repr(C)]
4052#[derive(Debug, Copy, Clone)]
4053pub struct PF_AngleDef {
4054 pub value: PF_Fixed,
4055 pub dephault: PF_Fixed,
4056 pub valid_min: PF_Fixed,
4057 pub valid_max: PF_Fixed,
4058}
4059#[doc = " CheckBox -- PF_Param_CHECKBOX"]
4060#[repr(C)]
4061#[derive(Copy, Clone)]
4062pub struct PF_CheckBoxDef {
4063 pub value: PF_ParamValue,
4064 pub dephault: PF_Boolean,
4065 pub reserved: A_char,
4066 pub reserved1: A_short,
4067 pub u: PF_CheckBoxDef__bindgen_ty_1,
4068}
4069#[repr(C)]
4070#[derive(Copy, Clone)]
4071pub union PF_CheckBoxDef__bindgen_ty_1 {
4072 pub nameptr: *const A_char,
4073}
4074#[doc = " Color -- PF_Param_COLOR"]
4075#[repr(C)]
4076#[derive(Debug, Copy, Clone)]
4077pub struct PF_ColorDef {
4078 pub value: PF_UnionablePixel,
4079 pub dephault: PF_UnionablePixel,
4080}
4081#[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."]
4082#[repr(C)]
4083#[derive(Debug, Copy, Clone)]
4084pub struct PF_PointDef {
4085 pub x_value: PF_Fixed,
4086 pub y_value: PF_Fixed,
4087 pub reserved: [A_char; 3usize],
4088 pub restrict_bounds: PF_Boolean,
4089 pub x_dephault: PF_Fixed,
4090 pub y_dephault: PF_Fixed,
4091}
4092#[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)."]
4093#[repr(C)]
4094#[derive(Debug, Copy, Clone)]
4095pub struct PF_Point3DDef {
4096 pub x_value: PF_FpLong,
4097 pub y_value: PF_FpLong,
4098 pub z_value: PF_FpLong,
4099 pub x_dephault: PF_FpLong,
4100 pub y_dephault: PF_FpLong,
4101 pub z_dephault: PF_FpLong,
4102 pub reserved: [::std::os::raw::c_char; 16usize],
4103}
4104#[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"]
4105#[repr(C)]
4106#[derive(Copy, Clone)]
4107pub struct PF_PopupDef {
4108 pub value: PF_ParamValue,
4109 pub num_choices: A_short,
4110 pub dephault: A_short,
4111 pub u: PF_PopupDef__bindgen_ty_1,
4112}
4113#[repr(C)]
4114#[derive(Copy, Clone)]
4115pub union PF_PopupDef__bindgen_ty_1 {
4116 pub namesptr: *const A_char,
4117}
4118#[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"]
4119#[repr(C)]
4120#[derive(Copy, Clone)]
4121pub struct PF_ButtonDef {
4122 pub value: PF_ParamValue,
4123 pub u: PF_ButtonDef__bindgen_ty_1,
4124}
4125#[repr(C)]
4126#[derive(Copy, Clone)]
4127pub union PF_ButtonDef__bindgen_ty_1 {
4128 pub namesptr: *const A_char,
4129}
4130pub const PF_PathID_NONE: _bindgen_ty_40 = 0;
4131pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
4132pub type PF_PathID = A_u_long;
4133pub const PF_MaskMode_NONE: _bindgen_ty_41 = 0;
4134pub const PF_MaskMode_ADD: _bindgen_ty_41 = 1;
4135pub const PF_MaskMode_SUBTRACT: _bindgen_ty_41 = 2;
4136pub const PF_MaskMode_INTERSECT: _bindgen_ty_41 = 3;
4137pub const PF_MaskMode_LIGHTEN: _bindgen_ty_41 = 4;
4138pub const PF_MaskMode_DARKEN: _bindgen_ty_41 = 5;
4139pub const PF_MaskMode_DIFFERENCE: _bindgen_ty_41 = 6;
4140pub const PF_MaskMode_ACCUM: _bindgen_ty_41 = 7;
4141pub const PF_NUM_MASKMODES: _bindgen_ty_41 = 8;
4142pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
4143pub type PF_MaskMode = A_long;
4144#[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"]
4145#[repr(C)]
4146#[derive(Debug, Copy, Clone)]
4147pub struct PF_PathDef {
4148 pub path_id: PF_PathID,
4149 pub reserved0: A_long,
4150 pub dephault: A_long,
4151}
4152pub type PF_ArbitraryH = PF_Handle;
4153#[repr(C)]
4154#[derive(Debug, Copy, Clone)]
4155pub struct PF_ArbitraryDef {
4156 pub id: A_short,
4157 pub pad: A_short,
4158 pub dephault: PF_ArbitraryH,
4159 pub value: PF_ArbitraryH,
4160 pub refconPV: *mut ::std::os::raw::c_void,
4161}
4162pub const PF_Arbitrary_NEW_FUNC: _bindgen_ty_42 = 0;
4163pub const PF_Arbitrary_DISPOSE_FUNC: _bindgen_ty_42 = 1;
4164pub const PF_Arbitrary_COPY_FUNC: _bindgen_ty_42 = 2;
4165pub const PF_Arbitrary_FLAT_SIZE_FUNC: _bindgen_ty_42 = 3;
4166pub const PF_Arbitrary_FLATTEN_FUNC: _bindgen_ty_42 = 4;
4167pub const PF_Arbitrary_UNFLATTEN_FUNC: _bindgen_ty_42 = 5;
4168pub const PF_Arbitrary_INTERP_FUNC: _bindgen_ty_42 = 6;
4169pub const PF_Arbitrary_COMPARE_FUNC: _bindgen_ty_42 = 7;
4170pub const PF_Arbitrary_PRINT_SIZE_FUNC: _bindgen_ty_42 = 8;
4171pub const PF_Arbitrary_PRINT_FUNC: _bindgen_ty_42 = 9;
4172pub const PF_Arbitrary_SCAN_FUNC: _bindgen_ty_42 = 10;
4173pub type _bindgen_ty_42 = ::std::os::raw::c_uint;
4174pub type PF_FunctionSelector = A_long;
4175pub const PF_ArbCompare_EQUAL: _bindgen_ty_43 = 0;
4176pub const PF_ArbCompare_LESS: _bindgen_ty_43 = 1;
4177pub const PF_ArbCompare_MORE: _bindgen_ty_43 = 2;
4178pub const PF_ArbCompare_NOT_EQUAL: _bindgen_ty_43 = 3;
4179pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
4180pub type PF_ArbCompareResult = A_long;
4181pub const PF_ArbPrint_NONE: _bindgen_ty_44 = 0;
4182pub const PF_ArbPrint_ABBREVIATED: _bindgen_ty_44 = 1;
4183pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
4184pub type PF_ArbPrintFlags = A_long;
4185#[repr(C)]
4186#[derive(Copy, Clone)]
4187pub struct PF_ArbParamsExtra {
4188 pub which_function: PF_FunctionSelector,
4189 pub id: A_short,
4190 pub padding: A_short,
4191 pub u: PF_ArbParamsExtra__bindgen_ty_1,
4192}
4193#[repr(C)]
4194#[derive(Copy, Clone)]
4195pub union PF_ArbParamsExtra__bindgen_ty_1 {
4196 pub new_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1,
4197 pub dispose_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2,
4198 pub copy_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3,
4199 pub flat_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4,
4200 pub flatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5,
4201 pub unflatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6,
4202 pub interp_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7,
4203 pub compare_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8,
4204 pub print_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9,
4205 pub print_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10,
4206 pub scan_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11,
4207}
4208#[repr(C)]
4209#[derive(Debug, Copy, Clone)]
4210pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1 {
4211 pub refconPV: *mut ::std::os::raw::c_void,
4212 pub arbPH: *mut PF_ArbitraryH,
4213}
4214#[repr(C)]
4215#[derive(Debug, Copy, Clone)]
4216pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2 {
4217 pub refconPV: *mut ::std::os::raw::c_void,
4218 pub arbH: PF_ArbitraryH,
4219}
4220#[repr(C)]
4221#[derive(Debug, Copy, Clone)]
4222pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3 {
4223 pub refconPV: *mut ::std::os::raw::c_void,
4224 pub src_arbH: PF_ArbitraryH,
4225 pub dst_arbPH: *mut PF_ArbitraryH,
4226}
4227#[repr(C)]
4228#[derive(Debug, Copy, Clone)]
4229pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4 {
4230 pub refconPV: *mut ::std::os::raw::c_void,
4231 pub arbH: PF_ArbitraryH,
4232 pub flat_data_sizePLu: *mut A_u_long,
4233}
4234#[repr(C)]
4235#[derive(Debug, Copy, Clone)]
4236pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5 {
4237 pub refconPV: *mut ::std::os::raw::c_void,
4238 pub arbH: PF_ArbitraryH,
4239 pub buf_sizeLu: A_u_long,
4240 pub flat_dataPV: *mut ::std::os::raw::c_void,
4241}
4242#[repr(C)]
4243#[derive(Debug, Copy, Clone)]
4244pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6 {
4245 pub refconPV: *mut ::std::os::raw::c_void,
4246 pub buf_sizeLu: A_u_long,
4247 pub flat_dataPV: *const ::std::os::raw::c_void,
4248 pub arbPH: *mut PF_ArbitraryH,
4249}
4250#[repr(C)]
4251#[derive(Debug, Copy, Clone)]
4252pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7 {
4253 pub refconPV: *mut ::std::os::raw::c_void,
4254 pub left_arbH: PF_ArbitraryH,
4255 pub right_arbH: PF_ArbitraryH,
4256 pub tF: PF_FpLong,
4257 pub interpPH: *mut PF_ArbitraryH,
4258}
4259#[repr(C)]
4260#[derive(Debug, Copy, Clone)]
4261pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8 {
4262 pub refconPV: *mut ::std::os::raw::c_void,
4263 pub a_arbH: PF_ArbitraryH,
4264 pub b_arbH: PF_ArbitraryH,
4265 pub compareP: *mut PF_ArbCompareResult,
4266}
4267#[repr(C)]
4268#[derive(Debug, Copy, Clone)]
4269pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9 {
4270 pub refconPV: *mut ::std::os::raw::c_void,
4271 pub arbH: PF_ArbitraryH,
4272 pub print_sizePLu: *mut A_u_long,
4273}
4274#[repr(C)]
4275#[derive(Debug, Copy, Clone)]
4276pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10 {
4277 pub refconPV: *mut ::std::os::raw::c_void,
4278 pub print_flags: PF_ArbPrintFlags,
4279 pub arbH: PF_ArbitraryH,
4280 pub print_sizeLu: A_u_long,
4281 pub print_bufferPC: *mut A_char,
4282}
4283#[repr(C)]
4284#[derive(Debug, Copy, Clone)]
4285pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11 {
4286 pub refconPV: *mut ::std::os::raw::c_void,
4287 pub bufPC: *const A_char,
4288 pub bytes_to_scanLu: A_u_long,
4289 pub arbPH: *mut PF_ArbitraryH,
4290}
4291#[repr(C)]
4292#[derive(Debug, Copy, Clone)]
4293pub struct PF_UserChangedParamExtra {
4294 pub param_index: PF_ParamIndex,
4295}
4296#[repr(C)]
4297#[derive(Debug, Copy, Clone)]
4298pub struct PF_ImporterPrefsData {
4299 _unused: [u8; 0],
4300}
4301pub type PF_ImporterPrefsDataPtr = *mut PF_ImporterPrefsData;
4302#[repr(C)]
4303#[derive(Debug, Copy, Clone)]
4304pub struct PF_TranslateParamsToPrefsExtra {
4305 pub prefsPC: PF_ImporterPrefsDataPtr,
4306 pub prefs_sizeLu: A_u_long,
4307}
4308pub const PF_DepCheckType_NONE: _bindgen_ty_45 = 0;
4309pub const PF_DepCheckType_ALL_DEPENDENCIES: _bindgen_ty_45 = 1;
4310pub const PF_DepCheckType_MISSING_DEPENDENCIES: _bindgen_ty_45 = 2;
4311pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
4312pub type PF_DepCheckType = A_long;
4313#[repr(C)]
4314#[derive(Debug, Copy, Clone)]
4315pub struct PF_ExtDependenciesExtra {
4316 pub check_type: PF_DepCheckType,
4317 pub dependencies_strH: PF_Handle,
4318}
4319#[repr(C)]
4320#[derive(Copy, Clone)]
4321pub union PF_ParamDefUnion {
4322 pub ld: PF_LayerDef,
4323 pub sd: PF_SliderDef,
4324 pub fd: PF_FixedSliderDef,
4325 pub ad: PF_AngleDef,
4326 pub bd: PF_CheckBoxDef,
4327 pub cd: PF_ColorDef,
4328 pub td: PF_PointDef,
4329 pub pd: PF_PopupDef,
4330 pub fs_d: PF_FloatSliderDef,
4331 pub arb_d: PF_ArbitraryDef,
4332 pub path_d: PF_PathDef,
4333 pub button_d: PF_ButtonDef,
4334 pub point3d_d: PF_Point3DDef,
4335}
4336pub const PF_PUI_NONE: _bindgen_ty_46 = 0;
4337pub const PF_PUI_TOPIC: _bindgen_ty_46 = 1;
4338pub const PF_PUI_CONTROL: _bindgen_ty_46 = 2;
4339pub const PF_PUI_STD_CONTROL_ONLY: _bindgen_ty_46 = 4;
4340pub const PF_PUI_NO_ECW_UI: _bindgen_ty_46 = 8;
4341pub const PF_PUI_ECW_SEPARATOR: _bindgen_ty_46 = 16;
4342pub const PF_PUI_DISABLED: _bindgen_ty_46 = 32;
4343pub const PF_PUI_DONT_ERASE_TOPIC: _bindgen_ty_46 = 64;
4344pub const PF_PUI_DONT_ERASE_CONTROL: _bindgen_ty_46 = 128;
4345pub const PF_PUI_RADIO_BUTTON: _bindgen_ty_46 = 256;
4346pub const PF_PUI_INVISIBLE: _bindgen_ty_46 = 512;
4347pub const PF_PUI_RESERVED: _bindgen_ty_46 = 1024;
4348#[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."]
4349pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
4350pub type PF_ParamUIFlags = A_long;
4351pub const PF_ChangeFlag_NONE: _bindgen_ty_47 = 0;
4352pub const PF_ChangeFlag_CHANGED_VALUE: _bindgen_ty_47 = 1;
4353pub const PF_ChangeFlag_RESERVED: _bindgen_ty_47 = 2;
4354pub const PF_ChangeFlag_SET_TO_VARY: _bindgen_ty_47 = 4;
4355pub const PF_ChangeFlag_SET_TO_CONSTANT: _bindgen_ty_47 = 8;
4356#[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."]
4357pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
4358pub type PF_ChangeFlags = A_long;
4359#[doc = " ParamDef"]
4360#[repr(C)]
4361#[derive(Copy, Clone)]
4362pub struct PF_ParamDef {
4363 pub uu: PF_ParamDef__bindgen_ty_1,
4364 pub ui_flags: PF_ParamUIFlags,
4365 pub ui_width: A_short,
4366 pub ui_height: A_short,
4367 pub param_type: PF_ParamType,
4368 pub name: [A_char; 32usize],
4369 pub flags: PF_ParamFlags,
4370 pub unused: A_long,
4371 pub u: PF_ParamDefUnion,
4372}
4373#[repr(C)]
4374#[derive(Copy, Clone)]
4375pub union PF_ParamDef__bindgen_ty_1 {
4376 pub id: A_long,
4377 pub change_flags: PF_ChangeFlags,
4378}
4379#[doc = " ParamDef"]
4380pub type PF_ParamDefPtr = *mut PF_ParamDef;
4381#[doc = " ParamDef"]
4382pub type PF_ParamDefH = *mut *mut PF_ParamDef;
4383pub type PF_ParamList = *mut *mut PF_ParamDef;
4384pub const PF_ChannelMask_ALPHA: _bindgen_ty_48 = 1;
4385pub const PF_ChannelMask_RED: _bindgen_ty_48 = 2;
4386pub const PF_ChannelMask_GREEN: _bindgen_ty_48 = 4;
4387pub const PF_ChannelMask_BLUE: _bindgen_ty_48 = 8;
4388pub const PF_ChannelMask_ARGB: _bindgen_ty_48 = 15;
4389#[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"]
4390pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
4391pub type PF_ChannelMask = A_long;
4392pub const PF_GPU_Framework_NONE: _bindgen_ty_49 = 0;
4393pub const PF_GPU_Framework_OPENCL: _bindgen_ty_49 = 1;
4394pub const PF_GPU_Framework_METAL: _bindgen_ty_49 = 2;
4395pub const PF_GPU_Framework_CUDA: _bindgen_ty_49 = 3;
4396pub const PF_GPU_Framework_DIRECTX: _bindgen_ty_49 = 4;
4397pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
4398pub type PF_GPU_Framework = A_long;
4399#[repr(C)]
4400#[derive(Debug, Copy, Clone)]
4401pub struct PF_RenderRequest {
4402 pub rect: PF_LRect,
4403 pub field: PF_Field,
4404 pub channel_mask: PF_ChannelMask,
4405 pub preserve_rgb_of_zero_alpha: PF_Boolean,
4406 pub unused: [::std::os::raw::c_char; 3usize],
4407 pub reserved: [A_long; 4usize],
4408}
4409#[repr(C)]
4410#[derive(Debug, Copy, Clone)]
4411pub struct PF_PreRenderInput {
4412 pub output_request: PF_RenderRequest,
4413 pub bitdepth: ::std::os::raw::c_short,
4414 pub gpu_data: *const ::std::os::raw::c_void,
4415 pub what_gpu: PF_GPU_Framework,
4416 pub device_index: A_u_long,
4417}
4418pub type PF_DeletePreRenderDataFunc =
4419 ::std::option::Option<unsafe extern "C" fn(pre_render_data: *mut ::std::os::raw::c_void)>;
4420pub const PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS: _bindgen_ty_50 = 1;
4421pub const PF_RenderOutputFlag_GPU_RENDER_POSSIBLE: _bindgen_ty_50 = 2;
4422pub const PF_RenderOutputFlag_RESERVED1: _bindgen_ty_50 = 4;
4423pub type _bindgen_ty_50 = ::std::os::raw::c_uint;
4424pub type PF_RenderOutputFlags = ::std::os::raw::c_short;
4425#[repr(C)]
4426#[derive(Debug, Copy, Clone)]
4427pub struct PF_PreRenderOutput {
4428 pub result_rect: PF_LRect,
4429 pub max_result_rect: PF_LRect,
4430 pub solid: PF_Boolean,
4431 pub reserved: PF_Boolean,
4432 pub flags: PF_RenderOutputFlags,
4433 pub pre_render_data: *mut ::std::os::raw::c_void,
4434 pub delete_pre_render_data_func: PF_DeletePreRenderDataFunc,
4435}
4436#[repr(C)]
4437#[derive(Debug, Copy, Clone)]
4438pub struct PF_CheckoutResult {
4439 pub result_rect: PF_LRect,
4440 pub max_result_rect: PF_LRect,
4441 pub par: PF_RationalScale,
4442 pub solid: PF_Boolean,
4443 pub reservedB: [PF_Boolean; 3usize],
4444 pub ref_width: A_long,
4445 pub ref_height: A_long,
4446 pub reserved: [A_long; 6usize],
4447}
4448#[repr(C)]
4449#[derive(Debug, Copy, Clone)]
4450pub struct PF_PreRenderCallbacks {
4451 pub checkout_layer: ::std::option::Option<
4452 unsafe extern "C" fn(
4453 effect_ref: PF_ProgPtr,
4454 index: PF_ParamIndex,
4455 checkout_idL: A_long,
4456 req: *const PF_RenderRequest,
4457 what_time: A_long,
4458 time_step: A_long,
4459 time_scale: A_u_long,
4460 checkout_result: *mut PF_CheckoutResult,
4461 ) -> PF_Err,
4462 >,
4463 pub GuidMixInPtr: ::std::option::Option<
4464 unsafe extern "C" fn(
4465 effect_ref: PF_ProgPtr,
4466 buf_sizeLu: A_u_long,
4467 buf: *const ::std::os::raw::c_void,
4468 ) -> PF_Err,
4469 >,
4470}
4471#[repr(C)]
4472#[derive(Debug, Copy, Clone)]
4473pub struct PF_PreRenderExtra {
4474 pub input: *mut PF_PreRenderInput,
4475 pub output: *mut PF_PreRenderOutput,
4476 pub cb: *mut PF_PreRenderCallbacks,
4477}
4478#[repr(C)]
4479#[derive(Debug, Copy, Clone)]
4480pub struct PF_SmartRenderInput {
4481 pub output_request: PF_RenderRequest,
4482 pub bitdepth: ::std::os::raw::c_short,
4483 pub pre_render_data: *mut ::std::os::raw::c_void,
4484 pub gpu_data: *const ::std::os::raw::c_void,
4485 pub what_gpu: PF_GPU_Framework,
4486 pub device_index: A_u_long,
4487}
4488#[repr(C)]
4489#[derive(Debug, Copy, Clone)]
4490pub struct PF_SmartRenderCallbacks {
4491 pub checkout_layer_pixels: ::std::option::Option<
4492 unsafe extern "C" fn(
4493 effect_ref: PF_ProgPtr,
4494 checkout_idL: A_long,
4495 pixels: *mut *mut PF_EffectWorld,
4496 ) -> PF_Err,
4497 >,
4498 pub checkin_layer_pixels: ::std::option::Option<
4499 unsafe extern "C" fn(effect_ref: PF_ProgPtr, checkout_idL: A_long) -> PF_Err,
4500 >,
4501 pub checkout_output: ::std::option::Option<
4502 unsafe extern "C" fn(effect_ref: PF_ProgPtr, output: *mut *mut PF_EffectWorld) -> PF_Err,
4503 >,
4504}
4505#[repr(C)]
4506#[derive(Debug, Copy, Clone)]
4507pub struct PF_SmartRenderExtra {
4508 pub input: *mut PF_SmartRenderInput,
4509 pub cb: *mut PF_SmartRenderCallbacks,
4510}
4511#[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"]
4512#[repr(C)]
4513#[derive(Debug, Copy, Clone)]
4514pub struct PF_GPUDeviceSetupInput {
4515 pub what_gpu: PF_GPU_Framework,
4516 pub device_index: A_u_long,
4517}
4518#[repr(C)]
4519#[derive(Debug, Copy, Clone)]
4520pub struct PF_GPUDeviceSetupOutput {
4521 pub gpu_data: *mut ::std::os::raw::c_void,
4522}
4523#[repr(C)]
4524#[derive(Debug, Copy, Clone)]
4525pub struct PF_GPUDeviceSetupExtra {
4526 pub input: *mut PF_GPUDeviceSetupInput,
4527 pub output: *mut PF_GPUDeviceSetupOutput,
4528}
4529#[repr(C)]
4530#[derive(Debug, Copy, Clone)]
4531pub struct PF_GPUDeviceSetdownInput {
4532 pub gpu_data: *mut ::std::os::raw::c_void,
4533 pub what_gpu: PF_GPU_Framework,
4534 pub device_index: A_u_long,
4535}
4536#[repr(C)]
4537#[derive(Debug, Copy, Clone)]
4538pub struct PF_GPUDeviceSetdownExtra {
4539 pub input: *mut PF_GPUDeviceSetdownInput,
4540}
4541#[repr(C)]
4542#[derive(Debug, Copy, Clone)]
4543pub struct _PF_CustomUIInfo {
4544 _unused: [u8; 0],
4545}
4546#[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."]
4547pub type PF_CustomUIInfo = _PF_CustomUIInfo;
4548#[repr(C)]
4549#[derive(Debug, Copy, Clone)]
4550pub struct PF_InteractCallbacks {
4551 pub checkout_param: ::std::option::Option<
4552 unsafe extern "C" fn(
4553 effect_ref: PF_ProgPtr,
4554 index: PF_ParamIndex,
4555 what_time: A_long,
4556 time_step: A_long,
4557 time_scale: A_u_long,
4558 param: *mut PF_ParamDef,
4559 ) -> PF_Err,
4560 >,
4561 pub checkin_param: ::std::option::Option<
4562 unsafe extern "C" fn(effect_ref: PF_ProgPtr, param: *mut PF_ParamDef) -> PF_Err,
4563 >,
4564 pub add_param: ::std::option::Option<
4565 unsafe extern "C" fn(
4566 effect_ref: PF_ProgPtr,
4567 index: PF_ParamIndex,
4568 def: PF_ParamDefPtr,
4569 ) -> PF_Err,
4570 >,
4571 pub abort: ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
4572 pub progress: ::std::option::Option<
4573 unsafe extern "C" fn(effect_ref: PF_ProgPtr, current: A_long, total: A_long) -> PF_Err,
4574 >,
4575 pub register_ui: ::std::option::Option<
4576 unsafe extern "C" fn(effect_ref: PF_ProgPtr, cust_info: *mut PF_CustomUIInfo) -> PF_Err,
4577 >,
4578 pub checkout_layer_audio: ::std::option::Option<
4579 unsafe extern "C" fn(
4580 effect_ref: PF_ProgPtr,
4581 index: PF_ParamIndex,
4582 start_time: A_long,
4583 duration: A_long,
4584 time_scale: A_u_long,
4585 rate: PF_UFixed,
4586 bytes_per_sample: A_long,
4587 num_channels: A_long,
4588 fmt_signed: A_long,
4589 audio: *mut PF_LayerAudio,
4590 ) -> PF_Err,
4591 >,
4592 pub checkin_layer_audio: ::std::option::Option<
4593 unsafe extern "C" fn(effect_ref: PF_ProgPtr, audio: PF_LayerAudio) -> PF_Err,
4594 >,
4595 pub get_audio_data: ::std::option::Option<
4596 unsafe extern "C" fn(
4597 effect_ref: PF_ProgPtr,
4598 audio: PF_LayerAudio,
4599 data0: *mut PF_SndSamplePtr,
4600 num_samples0: *mut A_long,
4601 rate0: *mut PF_UFixed,
4602 bytes_per_sample0: *mut A_long,
4603 num_channels0: *mut A_long,
4604 fmt_signed0: *mut A_long,
4605 ) -> PF_Err,
4606 >,
4607 pub reserved_str: [*mut ::std::os::raw::c_void; 3usize],
4608 pub reserved: [*mut ::std::os::raw::c_void; 10usize],
4609}
4610#[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)."]
4611#[repr(C)]
4612#[derive(Copy, Clone)]
4613pub struct PF_OutData {
4614 pub my_version: A_u_long,
4615 pub name: [A_char; 32usize],
4616 pub global_data: PF_Handle,
4617 pub num_params: A_long,
4618 pub sequence_data: PF_Handle,
4619 pub flat_sdata_size: A_long,
4620 pub frame_data: PF_Handle,
4621 pub width: A_long,
4622 pub height: A_long,
4623 pub origin: PF_Point,
4624 pub out_flags: PF_OutFlags,
4625 pub return_msg: [A_char; 256usize],
4626 pub start_sampL: A_long,
4627 pub dur_sampL: A_long,
4628 pub dest_snd: PF_SoundWorld,
4629 pub out_flags2: PF_OutFlags2,
4630}
4631#[repr(C)]
4632#[derive(Debug, Copy, Clone)]
4633pub struct PF_InData {
4634 pub inter: PF_InteractCallbacks,
4635 pub utils: *mut _PF_UtilCallbacks,
4636 pub effect_ref: PF_ProgPtr,
4637 pub quality: PF_Quality,
4638 pub version: PF_SpecVersion,
4639 pub serial_num: A_long,
4640 pub appl_id: A_long,
4641 pub num_params: A_long,
4642 pub reserved: A_long,
4643 pub what_cpu: A_long,
4644 pub what_fpu: A_long,
4645 pub current_time: A_long,
4646 pub time_step: A_long,
4647 pub total_time: A_long,
4648 pub local_time_step: A_long,
4649 pub time_scale: A_u_long,
4650 pub field: PF_Field,
4651 pub shutter_angle: PF_Fixed,
4652 pub width: A_long,
4653 pub height: A_long,
4654 pub extent_hint: PF_Rect,
4655 pub output_origin_x: A_long,
4656 pub output_origin_y: A_long,
4657 pub downsample_x: PF_RationalScale,
4658 pub downsample_y: PF_RationalScale,
4659 pub pixel_aspect_ratio: PF_RationalScale,
4660 pub in_flags: PF_InFlags,
4661 pub global_data: PF_Handle,
4662 pub sequence_data: PF_Handle,
4663 pub frame_data: PF_Handle,
4664 pub start_sampL: A_long,
4665 pub dur_sampL: A_long,
4666 pub total_sampL: A_long,
4667 pub src_snd: PF_SoundWorld,
4668 pub pica_basicP: *mut SPBasicSuite,
4669 pub pre_effect_source_origin_x: A_long,
4670 pub pre_effect_source_origin_y: A_long,
4671 pub shutter_phase: PF_Fixed,
4672}
4673#[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!"]
4674pub type PF_FilterProc = ::std::option::Option<
4675 unsafe extern "C" fn(
4676 cmd: PF_Cmd,
4677 in_data: *mut PF_InData,
4678 out_data: *mut PF_OutData,
4679 params: PF_ParamList,
4680 output: *mut PF_LayerDef,
4681 extra: *mut ::std::os::raw::c_void,
4682 ) -> PF_Err,
4683>;
4684pub type PF_KernelFlags = A_u_long;
4685pub const PF_SampleEdgeBehav_ZERO: _bindgen_ty_51 = 0;
4686#[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"]
4687pub type _bindgen_ty_51 = ::std::os::raw::c_uint;
4688pub type PF_SampleEdgeBehav = A_u_long;
4689pub const PF_Xfer_NONE: _bindgen_ty_52 = -1;
4690pub const PF_Xfer_COPY: _bindgen_ty_52 = 0;
4691pub const PF_Xfer_BEHIND: _bindgen_ty_52 = 1;
4692pub const PF_Xfer_IN_FRONT: _bindgen_ty_52 = 2;
4693pub const PF_Xfer_DISSOLVE: _bindgen_ty_52 = 3;
4694pub const PF_Xfer_ADD: _bindgen_ty_52 = 4;
4695pub const PF_Xfer_MULTIPLY: _bindgen_ty_52 = 5;
4696pub const PF_Xfer_SCREEN: _bindgen_ty_52 = 6;
4697pub const PF_Xfer_OVERLAY: _bindgen_ty_52 = 7;
4698pub const PF_Xfer_SOFT_LIGHT: _bindgen_ty_52 = 8;
4699pub const PF_Xfer_HARD_LIGHT: _bindgen_ty_52 = 9;
4700pub const PF_Xfer_DARKEN: _bindgen_ty_52 = 10;
4701pub const PF_Xfer_LIGHTEN: _bindgen_ty_52 = 11;
4702pub const PF_Xfer_DIFFERENCE: _bindgen_ty_52 = 12;
4703pub const PF_Xfer_HUE: _bindgen_ty_52 = 13;
4704pub const PF_Xfer_SATURATION: _bindgen_ty_52 = 14;
4705pub const PF_Xfer_COLOR: _bindgen_ty_52 = 15;
4706pub const PF_Xfer_LUMINOSITY: _bindgen_ty_52 = 16;
4707pub const PF_Xfer_MULTIPLY_ALPHA: _bindgen_ty_52 = 17;
4708pub const PF_Xfer_MULTIPLY_ALPHA_LUMA: _bindgen_ty_52 = 18;
4709pub const PF_Xfer_MULTIPLY_NOT_ALPHA: _bindgen_ty_52 = 19;
4710pub const PF_Xfer_MULTIPLY_NOT_ALPHA_LUMA: _bindgen_ty_52 = 20;
4711pub const PF_Xfer_ADDITIVE_PREMUL: _bindgen_ty_52 = 21;
4712pub const PF_Xfer_ALPHA_ADD: _bindgen_ty_52 = 22;
4713pub const PF_Xfer_COLOR_DODGE: _bindgen_ty_52 = 23;
4714pub const PF_Xfer_COLOR_BURN: _bindgen_ty_52 = 24;
4715pub const PF_Xfer_EXCLUSION: _bindgen_ty_52 = 25;
4716pub const PF_Xfer_DIFFERENCE2: _bindgen_ty_52 = 26;
4717pub const PF_Xfer_COLOR_DODGE2: _bindgen_ty_52 = 27;
4718pub const PF_Xfer_COLOR_BURN2: _bindgen_ty_52 = 28;
4719pub const PF_Xfer_LINEAR_DODGE: _bindgen_ty_52 = 29;
4720pub const PF_Xfer_LINEAR_BURN: _bindgen_ty_52 = 30;
4721pub const PF_Xfer_LINEAR_LIGHT: _bindgen_ty_52 = 31;
4722pub const PF_Xfer_VIVID_LIGHT: _bindgen_ty_52 = 32;
4723pub const PF_Xfer_PIN_LIGHT: _bindgen_ty_52 = 33;
4724pub const PF_Xfer_HARD_MIX: _bindgen_ty_52 = 34;
4725pub const PF_Xfer_LIGHTER_COLOR: _bindgen_ty_52 = 35;
4726pub const PF_Xfer_DARKER_COLOR: _bindgen_ty_52 = 36;
4727pub const PF_Xfer_SUBTRACT: _bindgen_ty_52 = 37;
4728pub const PF_Xfer_DIVIDE: _bindgen_ty_52 = 38;
4729pub const PF_Xfer_RESERVED0: _bindgen_ty_52 = 39;
4730pub const PF_Xfer_RESERVED1: _bindgen_ty_52 = 40;
4731pub const PF_Xfer_NUM_MODES: _bindgen_ty_52 = 41;
4732pub type _bindgen_ty_52 = ::std::os::raw::c_int;
4733pub const PF_Xfer_TINT: _bindgen_ty_53 = 29;
4734pub const PF_Xfer_SHADE: _bindgen_ty_53 = 30;
4735pub const PF_Xfer_INTENSE_LIGHT: _bindgen_ty_53 = 32;
4736pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
4737pub const PF_MaskFlag_NONE: _bindgen_ty_54 = 0;
4738pub const PF_MaskFlag_INVERTED: _bindgen_ty_54 = 1;
4739pub const PF_MaskFlag_LUMINANCE: _bindgen_ty_54 = 2;
4740pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
4741pub type PF_MaskFlags = A_long;
4742#[repr(C)]
4743#[derive(Copy, Clone)]
4744pub struct PF_MaskWorld {
4745 pub mask: PF_EffectWorld,
4746 pub offset: PF_Point,
4747 pub what_is_mask: PF_MaskFlags,
4748}
4749#[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."]
4750#[repr(C)]
4751#[derive(Debug, Copy, Clone)]
4752pub struct PF_SampPB {
4753 pub x_radius: PF_Fixed,
4754 pub y_radius: PF_Fixed,
4755 pub area: PF_Fixed,
4756 pub src: *mut PF_EffectWorld,
4757 pub samp_behave: PF_SampleEdgeBehav,
4758 pub allow_asynch: A_long,
4759 pub motion_blur: A_long,
4760 pub comp_mode: PF_CompositeMode,
4761 pub mask0: PF_PixelPtr,
4762 pub fcm_table: *mut A_u_char,
4763 pub fcd_table: *mut A_u_char,
4764 pub reserved: [A_long; 8usize],
4765}
4766pub const PF_Callback_NONE: _bindgen_ty_55 = 0;
4767pub const PF_Callback_BEGIN_SAMPLING: _bindgen_ty_55 = 1;
4768pub const PF_Callback_SUBPIXEL_SAMPLE: _bindgen_ty_55 = 2;
4769pub const PF_Callback_AREA_SAMPLE: _bindgen_ty_55 = 3;
4770pub const PF_Callback_OBSOLETE0: _bindgen_ty_55 = 4;
4771pub const PF_Callback_END_SAMPLING: _bindgen_ty_55 = 5;
4772pub const PF_Callback_COMPOSITE_RECT: _bindgen_ty_55 = 6;
4773pub const PF_Callback_BLEND: _bindgen_ty_55 = 7;
4774pub const PF_Callback_CONVOLVE: _bindgen_ty_55 = 8;
4775pub const PF_Callback_COPY: _bindgen_ty_55 = 9;
4776pub const PF_Callback_FILL: _bindgen_ty_55 = 10;
4777pub const PF_Callback_GAUSSIAN: _bindgen_ty_55 = 11;
4778pub const PF_Callback_ITERATE: _bindgen_ty_55 = 12;
4779pub const PF_Callback_PREMUL: _bindgen_ty_55 = 13;
4780pub const PF_Callback_PREMUL_COLOR: _bindgen_ty_55 = 14;
4781pub const PF_Callback_RGB_TO_HLS: _bindgen_ty_55 = 15;
4782pub const PF_Callback_HLS_TO_RGB: _bindgen_ty_55 = 16;
4783pub const PF_Callback_RGB_TO_YIQ: _bindgen_ty_55 = 17;
4784pub const PF_Callback_YIQ_TO_RGB: _bindgen_ty_55 = 18;
4785pub const PF_Callback_LUMINANCE: _bindgen_ty_55 = 19;
4786pub const PF_Callback_HUE: _bindgen_ty_55 = 20;
4787pub const PF_Callback_LIGHTNESS: _bindgen_ty_55 = 21;
4788pub const PF_Callback_SATURATION: _bindgen_ty_55 = 22;
4789pub const PF_Callback_NEW_WORLD: _bindgen_ty_55 = 23;
4790pub const PF_Callback_DISPOSE_WORLD: _bindgen_ty_55 = 24;
4791pub const PF_Callback_ITERATE_ORIGIN: _bindgen_ty_55 = 25;
4792pub const PF_Callback_ITERATE_LUT: _bindgen_ty_55 = 26;
4793pub const PF_Callback_TRANSFER_RECT: _bindgen_ty_55 = 27;
4794pub const PF_Callback_TRANSFORM_WORLD: _bindgen_ty_55 = 28;
4795pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC: _bindgen_ty_55 = 29;
4796pub const PF_Callback_ITERATE_GENERIC: _bindgen_ty_55 = 30;
4797pub const PF_Callback_SUBPIXEL_SAMPLE16: _bindgen_ty_55 = 31;
4798pub const PF_Callback_AREA_SAMPLE16: _bindgen_ty_55 = 32;
4799pub const PF_Callback_FILL16: _bindgen_ty_55 = 33;
4800pub const PF_Callback_PREMUL_COLOR16: _bindgen_ty_55 = 34;
4801pub const PF_Callback_ITERATE16: _bindgen_ty_55 = 35;
4802pub const PF_Callback_ITERATE_ORIGIN16: _bindgen_ty_55 = 36;
4803pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16: _bindgen_ty_55 = 37;
4804pub const PF_Callback_ITERATE_GENERIC_NO_MAX_THREADS: _bindgen_ty_55 = 38;
4805pub const PF_Callback_ITERATE_NO_MAX_THREADS: _bindgen_ty_55 = 39;
4806pub const PF_Callback_ITERATE_ORIGIN_NO_MAX_THREADS: _bindgen_ty_55 = 40;
4807pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC_NO_MAX_THREADS: _bindgen_ty_55 = 41;
4808pub const PF_Callback_ITERATE16_NO_MAX_THREADS: _bindgen_ty_55 = 42;
4809pub const PF_Callback_ITERATE_ORIGIN16_NO_MAX_THREADS: _bindgen_ty_55 = 43;
4810pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16_NO_MAX_THREADS: _bindgen_ty_55 = 44;
4811#[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."]
4812pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
4813pub type PF_CallbackID = A_long;
4814#[repr(C)]
4815#[derive(Debug, Copy, Clone)]
4816pub struct PF_YouMustCastThisToActualFunctionType {
4817 _unused: [u8; 0],
4818}
4819#[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"]
4820pub type PF_CallbackFunc = *mut PF_YouMustCastThisToActualFunctionType;
4821pub const PF_PlatData_MAIN_WND: _bindgen_ty_56 = 0;
4822pub const PF_PlatData_EXE_FILE_PATH_DEPRECATED: _bindgen_ty_56 = 1;
4823pub const PF_PlatData_RES_FILE_PATH_DEPRECATED: _bindgen_ty_56 = 2;
4824pub const PF_PlatData_RES_REFNUM: _bindgen_ty_56 = 3;
4825pub const PF_PlatData_RES_DLLINSTANCE: _bindgen_ty_56 = 4;
4826pub const PF_PlatData_SP_PLUG_REF: _bindgen_ty_56 = 5;
4827pub const PF_PlatData_BUNDLE_REF: _bindgen_ty_56 = 6;
4828pub const PF_PlatData_EXE_FILE_PATH_W: _bindgen_ty_56 = 7;
4829pub const PF_PlatData_RES_FILE_PATH_W: _bindgen_ty_56 = 8;
4830pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
4831pub type PF_PlatDataID = A_long;
4832pub const PF_Plane_ALPHA: _bindgen_ty_57 = 1;
4833pub const PF_Plane_RED: _bindgen_ty_57 = 2;
4834pub const PF_Plane_GREEN: _bindgen_ty_57 = 4;
4835pub const PF_Plane_BLUE: _bindgen_ty_57 = 8;
4836#[doc = " ---------- Image Plane Selectors ----------\n\nThese constants can be used to specify a subset\nof the planes of the 32-bit image."]
4837pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
4838pub type PF_Plane = A_u_long;
4839#[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."]
4840#[repr(C)]
4841#[derive(Debug, Copy, Clone)]
4842pub struct PF_ANSICallbacks {
4843 pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4844 pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
4845 pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4846 pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4847 pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4848 pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4849 pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4850 pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4851 pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4852 pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4853 pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4854 pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
4855 pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4856 pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4857 pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4858 pub sprintf: ::std::option::Option<
4859 unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
4860 >,
4861 pub strcpy: ::std::option::Option<
4862 unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
4863 >,
4864 pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4865 pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
4866 pub ansi_procs: [A_long; 1usize],
4867}
4868#[doc = " ---------- Colorspace Conversion Callbacks\n"]
4869#[repr(C)]
4870#[derive(Debug, Copy, Clone)]
4871pub struct PF_ColorCallbacks {
4872 pub RGBtoHLS: ::std::option::Option<
4873 unsafe extern "C" fn(
4874 effect_ref: PF_ProgPtr,
4875 rgb: *mut PF_Pixel,
4876 hls: *mut PF_Fixed,
4877 ) -> PF_Err,
4878 >,
4879 pub HLStoRGB: ::std::option::Option<
4880 unsafe extern "C" fn(
4881 effect_ref: PF_ProgPtr,
4882 hls: *mut PF_Fixed,
4883 rgb: *mut PF_Pixel,
4884 ) -> PF_Err,
4885 >,
4886 pub RGBtoYIQ: ::std::option::Option<
4887 unsafe extern "C" fn(
4888 effect_ref: PF_ProgPtr,
4889 rgb: *mut PF_Pixel,
4890 yiq: *mut PF_Fixed,
4891 ) -> PF_Err,
4892 >,
4893 pub YIQtoRGB: ::std::option::Option<
4894 unsafe extern "C" fn(
4895 effect_ref: PF_ProgPtr,
4896 yiq: *mut PF_Fixed,
4897 rgb: *mut PF_Pixel,
4898 ) -> PF_Err,
4899 >,
4900 pub Luminance: ::std::option::Option<
4901 unsafe extern "C" fn(
4902 effect_ref: PF_ProgPtr,
4903 rgb: *mut PF_Pixel,
4904 lum100: *mut A_long,
4905 ) -> PF_Err,
4906 >,
4907 pub Hue: ::std::option::Option<
4908 unsafe extern "C" fn(
4909 effect_ref: PF_ProgPtr,
4910 rgb: *mut PF_Pixel,
4911 hue: *mut A_long,
4912 ) -> PF_Err,
4913 >,
4914 pub Lightness: ::std::option::Option<
4915 unsafe extern "C" fn(
4916 effect_ref: PF_ProgPtr,
4917 rgb: *mut PF_Pixel,
4918 lightness: *mut A_long,
4919 ) -> PF_Err,
4920 >,
4921 pub Saturation: ::std::option::Option<
4922 unsafe extern "C" fn(
4923 effect_ref: PF_ProgPtr,
4924 rgb: *mut PF_Pixel,
4925 saturation: *mut A_long,
4926 ) -> PF_Err,
4927 >,
4928}
4929pub type PF_BatchSampleFunc = *mut ::std::os::raw::c_void;
4930pub type PF_BatchSample16Func = *mut ::std::os::raw::c_void;
4931pub const PF_NewWorldFlag_NONE: _bindgen_ty_58 = 0;
4932pub const PF_NewWorldFlag_CLEAR_PIXELS: _bindgen_ty_58 = 1;
4933pub const PF_NewWorldFlag_DEEP_PIXELS: _bindgen_ty_58 = 2;
4934pub const PF_NewWorldFlag_RESERVED0: _bindgen_ty_58 = 4;
4935pub const PF_NewWorldFlag_RESERVED1: _bindgen_ty_58 = 8;
4936pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
4937pub type PF_NewWorldFlags = A_long;
4938#[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"]
4939pub type PF_IteratePixel8Func = ::std::option::Option<
4940 unsafe extern "C" fn(
4941 refconP: *mut ::std::os::raw::c_void,
4942 xL: A_long,
4943 yL: A_long,
4944 inP: *mut PF_Pixel,
4945 outP: *mut PF_Pixel,
4946 ) -> PF_Err,
4947>;
4948pub type PF_IteratePixel16Func = ::std::option::Option<
4949 unsafe extern "C" fn(
4950 refconP: *mut ::std::os::raw::c_void,
4951 xL: A_long,
4952 yL: A_long,
4953 inP: *mut PF_Pixel16,
4954 outP: *mut PF_Pixel16,
4955 ) -> PF_Err,
4956>;
4957pub type PF_IteratePixelFloatFunc = ::std::option::Option<
4958 unsafe extern "C" fn(
4959 refconP: *mut ::std::os::raw::c_void,
4960 xL: A_long,
4961 yL: A_long,
4962 inP: *mut PF_PixelFloat,
4963 outP: *mut PF_PixelFloat,
4964 ) -> PF_Err,
4965>;
4966#[repr(C)]
4967#[derive(Debug, Copy, Clone)]
4968pub struct _PF_UtilCallbacks {
4969 pub begin_sampling: ::std::option::Option<
4970 unsafe extern "C" fn(
4971 effect_ref: PF_ProgPtr,
4972 qual: PF_Quality,
4973 mf: PF_ModeFlags,
4974 params: *mut PF_SampPB,
4975 ) -> PF_Err,
4976 >,
4977 pub subpixel_sample: ::std::option::Option<
4978 unsafe extern "C" fn(
4979 effect_ref: PF_ProgPtr,
4980 x: PF_Fixed,
4981 y: PF_Fixed,
4982 params: *const PF_SampPB,
4983 dst_pixel: *mut PF_Pixel,
4984 ) -> PF_Err,
4985 >,
4986 pub area_sample: ::std::option::Option<
4987 unsafe extern "C" fn(
4988 effect_ref: PF_ProgPtr,
4989 x: PF_Fixed,
4990 y: PF_Fixed,
4991 params: *const PF_SampPB,
4992 dst_pixel: *mut PF_Pixel,
4993 ) -> PF_Err,
4994 >,
4995 pub get_batch_func_is_deprecated: *mut ::std::os::raw::c_void,
4996 pub end_sampling: ::std::option::Option<
4997 unsafe extern "C" fn(
4998 effect_ref: PF_ProgPtr,
4999 qual: PF_Quality,
5000 mf: PF_ModeFlags,
5001 params: *mut PF_SampPB,
5002 ) -> PF_Err,
5003 >,
5004 pub composite_rect: ::std::option::Option<
5005 unsafe extern "C" fn(
5006 effect_ref: PF_ProgPtr,
5007 src_rect: *mut PF_Rect,
5008 src_opacity: A_long,
5009 source_wld: *mut PF_EffectWorld,
5010 dest_x: A_long,
5011 dest_y: A_long,
5012 field_rdr: PF_Field,
5013 xfer_mode: PF_XferMode,
5014 dest_wld: *mut PF_EffectWorld,
5015 ) -> PF_Err,
5016 >,
5017 pub blend: ::std::option::Option<
5018 unsafe extern "C" fn(
5019 effect_ref: PF_ProgPtr,
5020 src1: *const PF_EffectWorld,
5021 src2: *const PF_EffectWorld,
5022 ratio: PF_Fixed,
5023 dst: *mut PF_EffectWorld,
5024 ) -> PF_Err,
5025 >,
5026 pub convolve: ::std::option::Option<
5027 unsafe extern "C" fn(
5028 effect_ref: PF_ProgPtr,
5029 src: *mut PF_EffectWorld,
5030 area: *const PF_Rect,
5031 flags: PF_KernelFlags,
5032 kernel_size: A_long,
5033 a_kernel: *mut ::std::os::raw::c_void,
5034 r_kernel: *mut ::std::os::raw::c_void,
5035 g_kernel: *mut ::std::os::raw::c_void,
5036 b_kernel: *mut ::std::os::raw::c_void,
5037 dst: *mut PF_EffectWorld,
5038 ) -> PF_Err,
5039 >,
5040 pub copy: ::std::option::Option<
5041 unsafe extern "C" fn(
5042 effect_ref: PF_ProgPtr,
5043 src: *mut PF_EffectWorld,
5044 dst: *mut PF_EffectWorld,
5045 src_r: *mut PF_Rect,
5046 dst_r: *mut PF_Rect,
5047 ) -> PF_Err,
5048 >,
5049 pub fill: ::std::option::Option<
5050 unsafe extern "C" fn(
5051 effect_ref: PF_ProgPtr,
5052 color: *const PF_Pixel,
5053 dst_rect: *const PF_Rect,
5054 world: *mut PF_EffectWorld,
5055 ) -> PF_Err,
5056 >,
5057 pub gaussian_kernel: ::std::option::Option<
5058 unsafe extern "C" fn(
5059 effect_ref: PF_ProgPtr,
5060 kRadius: A_FpLong,
5061 flags: PF_KernelFlags,
5062 multiplier: A_FpLong,
5063 diameter: *mut A_long,
5064 kernel: *mut ::std::os::raw::c_void,
5065 ) -> PF_Err,
5066 >,
5067 pub iterate: ::std::option::Option<
5068 unsafe extern "C" fn(
5069 in_data: *mut PF_InData,
5070 progress_base: A_long,
5071 progress_final: A_long,
5072 src: *mut PF_EffectWorld,
5073 area: *const PF_Rect,
5074 refcon: *mut ::std::os::raw::c_void,
5075 pix_fn: PF_IteratePixel8Func,
5076 dst: *mut PF_EffectWorld,
5077 ) -> PF_Err,
5078 >,
5079 pub premultiply: ::std::option::Option<
5080 unsafe extern "C" fn(
5081 effect_ref: PF_ProgPtr,
5082 forward: A_long,
5083 dst: *mut PF_EffectWorld,
5084 ) -> PF_Err,
5085 >,
5086 pub premultiply_color: ::std::option::Option<
5087 unsafe extern "C" fn(
5088 effect_ref: PF_ProgPtr,
5089 src: *mut PF_EffectWorld,
5090 color: *const PF_Pixel,
5091 forward: A_long,
5092 dst: *mut PF_EffectWorld,
5093 ) -> PF_Err,
5094 >,
5095 pub new_world: ::std::option::Option<
5096 unsafe extern "C" fn(
5097 effect_ref: PF_ProgPtr,
5098 width: A_long,
5099 height: A_long,
5100 flags: PF_NewWorldFlags,
5101 world: *mut PF_EffectWorld,
5102 ) -> PF_Err,
5103 >,
5104 pub dispose_world: ::std::option::Option<
5105 unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
5106 >,
5107 pub iterate_origin: ::std::option::Option<
5108 unsafe extern "C" fn(
5109 in_data: *mut PF_InData,
5110 progress_base: A_long,
5111 progress_final: A_long,
5112 src: *mut PF_EffectWorld,
5113 area: *const PF_Rect,
5114 origin: *const PF_Point,
5115 refcon: *mut ::std::os::raw::c_void,
5116 pix_fn: PF_IteratePixel8Func,
5117 dst: *mut PF_EffectWorld,
5118 ) -> PF_Err,
5119 >,
5120 pub iterate_lut: ::std::option::Option<
5121 unsafe extern "C" fn(
5122 in_data: *mut PF_InData,
5123 progress_base: A_long,
5124 progress_final: A_long,
5125 src: *mut PF_EffectWorld,
5126 area: *const PF_Rect,
5127 a_lut0: *mut A_u_char,
5128 r_lut0: *mut A_u_char,
5129 g_lut0: *mut A_u_char,
5130 b_lut0: *mut A_u_char,
5131 dst: *mut PF_EffectWorld,
5132 ) -> PF_Err,
5133 >,
5134 pub transfer_rect: ::std::option::Option<
5135 unsafe extern "C" fn(
5136 effect_ref: PF_ProgPtr,
5137 quality: PF_Quality,
5138 m_flags: PF_ModeFlags,
5139 field: PF_Field,
5140 src_rec: *const PF_Rect,
5141 src_world: *const PF_EffectWorld,
5142 comp_mode: *const PF_CompositeMode,
5143 mask_world0: *const PF_MaskWorld,
5144 dest_x: A_long,
5145 dest_y: A_long,
5146 dst_world: *mut PF_EffectWorld,
5147 ) -> PF_Err,
5148 >,
5149 pub transform_world: ::std::option::Option<
5150 unsafe extern "C" fn(
5151 effect_ref: PF_ProgPtr,
5152 quality: PF_Quality,
5153 m_flags: PF_ModeFlags,
5154 field: PF_Field,
5155 src_world: *const PF_EffectWorld,
5156 comp_mode: *const PF_CompositeMode,
5157 mask_world0: *const PF_MaskWorld,
5158 matrices: *const PF_FloatMatrix,
5159 num_matrices: A_long,
5160 src2dst_matrix: PF_Boolean,
5161 dest_rect: *const PF_Rect,
5162 dst_world: *mut PF_EffectWorld,
5163 ) -> PF_Err,
5164 >,
5165 pub host_new_handle:
5166 ::std::option::Option<unsafe extern "C" fn(size: A_u_longlong) -> PF_Handle>,
5167 pub host_lock_handle: ::std::option::Option<
5168 unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
5169 >,
5170 pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
5171 pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
5172 pub get_callback_addr: ::std::option::Option<
5173 unsafe extern "C" fn(
5174 effect_ref: PF_ProgPtr,
5175 quality: PF_Quality,
5176 mode_flags: PF_ModeFlags,
5177 which_callback: PF_CallbackID,
5178 fn_ptr: *mut PF_CallbackFunc,
5179 ) -> PF_Err,
5180 >,
5181 pub app:
5182 ::std::option::Option<unsafe extern "C" fn(arg1: PF_ProgPtr, arg2: A_long, ...) -> PF_Err>,
5183 pub ansi: PF_ANSICallbacks,
5184 pub colorCB: PF_ColorCallbacks,
5185 pub get_platform_data: ::std::option::Option<
5186 unsafe extern "C" fn(
5187 effect_ref: PF_ProgPtr,
5188 which: PF_PlatDataID,
5189 data: *mut ::std::os::raw::c_void,
5190 ) -> PF_Err,
5191 >,
5192 pub host_get_handle_size:
5193 ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_u_longlong>,
5194 pub iterate_origin_non_clip_src: ::std::option::Option<
5195 unsafe extern "C" fn(
5196 in_data: *mut PF_InData,
5197 progress_base: A_long,
5198 progress_final: A_long,
5199 src: *mut PF_EffectWorld,
5200 area: *const PF_Rect,
5201 origin: *const PF_Point,
5202 refcon: *mut ::std::os::raw::c_void,
5203 pix_fn: PF_IteratePixel8Func,
5204 dst: *mut PF_EffectWorld,
5205 ) -> PF_Err,
5206 >,
5207 pub iterate_generic: ::std::option::Option<
5208 unsafe extern "C" fn(
5209 iterationsL: A_long,
5210 refconPV: *mut ::std::os::raw::c_void,
5211 fn_func: ::std::option::Option<
5212 unsafe extern "C" fn(
5213 refconPV: *mut ::std::os::raw::c_void,
5214 thread_indexL: A_long,
5215 i: A_long,
5216 iterationsL: A_long,
5217 ) -> PF_Err,
5218 >,
5219 ) -> PF_Err,
5220 >,
5221 pub host_resize_handle: ::std::option::Option<
5222 unsafe extern "C" fn(new_sizeL: A_u_longlong, handlePH: *mut PF_Handle) -> PF_Err,
5223 >,
5224 pub subpixel_sample16: ::std::option::Option<
5225 unsafe extern "C" fn(
5226 effect_ref: PF_ProgPtr,
5227 x: PF_Fixed,
5228 y: PF_Fixed,
5229 params: *const PF_SampPB,
5230 dst_pixel: *mut PF_Pixel16,
5231 ) -> PF_Err,
5232 >,
5233 pub area_sample16: ::std::option::Option<
5234 unsafe extern "C" fn(
5235 effect_ref: PF_ProgPtr,
5236 x: PF_Fixed,
5237 y: PF_Fixed,
5238 params: *const PF_SampPB,
5239 dst_pixel: *mut PF_Pixel16,
5240 ) -> PF_Err,
5241 >,
5242 pub fill16: ::std::option::Option<
5243 unsafe extern "C" fn(
5244 effect_ref: PF_ProgPtr,
5245 color: *const PF_Pixel16,
5246 dst_rect: *const PF_Rect,
5247 world: *mut PF_EffectWorld,
5248 ) -> PF_Err,
5249 >,
5250 pub premultiply_color16: ::std::option::Option<
5251 unsafe extern "C" fn(
5252 effect_ref: PF_ProgPtr,
5253 src: *mut PF_EffectWorld,
5254 color: *const PF_Pixel16,
5255 forward: A_long,
5256 dst: *mut PF_EffectWorld,
5257 ) -> PF_Err,
5258 >,
5259 pub iterate16: ::std::option::Option<
5260 unsafe extern "C" fn(
5261 in_data: *mut PF_InData,
5262 progress_base: A_long,
5263 progress_final: A_long,
5264 src: *mut PF_EffectWorld,
5265 area: *const PF_Rect,
5266 refcon: *mut ::std::os::raw::c_void,
5267 pix_fn: PF_IteratePixel16Func,
5268 dst: *mut PF_EffectWorld,
5269 ) -> PF_Err,
5270 >,
5271 pub iterate_origin16: ::std::option::Option<
5272 unsafe extern "C" fn(
5273 in_data: *mut PF_InData,
5274 progress_base: A_long,
5275 progress_final: A_long,
5276 src: *mut PF_EffectWorld,
5277 area: *const PF_Rect,
5278 origin: *const PF_Point,
5279 refcon: *mut ::std::os::raw::c_void,
5280 pix_fn: PF_IteratePixel16Func,
5281 dst: *mut PF_EffectWorld,
5282 ) -> PF_Err,
5283 >,
5284 pub iterate_origin_non_clip_src16: ::std::option::Option<
5285 unsafe extern "C" fn(
5286 in_data: *mut PF_InData,
5287 progress_base: A_long,
5288 progress_final: A_long,
5289 src: *mut PF_EffectWorld,
5290 area: *const PF_Rect,
5291 origin: *const PF_Point,
5292 refcon: *mut ::std::os::raw::c_void,
5293 pix_fn: PF_IteratePixel16Func,
5294 dst: *mut PF_EffectWorld,
5295 ) -> PF_Err,
5296 >,
5297 pub get_pixel_data8: ::std::option::Option<
5298 unsafe extern "C" fn(
5299 worldP: *mut PF_EffectWorld,
5300 pixelsP0: PF_PixelPtr,
5301 pixPP: *mut *mut PF_Pixel8,
5302 ) -> PF_Err,
5303 >,
5304 pub get_pixel_data16: ::std::option::Option<
5305 unsafe extern "C" fn(
5306 worldP: *mut PF_EffectWorld,
5307 pixelsP0: PF_PixelPtr,
5308 pixPP: *mut *mut PF_Pixel16,
5309 ) -> PF_Err,
5310 >,
5311 pub reserved: [A_long; 1usize],
5312}
5313pub type PF_UtilCallbacks = _PF_UtilCallbacks;
5314#[repr(C)]
5315#[derive(Debug, Copy, Clone)]
5316pub struct PF_CacheOnLoadSuite1 {
5317 pub PF_SetNoCacheOnLoad: ::std::option::Option<
5318 unsafe extern "C" fn(
5319 effect_ref: PF_ProgPtr,
5320 effectAvailable: ::std::os::raw::c_long,
5321 ) -> PF_Err,
5322 >,
5323}
5324pub const PF_TimeDisplay_24: _bindgen_ty_59 = 1;
5325pub const PF_TimeDisplay_25: _bindgen_ty_59 = 2;
5326pub const PF_TimeDisplay_30Drop: _bindgen_ty_59 = 3;
5327pub const PF_TimeDisplay_30NonDrop: _bindgen_ty_59 = 4;
5328pub const PF_TimeDisplay_50: _bindgen_ty_59 = 5;
5329pub const PF_TimeDisplay_60Drop: _bindgen_ty_59 = 6;
5330pub const PF_TimeDisplay_60NonDrop: _bindgen_ty_59 = 7;
5331pub const PF_TimeDisplay_NonStandard: _bindgen_ty_59 = 8;
5332pub const PF_TimeDisplay_Invalid: _bindgen_ty_59 = 9;
5333pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
5334pub type PF_TimeDisplay = csSDK_uint32;
5335#[repr(C)]
5336#[derive(Debug, Copy, Clone)]
5337pub struct PF_PixelFormatSuite1 {
5338 pub AddSupportedPixelFormat: ::std::option::Option<
5339 unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixelFormat: PrPixelFormat) -> PF_Err,
5340 >,
5341 pub ClearSupportedPixelFormats:
5342 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5343 pub NewWorldOfPixelFormat: ::std::option::Option<
5344 unsafe extern "C" fn(
5345 effect_ref: PF_ProgPtr,
5346 width: A_u_long,
5347 height: A_u_long,
5348 flags: PF_NewWorldFlags,
5349 pixelFormat: PrPixelFormat,
5350 world: *mut PF_EffectWorld,
5351 ) -> PF_Err,
5352 >,
5353 pub DisposeWorld: ::std::option::Option<
5354 unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
5355 >,
5356 pub GetPixelFormat: ::std::option::Option<
5357 unsafe extern "C" fn(
5358 inWorld: *mut PF_EffectWorld,
5359 pixelFormat: *mut PrPixelFormat,
5360 ) -> PF_Err,
5361 >,
5362 pub GetBlackForPixelFormat: ::std::option::Option<
5363 unsafe extern "C" fn(
5364 pixelFormat: PrPixelFormat,
5365 pixelData: *mut ::std::os::raw::c_void,
5366 ) -> PF_Err,
5367 >,
5368 pub GetWhiteForPixelFormat: ::std::option::Option<
5369 unsafe extern "C" fn(
5370 pixelFormat: PrPixelFormat,
5371 pixelData: *mut ::std::os::raw::c_void,
5372 ) -> PF_Err,
5373 >,
5374 pub ConvertColorToPixelFormattedData: ::std::option::Option<
5375 unsafe extern "C" fn(
5376 pixelFormat: PrPixelFormat,
5377 alpha: f32,
5378 red: f32,
5379 green: f32,
5380 blue: f32,
5381 pixelData: *mut ::std::os::raw::c_void,
5382 ) -> PF_Err,
5383 >,
5384}
5385#[repr(C)]
5386#[derive(Debug, Copy, Clone)]
5387pub struct PF_BackgroundFrameSuite1 {
5388 pub AddSupportedBackgroundTransferMode: ::std::option::Option<
5389 unsafe extern "C" fn(
5390 effect_ref: PF_ProgPtr,
5391 supportedTransferMode: PF_TransferMode,
5392 supportedPixelFormat: PrPixelFormat,
5393 ) -> PF_Err,
5394 >,
5395 pub GetBackgroundFrame: ::std::option::Option<
5396 unsafe extern "C" fn(
5397 effect_ref: PF_ProgPtr,
5398 backgroundFrame: *mut *mut PF_LayerDef,
5399 backgroundTransferMode: *mut PF_TransferMode,
5400 ) -> PF_Err,
5401 >,
5402}
5403#[repr(C)]
5404#[derive(Debug, Copy, Clone)]
5405pub struct PF_UtilitySuite4 {
5406 pub GetFilterInstanceID: ::std::option::Option<
5407 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5408 >,
5409 pub GetMediaTimecode: ::std::option::Option<
5410 unsafe extern "C" fn(
5411 effect_ref: PF_ProgPtr,
5412 outCurrentFrame: *mut A_long,
5413 outTimeDisplay: *mut PF_TimeDisplay,
5414 ) -> PF_Err,
5415 >,
5416 pub GetClipSpeed: ::std::option::Option<
5417 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5418 >,
5419 pub GetClipDuration: ::std::option::Option<
5420 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5421 >,
5422 pub GetClipStart: ::std::option::Option<
5423 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5424 >,
5425 pub GetUnscaledClipDuration: ::std::option::Option<
5426 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5427 >,
5428 pub GetUnscaledClipStart: ::std::option::Option<
5429 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5430 >,
5431 pub GetTrackItemStart: ::std::option::Option<
5432 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5433 >,
5434 pub GetMediaFieldType: ::std::option::Option<
5435 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5436 >,
5437 pub GetMediaFrameRate: ::std::option::Option<
5438 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5439 >,
5440 pub GetContainingTimelineID: ::std::option::Option<
5441 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5442 >,
5443 pub GetClipName: ::std::option::Option<
5444 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5445 >,
5446 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5447 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5448}
5449#[repr(C)]
5450#[derive(Debug, Copy, Clone)]
5451pub struct PF_UtilitySuite {
5452 pub GetFilterInstanceID: ::std::option::Option<
5453 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5454 >,
5455 pub GetMediaTimecode: ::std::option::Option<
5456 unsafe extern "C" fn(
5457 effect_ref: PF_ProgPtr,
5458 outCurrentFrame: *mut A_long,
5459 outTimeDisplay: *mut PF_TimeDisplay,
5460 ) -> PF_Err,
5461 >,
5462 pub GetClipSpeed: ::std::option::Option<
5463 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5464 >,
5465 pub GetClipDuration: ::std::option::Option<
5466 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5467 >,
5468 pub GetClipStart: ::std::option::Option<
5469 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5470 >,
5471 pub GetUnscaledClipDuration: ::std::option::Option<
5472 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5473 >,
5474 pub GetUnscaledClipStart: ::std::option::Option<
5475 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5476 >,
5477 pub GetTrackItemStart: ::std::option::Option<
5478 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5479 >,
5480 pub GetMediaFieldType: ::std::option::Option<
5481 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5482 >,
5483 pub GetMediaFrameRate: ::std::option::Option<
5484 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5485 >,
5486 pub GetContainingTimelineID: ::std::option::Option<
5487 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5488 >,
5489 pub GetClipName: ::std::option::Option<
5490 unsafe extern "C" fn(
5491 effect_ref: PF_ProgPtr,
5492 inGetMasterClipName: A_Boolean,
5493 outSDKString: *mut PrSDKString,
5494 ) -> PF_Err,
5495 >,
5496 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5497 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5498 pub EffectDependsOnClipName: ::std::option::Option<
5499 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
5500 >,
5501 pub SetEffectInstanceName: ::std::option::Option<
5502 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
5503 >,
5504 pub GetFileName: ::std::option::Option<
5505 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5506 >,
5507 pub GetOriginalClipFrameRate: ::std::option::Option<
5508 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5509 >,
5510 pub GetSourceTrackMediaTimecode: ::std::option::Option<
5511 unsafe extern "C" fn(
5512 effect_ref: PF_ProgPtr,
5513 inLayerParamIndex: csSDK_uint32,
5514 inApplyTransform: bool,
5515 inAddStartTimeOffset: bool,
5516 outCurrentFrame: *mut A_long,
5517 ) -> PF_Err,
5518 >,
5519 pub GetSourceTrackClipName: ::std::option::Option<
5520 unsafe extern "C" fn(
5521 effect_ref: PF_ProgPtr,
5522 inLayerParamIndex: csSDK_uint32,
5523 inGetMasterClipName: A_Boolean,
5524 outSDKString: *mut PrSDKString,
5525 ) -> PF_Err,
5526 >,
5527 pub GetSourceTrackFileName: ::std::option::Option<
5528 unsafe extern "C" fn(
5529 effect_ref: PF_ProgPtr,
5530 inLayerParamIndex: csSDK_uint32,
5531 outSDKString: *mut PrSDKString,
5532 ) -> PF_Err,
5533 >,
5534 pub EffectDependsOnClipName2: ::std::option::Option<
5535 unsafe extern "C" fn(
5536 effect_ref: PF_ProgPtr,
5537 inDependsOnClipName: A_Boolean,
5538 inLayerParamIndex: csSDK_uint32,
5539 ) -> PF_Err,
5540 >,
5541 pub GetMediaTimecode2: ::std::option::Option<
5542 unsafe extern "C" fn(
5543 effect_ref: PF_ProgPtr,
5544 inApplyTrim: bool,
5545 outCurrentFrame: *mut A_long,
5546 outTimeDisplay: *mut PF_TimeDisplay,
5547 ) -> PF_Err,
5548 >,
5549 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
5550 unsafe extern "C" fn(
5551 effect_ref: PF_ProgPtr,
5552 inLayerParamIndex: csSDK_uint32,
5553 inApplyTransform: bool,
5554 inAddStartTimeOffset: bool,
5555 inSequenceTime: PrTime,
5556 outCurrentFrame: *mut A_long,
5557 ) -> PF_Err,
5558 >,
5559 pub GetSourceTrackClipName2: ::std::option::Option<
5560 unsafe extern "C" fn(
5561 effect_ref: PF_ProgPtr,
5562 inLayerParamIndex: csSDK_uint32,
5563 inGetMasterClipName: A_Boolean,
5564 outSDKString: *mut PrSDKString,
5565 inSequenceTime: PrTime,
5566 ) -> PF_Err,
5567 >,
5568 pub GetSourceTrackFileName2: ::std::option::Option<
5569 unsafe extern "C" fn(
5570 effect_ref: PF_ProgPtr,
5571 inLayerParamIndex: csSDK_uint32,
5572 outSDKString: *mut PrSDKString,
5573 inSequenceTime: PrTime,
5574 ) -> PF_Err,
5575 >,
5576 pub GetCommentString: ::std::option::Option<
5577 unsafe extern "C" fn(
5578 inEffectRef: PF_ProgPtr,
5579 inSourceTrack: i32,
5580 inSequenceTime: PrTime,
5581 outSDKString: *mut PrSDKString,
5582 ) -> PF_Err,
5583 >,
5584 pub GetLogNoteString: ::std::option::Option<
5585 unsafe extern "C" fn(
5586 inEffectRef: PF_ProgPtr,
5587 inSourceTrack: i32,
5588 inSequenceTime: PrTime,
5589 outSDKString: *mut PrSDKString,
5590 ) -> PF_Err,
5591 >,
5592 pub GetCameraRollString: ::std::option::Option<
5593 unsafe extern "C" fn(
5594 inEffectRef: PF_ProgPtr,
5595 inSourceTrack: i32,
5596 inSequenceTime: PrTime,
5597 outSDKString: *mut PrSDKString,
5598 ) -> PF_Err,
5599 >,
5600 pub GetClientMetadataString: ::std::option::Option<
5601 unsafe extern "C" fn(
5602 inEffectRef: PF_ProgPtr,
5603 inSourceTrack: i32,
5604 inSequenceTime: PrTime,
5605 outSDKString: *mut PrSDKString,
5606 ) -> PF_Err,
5607 >,
5608 pub GetDailyRollString: ::std::option::Option<
5609 unsafe extern "C" fn(
5610 inEffectRef: PF_ProgPtr,
5611 inSourceTrack: i32,
5612 inSequenceTime: PrTime,
5613 outSDKString: *mut PrSDKString,
5614 ) -> PF_Err,
5615 >,
5616 pub GetDescriptionString: ::std::option::Option<
5617 unsafe extern "C" fn(
5618 inEffectRef: PF_ProgPtr,
5619 inSourceTrack: i32,
5620 inSequenceTime: PrTime,
5621 outSDKString: *mut PrSDKString,
5622 ) -> PF_Err,
5623 >,
5624 pub GetLabRollString: ::std::option::Option<
5625 unsafe extern "C" fn(
5626 inEffectRef: PF_ProgPtr,
5627 inSourceTrack: i32,
5628 inSequenceTime: PrTime,
5629 outSDKString: *mut PrSDKString,
5630 ) -> PF_Err,
5631 >,
5632 pub GetSceneString: ::std::option::Option<
5633 unsafe extern "C" fn(
5634 inEffectRef: PF_ProgPtr,
5635 inSourceTrack: i32,
5636 inSequenceTime: PrTime,
5637 outSDKString: *mut PrSDKString,
5638 ) -> PF_Err,
5639 >,
5640 pub GetShotString: ::std::option::Option<
5641 unsafe extern "C" fn(
5642 inEffectRef: PF_ProgPtr,
5643 inSourceTrack: i32,
5644 inSequenceTime: PrTime,
5645 outSDKString: *mut PrSDKString,
5646 ) -> PF_Err,
5647 >,
5648 pub GetTapeNameString: ::std::option::Option<
5649 unsafe extern "C" fn(
5650 inEffectRef: PF_ProgPtr,
5651 inSourceTrack: i32,
5652 inSequenceTime: PrTime,
5653 outSDKString: *mut PrSDKString,
5654 ) -> PF_Err,
5655 >,
5656 pub GetVideoCodecString: ::std::option::Option<
5657 unsafe extern "C" fn(
5658 inEffectRef: PF_ProgPtr,
5659 inSourceTrack: i32,
5660 inSequenceTime: PrTime,
5661 outSDKString: *mut PrSDKString,
5662 ) -> PF_Err,
5663 >,
5664 pub GetGoodMetadataString: ::std::option::Option<
5665 unsafe extern "C" fn(
5666 inEffectRef: PF_ProgPtr,
5667 inSourceTrack: i32,
5668 inSequenceTime: PrTime,
5669 outSDKString: *mut PrSDKString,
5670 ) -> PF_Err,
5671 >,
5672 pub GetSoundRollString: ::std::option::Option<
5673 unsafe extern "C" fn(
5674 inEffectRef: PF_ProgPtr,
5675 inSourceTrack: i32,
5676 inSequenceTime: PrTime,
5677 outSDKString: *mut PrSDKString,
5678 ) -> PF_Err,
5679 >,
5680 pub GetSequenceTime: ::std::option::Option<
5681 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
5682 >,
5683 pub GetSoundTimecode: ::std::option::Option<
5684 unsafe extern "C" fn(
5685 inEffectRef: PF_ProgPtr,
5686 inSourceTrack: i32,
5687 inSequenceTime: PrTime,
5688 outCurrentFrame: *mut A_long,
5689 ) -> PF_Err,
5690 >,
5691 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
5692 unsafe extern "C" fn(
5693 inEffectRef: PF_ProgPtr,
5694 inSourceTrack: i32,
5695 outTicksPerFrame: *mut PrTime,
5696 ) -> PF_Err,
5697 >,
5698 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
5699 unsafe extern "C" fn(
5700 inEffectRef: PF_ProgPtr,
5701 inSourceTrack: i32,
5702 inSequenceTime: PrTime,
5703 outTicksPerFrame: *mut PrTime,
5704 ) -> PF_Err,
5705 >,
5706 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
5707 unsafe extern "C" fn(
5708 inEffectRef: PF_ProgPtr,
5709 inLayerParamIndex: csSDK_uint32,
5710 inSequenceTime: PrTime,
5711 outClipActualStartTime: *mut PrTime,
5712 ) -> PF_Err,
5713 >,
5714 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
5715 unsafe extern "C" fn(
5716 inEffectRef: PF_ProgPtr,
5717 inLayerParamIndex: csSDK_uint32,
5718 inSequenceTime: PrTime,
5719 outTrimApplied: *mut bool,
5720 ) -> PF_Err,
5721 >,
5722 pub IsMediaTrimmed: ::std::option::Option<
5723 unsafe extern "C" fn(
5724 inEffectRef: PF_ProgPtr,
5725 inSequenceTime: PrTime,
5726 outTrimApplied: *mut bool,
5727 ) -> PF_Err,
5728 >,
5729 pub IsTrackEmpty: ::std::option::Option<
5730 unsafe extern "C" fn(
5731 inEffectRef: PF_ProgPtr,
5732 inLayerParamIndex: csSDK_uint32,
5733 inSequenceTime: PrTime,
5734 outIsTrackEmpty: *mut bool,
5735 ) -> PF_Err,
5736 >,
5737 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
5738 unsafe extern "C" fn(
5739 inEffectRef: PF_ProgPtr,
5740 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
5741 ) -> PF_Err,
5742 >,
5743}
5744#[repr(C)]
5745#[derive(Debug, Copy, Clone)]
5746pub struct PF_UtilitySuite10 {
5747 pub GetFilterInstanceID: ::std::option::Option<
5748 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
5749 >,
5750 pub GetMediaTimecode: ::std::option::Option<
5751 unsafe extern "C" fn(
5752 effect_ref: PF_ProgPtr,
5753 outCurrentFrame: *mut A_long,
5754 outTimeDisplay: *mut PF_TimeDisplay,
5755 ) -> PF_Err,
5756 >,
5757 pub GetClipSpeed: ::std::option::Option<
5758 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
5759 >,
5760 pub GetClipDuration: ::std::option::Option<
5761 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5762 >,
5763 pub GetClipStart: ::std::option::Option<
5764 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5765 >,
5766 pub GetUnscaledClipDuration: ::std::option::Option<
5767 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5768 >,
5769 pub GetUnscaledClipStart: ::std::option::Option<
5770 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5771 >,
5772 pub GetTrackItemStart: ::std::option::Option<
5773 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
5774 >,
5775 pub GetMediaFieldType: ::std::option::Option<
5776 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
5777 >,
5778 pub GetMediaFrameRate: ::std::option::Option<
5779 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5780 >,
5781 pub GetContainingTimelineID: ::std::option::Option<
5782 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
5783 >,
5784 pub GetClipName: ::std::option::Option<
5785 unsafe extern "C" fn(
5786 effect_ref: PF_ProgPtr,
5787 inGetMasterClipName: A_Boolean,
5788 outSDKString: *mut PrSDKString,
5789 ) -> PF_Err,
5790 >,
5791 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
5792 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
5793 pub EffectDependsOnClipName: ::std::option::Option<
5794 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
5795 >,
5796 pub SetEffectInstanceName: ::std::option::Option<
5797 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
5798 >,
5799 pub GetFileName: ::std::option::Option<
5800 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
5801 >,
5802 pub GetOriginalClipFrameRate: ::std::option::Option<
5803 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
5804 >,
5805 pub GetSourceTrackMediaTimecode: ::std::option::Option<
5806 unsafe extern "C" fn(
5807 effect_ref: PF_ProgPtr,
5808 inLayerParamIndex: csSDK_uint32,
5809 inApplyTransform: bool,
5810 inAddStartTimeOffset: bool,
5811 outCurrentFrame: *mut A_long,
5812 ) -> PF_Err,
5813 >,
5814 pub GetSourceTrackClipName: ::std::option::Option<
5815 unsafe extern "C" fn(
5816 effect_ref: PF_ProgPtr,
5817 inLayerParamIndex: csSDK_uint32,
5818 inGetMasterClipName: A_Boolean,
5819 outSDKString: *mut PrSDKString,
5820 ) -> PF_Err,
5821 >,
5822 pub GetSourceTrackFileName: ::std::option::Option<
5823 unsafe extern "C" fn(
5824 effect_ref: PF_ProgPtr,
5825 inLayerParamIndex: csSDK_uint32,
5826 outSDKString: *mut PrSDKString,
5827 ) -> PF_Err,
5828 >,
5829 pub EffectDependsOnClipName2: ::std::option::Option<
5830 unsafe extern "C" fn(
5831 effect_ref: PF_ProgPtr,
5832 inDependsOnClipName: A_Boolean,
5833 inLayerParamIndex: csSDK_uint32,
5834 ) -> PF_Err,
5835 >,
5836 pub GetMediaTimecode2: ::std::option::Option<
5837 unsafe extern "C" fn(
5838 effect_ref: PF_ProgPtr,
5839 inApplyTrim: bool,
5840 outCurrentFrame: *mut A_long,
5841 outTimeDisplay: *mut PF_TimeDisplay,
5842 ) -> PF_Err,
5843 >,
5844 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
5845 unsafe extern "C" fn(
5846 effect_ref: PF_ProgPtr,
5847 inLayerParamIndex: csSDK_uint32,
5848 inApplyTransform: bool,
5849 inAddStartTimeOffset: bool,
5850 inSequenceTime: PrTime,
5851 outCurrentFrame: *mut A_long,
5852 ) -> PF_Err,
5853 >,
5854 pub GetSourceTrackClipName2: ::std::option::Option<
5855 unsafe extern "C" fn(
5856 effect_ref: PF_ProgPtr,
5857 inLayerParamIndex: csSDK_uint32,
5858 inGetMasterClipName: A_Boolean,
5859 outSDKString: *mut PrSDKString,
5860 inSequenceTime: PrTime,
5861 ) -> PF_Err,
5862 >,
5863 pub GetSourceTrackFileName2: ::std::option::Option<
5864 unsafe extern "C" fn(
5865 effect_ref: PF_ProgPtr,
5866 inLayerParamIndex: csSDK_uint32,
5867 outSDKString: *mut PrSDKString,
5868 inSequenceTime: PrTime,
5869 ) -> PF_Err,
5870 >,
5871 pub GetCommentString: ::std::option::Option<
5872 unsafe extern "C" fn(
5873 inEffectRef: PF_ProgPtr,
5874 inSourceTrack: i32,
5875 inSequenceTime: PrTime,
5876 outSDKString: *mut PrSDKString,
5877 ) -> PF_Err,
5878 >,
5879 pub GetLogNoteString: ::std::option::Option<
5880 unsafe extern "C" fn(
5881 inEffectRef: PF_ProgPtr,
5882 inSourceTrack: i32,
5883 inSequenceTime: PrTime,
5884 outSDKString: *mut PrSDKString,
5885 ) -> PF_Err,
5886 >,
5887 pub GetCameraRollString: ::std::option::Option<
5888 unsafe extern "C" fn(
5889 inEffectRef: PF_ProgPtr,
5890 inSourceTrack: i32,
5891 inSequenceTime: PrTime,
5892 outSDKString: *mut PrSDKString,
5893 ) -> PF_Err,
5894 >,
5895 pub GetClientMetadataString: ::std::option::Option<
5896 unsafe extern "C" fn(
5897 inEffectRef: PF_ProgPtr,
5898 inSourceTrack: i32,
5899 inSequenceTime: PrTime,
5900 outSDKString: *mut PrSDKString,
5901 ) -> PF_Err,
5902 >,
5903 pub GetDailyRollString: ::std::option::Option<
5904 unsafe extern "C" fn(
5905 inEffectRef: PF_ProgPtr,
5906 inSourceTrack: i32,
5907 inSequenceTime: PrTime,
5908 outSDKString: *mut PrSDKString,
5909 ) -> PF_Err,
5910 >,
5911 pub GetDescriptionString: ::std::option::Option<
5912 unsafe extern "C" fn(
5913 inEffectRef: PF_ProgPtr,
5914 inSourceTrack: i32,
5915 inSequenceTime: PrTime,
5916 outSDKString: *mut PrSDKString,
5917 ) -> PF_Err,
5918 >,
5919 pub GetLabRollString: ::std::option::Option<
5920 unsafe extern "C" fn(
5921 inEffectRef: PF_ProgPtr,
5922 inSourceTrack: i32,
5923 inSequenceTime: PrTime,
5924 outSDKString: *mut PrSDKString,
5925 ) -> PF_Err,
5926 >,
5927 pub GetSceneString: ::std::option::Option<
5928 unsafe extern "C" fn(
5929 inEffectRef: PF_ProgPtr,
5930 inSourceTrack: i32,
5931 inSequenceTime: PrTime,
5932 outSDKString: *mut PrSDKString,
5933 ) -> PF_Err,
5934 >,
5935 pub GetShotString: ::std::option::Option<
5936 unsafe extern "C" fn(
5937 inEffectRef: PF_ProgPtr,
5938 inSourceTrack: i32,
5939 inSequenceTime: PrTime,
5940 outSDKString: *mut PrSDKString,
5941 ) -> PF_Err,
5942 >,
5943 pub GetTapeNameString: ::std::option::Option<
5944 unsafe extern "C" fn(
5945 inEffectRef: PF_ProgPtr,
5946 inSourceTrack: i32,
5947 inSequenceTime: PrTime,
5948 outSDKString: *mut PrSDKString,
5949 ) -> PF_Err,
5950 >,
5951 pub GetVideoCodecString: ::std::option::Option<
5952 unsafe extern "C" fn(
5953 inEffectRef: PF_ProgPtr,
5954 inSourceTrack: i32,
5955 inSequenceTime: PrTime,
5956 outSDKString: *mut PrSDKString,
5957 ) -> PF_Err,
5958 >,
5959 pub GetGoodMetadataString: ::std::option::Option<
5960 unsafe extern "C" fn(
5961 inEffectRef: PF_ProgPtr,
5962 inSourceTrack: i32,
5963 inSequenceTime: PrTime,
5964 outSDKString: *mut PrSDKString,
5965 ) -> PF_Err,
5966 >,
5967 pub GetSoundRollString: ::std::option::Option<
5968 unsafe extern "C" fn(
5969 inEffectRef: PF_ProgPtr,
5970 inSourceTrack: i32,
5971 inSequenceTime: PrTime,
5972 outSDKString: *mut PrSDKString,
5973 ) -> PF_Err,
5974 >,
5975 pub GetSequenceTime: ::std::option::Option<
5976 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
5977 >,
5978 pub GetSoundTimecode: ::std::option::Option<
5979 unsafe extern "C" fn(
5980 inEffectRef: PF_ProgPtr,
5981 inSourceTrack: i32,
5982 inSequenceTime: PrTime,
5983 outCurrentFrame: *mut A_long,
5984 ) -> PF_Err,
5985 >,
5986 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
5987 unsafe extern "C" fn(
5988 inEffectRef: PF_ProgPtr,
5989 inSourceTrack: i32,
5990 outTicksPerFrame: *mut PrTime,
5991 ) -> PF_Err,
5992 >,
5993 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
5994 unsafe extern "C" fn(
5995 inEffectRef: PF_ProgPtr,
5996 inSourceTrack: i32,
5997 inSequenceTime: PrTime,
5998 outTicksPerFrame: *mut PrTime,
5999 ) -> PF_Err,
6000 >,
6001 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
6002 unsafe extern "C" fn(
6003 inEffectRef: PF_ProgPtr,
6004 inLayerParamIndex: csSDK_uint32,
6005 inSequenceTime: PrTime,
6006 outClipActualStartTime: *mut PrTime,
6007 ) -> PF_Err,
6008 >,
6009 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
6010 unsafe extern "C" fn(
6011 inEffectRef: PF_ProgPtr,
6012 inLayerParamIndex: csSDK_uint32,
6013 inSequenceTime: PrTime,
6014 outTrimApplied: *mut bool,
6015 ) -> PF_Err,
6016 >,
6017 pub IsMediaTrimmed: ::std::option::Option<
6018 unsafe extern "C" fn(
6019 inEffectRef: PF_ProgPtr,
6020 inSequenceTime: PrTime,
6021 outTrimApplied: *mut bool,
6022 ) -> PF_Err,
6023 >,
6024 pub IsTrackEmpty: ::std::option::Option<
6025 unsafe extern "C" fn(
6026 inEffectRef: PF_ProgPtr,
6027 inLayerParamIndex: csSDK_uint32,
6028 inSequenceTime: PrTime,
6029 outIsTrackEmpty: *mut bool,
6030 ) -> PF_Err,
6031 >,
6032 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
6033 unsafe extern "C" fn(
6034 inEffectRef: PF_ProgPtr,
6035 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
6036 ) -> PF_Err,
6037 >,
6038 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
6039 unsafe extern "C" fn(
6040 effect_ref: PF_ProgPtr,
6041 inLayerParamIndex: csSDK_uint32,
6042 inUseSoundTimecodeAsStartTime: bool,
6043 inSequenceTime: PrTime,
6044 outCurrentMediaTime: *mut PrTime,
6045 outMediaTicksPerFrame: *mut PrTime,
6046 outMediaTimeDisplay: *mut PF_TimeDisplay,
6047 ) -> PF_Err,
6048 >,
6049 pub GetSequenceZeroPoint: ::std::option::Option<
6050 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
6051 >,
6052}
6053#[repr(C)]
6054#[derive(Debug, Copy, Clone)]
6055pub struct PF_UtilitySuite11 {
6056 pub GetFilterInstanceID: ::std::option::Option<
6057 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
6058 >,
6059 pub GetMediaTimecode: ::std::option::Option<
6060 unsafe extern "C" fn(
6061 effect_ref: PF_ProgPtr,
6062 outCurrentFrame: *mut A_long,
6063 outTimeDisplay: *mut PF_TimeDisplay,
6064 ) -> PF_Err,
6065 >,
6066 pub GetClipSpeed: ::std::option::Option<
6067 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
6068 >,
6069 pub GetClipDuration: ::std::option::Option<
6070 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6071 >,
6072 pub GetClipStart: ::std::option::Option<
6073 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6074 >,
6075 pub GetUnscaledClipDuration: ::std::option::Option<
6076 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6077 >,
6078 pub GetUnscaledClipStart: ::std::option::Option<
6079 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6080 >,
6081 pub GetTrackItemStart: ::std::option::Option<
6082 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6083 >,
6084 pub GetMediaFieldType: ::std::option::Option<
6085 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
6086 >,
6087 pub GetMediaFrameRate: ::std::option::Option<
6088 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6089 >,
6090 pub GetContainingTimelineID: ::std::option::Option<
6091 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
6092 >,
6093 pub GetClipName: ::std::option::Option<
6094 unsafe extern "C" fn(
6095 effect_ref: PF_ProgPtr,
6096 inGetMasterClipName: A_Boolean,
6097 outSDKString: *mut PrSDKString,
6098 ) -> PF_Err,
6099 >,
6100 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
6101 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
6102 pub EffectDependsOnClipName: ::std::option::Option<
6103 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
6104 >,
6105 pub SetEffectInstanceName: ::std::option::Option<
6106 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
6107 >,
6108 pub GetFileName: ::std::option::Option<
6109 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
6110 >,
6111 pub GetOriginalClipFrameRate: ::std::option::Option<
6112 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6113 >,
6114 pub GetSourceTrackMediaTimecode: ::std::option::Option<
6115 unsafe extern "C" fn(
6116 effect_ref: PF_ProgPtr,
6117 inLayerParamIndex: csSDK_uint32,
6118 inApplyTransform: bool,
6119 inAddStartTimeOffset: bool,
6120 outCurrentFrame: *mut A_long,
6121 ) -> PF_Err,
6122 >,
6123 pub GetSourceTrackClipName: ::std::option::Option<
6124 unsafe extern "C" fn(
6125 effect_ref: PF_ProgPtr,
6126 inLayerParamIndex: csSDK_uint32,
6127 inGetMasterClipName: A_Boolean,
6128 outSDKString: *mut PrSDKString,
6129 ) -> PF_Err,
6130 >,
6131 pub GetSourceTrackFileName: ::std::option::Option<
6132 unsafe extern "C" fn(
6133 effect_ref: PF_ProgPtr,
6134 inLayerParamIndex: csSDK_uint32,
6135 outSDKString: *mut PrSDKString,
6136 ) -> PF_Err,
6137 >,
6138 pub EffectDependsOnClipName2: ::std::option::Option<
6139 unsafe extern "C" fn(
6140 effect_ref: PF_ProgPtr,
6141 inDependsOnClipName: A_Boolean,
6142 inLayerParamIndex: csSDK_uint32,
6143 ) -> PF_Err,
6144 >,
6145 pub GetMediaTimecode2: ::std::option::Option<
6146 unsafe extern "C" fn(
6147 effect_ref: PF_ProgPtr,
6148 inApplyTrim: bool,
6149 outCurrentFrame: *mut A_long,
6150 outTimeDisplay: *mut PF_TimeDisplay,
6151 ) -> PF_Err,
6152 >,
6153 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
6154 unsafe extern "C" fn(
6155 effect_ref: PF_ProgPtr,
6156 inLayerParamIndex: csSDK_uint32,
6157 inApplyTransform: bool,
6158 inAddStartTimeOffset: bool,
6159 inSequenceTime: PrTime,
6160 outCurrentFrame: *mut A_long,
6161 ) -> PF_Err,
6162 >,
6163 pub GetSourceTrackClipName2: ::std::option::Option<
6164 unsafe extern "C" fn(
6165 effect_ref: PF_ProgPtr,
6166 inLayerParamIndex: csSDK_uint32,
6167 inGetMasterClipName: A_Boolean,
6168 outSDKString: *mut PrSDKString,
6169 inSequenceTime: PrTime,
6170 ) -> PF_Err,
6171 >,
6172 pub GetSourceTrackFileName2: ::std::option::Option<
6173 unsafe extern "C" fn(
6174 effect_ref: PF_ProgPtr,
6175 inLayerParamIndex: csSDK_uint32,
6176 outSDKString: *mut PrSDKString,
6177 inSequenceTime: PrTime,
6178 ) -> PF_Err,
6179 >,
6180 pub GetCommentString: ::std::option::Option<
6181 unsafe extern "C" fn(
6182 inEffectRef: PF_ProgPtr,
6183 inSourceTrack: i32,
6184 inSequenceTime: PrTime,
6185 outSDKString: *mut PrSDKString,
6186 ) -> PF_Err,
6187 >,
6188 pub GetLogNoteString: ::std::option::Option<
6189 unsafe extern "C" fn(
6190 inEffectRef: PF_ProgPtr,
6191 inSourceTrack: i32,
6192 inSequenceTime: PrTime,
6193 outSDKString: *mut PrSDKString,
6194 ) -> PF_Err,
6195 >,
6196 pub GetCameraRollString: ::std::option::Option<
6197 unsafe extern "C" fn(
6198 inEffectRef: PF_ProgPtr,
6199 inSourceTrack: i32,
6200 inSequenceTime: PrTime,
6201 outSDKString: *mut PrSDKString,
6202 ) -> PF_Err,
6203 >,
6204 pub GetClientMetadataString: ::std::option::Option<
6205 unsafe extern "C" fn(
6206 inEffectRef: PF_ProgPtr,
6207 inSourceTrack: i32,
6208 inSequenceTime: PrTime,
6209 outSDKString: *mut PrSDKString,
6210 ) -> PF_Err,
6211 >,
6212 pub GetDailyRollString: ::std::option::Option<
6213 unsafe extern "C" fn(
6214 inEffectRef: PF_ProgPtr,
6215 inSourceTrack: i32,
6216 inSequenceTime: PrTime,
6217 outSDKString: *mut PrSDKString,
6218 ) -> PF_Err,
6219 >,
6220 pub GetDescriptionString: ::std::option::Option<
6221 unsafe extern "C" fn(
6222 inEffectRef: PF_ProgPtr,
6223 inSourceTrack: i32,
6224 inSequenceTime: PrTime,
6225 outSDKString: *mut PrSDKString,
6226 ) -> PF_Err,
6227 >,
6228 pub GetLabRollString: ::std::option::Option<
6229 unsafe extern "C" fn(
6230 inEffectRef: PF_ProgPtr,
6231 inSourceTrack: i32,
6232 inSequenceTime: PrTime,
6233 outSDKString: *mut PrSDKString,
6234 ) -> PF_Err,
6235 >,
6236 pub GetSceneString: ::std::option::Option<
6237 unsafe extern "C" fn(
6238 inEffectRef: PF_ProgPtr,
6239 inSourceTrack: i32,
6240 inSequenceTime: PrTime,
6241 outSDKString: *mut PrSDKString,
6242 ) -> PF_Err,
6243 >,
6244 pub GetShotString: ::std::option::Option<
6245 unsafe extern "C" fn(
6246 inEffectRef: PF_ProgPtr,
6247 inSourceTrack: i32,
6248 inSequenceTime: PrTime,
6249 outSDKString: *mut PrSDKString,
6250 ) -> PF_Err,
6251 >,
6252 pub GetTapeNameString: ::std::option::Option<
6253 unsafe extern "C" fn(
6254 inEffectRef: PF_ProgPtr,
6255 inSourceTrack: i32,
6256 inSequenceTime: PrTime,
6257 outSDKString: *mut PrSDKString,
6258 ) -> PF_Err,
6259 >,
6260 pub GetVideoCodecString: ::std::option::Option<
6261 unsafe extern "C" fn(
6262 inEffectRef: PF_ProgPtr,
6263 inSourceTrack: i32,
6264 inSequenceTime: PrTime,
6265 outSDKString: *mut PrSDKString,
6266 ) -> PF_Err,
6267 >,
6268 pub GetGoodMetadataString: ::std::option::Option<
6269 unsafe extern "C" fn(
6270 inEffectRef: PF_ProgPtr,
6271 inSourceTrack: i32,
6272 inSequenceTime: PrTime,
6273 outSDKString: *mut PrSDKString,
6274 ) -> PF_Err,
6275 >,
6276 pub GetSoundRollString: ::std::option::Option<
6277 unsafe extern "C" fn(
6278 inEffectRef: PF_ProgPtr,
6279 inSourceTrack: i32,
6280 inSequenceTime: PrTime,
6281 outSDKString: *mut PrSDKString,
6282 ) -> PF_Err,
6283 >,
6284 pub GetSequenceTime: ::std::option::Option<
6285 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
6286 >,
6287 pub GetSoundTimecode: ::std::option::Option<
6288 unsafe extern "C" fn(
6289 inEffectRef: PF_ProgPtr,
6290 inSourceTrack: i32,
6291 inSequenceTime: PrTime,
6292 outCurrentFrame: *mut A_long,
6293 ) -> PF_Err,
6294 >,
6295 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
6296 unsafe extern "C" fn(
6297 inEffectRef: PF_ProgPtr,
6298 inSourceTrack: i32,
6299 outTicksPerFrame: *mut PrTime,
6300 ) -> PF_Err,
6301 >,
6302 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
6303 unsafe extern "C" fn(
6304 inEffectRef: PF_ProgPtr,
6305 inSourceTrack: i32,
6306 inSequenceTime: PrTime,
6307 outTicksPerFrame: *mut PrTime,
6308 ) -> PF_Err,
6309 >,
6310 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
6311 unsafe extern "C" fn(
6312 inEffectRef: PF_ProgPtr,
6313 inLayerParamIndex: csSDK_uint32,
6314 inSequenceTime: PrTime,
6315 outClipActualStartTime: *mut PrTime,
6316 ) -> PF_Err,
6317 >,
6318 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
6319 unsafe extern "C" fn(
6320 inEffectRef: PF_ProgPtr,
6321 inLayerParamIndex: csSDK_uint32,
6322 inSequenceTime: PrTime,
6323 outTrimApplied: *mut bool,
6324 ) -> PF_Err,
6325 >,
6326 pub IsMediaTrimmed: ::std::option::Option<
6327 unsafe extern "C" fn(
6328 inEffectRef: PF_ProgPtr,
6329 inSequenceTime: PrTime,
6330 outTrimApplied: *mut bool,
6331 ) -> PF_Err,
6332 >,
6333 pub IsTrackEmpty: ::std::option::Option<
6334 unsafe extern "C" fn(
6335 inEffectRef: PF_ProgPtr,
6336 inLayerParamIndex: csSDK_uint32,
6337 inSequenceTime: PrTime,
6338 outIsTrackEmpty: *mut bool,
6339 ) -> PF_Err,
6340 >,
6341 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
6342 unsafe extern "C" fn(
6343 inEffectRef: PF_ProgPtr,
6344 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
6345 ) -> PF_Err,
6346 >,
6347 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
6348 unsafe extern "C" fn(
6349 effect_ref: PF_ProgPtr,
6350 inLayerParamIndex: csSDK_uint32,
6351 inUseSoundTimecodeAsStartTime: bool,
6352 inSequenceTime: PrTime,
6353 outCurrentMediaTime: *mut PrTime,
6354 outMediaTicksPerFrame: *mut PrTime,
6355 outMediaTimeDisplay: *mut PF_TimeDisplay,
6356 ) -> PF_Err,
6357 >,
6358 pub GetSequenceZeroPoint: ::std::option::Option<
6359 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
6360 >,
6361 pub GetSourceTrackCurrentClipDuration: ::std::option::Option<
6362 unsafe extern "C" fn(
6363 inEffectRef: PF_ProgPtr,
6364 inLayerParamIndex: csSDK_uint32,
6365 inSequenceTime: PrTime,
6366 outClipDuration: *mut PrTime,
6367 ) -> PF_Err,
6368 >,
6369 pub GetSequenceDuration: ::std::option::Option<
6370 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceDuration: *mut PrTime) -> PF_Err,
6371 >,
6372 pub GetVideoResolutionString: ::std::option::Option<
6373 unsafe extern "C" fn(
6374 inEffectRef: PF_ProgPtr,
6375 inSourceTrack: i32,
6376 inSequenceTime: PrTime,
6377 outSDKString: *mut PrSDKString,
6378 ) -> PF_Err,
6379 >,
6380 pub GetMasterClipName: ::std::option::Option<
6381 unsafe extern "C" fn(
6382 inEffectRef: PF_ProgPtr,
6383 inSourceTrack: i32,
6384 inSequenceTime: PrTime,
6385 outSDKString: *mut PrSDKString,
6386 ) -> PF_Err,
6387 >,
6388 pub GetFileNameByTrackIndex: ::std::option::Option<
6389 unsafe extern "C" fn(
6390 inEffectRef: PF_ProgPtr,
6391 inSourceTrack: i32,
6392 inSequenceTime: PrTime,
6393 outSDKString: *mut PrSDKString,
6394 ) -> PF_Err,
6395 >,
6396 pub GetTrackItemName: ::std::option::Option<
6397 unsafe extern "C" fn(
6398 inEffectRef: PF_ProgPtr,
6399 inSourceTrack: i32,
6400 inSequenceTime: PrTime,
6401 outSDKString: *mut PrSDKString,
6402 ) -> PF_Err,
6403 >,
6404}
6405#[repr(C)]
6406#[derive(Debug, Copy, Clone)]
6407pub struct PF_UtilitySuite12 {
6408 pub GetFilterInstanceID: ::std::option::Option<
6409 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
6410 >,
6411 pub GetMediaTimecode: ::std::option::Option<
6412 unsafe extern "C" fn(
6413 effect_ref: PF_ProgPtr,
6414 outCurrentFrame: *mut A_long,
6415 outTimeDisplay: *mut PF_TimeDisplay,
6416 ) -> PF_Err,
6417 >,
6418 pub GetClipSpeed: ::std::option::Option<
6419 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
6420 >,
6421 pub GetClipDuration: ::std::option::Option<
6422 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6423 >,
6424 pub GetClipStart: ::std::option::Option<
6425 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6426 >,
6427 pub GetUnscaledClipDuration: ::std::option::Option<
6428 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6429 >,
6430 pub GetUnscaledClipStart: ::std::option::Option<
6431 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6432 >,
6433 pub GetTrackItemStart: ::std::option::Option<
6434 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6435 >,
6436 pub GetMediaFieldType: ::std::option::Option<
6437 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
6438 >,
6439 pub GetMediaFrameRate: ::std::option::Option<
6440 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6441 >,
6442 pub GetContainingTimelineID: ::std::option::Option<
6443 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
6444 >,
6445 pub GetClipName: ::std::option::Option<
6446 unsafe extern "C" fn(
6447 effect_ref: PF_ProgPtr,
6448 inGetMasterClipName: A_Boolean,
6449 outSDKString: *mut PrSDKString,
6450 ) -> PF_Err,
6451 >,
6452 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
6453 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
6454 pub EffectDependsOnClipName: ::std::option::Option<
6455 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
6456 >,
6457 pub SetEffectInstanceName: ::std::option::Option<
6458 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
6459 >,
6460 pub GetFileName: ::std::option::Option<
6461 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
6462 >,
6463 pub GetOriginalClipFrameRate: ::std::option::Option<
6464 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6465 >,
6466 pub GetSourceTrackMediaTimecode: ::std::option::Option<
6467 unsafe extern "C" fn(
6468 effect_ref: PF_ProgPtr,
6469 inLayerParamIndex: csSDK_uint32,
6470 inApplyTransform: bool,
6471 inAddStartTimeOffset: bool,
6472 outCurrentFrame: *mut A_long,
6473 ) -> PF_Err,
6474 >,
6475 pub GetSourceTrackClipName: ::std::option::Option<
6476 unsafe extern "C" fn(
6477 effect_ref: PF_ProgPtr,
6478 inLayerParamIndex: csSDK_uint32,
6479 inGetMasterClipName: A_Boolean,
6480 outSDKString: *mut PrSDKString,
6481 ) -> PF_Err,
6482 >,
6483 pub GetSourceTrackFileName: ::std::option::Option<
6484 unsafe extern "C" fn(
6485 effect_ref: PF_ProgPtr,
6486 inLayerParamIndex: csSDK_uint32,
6487 outSDKString: *mut PrSDKString,
6488 ) -> PF_Err,
6489 >,
6490 pub EffectDependsOnClipName2: ::std::option::Option<
6491 unsafe extern "C" fn(
6492 effect_ref: PF_ProgPtr,
6493 inDependsOnClipName: A_Boolean,
6494 inLayerParamIndex: csSDK_uint32,
6495 ) -> PF_Err,
6496 >,
6497 pub GetMediaTimecode2: ::std::option::Option<
6498 unsafe extern "C" fn(
6499 effect_ref: PF_ProgPtr,
6500 inApplyTrim: bool,
6501 outCurrentFrame: *mut A_long,
6502 outTimeDisplay: *mut PF_TimeDisplay,
6503 ) -> PF_Err,
6504 >,
6505 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
6506 unsafe extern "C" fn(
6507 effect_ref: PF_ProgPtr,
6508 inLayerParamIndex: csSDK_uint32,
6509 inApplyTransform: bool,
6510 inAddStartTimeOffset: bool,
6511 inSequenceTime: PrTime,
6512 outCurrentFrame: *mut A_long,
6513 ) -> PF_Err,
6514 >,
6515 pub GetSourceTrackClipName2: ::std::option::Option<
6516 unsafe extern "C" fn(
6517 effect_ref: PF_ProgPtr,
6518 inLayerParamIndex: csSDK_uint32,
6519 inGetMasterClipName: A_Boolean,
6520 outSDKString: *mut PrSDKString,
6521 inSequenceTime: PrTime,
6522 ) -> PF_Err,
6523 >,
6524 pub GetSourceTrackFileName2: ::std::option::Option<
6525 unsafe extern "C" fn(
6526 effect_ref: PF_ProgPtr,
6527 inLayerParamIndex: csSDK_uint32,
6528 outSDKString: *mut PrSDKString,
6529 inSequenceTime: PrTime,
6530 ) -> PF_Err,
6531 >,
6532 pub GetCommentString: ::std::option::Option<
6533 unsafe extern "C" fn(
6534 inEffectRef: PF_ProgPtr,
6535 inSourceTrack: i32,
6536 inSequenceTime: PrTime,
6537 outSDKString: *mut PrSDKString,
6538 ) -> PF_Err,
6539 >,
6540 pub GetLogNoteString: ::std::option::Option<
6541 unsafe extern "C" fn(
6542 inEffectRef: PF_ProgPtr,
6543 inSourceTrack: i32,
6544 inSequenceTime: PrTime,
6545 outSDKString: *mut PrSDKString,
6546 ) -> PF_Err,
6547 >,
6548 pub GetCameraRollString: ::std::option::Option<
6549 unsafe extern "C" fn(
6550 inEffectRef: PF_ProgPtr,
6551 inSourceTrack: i32,
6552 inSequenceTime: PrTime,
6553 outSDKString: *mut PrSDKString,
6554 ) -> PF_Err,
6555 >,
6556 pub GetClientMetadataString: ::std::option::Option<
6557 unsafe extern "C" fn(
6558 inEffectRef: PF_ProgPtr,
6559 inSourceTrack: i32,
6560 inSequenceTime: PrTime,
6561 outSDKString: *mut PrSDKString,
6562 ) -> PF_Err,
6563 >,
6564 pub GetDailyRollString: ::std::option::Option<
6565 unsafe extern "C" fn(
6566 inEffectRef: PF_ProgPtr,
6567 inSourceTrack: i32,
6568 inSequenceTime: PrTime,
6569 outSDKString: *mut PrSDKString,
6570 ) -> PF_Err,
6571 >,
6572 pub GetDescriptionString: ::std::option::Option<
6573 unsafe extern "C" fn(
6574 inEffectRef: PF_ProgPtr,
6575 inSourceTrack: i32,
6576 inSequenceTime: PrTime,
6577 outSDKString: *mut PrSDKString,
6578 ) -> PF_Err,
6579 >,
6580 pub GetLabRollString: ::std::option::Option<
6581 unsafe extern "C" fn(
6582 inEffectRef: PF_ProgPtr,
6583 inSourceTrack: i32,
6584 inSequenceTime: PrTime,
6585 outSDKString: *mut PrSDKString,
6586 ) -> PF_Err,
6587 >,
6588 pub GetSceneString: ::std::option::Option<
6589 unsafe extern "C" fn(
6590 inEffectRef: PF_ProgPtr,
6591 inSourceTrack: i32,
6592 inSequenceTime: PrTime,
6593 outSDKString: *mut PrSDKString,
6594 ) -> PF_Err,
6595 >,
6596 pub GetShotString: ::std::option::Option<
6597 unsafe extern "C" fn(
6598 inEffectRef: PF_ProgPtr,
6599 inSourceTrack: i32,
6600 inSequenceTime: PrTime,
6601 outSDKString: *mut PrSDKString,
6602 ) -> PF_Err,
6603 >,
6604 pub GetTapeNameString: ::std::option::Option<
6605 unsafe extern "C" fn(
6606 inEffectRef: PF_ProgPtr,
6607 inSourceTrack: i32,
6608 inSequenceTime: PrTime,
6609 outSDKString: *mut PrSDKString,
6610 ) -> PF_Err,
6611 >,
6612 pub GetVideoCodecString: ::std::option::Option<
6613 unsafe extern "C" fn(
6614 inEffectRef: PF_ProgPtr,
6615 inSourceTrack: i32,
6616 inSequenceTime: PrTime,
6617 outSDKString: *mut PrSDKString,
6618 ) -> PF_Err,
6619 >,
6620 pub GetGoodMetadataString: ::std::option::Option<
6621 unsafe extern "C" fn(
6622 inEffectRef: PF_ProgPtr,
6623 inSourceTrack: i32,
6624 inSequenceTime: PrTime,
6625 outSDKString: *mut PrSDKString,
6626 ) -> PF_Err,
6627 >,
6628 pub GetSoundRollString: ::std::option::Option<
6629 unsafe extern "C" fn(
6630 inEffectRef: PF_ProgPtr,
6631 inSourceTrack: i32,
6632 inSequenceTime: PrTime,
6633 outSDKString: *mut PrSDKString,
6634 ) -> PF_Err,
6635 >,
6636 pub GetSequenceTime: ::std::option::Option<
6637 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
6638 >,
6639 pub GetSoundTimecode: ::std::option::Option<
6640 unsafe extern "C" fn(
6641 inEffectRef: PF_ProgPtr,
6642 inSourceTrack: i32,
6643 inSequenceTime: PrTime,
6644 outCurrentFrame: *mut A_long,
6645 ) -> PF_Err,
6646 >,
6647 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
6648 unsafe extern "C" fn(
6649 inEffectRef: PF_ProgPtr,
6650 inSourceTrack: i32,
6651 outTicksPerFrame: *mut PrTime,
6652 ) -> PF_Err,
6653 >,
6654 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
6655 unsafe extern "C" fn(
6656 inEffectRef: PF_ProgPtr,
6657 inSourceTrack: i32,
6658 inSequenceTime: PrTime,
6659 outTicksPerFrame: *mut PrTime,
6660 ) -> PF_Err,
6661 >,
6662 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
6663 unsafe extern "C" fn(
6664 inEffectRef: PF_ProgPtr,
6665 inLayerParamIndex: csSDK_uint32,
6666 inSequenceTime: PrTime,
6667 outClipActualStartTime: *mut PrTime,
6668 ) -> PF_Err,
6669 >,
6670 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
6671 unsafe extern "C" fn(
6672 inEffectRef: PF_ProgPtr,
6673 inLayerParamIndex: csSDK_uint32,
6674 inSequenceTime: PrTime,
6675 outTrimApplied: *mut bool,
6676 ) -> PF_Err,
6677 >,
6678 pub IsMediaTrimmed: ::std::option::Option<
6679 unsafe extern "C" fn(
6680 inEffectRef: PF_ProgPtr,
6681 inSequenceTime: PrTime,
6682 outTrimApplied: *mut bool,
6683 ) -> PF_Err,
6684 >,
6685 pub IsTrackEmpty: ::std::option::Option<
6686 unsafe extern "C" fn(
6687 inEffectRef: PF_ProgPtr,
6688 inLayerParamIndex: csSDK_uint32,
6689 inSequenceTime: PrTime,
6690 outIsTrackEmpty: *mut bool,
6691 ) -> PF_Err,
6692 >,
6693 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
6694 unsafe extern "C" fn(
6695 inEffectRef: PF_ProgPtr,
6696 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
6697 ) -> PF_Err,
6698 >,
6699 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
6700 unsafe extern "C" fn(
6701 effect_ref: PF_ProgPtr,
6702 inLayerParamIndex: csSDK_uint32,
6703 inUseSoundTimecodeAsStartTime: bool,
6704 inSequenceTime: PrTime,
6705 outCurrentMediaTime: *mut PrTime,
6706 outMediaTicksPerFrame: *mut PrTime,
6707 outMediaTimeDisplay: *mut PF_TimeDisplay,
6708 ) -> PF_Err,
6709 >,
6710 pub GetSequenceZeroPoint: ::std::option::Option<
6711 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
6712 >,
6713 pub GetSourceTrackCurrentClipDuration: ::std::option::Option<
6714 unsafe extern "C" fn(
6715 inEffectRef: PF_ProgPtr,
6716 inLayerParamIndex: csSDK_uint32,
6717 inSequenceTime: PrTime,
6718 outClipDuration: *mut PrTime,
6719 ) -> PF_Err,
6720 >,
6721 pub GetSequenceDuration: ::std::option::Option<
6722 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceDuration: *mut PrTime) -> PF_Err,
6723 >,
6724 pub GetVideoResolutionString: ::std::option::Option<
6725 unsafe extern "C" fn(
6726 inEffectRef: PF_ProgPtr,
6727 inSourceTrack: i32,
6728 inSequenceTime: PrTime,
6729 outSDKString: *mut PrSDKString,
6730 ) -> PF_Err,
6731 >,
6732 pub GetMasterClipName: ::std::option::Option<
6733 unsafe extern "C" fn(
6734 inEffectRef: PF_ProgPtr,
6735 inSourceTrack: i32,
6736 inSequenceTime: PrTime,
6737 outSDKString: *mut PrSDKString,
6738 ) -> PF_Err,
6739 >,
6740 pub GetFileNameByTrackIndex: ::std::option::Option<
6741 unsafe extern "C" fn(
6742 inEffectRef: PF_ProgPtr,
6743 inSourceTrack: i32,
6744 inSequenceTime: PrTime,
6745 outSDKString: *mut PrSDKString,
6746 ) -> PF_Err,
6747 >,
6748 pub GetTrackItemName: ::std::option::Option<
6749 unsafe extern "C" fn(
6750 inEffectRef: PF_ProgPtr,
6751 inSourceTrack: i32,
6752 inSequenceTime: PrTime,
6753 outSDKString: *mut PrSDKString,
6754 ) -> PF_Err,
6755 >,
6756 pub IsOnAdjustmentLayer: ::std::option::Option<
6757 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outIsOnAdjustmentLayer: *mut bool) -> PF_Err,
6758 >,
6759 pub GetTrackIndexFromID: ::std::option::Option<
6760 unsafe extern "C" fn(
6761 inEffectRef: PF_ProgPtr,
6762 inSourceTrackID: i32,
6763 outTrackIndex: *mut i32,
6764 outIsAudioTrack: *mut bool,
6765 ) -> PF_Err,
6766 >,
6767 pub IsOnTransparentVideo: ::std::option::Option<
6768 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outIsOnTransparentVideo: *mut bool) -> PF_Err,
6769 >,
6770 pub GetVideoFrameRateOrAudioSampleRate: ::std::option::Option<
6771 unsafe extern "C" fn(
6772 inEffectRef: PF_ProgPtr,
6773 inSourceTrack: i32,
6774 inSequenceTime: PrTime,
6775 outTicksPerFrame: *mut PrTime,
6776 outIsAudioSampleRate: *mut bool,
6777 ) -> PF_Err,
6778 >,
6779}
6780#[repr(C)]
6781#[derive(Debug, Copy, Clone)]
6782pub struct PF_UtilitySuite13 {
6783 pub GetFilterInstanceID: ::std::option::Option<
6784 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
6785 >,
6786 pub GetMediaTimecode: ::std::option::Option<
6787 unsafe extern "C" fn(
6788 effect_ref: PF_ProgPtr,
6789 outCurrentFrame: *mut A_long,
6790 outTimeDisplay: *mut PF_TimeDisplay,
6791 ) -> PF_Err,
6792 >,
6793 pub GetClipSpeed: ::std::option::Option<
6794 unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
6795 >,
6796 pub GetClipDuration: ::std::option::Option<
6797 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6798 >,
6799 pub GetClipStart: ::std::option::Option<
6800 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6801 >,
6802 pub GetUnscaledClipDuration: ::std::option::Option<
6803 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6804 >,
6805 pub GetUnscaledClipStart: ::std::option::Option<
6806 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6807 >,
6808 pub GetTrackItemStart: ::std::option::Option<
6809 unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
6810 >,
6811 pub GetMediaFieldType: ::std::option::Option<
6812 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
6813 >,
6814 pub GetMediaFrameRate: ::std::option::Option<
6815 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6816 >,
6817 pub GetContainingTimelineID: ::std::option::Option<
6818 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
6819 >,
6820 pub GetClipName: ::std::option::Option<
6821 unsafe extern "C" fn(
6822 effect_ref: PF_ProgPtr,
6823 inGetMasterClipName: A_Boolean,
6824 outSDKString: *mut PrSDKString,
6825 ) -> PF_Err,
6826 >,
6827 pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
6828 ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
6829 pub EffectDependsOnClipName: ::std::option::Option<
6830 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
6831 >,
6832 pub SetEffectInstanceName: ::std::option::Option<
6833 unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
6834 >,
6835 pub GetFileName: ::std::option::Option<
6836 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
6837 >,
6838 pub GetOriginalClipFrameRate: ::std::option::Option<
6839 unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
6840 >,
6841 pub GetSourceTrackMediaTimecode: ::std::option::Option<
6842 unsafe extern "C" fn(
6843 effect_ref: PF_ProgPtr,
6844 inLayerParamIndex: csSDK_uint32,
6845 inApplyTransform: bool,
6846 inAddStartTimeOffset: bool,
6847 outCurrentFrame: *mut A_long,
6848 ) -> PF_Err,
6849 >,
6850 pub GetSourceTrackClipName: ::std::option::Option<
6851 unsafe extern "C" fn(
6852 effect_ref: PF_ProgPtr,
6853 inLayerParamIndex: csSDK_uint32,
6854 inGetMasterClipName: A_Boolean,
6855 outSDKString: *mut PrSDKString,
6856 ) -> PF_Err,
6857 >,
6858 pub GetSourceTrackFileName: ::std::option::Option<
6859 unsafe extern "C" fn(
6860 effect_ref: PF_ProgPtr,
6861 inLayerParamIndex: csSDK_uint32,
6862 outSDKString: *mut PrSDKString,
6863 ) -> PF_Err,
6864 >,
6865 pub EffectDependsOnClipName2: ::std::option::Option<
6866 unsafe extern "C" fn(
6867 effect_ref: PF_ProgPtr,
6868 inDependsOnClipName: A_Boolean,
6869 inLayerParamIndex: csSDK_uint32,
6870 ) -> PF_Err,
6871 >,
6872 pub GetMediaTimecode2: ::std::option::Option<
6873 unsafe extern "C" fn(
6874 effect_ref: PF_ProgPtr,
6875 inApplyTrim: bool,
6876 outCurrentFrame: *mut A_long,
6877 outTimeDisplay: *mut PF_TimeDisplay,
6878 ) -> PF_Err,
6879 >,
6880 pub GetSourceTrackMediaTimecode2: ::std::option::Option<
6881 unsafe extern "C" fn(
6882 effect_ref: PF_ProgPtr,
6883 inLayerParamIndex: csSDK_uint32,
6884 inApplyTransform: bool,
6885 inAddStartTimeOffset: bool,
6886 inSequenceTime: PrTime,
6887 outCurrentFrame: *mut A_long,
6888 ) -> PF_Err,
6889 >,
6890 pub GetSourceTrackClipName2: ::std::option::Option<
6891 unsafe extern "C" fn(
6892 effect_ref: PF_ProgPtr,
6893 inLayerParamIndex: csSDK_uint32,
6894 inGetMasterClipName: A_Boolean,
6895 outSDKString: *mut PrSDKString,
6896 inSequenceTime: PrTime,
6897 ) -> PF_Err,
6898 >,
6899 pub GetSourceTrackFileName2: ::std::option::Option<
6900 unsafe extern "C" fn(
6901 effect_ref: PF_ProgPtr,
6902 inLayerParamIndex: csSDK_uint32,
6903 outSDKString: *mut PrSDKString,
6904 inSequenceTime: PrTime,
6905 ) -> PF_Err,
6906 >,
6907 pub GetCommentString: ::std::option::Option<
6908 unsafe extern "C" fn(
6909 inEffectRef: PF_ProgPtr,
6910 inSourceTrack: i32,
6911 inSequenceTime: PrTime,
6912 outSDKString: *mut PrSDKString,
6913 ) -> PF_Err,
6914 >,
6915 pub GetLogNoteString: ::std::option::Option<
6916 unsafe extern "C" fn(
6917 inEffectRef: PF_ProgPtr,
6918 inSourceTrack: i32,
6919 inSequenceTime: PrTime,
6920 outSDKString: *mut PrSDKString,
6921 ) -> PF_Err,
6922 >,
6923 pub GetCameraRollString: ::std::option::Option<
6924 unsafe extern "C" fn(
6925 inEffectRef: PF_ProgPtr,
6926 inSourceTrack: i32,
6927 inSequenceTime: PrTime,
6928 outSDKString: *mut PrSDKString,
6929 ) -> PF_Err,
6930 >,
6931 pub GetClientMetadataString: ::std::option::Option<
6932 unsafe extern "C" fn(
6933 inEffectRef: PF_ProgPtr,
6934 inSourceTrack: i32,
6935 inSequenceTime: PrTime,
6936 outSDKString: *mut PrSDKString,
6937 ) -> PF_Err,
6938 >,
6939 pub GetDailyRollString: ::std::option::Option<
6940 unsafe extern "C" fn(
6941 inEffectRef: PF_ProgPtr,
6942 inSourceTrack: i32,
6943 inSequenceTime: PrTime,
6944 outSDKString: *mut PrSDKString,
6945 ) -> PF_Err,
6946 >,
6947 pub GetDescriptionString: ::std::option::Option<
6948 unsafe extern "C" fn(
6949 inEffectRef: PF_ProgPtr,
6950 inSourceTrack: i32,
6951 inSequenceTime: PrTime,
6952 outSDKString: *mut PrSDKString,
6953 ) -> PF_Err,
6954 >,
6955 pub GetLabRollString: ::std::option::Option<
6956 unsafe extern "C" fn(
6957 inEffectRef: PF_ProgPtr,
6958 inSourceTrack: i32,
6959 inSequenceTime: PrTime,
6960 outSDKString: *mut PrSDKString,
6961 ) -> PF_Err,
6962 >,
6963 pub GetSceneString: ::std::option::Option<
6964 unsafe extern "C" fn(
6965 inEffectRef: PF_ProgPtr,
6966 inSourceTrack: i32,
6967 inSequenceTime: PrTime,
6968 outSDKString: *mut PrSDKString,
6969 ) -> PF_Err,
6970 >,
6971 pub GetShotString: ::std::option::Option<
6972 unsafe extern "C" fn(
6973 inEffectRef: PF_ProgPtr,
6974 inSourceTrack: i32,
6975 inSequenceTime: PrTime,
6976 outSDKString: *mut PrSDKString,
6977 ) -> PF_Err,
6978 >,
6979 pub GetTapeNameString: ::std::option::Option<
6980 unsafe extern "C" fn(
6981 inEffectRef: PF_ProgPtr,
6982 inSourceTrack: i32,
6983 inSequenceTime: PrTime,
6984 outSDKString: *mut PrSDKString,
6985 ) -> PF_Err,
6986 >,
6987 pub GetVideoCodecString: ::std::option::Option<
6988 unsafe extern "C" fn(
6989 inEffectRef: PF_ProgPtr,
6990 inSourceTrack: i32,
6991 inSequenceTime: PrTime,
6992 outSDKString: *mut PrSDKString,
6993 ) -> PF_Err,
6994 >,
6995 pub GetGoodMetadataString: ::std::option::Option<
6996 unsafe extern "C" fn(
6997 inEffectRef: PF_ProgPtr,
6998 inSourceTrack: i32,
6999 inSequenceTime: PrTime,
7000 outSDKString: *mut PrSDKString,
7001 ) -> PF_Err,
7002 >,
7003 pub GetSoundRollString: ::std::option::Option<
7004 unsafe extern "C" fn(
7005 inEffectRef: PF_ProgPtr,
7006 inSourceTrack: i32,
7007 inSequenceTime: PrTime,
7008 outSDKString: *mut PrSDKString,
7009 ) -> PF_Err,
7010 >,
7011 pub GetSequenceTime: ::std::option::Option<
7012 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
7013 >,
7014 pub GetSoundTimecode: ::std::option::Option<
7015 unsafe extern "C" fn(
7016 inEffectRef: PF_ProgPtr,
7017 inSourceTrack: i32,
7018 inSequenceTime: PrTime,
7019 outCurrentFrame: *mut A_long,
7020 ) -> PF_Err,
7021 >,
7022 pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
7023 unsafe extern "C" fn(
7024 inEffectRef: PF_ProgPtr,
7025 inSourceTrack: i32,
7026 outTicksPerFrame: *mut PrTime,
7027 ) -> PF_Err,
7028 >,
7029 pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
7030 unsafe extern "C" fn(
7031 inEffectRef: PF_ProgPtr,
7032 inSourceTrack: i32,
7033 inSequenceTime: PrTime,
7034 outTicksPerFrame: *mut PrTime,
7035 ) -> PF_Err,
7036 >,
7037 pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
7038 unsafe extern "C" fn(
7039 inEffectRef: PF_ProgPtr,
7040 inLayerParamIndex: csSDK_uint32,
7041 inSequenceTime: PrTime,
7042 outClipActualStartTime: *mut PrTime,
7043 ) -> PF_Err,
7044 >,
7045 pub IsSourceTrackMediaTrimmed: ::std::option::Option<
7046 unsafe extern "C" fn(
7047 inEffectRef: PF_ProgPtr,
7048 inLayerParamIndex: csSDK_uint32,
7049 inSequenceTime: PrTime,
7050 outTrimApplied: *mut bool,
7051 ) -> PF_Err,
7052 >,
7053 pub IsMediaTrimmed: ::std::option::Option<
7054 unsafe extern "C" fn(
7055 inEffectRef: PF_ProgPtr,
7056 inSequenceTime: PrTime,
7057 outTrimApplied: *mut bool,
7058 ) -> PF_Err,
7059 >,
7060 pub IsTrackEmpty: ::std::option::Option<
7061 unsafe extern "C" fn(
7062 inEffectRef: PF_ProgPtr,
7063 inLayerParamIndex: csSDK_uint32,
7064 inSequenceTime: PrTime,
7065 outIsTrackEmpty: *mut bool,
7066 ) -> PF_Err,
7067 >,
7068 pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
7069 unsafe extern "C" fn(
7070 inEffectRef: PF_ProgPtr,
7071 outIsTrackItemEffectAppliedToSynthetic: *mut bool,
7072 ) -> PF_Err,
7073 >,
7074 pub GetSourceTrackCurrentMediaTimeInfo: ::std::option::Option<
7075 unsafe extern "C" fn(
7076 effect_ref: PF_ProgPtr,
7077 inLayerParamIndex: csSDK_uint32,
7078 inUseSoundTimecodeAsStartTime: bool,
7079 inSequenceTime: PrTime,
7080 outCurrentMediaTime: *mut PrTime,
7081 outMediaTicksPerFrame: *mut PrTime,
7082 outMediaTimeDisplay: *mut PF_TimeDisplay,
7083 ) -> PF_Err,
7084 >,
7085 pub GetSequenceZeroPoint: ::std::option::Option<
7086 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outZeroPointTime: *mut PrTime) -> PF_Err,
7087 >,
7088 pub GetSourceTrackCurrentClipDuration: ::std::option::Option<
7089 unsafe extern "C" fn(
7090 inEffectRef: PF_ProgPtr,
7091 inLayerParamIndex: csSDK_uint32,
7092 inSequenceTime: PrTime,
7093 outClipDuration: *mut PrTime,
7094 ) -> PF_Err,
7095 >,
7096 pub GetSequenceDuration: ::std::option::Option<
7097 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceDuration: *mut PrTime) -> PF_Err,
7098 >,
7099 pub GetVideoResolutionString: ::std::option::Option<
7100 unsafe extern "C" fn(
7101 inEffectRef: PF_ProgPtr,
7102 inSourceTrack: i32,
7103 inSequenceTime: PrTime,
7104 outSDKString: *mut PrSDKString,
7105 ) -> PF_Err,
7106 >,
7107 pub GetMasterClipName: ::std::option::Option<
7108 unsafe extern "C" fn(
7109 inEffectRef: PF_ProgPtr,
7110 inSourceTrack: i32,
7111 inSequenceTime: PrTime,
7112 outSDKString: *mut PrSDKString,
7113 ) -> PF_Err,
7114 >,
7115 pub GetFileNameByTrackIndex: ::std::option::Option<
7116 unsafe extern "C" fn(
7117 inEffectRef: PF_ProgPtr,
7118 inSourceTrack: i32,
7119 inSequenceTime: PrTime,
7120 outSDKString: *mut PrSDKString,
7121 ) -> PF_Err,
7122 >,
7123 pub GetTrackItemName: ::std::option::Option<
7124 unsafe extern "C" fn(
7125 inEffectRef: PF_ProgPtr,
7126 inSourceTrack: i32,
7127 inSequenceTime: PrTime,
7128 outSDKString: *mut PrSDKString,
7129 ) -> PF_Err,
7130 >,
7131 pub IsOnAdjustmentLayer: ::std::option::Option<
7132 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outIsOnAdjustmentLayer: *mut bool) -> PF_Err,
7133 >,
7134 pub GetTrackIndexFromID: ::std::option::Option<
7135 unsafe extern "C" fn(
7136 inEffectRef: PF_ProgPtr,
7137 inSourceTrackID: i32,
7138 outTrackIndex: *mut i32,
7139 outIsAudioTrack: *mut bool,
7140 ) -> PF_Err,
7141 >,
7142 pub IsOnTransparentVideo: ::std::option::Option<
7143 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outIsOnTransparentVideo: *mut bool) -> PF_Err,
7144 >,
7145 pub GetVideoFrameRateOrAudioSampleRate: ::std::option::Option<
7146 unsafe extern "C" fn(
7147 inEffectRef: PF_ProgPtr,
7148 inSourceTrack: i32,
7149 inSequenceTime: PrTime,
7150 outTicksPerFrame: *mut PrTime,
7151 outIsAudioSampleRate: *mut bool,
7152 ) -> PF_Err,
7153 >,
7154 pub DoesTrackExist: ::std::option::Option<
7155 unsafe extern "C" fn(
7156 inEffectRef: PF_ProgPtr,
7157 inLayerParamIndex: csSDK_uint32,
7158 outTrackExists: *mut bool,
7159 ) -> PF_Err,
7160 >,
7161}
7162pub type PF_UtilitySuiteVersion1 = PF_UtilitySuite;
7163pub type PF_UtilitySuite2 = PF_UtilitySuite;
7164pub type PF_UtilitySuite3 = PF_UtilitySuite;
7165pub type PF_UtilitySuite5 = PF_UtilitySuite;
7166pub type PF_UtilitySuite6 = PF_UtilitySuite;
7167pub type PF_UtilitySuite7 = PF_UtilitySuite;
7168pub type PF_UtilitySuite8 = PF_UtilitySuite;
7169#[repr(C)]
7170#[derive(Debug, Copy, Clone)]
7171pub struct PF_SourceSettingsSuite {
7172 pub PerformSourceSettingsCommand: ::std::option::Option<
7173 unsafe extern "C" fn(
7174 inEffectRef: PF_ProgPtr,
7175 ioCommandStruct: *mut ::std::os::raw::c_void,
7176 inDataSize: csSDK_uint32,
7177 ) -> PF_Err,
7178 >,
7179 pub SetIsSourceSettingsEffect: ::std::option::Option<
7180 unsafe extern "C" fn(
7181 inEffectRef: PF_ProgPtr,
7182 inIsSourceSettingsEffect: A_Boolean,
7183 ) -> PF_Err,
7184 >,
7185}
7186pub type PF_SourceSettingsSuite2 = PF_SourceSettingsSuite;
7187#[repr(C)]
7188#[derive(Debug, Copy, Clone)]
7189pub struct PF_TransitionSuite {
7190 #[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."]
7191 pub RegisterTransitionInputParam: ::std::option::Option<
7192 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
7193 >,
7194 #[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."]
7195 pub RegisterTransitionStartParam: ::std::option::Option<
7196 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
7197 >,
7198 #[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."]
7199 pub RegisterTransitionEndParam: ::std::option::Option<
7200 unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
7201 >,
7202}
7203#[repr(C)]
7204#[derive(Debug, Copy, Clone)]
7205pub struct OpaqueEffectDataType {
7206 _unused: [u8; 0],
7207}
7208#[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."]
7209#[repr(C)]
7210#[derive(Debug, Copy, Clone)]
7211pub struct PrSDKOpaqueEffectDataSuite {
7212 #[doc = "Acquire 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."]
7213 pub AcquireOpaqueEffectData: ::std::option::Option<
7214 unsafe extern "C" fn(
7215 instanceID: csSDK_int32,
7216 outOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
7217 ) -> PF_Err,
7218 >,
7219 #[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"]
7220 pub RegisterOpaqueEffectData: ::std::option::Option<
7221 unsafe extern "C" fn(
7222 instanceID: csSDK_int32,
7223 ioOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
7224 ) -> PF_Err,
7225 >,
7226 #[doc = "Release 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."]
7227 pub ReleaseOpaqueEffectData: ::std::option::Option<
7228 unsafe extern "C" fn(
7229 instanceID: csSDK_int32,
7230 outDisposeOpaqueEffectDataPP: *mut *mut OpaqueEffectDataType,
7231 ) -> PF_Err,
7232 >,
7233}
7234pub const PrPixelFormatGpu_GPU_BGRA_4444_32f: PrPixelFormatGpu = 1094992704;
7235pub const PrPixelFormatGpu_GPU_BGRA_4444_16f: PrPixelFormatGpu = 1631863616;
7236pub type PrPixelFormatGpu = ::std::os::raw::c_uint;