1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gobject_sys as gobject;
17use gstreamer_base_sys as gst_base;
18use gstreamer_sys as gst;
19
20#[allow(unused_imports)]
21use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
22#[cfg(unix)]
23#[allow(unused_imports)]
24use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
25#[allow(unused_imports)]
26use std::ffi::{
27 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
28};
29
30#[allow(unused_imports)]
31use glib::{GType, gboolean, gconstpointer, gpointer};
32
33pub type GstAncillaryMetaField = c_int;
35pub const GST_ANCILLARY_META_FIELD_PROGRESSIVE: GstAncillaryMetaField = 0;
36pub const GST_ANCILLARY_META_FIELD_INTERLACED_FIRST: GstAncillaryMetaField = 16;
37pub const GST_ANCILLARY_META_FIELD_INTERLACED_SECOND: GstAncillaryMetaField = 17;
38
39pub type GstColorBalanceType = c_int;
40pub const GST_COLOR_BALANCE_HARDWARE: GstColorBalanceType = 0;
41pub const GST_COLOR_BALANCE_SOFTWARE: GstColorBalanceType = 1;
42
43pub type GstNavigationCommand = c_int;
44pub const GST_NAVIGATION_COMMAND_INVALID: GstNavigationCommand = 0;
45pub const GST_NAVIGATION_COMMAND_MENU1: GstNavigationCommand = 1;
46pub const GST_NAVIGATION_COMMAND_MENU2: GstNavigationCommand = 2;
47pub const GST_NAVIGATION_COMMAND_MENU3: GstNavigationCommand = 3;
48pub const GST_NAVIGATION_COMMAND_MENU4: GstNavigationCommand = 4;
49pub const GST_NAVIGATION_COMMAND_MENU5: GstNavigationCommand = 5;
50pub const GST_NAVIGATION_COMMAND_MENU6: GstNavigationCommand = 6;
51pub const GST_NAVIGATION_COMMAND_MENU7: GstNavigationCommand = 7;
52pub const GST_NAVIGATION_COMMAND_LEFT: GstNavigationCommand = 20;
53pub const GST_NAVIGATION_COMMAND_RIGHT: GstNavigationCommand = 21;
54pub const GST_NAVIGATION_COMMAND_UP: GstNavigationCommand = 22;
55pub const GST_NAVIGATION_COMMAND_DOWN: GstNavigationCommand = 23;
56pub const GST_NAVIGATION_COMMAND_ACTIVATE: GstNavigationCommand = 24;
57pub const GST_NAVIGATION_COMMAND_PREV_ANGLE: GstNavigationCommand = 30;
58pub const GST_NAVIGATION_COMMAND_NEXT_ANGLE: GstNavigationCommand = 31;
59
60pub type GstNavigationEventType = c_int;
61pub const GST_NAVIGATION_EVENT_INVALID: GstNavigationEventType = 0;
62pub const GST_NAVIGATION_EVENT_KEY_PRESS: GstNavigationEventType = 1;
63pub const GST_NAVIGATION_EVENT_KEY_RELEASE: GstNavigationEventType = 2;
64pub const GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS: GstNavigationEventType = 3;
65pub const GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE: GstNavigationEventType = 4;
66pub const GST_NAVIGATION_EVENT_MOUSE_MOVE: GstNavigationEventType = 5;
67pub const GST_NAVIGATION_EVENT_COMMAND: GstNavigationEventType = 6;
68#[cfg(feature = "v1_18")]
69#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
70pub const GST_NAVIGATION_EVENT_MOUSE_SCROLL: GstNavigationEventType = 7;
71#[cfg(feature = "v1_22")]
72#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
73pub const GST_NAVIGATION_EVENT_TOUCH_DOWN: GstNavigationEventType = 8;
74#[cfg(feature = "v1_22")]
75#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
76pub const GST_NAVIGATION_EVENT_TOUCH_MOTION: GstNavigationEventType = 9;
77#[cfg(feature = "v1_22")]
78#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
79pub const GST_NAVIGATION_EVENT_TOUCH_UP: GstNavigationEventType = 10;
80#[cfg(feature = "v1_22")]
81#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
82pub const GST_NAVIGATION_EVENT_TOUCH_FRAME: GstNavigationEventType = 11;
83#[cfg(feature = "v1_22")]
84#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
85pub const GST_NAVIGATION_EVENT_TOUCH_CANCEL: GstNavigationEventType = 12;
86#[cfg(feature = "v1_26")]
87#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
88pub const GST_NAVIGATION_EVENT_MOUSE_DOUBLE_CLICK: GstNavigationEventType = 13;
89
90pub type GstNavigationMessageType = c_int;
91pub const GST_NAVIGATION_MESSAGE_INVALID: GstNavigationMessageType = 0;
92pub const GST_NAVIGATION_MESSAGE_MOUSE_OVER: GstNavigationMessageType = 1;
93pub const GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED: GstNavigationMessageType = 2;
94pub const GST_NAVIGATION_MESSAGE_ANGLES_CHANGED: GstNavigationMessageType = 3;
95pub const GST_NAVIGATION_MESSAGE_EVENT: GstNavigationMessageType = 4;
96
97pub type GstNavigationQueryType = c_int;
98pub const GST_NAVIGATION_QUERY_INVALID: GstNavigationQueryType = 0;
99pub const GST_NAVIGATION_QUERY_COMMANDS: GstNavigationQueryType = 1;
100pub const GST_NAVIGATION_QUERY_ANGLES: GstNavigationQueryType = 2;
101
102pub type GstVideoAFDSpec = c_int;
103pub const GST_VIDEO_AFD_SPEC_DVB_ETSI: GstVideoAFDSpec = 0;
104pub const GST_VIDEO_AFD_SPEC_ATSC_A53: GstVideoAFDSpec = 1;
105pub const GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1: GstVideoAFDSpec = 2;
106
107pub type GstVideoAFDValue = c_int;
108pub const GST_VIDEO_AFD_UNAVAILABLE: GstVideoAFDValue = 0;
109pub const GST_VIDEO_AFD_16_9_TOP_ALIGNED: GstVideoAFDValue = 2;
110pub const GST_VIDEO_AFD_14_9_TOP_ALIGNED: GstVideoAFDValue = 3;
111pub const GST_VIDEO_AFD_GREATER_THAN_16_9: GstVideoAFDValue = 4;
112pub const GST_VIDEO_AFD_4_3_FULL_16_9_FULL: GstVideoAFDValue = 8;
113pub const GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR: GstVideoAFDValue = 9;
114pub const GST_VIDEO_AFD_16_9_LETTER_16_9_FULL: GstVideoAFDValue = 10;
115pub const GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR: GstVideoAFDValue = 11;
116pub const GST_VIDEO_AFD_4_3_FULL_14_9_CENTER: GstVideoAFDValue = 13;
117pub const GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER: GstVideoAFDValue = 14;
118pub const GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER: GstVideoAFDValue = 15;
119
120pub type GstVideoAlphaMode = c_int;
121pub const GST_VIDEO_ALPHA_MODE_COPY: GstVideoAlphaMode = 0;
122pub const GST_VIDEO_ALPHA_MODE_SET: GstVideoAlphaMode = 1;
123pub const GST_VIDEO_ALPHA_MODE_MULT: GstVideoAlphaMode = 2;
124
125pub type GstVideoAncillaryDID = c_int;
126pub const GST_VIDEO_ANCILLARY_DID_UNDEFINED: GstVideoAncillaryDID = 0;
127pub const GST_VIDEO_ANCILLARY_DID_DELETION: GstVideoAncillaryDID = 128;
128pub const GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST: GstVideoAncillaryDID = 160;
129pub const GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST: GstVideoAncillaryDID = 167;
130pub const GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST: GstVideoAncillaryDID = 224;
131pub const GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST: GstVideoAncillaryDID = 231;
132pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST: GstVideoAncillaryDID = 236;
133pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST: GstVideoAncillaryDID = 239;
134pub const GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION: GstVideoAncillaryDID = 240;
135pub const GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION: GstVideoAncillaryDID = 244;
136pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST: GstVideoAncillaryDID = 248;
137pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST: GstVideoAncillaryDID = 255;
138
139pub type GstVideoAncillaryDID16 = c_int;
140pub const GST_VIDEO_ANCILLARY_DID16_S334_EIA_708: GstVideoAncillaryDID16 = 24833;
141pub const GST_VIDEO_ANCILLARY_DID16_S334_EIA_608: GstVideoAncillaryDID16 = 24834;
142pub const GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR: GstVideoAncillaryDID16 = 16645;
143
144pub type GstVideoCaptionType = c_int;
145pub const GST_VIDEO_CAPTION_TYPE_UNKNOWN: GstVideoCaptionType = 0;
146pub const GST_VIDEO_CAPTION_TYPE_CEA608_RAW: GstVideoCaptionType = 1;
147pub const GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A: GstVideoCaptionType = 2;
148pub const GST_VIDEO_CAPTION_TYPE_CEA708_RAW: GstVideoCaptionType = 3;
149pub const GST_VIDEO_CAPTION_TYPE_CEA708_CDP: GstVideoCaptionType = 4;
150
151pub type GstVideoChromaMethod = c_int;
152pub const GST_VIDEO_CHROMA_METHOD_NEAREST: GstVideoChromaMethod = 0;
153pub const GST_VIDEO_CHROMA_METHOD_LINEAR: GstVideoChromaMethod = 1;
154
155pub type GstVideoChromaMode = c_int;
156pub const GST_VIDEO_CHROMA_MODE_FULL: GstVideoChromaMode = 0;
157pub const GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY: GstVideoChromaMode = 1;
158pub const GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY: GstVideoChromaMode = 2;
159pub const GST_VIDEO_CHROMA_MODE_NONE: GstVideoChromaMode = 3;
160
161pub type GstVideoColorMatrix = c_int;
162pub const GST_VIDEO_COLOR_MATRIX_UNKNOWN: GstVideoColorMatrix = 0;
163pub const GST_VIDEO_COLOR_MATRIX_RGB: GstVideoColorMatrix = 1;
164pub const GST_VIDEO_COLOR_MATRIX_FCC: GstVideoColorMatrix = 2;
165pub const GST_VIDEO_COLOR_MATRIX_BT709: GstVideoColorMatrix = 3;
166pub const GST_VIDEO_COLOR_MATRIX_BT601: GstVideoColorMatrix = 4;
167pub const GST_VIDEO_COLOR_MATRIX_SMPTE240M: GstVideoColorMatrix = 5;
168pub const GST_VIDEO_COLOR_MATRIX_BT2020: GstVideoColorMatrix = 6;
169
170pub type GstVideoColorPrimaries = c_int;
171pub const GST_VIDEO_COLOR_PRIMARIES_UNKNOWN: GstVideoColorPrimaries = 0;
172pub const GST_VIDEO_COLOR_PRIMARIES_BT709: GstVideoColorPrimaries = 1;
173pub const GST_VIDEO_COLOR_PRIMARIES_BT470M: GstVideoColorPrimaries = 2;
174pub const GST_VIDEO_COLOR_PRIMARIES_BT470BG: GstVideoColorPrimaries = 3;
175pub const GST_VIDEO_COLOR_PRIMARIES_SMPTE170M: GstVideoColorPrimaries = 4;
176pub const GST_VIDEO_COLOR_PRIMARIES_SMPTE240M: GstVideoColorPrimaries = 5;
177pub const GST_VIDEO_COLOR_PRIMARIES_FILM: GstVideoColorPrimaries = 6;
178pub const GST_VIDEO_COLOR_PRIMARIES_BT2020: GstVideoColorPrimaries = 7;
179pub const GST_VIDEO_COLOR_PRIMARIES_ADOBERGB: GstVideoColorPrimaries = 8;
180pub const GST_VIDEO_COLOR_PRIMARIES_SMPTEST428: GstVideoColorPrimaries = 9;
181pub const GST_VIDEO_COLOR_PRIMARIES_SMPTERP431: GstVideoColorPrimaries = 10;
182pub const GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432: GstVideoColorPrimaries = 11;
183pub const GST_VIDEO_COLOR_PRIMARIES_EBU3213: GstVideoColorPrimaries = 12;
184
185pub type GstVideoColorRange = c_int;
186pub const GST_VIDEO_COLOR_RANGE_UNKNOWN: GstVideoColorRange = 0;
187pub const GST_VIDEO_COLOR_RANGE_0_255: GstVideoColorRange = 1;
188pub const GST_VIDEO_COLOR_RANGE_16_235: GstVideoColorRange = 2;
189#[cfg(feature = "v1_30")]
190#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
191pub const GST_VIDEO_COLOR_RANGE_0_1: GstVideoColorRange = 3;
192
193pub type GstVideoDitherMethod = c_int;
194pub const GST_VIDEO_DITHER_NONE: GstVideoDitherMethod = 0;
195pub const GST_VIDEO_DITHER_VERTERR: GstVideoDitherMethod = 1;
196pub const GST_VIDEO_DITHER_FLOYD_STEINBERG: GstVideoDitherMethod = 2;
197pub const GST_VIDEO_DITHER_SIERRA_LITE: GstVideoDitherMethod = 3;
198pub const GST_VIDEO_DITHER_BAYER: GstVideoDitherMethod = 4;
199
200pub type GstVideoFieldOrder = c_int;
201pub const GST_VIDEO_FIELD_ORDER_UNKNOWN: GstVideoFieldOrder = 0;
202pub const GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST: GstVideoFieldOrder = 1;
203pub const GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST: GstVideoFieldOrder = 2;
204
205pub type GstVideoFormat = c_int;
206pub const GST_VIDEO_FORMAT_UNKNOWN: GstVideoFormat = 0;
207pub const GST_VIDEO_FORMAT_ENCODED: GstVideoFormat = 1;
208pub const GST_VIDEO_FORMAT_I420: GstVideoFormat = 2;
209pub const GST_VIDEO_FORMAT_YV12: GstVideoFormat = 3;
210pub const GST_VIDEO_FORMAT_YUY2: GstVideoFormat = 4;
211pub const GST_VIDEO_FORMAT_UYVY: GstVideoFormat = 5;
212pub const GST_VIDEO_FORMAT_AYUV: GstVideoFormat = 6;
213pub const GST_VIDEO_FORMAT_RGBx: GstVideoFormat = 7;
214pub const GST_VIDEO_FORMAT_BGRx: GstVideoFormat = 8;
215pub const GST_VIDEO_FORMAT_xRGB: GstVideoFormat = 9;
216pub const GST_VIDEO_FORMAT_xBGR: GstVideoFormat = 10;
217pub const GST_VIDEO_FORMAT_RGBA: GstVideoFormat = 11;
218pub const GST_VIDEO_FORMAT_BGRA: GstVideoFormat = 12;
219pub const GST_VIDEO_FORMAT_ARGB: GstVideoFormat = 13;
220pub const GST_VIDEO_FORMAT_ABGR: GstVideoFormat = 14;
221pub const GST_VIDEO_FORMAT_RGB: GstVideoFormat = 15;
222pub const GST_VIDEO_FORMAT_BGR: GstVideoFormat = 16;
223pub const GST_VIDEO_FORMAT_Y41B: GstVideoFormat = 17;
224pub const GST_VIDEO_FORMAT_Y42B: GstVideoFormat = 18;
225pub const GST_VIDEO_FORMAT_YVYU: GstVideoFormat = 19;
226pub const GST_VIDEO_FORMAT_Y444: GstVideoFormat = 20;
227pub const GST_VIDEO_FORMAT_v210: GstVideoFormat = 21;
228pub const GST_VIDEO_FORMAT_v216: GstVideoFormat = 22;
229pub const GST_VIDEO_FORMAT_NV12: GstVideoFormat = 23;
230pub const GST_VIDEO_FORMAT_NV21: GstVideoFormat = 24;
231pub const GST_VIDEO_FORMAT_GRAY8: GstVideoFormat = 25;
232pub const GST_VIDEO_FORMAT_GRAY16_BE: GstVideoFormat = 26;
233pub const GST_VIDEO_FORMAT_GRAY16_LE: GstVideoFormat = 27;
234pub const GST_VIDEO_FORMAT_v308: GstVideoFormat = 28;
235pub const GST_VIDEO_FORMAT_RGB16: GstVideoFormat = 29;
236pub const GST_VIDEO_FORMAT_BGR16: GstVideoFormat = 30;
237pub const GST_VIDEO_FORMAT_RGB15: GstVideoFormat = 31;
238pub const GST_VIDEO_FORMAT_BGR15: GstVideoFormat = 32;
239pub const GST_VIDEO_FORMAT_UYVP: GstVideoFormat = 33;
240pub const GST_VIDEO_FORMAT_A420: GstVideoFormat = 34;
241pub const GST_VIDEO_FORMAT_RGB8P: GstVideoFormat = 35;
242pub const GST_VIDEO_FORMAT_YUV9: GstVideoFormat = 36;
243pub const GST_VIDEO_FORMAT_YVU9: GstVideoFormat = 37;
244pub const GST_VIDEO_FORMAT_IYU1: GstVideoFormat = 38;
245pub const GST_VIDEO_FORMAT_ARGB64: GstVideoFormat = 39;
246pub const GST_VIDEO_FORMAT_AYUV64: GstVideoFormat = 40;
247pub const GST_VIDEO_FORMAT_r210: GstVideoFormat = 41;
248pub const GST_VIDEO_FORMAT_I420_10BE: GstVideoFormat = 42;
249pub const GST_VIDEO_FORMAT_I420_10LE: GstVideoFormat = 43;
250pub const GST_VIDEO_FORMAT_I422_10BE: GstVideoFormat = 44;
251pub const GST_VIDEO_FORMAT_I422_10LE: GstVideoFormat = 45;
252pub const GST_VIDEO_FORMAT_Y444_10BE: GstVideoFormat = 46;
253pub const GST_VIDEO_FORMAT_Y444_10LE: GstVideoFormat = 47;
254pub const GST_VIDEO_FORMAT_GBR: GstVideoFormat = 48;
255pub const GST_VIDEO_FORMAT_GBR_10BE: GstVideoFormat = 49;
256pub const GST_VIDEO_FORMAT_GBR_10LE: GstVideoFormat = 50;
257pub const GST_VIDEO_FORMAT_NV16: GstVideoFormat = 51;
258pub const GST_VIDEO_FORMAT_NV24: GstVideoFormat = 52;
259pub const GST_VIDEO_FORMAT_NV12_64Z32: GstVideoFormat = 53;
260pub const GST_VIDEO_FORMAT_A420_10BE: GstVideoFormat = 54;
261pub const GST_VIDEO_FORMAT_A420_10LE: GstVideoFormat = 55;
262pub const GST_VIDEO_FORMAT_A422_10BE: GstVideoFormat = 56;
263pub const GST_VIDEO_FORMAT_A422_10LE: GstVideoFormat = 57;
264pub const GST_VIDEO_FORMAT_A444_10BE: GstVideoFormat = 58;
265pub const GST_VIDEO_FORMAT_A444_10LE: GstVideoFormat = 59;
266pub const GST_VIDEO_FORMAT_NV61: GstVideoFormat = 60;
267pub const GST_VIDEO_FORMAT_P010_10BE: GstVideoFormat = 61;
268pub const GST_VIDEO_FORMAT_P010_10LE: GstVideoFormat = 62;
269pub const GST_VIDEO_FORMAT_IYU2: GstVideoFormat = 63;
270pub const GST_VIDEO_FORMAT_VYUY: GstVideoFormat = 64;
271pub const GST_VIDEO_FORMAT_GBRA: GstVideoFormat = 65;
272pub const GST_VIDEO_FORMAT_GBRA_10BE: GstVideoFormat = 66;
273pub const GST_VIDEO_FORMAT_GBRA_10LE: GstVideoFormat = 67;
274pub const GST_VIDEO_FORMAT_GBR_12BE: GstVideoFormat = 68;
275pub const GST_VIDEO_FORMAT_GBR_12LE: GstVideoFormat = 69;
276pub const GST_VIDEO_FORMAT_GBRA_12BE: GstVideoFormat = 70;
277pub const GST_VIDEO_FORMAT_GBRA_12LE: GstVideoFormat = 71;
278pub const GST_VIDEO_FORMAT_I420_12BE: GstVideoFormat = 72;
279pub const GST_VIDEO_FORMAT_I420_12LE: GstVideoFormat = 73;
280pub const GST_VIDEO_FORMAT_I422_12BE: GstVideoFormat = 74;
281pub const GST_VIDEO_FORMAT_I422_12LE: GstVideoFormat = 75;
282pub const GST_VIDEO_FORMAT_Y444_12BE: GstVideoFormat = 76;
283pub const GST_VIDEO_FORMAT_Y444_12LE: GstVideoFormat = 77;
284pub const GST_VIDEO_FORMAT_GRAY10_LE32: GstVideoFormat = 78;
285pub const GST_VIDEO_FORMAT_NV12_10LE32: GstVideoFormat = 79;
286pub const GST_VIDEO_FORMAT_NV16_10LE32: GstVideoFormat = 80;
287pub const GST_VIDEO_FORMAT_NV12_10LE40: GstVideoFormat = 81;
288pub const GST_VIDEO_FORMAT_Y210: GstVideoFormat = 82;
289pub const GST_VIDEO_FORMAT_Y410: GstVideoFormat = 83;
290pub const GST_VIDEO_FORMAT_VUYA: GstVideoFormat = 84;
291pub const GST_VIDEO_FORMAT_BGR10A2_LE: GstVideoFormat = 85;
292pub const GST_VIDEO_FORMAT_RGB10A2_LE: GstVideoFormat = 86;
293pub const GST_VIDEO_FORMAT_Y444_16BE: GstVideoFormat = 87;
294pub const GST_VIDEO_FORMAT_Y444_16LE: GstVideoFormat = 88;
295pub const GST_VIDEO_FORMAT_P016_BE: GstVideoFormat = 89;
296pub const GST_VIDEO_FORMAT_P016_LE: GstVideoFormat = 90;
297pub const GST_VIDEO_FORMAT_P012_BE: GstVideoFormat = 91;
298pub const GST_VIDEO_FORMAT_P012_LE: GstVideoFormat = 92;
299pub const GST_VIDEO_FORMAT_Y212_BE: GstVideoFormat = 93;
300pub const GST_VIDEO_FORMAT_Y212_LE: GstVideoFormat = 94;
301pub const GST_VIDEO_FORMAT_Y412_BE: GstVideoFormat = 95;
302pub const GST_VIDEO_FORMAT_Y412_LE: GstVideoFormat = 96;
303#[cfg(feature = "v1_18")]
304#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
305pub const GST_VIDEO_FORMAT_NV12_4L4: GstVideoFormat = 97;
306#[cfg(feature = "v1_18")]
307#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
308pub const GST_VIDEO_FORMAT_NV12_32L32: GstVideoFormat = 98;
309#[cfg(feature = "v1_20")]
310#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
311pub const GST_VIDEO_FORMAT_RGBP: GstVideoFormat = 99;
312#[cfg(feature = "v1_20")]
313#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
314pub const GST_VIDEO_FORMAT_BGRP: GstVideoFormat = 100;
315#[cfg(feature = "v1_20")]
316#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
317pub const GST_VIDEO_FORMAT_AV12: GstVideoFormat = 101;
318#[cfg(feature = "v1_20")]
319#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
320pub const GST_VIDEO_FORMAT_ARGB64_LE: GstVideoFormat = 102;
321#[cfg(feature = "v1_20")]
322#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
323pub const GST_VIDEO_FORMAT_ARGB64_BE: GstVideoFormat = 103;
324#[cfg(feature = "v1_20")]
325#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
326pub const GST_VIDEO_FORMAT_RGBA64_LE: GstVideoFormat = 104;
327#[cfg(feature = "v1_20")]
328#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
329pub const GST_VIDEO_FORMAT_RGBA64_BE: GstVideoFormat = 105;
330#[cfg(feature = "v1_20")]
331#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
332pub const GST_VIDEO_FORMAT_BGRA64_LE: GstVideoFormat = 106;
333#[cfg(feature = "v1_20")]
334#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
335pub const GST_VIDEO_FORMAT_BGRA64_BE: GstVideoFormat = 107;
336#[cfg(feature = "v1_20")]
337#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
338pub const GST_VIDEO_FORMAT_ABGR64_LE: GstVideoFormat = 108;
339#[cfg(feature = "v1_20")]
340#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
341pub const GST_VIDEO_FORMAT_ABGR64_BE: GstVideoFormat = 109;
342#[cfg(feature = "v1_22")]
343#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
344pub const GST_VIDEO_FORMAT_NV12_16L32S: GstVideoFormat = 110;
345#[cfg(feature = "v1_22")]
346#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
347pub const GST_VIDEO_FORMAT_NV12_8L128: GstVideoFormat = 111;
348#[cfg(feature = "v1_22")]
349#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
350pub const GST_VIDEO_FORMAT_NV12_10BE_8L128: GstVideoFormat = 112;
351#[cfg(feature = "v1_24")]
352#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
353pub const GST_VIDEO_FORMAT_NV12_10LE40_4L4: GstVideoFormat = 113;
354#[cfg(feature = "v1_24")]
355#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
356pub const GST_VIDEO_FORMAT_DMA_DRM: GstVideoFormat = 114;
357#[cfg(feature = "v1_24")]
358#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
359pub const GST_VIDEO_FORMAT_MT2110T: GstVideoFormat = 115;
360#[cfg(feature = "v1_24")]
361#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
362pub const GST_VIDEO_FORMAT_MT2110R: GstVideoFormat = 116;
363#[cfg(feature = "v1_24")]
364#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
365pub const GST_VIDEO_FORMAT_A422: GstVideoFormat = 117;
366#[cfg(feature = "v1_24")]
367#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
368pub const GST_VIDEO_FORMAT_A444: GstVideoFormat = 118;
369#[cfg(feature = "v1_24")]
370#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
371pub const GST_VIDEO_FORMAT_A444_12LE: GstVideoFormat = 119;
372#[cfg(feature = "v1_24")]
373#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
374pub const GST_VIDEO_FORMAT_A444_12BE: GstVideoFormat = 120;
375#[cfg(feature = "v1_24")]
376#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
377pub const GST_VIDEO_FORMAT_A422_12LE: GstVideoFormat = 121;
378#[cfg(feature = "v1_24")]
379#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
380pub const GST_VIDEO_FORMAT_A422_12BE: GstVideoFormat = 122;
381#[cfg(feature = "v1_24")]
382#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
383pub const GST_VIDEO_FORMAT_A420_12LE: GstVideoFormat = 123;
384#[cfg(feature = "v1_24")]
385#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
386pub const GST_VIDEO_FORMAT_A420_12BE: GstVideoFormat = 124;
387#[cfg(feature = "v1_24")]
388#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
389pub const GST_VIDEO_FORMAT_A444_16LE: GstVideoFormat = 125;
390#[cfg(feature = "v1_24")]
391#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
392pub const GST_VIDEO_FORMAT_A444_16BE: GstVideoFormat = 126;
393#[cfg(feature = "v1_24")]
394#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
395pub const GST_VIDEO_FORMAT_A422_16LE: GstVideoFormat = 127;
396#[cfg(feature = "v1_24")]
397#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
398pub const GST_VIDEO_FORMAT_A422_16BE: GstVideoFormat = 128;
399#[cfg(feature = "v1_24")]
400#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
401pub const GST_VIDEO_FORMAT_A420_16LE: GstVideoFormat = 129;
402#[cfg(feature = "v1_24")]
403#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
404pub const GST_VIDEO_FORMAT_A420_16BE: GstVideoFormat = 130;
405#[cfg(feature = "v1_24")]
406#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
407pub const GST_VIDEO_FORMAT_GBR_16LE: GstVideoFormat = 131;
408#[cfg(feature = "v1_24")]
409#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
410pub const GST_VIDEO_FORMAT_GBR_16BE: GstVideoFormat = 132;
411#[cfg(feature = "v1_24")]
412#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
413pub const GST_VIDEO_FORMAT_RBGA: GstVideoFormat = 133;
414#[cfg(feature = "v1_26")]
415#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
416pub const GST_VIDEO_FORMAT_Y216_LE: GstVideoFormat = 134;
417#[cfg(feature = "v1_26")]
418#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
419pub const GST_VIDEO_FORMAT_Y216_BE: GstVideoFormat = 135;
420#[cfg(feature = "v1_26")]
421#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
422pub const GST_VIDEO_FORMAT_Y416_LE: GstVideoFormat = 136;
423#[cfg(feature = "v1_26")]
424#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
425pub const GST_VIDEO_FORMAT_Y416_BE: GstVideoFormat = 137;
426#[cfg(feature = "v1_26")]
427#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
428pub const GST_VIDEO_FORMAT_GRAY10_LE16: GstVideoFormat = 138;
429#[cfg(feature = "v1_28")]
430#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
431pub const GST_VIDEO_FORMAT_NV16_10LE40: GstVideoFormat = 139;
432#[cfg(feature = "v1_28")]
433#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
434pub const GST_VIDEO_FORMAT_BGR10x2_LE: GstVideoFormat = 140;
435#[cfg(feature = "v1_28")]
436#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
437pub const GST_VIDEO_FORMAT_RGB10x2_LE: GstVideoFormat = 141;
438#[cfg(feature = "v1_30")]
439#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
440pub const GST_VIDEO_FORMAT_AHARDWARE_BUFFER: GstVideoFormat = 142;
441#[cfg(feature = "v1_30")]
442#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
443pub const GST_VIDEO_FORMAT_RGBA_F16LE: GstVideoFormat = 143;
444#[cfg(feature = "v1_30")]
445#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
446pub const GST_VIDEO_FORMAT_RGBA_F16BE: GstVideoFormat = 144;
447#[cfg(feature = "v1_30")]
448#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
449pub const GST_VIDEO_FORMAT_RGBA_F32LE: GstVideoFormat = 145;
450#[cfg(feature = "v1_30")]
451#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
452pub const GST_VIDEO_FORMAT_RGBA_F32BE: GstVideoFormat = 146;
453#[cfg(feature = "v1_30")]
454#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
455pub const GST_VIDEO_FORMAT_ARGB_F32: GstVideoFormat = 147;
456#[cfg(feature = "v1_30")]
457#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
458pub const GST_VIDEO_FORMAT_RGBP_F16LE: GstVideoFormat = 148;
459#[cfg(feature = "v1_30")]
460#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
461pub const GST_VIDEO_FORMAT_RGBP_F16BE: GstVideoFormat = 149;
462#[cfg(feature = "v1_30")]
463#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
464pub const GST_VIDEO_FORMAT_RGBP_F32LE: GstVideoFormat = 150;
465#[cfg(feature = "v1_30")]
466#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
467pub const GST_VIDEO_FORMAT_RGBP_F32BE: GstVideoFormat = 151;
468#[cfg(feature = "v1_30")]
469#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
470pub const GST_VIDEO_FORMAT_RGB_F16LE: GstVideoFormat = 152;
471#[cfg(feature = "v1_30")]
472#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
473pub const GST_VIDEO_FORMAT_RGB_F16BE: GstVideoFormat = 153;
474#[cfg(feature = "v1_30")]
475#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
476pub const GST_VIDEO_FORMAT_RGB_F32LE: GstVideoFormat = 154;
477#[cfg(feature = "v1_30")]
478#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
479pub const GST_VIDEO_FORMAT_RGB_F32BE: GstVideoFormat = 155;
480#[cfg(feature = "v1_30")]
481#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
482pub const GST_VIDEO_FORMAT_AYUV_F32: GstVideoFormat = 156;
483#[cfg(feature = "v1_30")]
484#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
485pub const GST_VIDEO_FORMAT_GRAY_F16LE: GstVideoFormat = 157;
486#[cfg(feature = "v1_30")]
487#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
488pub const GST_VIDEO_FORMAT_GRAY_F16BE: GstVideoFormat = 158;
489#[cfg(feature = "v1_30")]
490#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
491pub const GST_VIDEO_FORMAT_GRAY_F32LE: GstVideoFormat = 159;
492#[cfg(feature = "v1_30")]
493#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
494pub const GST_VIDEO_FORMAT_GRAY_F32BE: GstVideoFormat = 160;
495
496pub type GstVideoGLTextureOrientation = c_int;
497pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL: GstVideoGLTextureOrientation = 0;
498pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP: GstVideoGLTextureOrientation = 1;
499pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL: GstVideoGLTextureOrientation = 2;
500pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP: GstVideoGLTextureOrientation = 3;
501
502pub type GstVideoGLTextureType = c_int;
503pub const GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE: GstVideoGLTextureType = 0;
504pub const GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA: GstVideoGLTextureType = 1;
505pub const GST_VIDEO_GL_TEXTURE_TYPE_RGB16: GstVideoGLTextureType = 2;
506pub const GST_VIDEO_GL_TEXTURE_TYPE_RGB: GstVideoGLTextureType = 3;
507pub const GST_VIDEO_GL_TEXTURE_TYPE_RGBA: GstVideoGLTextureType = 4;
508pub const GST_VIDEO_GL_TEXTURE_TYPE_R: GstVideoGLTextureType = 5;
509pub const GST_VIDEO_GL_TEXTURE_TYPE_RG: GstVideoGLTextureType = 6;
510
511pub type GstVideoGammaMode = c_int;
512pub const GST_VIDEO_GAMMA_MODE_NONE: GstVideoGammaMode = 0;
513pub const GST_VIDEO_GAMMA_MODE_REMAP: GstVideoGammaMode = 1;
514
515pub type GstVideoHDRFormat = c_int;
516pub const GST_VIDEO_HDR_FORMAT_NONE: GstVideoHDRFormat = 0;
517pub const GST_VIDEO_HDR_FORMAT_HDR10: GstVideoHDRFormat = 1;
518pub const GST_VIDEO_HDR_FORMAT_HDR10_PLUS: GstVideoHDRFormat = 2;
519
520pub type GstVideoInterlaceMode = c_int;
521pub const GST_VIDEO_INTERLACE_MODE_PROGRESSIVE: GstVideoInterlaceMode = 0;
522pub const GST_VIDEO_INTERLACE_MODE_INTERLEAVED: GstVideoInterlaceMode = 1;
523pub const GST_VIDEO_INTERLACE_MODE_MIXED: GstVideoInterlaceMode = 2;
524pub const GST_VIDEO_INTERLACE_MODE_FIELDS: GstVideoInterlaceMode = 3;
525pub const GST_VIDEO_INTERLACE_MODE_ALTERNATE: GstVideoInterlaceMode = 4;
526
527pub type GstVideoMatrixMode = c_int;
528pub const GST_VIDEO_MATRIX_MODE_FULL: GstVideoMatrixMode = 0;
529pub const GST_VIDEO_MATRIX_MODE_INPUT_ONLY: GstVideoMatrixMode = 1;
530pub const GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY: GstVideoMatrixMode = 2;
531pub const GST_VIDEO_MATRIX_MODE_NONE: GstVideoMatrixMode = 3;
532
533pub type GstVideoMultiviewFramePacking = c_int;
534pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE: GstVideoMultiviewFramePacking = -1;
535pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO: GstVideoMultiviewFramePacking = 0;
536pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT: GstVideoMultiviewFramePacking = 1;
537pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT: GstVideoMultiviewFramePacking = 2;
538pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE: GstVideoMultiviewFramePacking = 3;
539pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX: GstVideoMultiviewFramePacking =
540 4;
541pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED: GstVideoMultiviewFramePacking = 5;
542pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED: GstVideoMultiviewFramePacking = 6;
543pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM: GstVideoMultiviewFramePacking = 7;
544pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD: GstVideoMultiviewFramePacking = 8;
545
546pub type GstVideoMultiviewMode = c_int;
547pub const GST_VIDEO_MULTIVIEW_MODE_NONE: GstVideoMultiviewMode = -1;
548pub const GST_VIDEO_MULTIVIEW_MODE_MONO: GstVideoMultiviewMode = 0;
549pub const GST_VIDEO_MULTIVIEW_MODE_LEFT: GstVideoMultiviewMode = 1;
550pub const GST_VIDEO_MULTIVIEW_MODE_RIGHT: GstVideoMultiviewMode = 2;
551pub const GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE: GstVideoMultiviewMode = 3;
552pub const GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX: GstVideoMultiviewMode = 4;
553pub const GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED: GstVideoMultiviewMode = 5;
554pub const GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED: GstVideoMultiviewMode = 6;
555pub const GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM: GstVideoMultiviewMode = 7;
556pub const GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD: GstVideoMultiviewMode = 8;
557pub const GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME: GstVideoMultiviewMode = 32;
558pub const GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME: GstVideoMultiviewMode = 33;
559pub const GST_VIDEO_MULTIVIEW_MODE_SEPARATED: GstVideoMultiviewMode = 34;
560
561pub type GstVideoOrientationMethod = c_int;
562pub const GST_VIDEO_ORIENTATION_IDENTITY: GstVideoOrientationMethod = 0;
563pub const GST_VIDEO_ORIENTATION_90R: GstVideoOrientationMethod = 1;
564pub const GST_VIDEO_ORIENTATION_180: GstVideoOrientationMethod = 2;
565pub const GST_VIDEO_ORIENTATION_90L: GstVideoOrientationMethod = 3;
566pub const GST_VIDEO_ORIENTATION_HORIZ: GstVideoOrientationMethod = 4;
567pub const GST_VIDEO_ORIENTATION_VERT: GstVideoOrientationMethod = 5;
568pub const GST_VIDEO_ORIENTATION_UL_LR: GstVideoOrientationMethod = 6;
569pub const GST_VIDEO_ORIENTATION_UR_LL: GstVideoOrientationMethod = 7;
570pub const GST_VIDEO_ORIENTATION_AUTO: GstVideoOrientationMethod = 8;
571pub const GST_VIDEO_ORIENTATION_CUSTOM: GstVideoOrientationMethod = 9;
572
573pub type GstVideoPrimariesMode = c_int;
574pub const GST_VIDEO_PRIMARIES_MODE_NONE: GstVideoPrimariesMode = 0;
575pub const GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY: GstVideoPrimariesMode = 1;
576pub const GST_VIDEO_PRIMARIES_MODE_FAST: GstVideoPrimariesMode = 2;
577
578pub type GstVideoResamplerMethod = c_int;
579pub const GST_VIDEO_RESAMPLER_METHOD_NEAREST: GstVideoResamplerMethod = 0;
580pub const GST_VIDEO_RESAMPLER_METHOD_LINEAR: GstVideoResamplerMethod = 1;
581pub const GST_VIDEO_RESAMPLER_METHOD_CUBIC: GstVideoResamplerMethod = 2;
582pub const GST_VIDEO_RESAMPLER_METHOD_SINC: GstVideoResamplerMethod = 3;
583pub const GST_VIDEO_RESAMPLER_METHOD_LANCZOS: GstVideoResamplerMethod = 4;
584
585pub type GstVideoTileMode = c_int;
586pub const GST_VIDEO_TILE_MODE_UNKNOWN: GstVideoTileMode = 0;
587pub const GST_VIDEO_TILE_MODE_ZFLIPZ_2X2: GstVideoTileMode = 65536;
588#[cfg(feature = "v1_18")]
589#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
590pub const GST_VIDEO_TILE_MODE_LINEAR: GstVideoTileMode = 131072;
591
592pub type GstVideoTileType = c_int;
593pub const GST_VIDEO_TILE_TYPE_INDEXED: GstVideoTileType = 0;
594
595pub type GstVideoTransferFunction = c_int;
596pub const GST_VIDEO_TRANSFER_UNKNOWN: GstVideoTransferFunction = 0;
597pub const GST_VIDEO_TRANSFER_GAMMA10: GstVideoTransferFunction = 1;
598pub const GST_VIDEO_TRANSFER_GAMMA18: GstVideoTransferFunction = 2;
599pub const GST_VIDEO_TRANSFER_GAMMA20: GstVideoTransferFunction = 3;
600pub const GST_VIDEO_TRANSFER_GAMMA22: GstVideoTransferFunction = 4;
601pub const GST_VIDEO_TRANSFER_BT709: GstVideoTransferFunction = 5;
602pub const GST_VIDEO_TRANSFER_SMPTE240M: GstVideoTransferFunction = 6;
603pub const GST_VIDEO_TRANSFER_SRGB: GstVideoTransferFunction = 7;
604pub const GST_VIDEO_TRANSFER_GAMMA28: GstVideoTransferFunction = 8;
605pub const GST_VIDEO_TRANSFER_LOG100: GstVideoTransferFunction = 9;
606pub const GST_VIDEO_TRANSFER_LOG316: GstVideoTransferFunction = 10;
607pub const GST_VIDEO_TRANSFER_BT2020_12: GstVideoTransferFunction = 11;
608pub const GST_VIDEO_TRANSFER_ADOBERGB: GstVideoTransferFunction = 12;
609pub const GST_VIDEO_TRANSFER_BT2020_10: GstVideoTransferFunction = 13;
610pub const GST_VIDEO_TRANSFER_SMPTE2084: GstVideoTransferFunction = 14;
611pub const GST_VIDEO_TRANSFER_ARIB_STD_B67: GstVideoTransferFunction = 15;
612#[cfg(feature = "v1_18")]
613#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
614pub const GST_VIDEO_TRANSFER_BT601: GstVideoTransferFunction = 16;
615
616pub type GstVideoVBIParserResult = c_int;
617pub const GST_VIDEO_VBI_PARSER_RESULT_DONE: GstVideoVBIParserResult = 0;
618pub const GST_VIDEO_VBI_PARSER_RESULT_OK: GstVideoVBIParserResult = 1;
619pub const GST_VIDEO_VBI_PARSER_RESULT_ERROR: GstVideoVBIParserResult = 2;
620
621pub const GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META: &[u8] =
623 b"GstBufferPoolOptionVideoAffineTransformation\0";
624pub const GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT: &[u8] = b"GstBufferPoolOptionVideoAlignment\0";
625pub const GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META: &[u8] =
626 b"GstBufferPoolOptionVideoGLTextureUploadMeta\0";
627pub const GST_BUFFER_POOL_OPTION_VIDEO_META: &[u8] = b"GstBufferPoolOptionVideoMeta\0";
628pub const GST_CAPS_FEATURE_FORMAT_INTERLACED: &[u8] = b"format:Interlaced\0";
629pub const GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META: &[u8] =
630 b"meta:GstVideoAffineTransformation\0";
631pub const GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META: &[u8] =
632 b"meta:GstVideoGLTextureUploadMeta\0";
633pub const GST_CAPS_FEATURE_META_GST_VIDEO_META: &[u8] = b"meta:GstVideoMeta\0";
634pub const GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION: &[u8] =
635 b"meta:GstVideoOverlayComposition\0";
636pub const GST_META_TAG_VIDEO_COLORSPACE_STR: &[u8] = b"colorspace\0";
637pub const GST_META_TAG_VIDEO_ORIENTATION_STR: &[u8] = b"orientation\0";
638pub const GST_META_TAG_VIDEO_SIZE_STR: &[u8] = b"size\0";
639pub const GST_META_TAG_VIDEO_STR: &[u8] = b"video\0";
640pub const GST_VIDEO_COLORIMETRY_BT2020: &[u8] = b"bt2020\0";
641pub const GST_VIDEO_COLORIMETRY_BT2020_10: &[u8] = b"bt2020-10\0";
642pub const GST_VIDEO_COLORIMETRY_BT2100_HLG: &[u8] = b"bt2100-hlg\0";
643pub const GST_VIDEO_COLORIMETRY_BT2100_PQ: &[u8] = b"bt2100-pq\0";
644pub const GST_VIDEO_COLORIMETRY_BT601: &[u8] = b"bt601\0";
645pub const GST_VIDEO_COLORIMETRY_BT709: &[u8] = b"bt709\0";
646pub const GST_VIDEO_COLORIMETRY_SMPTE240M: &[u8] = b"smpte240m\0";
647pub const GST_VIDEO_COLORIMETRY_SRGB: &[u8] = b"sRGB\0";
648pub const GST_VIDEO_COMP_A: c_int = 3;
649pub const GST_VIDEO_COMP_B: c_int = 2;
650pub const GST_VIDEO_COMP_G: c_int = 1;
651pub const GST_VIDEO_COMP_INDEX: c_int = 0;
652pub const GST_VIDEO_COMP_PALETTE: c_int = 1;
653pub const GST_VIDEO_COMP_R: c_int = 0;
654pub const GST_VIDEO_COMP_U: c_int = 1;
655pub const GST_VIDEO_COMP_V: c_int = 2;
656pub const GST_VIDEO_COMP_Y: c_int = 0;
657pub const GST_VIDEO_CONVERTER_OPT_ALPHA_MODE: &[u8] = b"GstVideoConverter.alpha-mode\0";
658pub const GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE: &[u8] = b"GstVideoConverter.alpha-value\0";
659pub const GST_VIDEO_CONVERTER_OPT_ASYNC_TASKS: &[u8] = b"GstVideoConverter.async-tasks\0";
660pub const GST_VIDEO_CONVERTER_OPT_BORDER_ARGB: &[u8] = b"GstVideoConverter.border-argb\0";
661pub const GST_VIDEO_CONVERTER_OPT_CHROMA_MODE: &[u8] = b"GstVideoConverter.chroma-mode\0";
662pub const GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD: &[u8] =
663 b"GstVideoConverter.chroma-resampler-method\0";
664pub const GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT: &[u8] = b"GstVideoConverter.dest-height\0";
665pub const GST_VIDEO_CONVERTER_OPT_DEST_WIDTH: &[u8] = b"GstVideoConverter.dest-width\0";
666pub const GST_VIDEO_CONVERTER_OPT_DEST_X: &[u8] = b"GstVideoConverter.dest-x\0";
667pub const GST_VIDEO_CONVERTER_OPT_DEST_Y: &[u8] = b"GstVideoConverter.dest-y\0";
668pub const GST_VIDEO_CONVERTER_OPT_DITHER_METHOD: &[u8] = b"GstVideoConverter.dither-method\0";
669pub const GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION: &[u8] =
670 b"GstVideoConverter.dither-quantization\0";
671pub const GST_VIDEO_CONVERTER_OPT_FILL_BORDER: &[u8] = b"GstVideoConverter.fill-border\0";
672pub const GST_VIDEO_CONVERTER_OPT_GAMMA_MODE: &[u8] = b"GstVideoConverter.gamma-mode\0";
673pub const GST_VIDEO_CONVERTER_OPT_MATRIX_MODE: &[u8] = b"GstVideoConverter.matrix-mode\0";
674pub const GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE: &[u8] = b"GstVideoConverter.primaries-mode\0";
675pub const GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD: &[u8] = b"GstVideoConverter.resampler-method\0";
676pub const GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS: &[u8] = b"GstVideoConverter.resampler-taps\0";
677pub const GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT: &[u8] = b"GstVideoConverter.src-height\0";
678pub const GST_VIDEO_CONVERTER_OPT_SRC_WIDTH: &[u8] = b"GstVideoConverter.src-width\0";
679pub const GST_VIDEO_CONVERTER_OPT_SRC_X: &[u8] = b"GstVideoConverter.src-x\0";
680pub const GST_VIDEO_CONVERTER_OPT_SRC_Y: &[u8] = b"GstVideoConverter.src-y\0";
681pub const GST_VIDEO_CONVERTER_OPT_THREADS: &[u8] = b"GstVideoConverter.threads\0";
682pub const GST_VIDEO_DECODER_MAX_ERRORS: c_int = -1;
683pub const GST_VIDEO_DECODER_SINK_NAME: &[u8] = b"sink\0";
684pub const GST_VIDEO_DECODER_SRC_NAME: &[u8] = b"src\0";
685pub const GST_VIDEO_ENCODER_SINK_NAME: &[u8] = b"sink\0";
686pub const GST_VIDEO_ENCODER_SRC_NAME: &[u8] = b"src\0";
687pub const GST_VIDEO_FORMAT_LAST: c_int = 161;
688pub const GST_VIDEO_FPS_RANGE: &[u8] = b"(fraction) [ 0, max ]\0";
689pub const GST_VIDEO_HDR10_PLUS_MAX_BYTES: c_int = 1024;
690pub const GST_VIDEO_HDR10_PLUS_MAX_COLS_MD_APL: c_int = 25;
691pub const GST_VIDEO_HDR10_PLUS_MAX_ROWS_TSD_APL: c_int = 25;
692pub const GST_VIDEO_HDR10_PLUS_NUM_WINDOWS: c_int = 1;
693pub const GST_VIDEO_MAX_COMPONENTS: c_int = 4;
694pub const GST_VIDEO_MAX_PLANES: c_int = 4;
695pub const GST_VIDEO_RESAMPLER_OPT_CUBIC_B: &[u8] = b"GstVideoResampler.cubic-b\0";
696pub const GST_VIDEO_RESAMPLER_OPT_CUBIC_C: &[u8] = b"GstVideoResampler.cubic-c\0";
697pub const GST_VIDEO_RESAMPLER_OPT_ENVELOPE: &[u8] = b"GstVideoResampler.envelope\0";
698pub const GST_VIDEO_RESAMPLER_OPT_MAX_TAPS: &[u8] = b"GstVideoResampler.max-taps\0";
699pub const GST_VIDEO_RESAMPLER_OPT_SHARPEN: &[u8] = b"GstVideoResampler.sharpen\0";
700pub const GST_VIDEO_RESAMPLER_OPT_SHARPNESS: &[u8] = b"GstVideoResampler.sharpness\0";
701pub const GST_VIDEO_SCALER_OPT_DITHER_METHOD: &[u8] = b"GstVideoScaler.dither-method\0";
702pub const GST_VIDEO_SIZE_RANGE: &[u8] = b"(int) [ 1, max ]\0";
703pub const GST_VIDEO_TILE_TYPE_MASK: c_int = 65535;
704pub const GST_VIDEO_TILE_TYPE_SHIFT: c_int = 16;
705pub const GST_VIDEO_TILE_X_TILES_MASK: c_int = 65535;
706pub const GST_VIDEO_TILE_Y_TILES_SHIFT: c_int = 16;
707
708pub type GstNavigationModifierType = c_uint;
710pub const GST_NAVIGATION_MODIFIER_NONE: GstNavigationModifierType = 0;
711pub const GST_NAVIGATION_MODIFIER_SHIFT_MASK: GstNavigationModifierType = 1;
712pub const GST_NAVIGATION_MODIFIER_LOCK_MASK: GstNavigationModifierType = 2;
713pub const GST_NAVIGATION_MODIFIER_CONTROL_MASK: GstNavigationModifierType = 4;
714pub const GST_NAVIGATION_MODIFIER_MOD1_MASK: GstNavigationModifierType = 8;
715pub const GST_NAVIGATION_MODIFIER_MOD2_MASK: GstNavigationModifierType = 16;
716pub const GST_NAVIGATION_MODIFIER_MOD3_MASK: GstNavigationModifierType = 32;
717pub const GST_NAVIGATION_MODIFIER_MOD4_MASK: GstNavigationModifierType = 64;
718pub const GST_NAVIGATION_MODIFIER_MOD5_MASK: GstNavigationModifierType = 128;
719pub const GST_NAVIGATION_MODIFIER_BUTTON1_MASK: GstNavigationModifierType = 256;
720pub const GST_NAVIGATION_MODIFIER_BUTTON2_MASK: GstNavigationModifierType = 512;
721pub const GST_NAVIGATION_MODIFIER_BUTTON3_MASK: GstNavigationModifierType = 1024;
722pub const GST_NAVIGATION_MODIFIER_BUTTON4_MASK: GstNavigationModifierType = 2048;
723pub const GST_NAVIGATION_MODIFIER_BUTTON5_MASK: GstNavigationModifierType = 4096;
724pub const GST_NAVIGATION_MODIFIER_SUPER_MASK: GstNavigationModifierType = 67108864;
725pub const GST_NAVIGATION_MODIFIER_HYPER_MASK: GstNavigationModifierType = 134217728;
726pub const GST_NAVIGATION_MODIFIER_META_MASK: GstNavigationModifierType = 268435456;
727pub const GST_NAVIGATION_MODIFIER_MASK: GstNavigationModifierType = 469770239;
728
729pub type GstVideoBufferFlags = c_uint;
730pub const GST_VIDEO_BUFFER_FLAG_INTERLACED: GstVideoBufferFlags = 1048576;
731pub const GST_VIDEO_BUFFER_FLAG_TFF: GstVideoBufferFlags = 2097152;
732pub const GST_VIDEO_BUFFER_FLAG_RFF: GstVideoBufferFlags = 4194304;
733pub const GST_VIDEO_BUFFER_FLAG_ONEFIELD: GstVideoBufferFlags = 8388608;
734pub const GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW: GstVideoBufferFlags = 16777216;
735pub const GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE: GstVideoBufferFlags = 33554432;
736pub const GST_VIDEO_BUFFER_FLAG_TOP_FIELD: GstVideoBufferFlags = 10485760;
737pub const GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD: GstVideoBufferFlags = 8388608;
738pub const GST_VIDEO_BUFFER_FLAG_MARKER: GstVideoBufferFlags = 512;
739pub const GST_VIDEO_BUFFER_FLAG_LAST: GstVideoBufferFlags = 268435456;
740
741pub type GstVideoChromaFlags = c_uint;
742pub const GST_VIDEO_CHROMA_FLAG_NONE: GstVideoChromaFlags = 0;
743pub const GST_VIDEO_CHROMA_FLAG_INTERLACED: GstVideoChromaFlags = 1;
744
745pub type GstVideoChromaSite = c_uint;
746pub const GST_VIDEO_CHROMA_SITE_UNKNOWN: GstVideoChromaSite = 0;
747pub const GST_VIDEO_CHROMA_SITE_NONE: GstVideoChromaSite = 1;
748pub const GST_VIDEO_CHROMA_SITE_H_COSITED: GstVideoChromaSite = 2;
749pub const GST_VIDEO_CHROMA_SITE_V_COSITED: GstVideoChromaSite = 4;
750pub const GST_VIDEO_CHROMA_SITE_ALT_LINE: GstVideoChromaSite = 8;
751pub const GST_VIDEO_CHROMA_SITE_COSITED: GstVideoChromaSite = 6;
752pub const GST_VIDEO_CHROMA_SITE_JPEG: GstVideoChromaSite = 1;
753pub const GST_VIDEO_CHROMA_SITE_MPEG2: GstVideoChromaSite = 2;
754pub const GST_VIDEO_CHROMA_SITE_DV: GstVideoChromaSite = 14;
755
756pub type GstVideoCodecFrameFlags = c_uint;
757pub const GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY: GstVideoCodecFrameFlags = 1;
758pub const GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT: GstVideoCodecFrameFlags = 2;
759pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME: GstVideoCodecFrameFlags = 4;
760pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS: GstVideoCodecFrameFlags = 8;
761#[cfg(feature = "v1_20")]
762#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
763pub const GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED: GstVideoCodecFrameFlags = 16;
764
765pub type GstVideoDecoderRequestSyncPointFlags = c_uint;
766pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT: GstVideoDecoderRequestSyncPointFlags =
767 1;
768pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT:
769 GstVideoDecoderRequestSyncPointFlags = 2;
770
771pub type GstVideoDitherFlags = c_uint;
772pub const GST_VIDEO_DITHER_FLAG_NONE: GstVideoDitherFlags = 0;
773pub const GST_VIDEO_DITHER_FLAG_INTERLACED: GstVideoDitherFlags = 1;
774pub const GST_VIDEO_DITHER_FLAG_QUANTIZE: GstVideoDitherFlags = 2;
775
776pub type GstVideoFlags = c_uint;
777pub const GST_VIDEO_FLAG_NONE: GstVideoFlags = 0;
778pub const GST_VIDEO_FLAG_VARIABLE_FPS: GstVideoFlags = 1;
779pub const GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA: GstVideoFlags = 2;
780
781pub type GstVideoFormatFlags = c_uint;
782pub const GST_VIDEO_FORMAT_FLAG_YUV: GstVideoFormatFlags = 1;
783pub const GST_VIDEO_FORMAT_FLAG_RGB: GstVideoFormatFlags = 2;
784pub const GST_VIDEO_FORMAT_FLAG_GRAY: GstVideoFormatFlags = 4;
785pub const GST_VIDEO_FORMAT_FLAG_ALPHA: GstVideoFormatFlags = 8;
786pub const GST_VIDEO_FORMAT_FLAG_LE: GstVideoFormatFlags = 16;
787pub const GST_VIDEO_FORMAT_FLAG_PALETTE: GstVideoFormatFlags = 32;
788pub const GST_VIDEO_FORMAT_FLAG_COMPLEX: GstVideoFormatFlags = 64;
789pub const GST_VIDEO_FORMAT_FLAG_UNPACK: GstVideoFormatFlags = 128;
790pub const GST_VIDEO_FORMAT_FLAG_TILED: GstVideoFormatFlags = 256;
791#[cfg(feature = "v1_22")]
792#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
793pub const GST_VIDEO_FORMAT_FLAG_SUBTILES: GstVideoFormatFlags = 512;
794#[cfg(feature = "v1_30")]
795#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
796pub const GST_VIDEO_FORMAT_FLAG_FLOAT: GstVideoFormatFlags = 1024;
797
798pub type GstVideoFrameFlags = c_uint;
799pub const GST_VIDEO_FRAME_FLAG_NONE: GstVideoFrameFlags = 0;
800pub const GST_VIDEO_FRAME_FLAG_INTERLACED: GstVideoFrameFlags = 1;
801pub const GST_VIDEO_FRAME_FLAG_TFF: GstVideoFrameFlags = 2;
802pub const GST_VIDEO_FRAME_FLAG_RFF: GstVideoFrameFlags = 4;
803pub const GST_VIDEO_FRAME_FLAG_ONEFIELD: GstVideoFrameFlags = 8;
804pub const GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW: GstVideoFrameFlags = 16;
805pub const GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE: GstVideoFrameFlags = 32;
806pub const GST_VIDEO_FRAME_FLAG_TOP_FIELD: GstVideoFrameFlags = 10;
807pub const GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD: GstVideoFrameFlags = 8;
808
809pub type GstVideoFrameMapFlags = c_uint;
810pub const GST_VIDEO_FRAME_MAP_FLAG_NO_REF: GstVideoFrameMapFlags = 65536;
811pub const GST_VIDEO_FRAME_MAP_FLAG_LAST: GstVideoFrameMapFlags = 16777216;
812
813pub type GstVideoMultiviewFlags = c_uint;
814pub const GST_VIDEO_MULTIVIEW_FLAGS_NONE: GstVideoMultiviewFlags = 0;
815pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST: GstVideoMultiviewFlags = 1;
816pub const GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED: GstVideoMultiviewFlags = 2;
817pub const GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED: GstVideoMultiviewFlags = 4;
818pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED: GstVideoMultiviewFlags = 8;
819pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED: GstVideoMultiviewFlags = 16;
820pub const GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT: GstVideoMultiviewFlags = 16384;
821pub const GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO: GstVideoMultiviewFlags = 32768;
822
823pub type GstVideoOverlayFormatFlags = c_uint;
824pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE: GstVideoOverlayFormatFlags = 0;
825pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA: GstVideoOverlayFormatFlags = 1;
826pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA: GstVideoOverlayFormatFlags = 2;
827
828pub type GstVideoPackFlags = c_uint;
829pub const GST_VIDEO_PACK_FLAG_NONE: GstVideoPackFlags = 0;
830pub const GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE: GstVideoPackFlags = 1;
831pub const GST_VIDEO_PACK_FLAG_INTERLACED: GstVideoPackFlags = 2;
832
833pub type GstVideoResamplerFlags = c_uint;
834pub const GST_VIDEO_RESAMPLER_FLAG_NONE: GstVideoResamplerFlags = 0;
835pub const GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS: GstVideoResamplerFlags = 1;
836
837pub type GstVideoScalerFlags = c_uint;
838pub const GST_VIDEO_SCALER_FLAG_NONE: GstVideoScalerFlags = 0;
839pub const GST_VIDEO_SCALER_FLAG_INTERLACED: GstVideoScalerFlags = 1;
840
841pub type GstVideoTimeCodeFlags = c_uint;
842pub const GST_VIDEO_TIME_CODE_FLAGS_NONE: GstVideoTimeCodeFlags = 0;
843pub const GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME: GstVideoTimeCodeFlags = 1;
844pub const GST_VIDEO_TIME_CODE_FLAGS_INTERLACED: GstVideoTimeCodeFlags = 2;
845#[cfg(feature = "v1_30")]
846#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
847pub const GST_VIDEO_TIME_CODE_FLAGS_DISCONT: GstVideoTimeCodeFlags = 4;
848
849#[derive(Copy, Clone)]
851#[repr(C)]
852pub union GstVideoCodecFrame_abidata {
853 pub ABI: GstVideoCodecFrame_abidata_ABI,
854 pub padding: [gpointer; 20],
855}
856
857impl ::std::fmt::Debug for GstVideoCodecFrame_abidata {
858 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
859 f.debug_struct(&format!("GstVideoCodecFrame_abidata @ {self:p}"))
860 .field("ABI", unsafe { &self.ABI })
861 .finish()
862 }
863}
864
865#[derive(Copy, Clone)]
866#[repr(C)]
867pub union GstVideoInfo_ABI {
868 pub abi: GstVideoInfo_ABI_abi,
869 pub _gst_reserved: [gpointer; 4],
870}
871
872impl ::std::fmt::Debug for GstVideoInfo_ABI {
873 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
874 f.debug_struct(&format!("GstVideoInfo_ABI @ {self:p}"))
875 .field("abi", unsafe { &self.abi })
876 .finish()
877 }
878}
879
880pub type GstVideoAffineTransformationGetMatrix =
882 Option<unsafe extern "C" fn(*mut GstVideoAffineTransformationMeta, *mut c_float) -> gboolean>;
883pub type GstVideoConvertSampleCallback =
884 Option<unsafe extern "C" fn(*mut gst::GstSample, *mut glib::GError, gpointer)>;
885pub type GstVideoFormatPack = Option<
886 unsafe extern "C" fn(
887 *const GstVideoFormatInfo,
888 GstVideoPackFlags,
889 gpointer,
890 c_int,
891 *mut gpointer,
892 *const c_int,
893 GstVideoChromaSite,
894 c_int,
895 c_int,
896 ),
897>;
898pub type GstVideoFormatUnpack = Option<
899 unsafe extern "C" fn(
900 *const GstVideoFormatInfo,
901 GstVideoPackFlags,
902 gpointer,
903 *const gpointer,
904 *const c_int,
905 c_int,
906 c_int,
907 c_int,
908 ),
909>;
910pub type GstVideoGLTextureUpload =
911 Option<unsafe extern "C" fn(*mut GstVideoGLTextureUploadMeta, *mut c_uint) -> gboolean>;
912
913#[derive(Copy, Clone)]
915#[repr(C)]
916pub struct GstAncillaryMeta {
917 pub meta: gst::GstMeta,
918 pub field: GstAncillaryMetaField,
919 pub c_not_y_channel: gboolean,
920 pub line: u16,
921 pub offset: u16,
922 pub DID: u16,
923 pub SDID_block_number: u16,
924 pub data_count: u16,
925 pub data: *mut u16,
926 pub checksum: u16,
927}
928
929impl ::std::fmt::Debug for GstAncillaryMeta {
930 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
931 f.debug_struct(&format!("GstAncillaryMeta @ {self:p}"))
932 .field("meta", &self.meta)
933 .field("field", &self.field)
934 .field("c_not_y_channel", &self.c_not_y_channel)
935 .field("line", &self.line)
936 .field("offset", &self.offset)
937 .field("DID", &self.DID)
938 .field("SDID_block_number", &self.SDID_block_number)
939 .field("data_count", &self.data_count)
940 .field("data", &self.data)
941 .field("checksum", &self.checksum)
942 .finish()
943 }
944}
945
946#[derive(Copy, Clone)]
947#[repr(C)]
948pub struct GstColorBalanceChannelClass {
949 pub parent: gobject::GObjectClass,
950 pub value_changed: Option<unsafe extern "C" fn(*mut GstColorBalanceChannel, c_int)>,
951 pub _gst_reserved: [gpointer; 4],
952}
953
954impl ::std::fmt::Debug for GstColorBalanceChannelClass {
955 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
956 f.debug_struct(&format!("GstColorBalanceChannelClass @ {self:p}"))
957 .field("parent", &self.parent)
958 .field("value_changed", &self.value_changed)
959 .finish()
960 }
961}
962
963#[derive(Copy, Clone)]
964#[repr(C)]
965pub struct GstColorBalanceInterface {
966 pub iface: gobject::GTypeInterface,
967 pub list_channels: Option<unsafe extern "C" fn(*mut GstColorBalance) -> *const glib::GList>,
968 pub set_value:
969 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel, c_int)>,
970 pub get_value:
971 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel) -> c_int>,
972 pub get_balance_type: Option<unsafe extern "C" fn(*mut GstColorBalance) -> GstColorBalanceType>,
973 pub value_changed:
974 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel, c_int)>,
975 pub _gst_reserved: [gpointer; 4],
976}
977
978impl ::std::fmt::Debug for GstColorBalanceInterface {
979 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
980 f.debug_struct(&format!("GstColorBalanceInterface @ {self:p}"))
981 .field("iface", &self.iface)
982 .field("list_channels", &self.list_channels)
983 .field("set_value", &self.set_value)
984 .field("get_value", &self.get_value)
985 .field("get_balance_type", &self.get_balance_type)
986 .field("value_changed", &self.value_changed)
987 .finish()
988 }
989}
990
991#[derive(Copy, Clone)]
992#[repr(C)]
993pub struct GstH274DigitallySignedContentInitialization {
994 pub id: u8,
995 pub hash_method_type: u8,
996 pub key_retrieval_mode_idc: u32,
997 pub use_key_register_idx_flag: u8,
998 pub key_register_idx: u32,
999 pub content_uuid_present_flag: u8,
1000 pub content_uuid: [u8; 16],
1001 pub num_verification_substreams: u32,
1002 pub ref_substream_flag: *mut u8,
1003 pub ref_substream_flag_len: size_t,
1004 pub vss_implicit_association_mode_flag: u8,
1005 pub signed_content_start_flag: u8,
1006 pub sei_signing_flag: u8,
1007 pub key_source_uri: *mut c_char,
1008}
1009
1010impl ::std::fmt::Debug for GstH274DigitallySignedContentInitialization {
1011 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1012 f.debug_struct(&format!(
1013 "GstH274DigitallySignedContentInitialization @ {self:p}"
1014 ))
1015 .field("id", &self.id)
1016 .field("hash_method_type", &self.hash_method_type)
1017 .field("key_retrieval_mode_idc", &self.key_retrieval_mode_idc)
1018 .field("use_key_register_idx_flag", &self.use_key_register_idx_flag)
1019 .field("key_register_idx", &self.key_register_idx)
1020 .field("content_uuid_present_flag", &self.content_uuid_present_flag)
1021 .field("content_uuid", &self.content_uuid)
1022 .field(
1023 "num_verification_substreams",
1024 &self.num_verification_substreams,
1025 )
1026 .field("ref_substream_flag", &self.ref_substream_flag)
1027 .field("ref_substream_flag_len", &self.ref_substream_flag_len)
1028 .field(
1029 "vss_implicit_association_mode_flag",
1030 &self.vss_implicit_association_mode_flag,
1031 )
1032 .field("signed_content_start_flag", &self.signed_content_start_flag)
1033 .field("sei_signing_flag", &self.sei_signing_flag)
1034 .field("key_source_uri", &self.key_source_uri)
1035 .finish()
1036 }
1037}
1038
1039#[derive(Copy, Clone)]
1040#[repr(C)]
1041pub struct GstH274DigitallySignedContentSelection {
1042 pub id: u8,
1043 pub verification_substream_id: u8,
1044}
1045
1046impl ::std::fmt::Debug for GstH274DigitallySignedContentSelection {
1047 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1048 f.debug_struct(&format!(
1049 "GstH274DigitallySignedContentSelection @ {self:p}"
1050 ))
1051 .field("id", &self.id)
1052 .field("verification_substream_id", &self.verification_substream_id)
1053 .finish()
1054 }
1055}
1056
1057#[derive(Copy, Clone)]
1058#[repr(C)]
1059pub struct GstH274DigitallySignedContentVerification {
1060 pub id: u8,
1061 pub verification_substream_id: u8,
1062 pub signature_length_in_octets_minus1: u32,
1063 pub signature: *mut u8,
1064 pub signed_content_end_flag: u8,
1065}
1066
1067impl ::std::fmt::Debug for GstH274DigitallySignedContentVerification {
1068 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1069 f.debug_struct(&format!(
1070 "GstH274DigitallySignedContentVerification @ {self:p}"
1071 ))
1072 .field("id", &self.id)
1073 .field("verification_substream_id", &self.verification_substream_id)
1074 .field(
1075 "signature_length_in_octets_minus1",
1076 &self.signature_length_in_octets_minus1,
1077 )
1078 .field("signature", &self.signature)
1079 .field("signed_content_end_flag", &self.signed_content_end_flag)
1080 .finish()
1081 }
1082}
1083
1084#[derive(Copy, Clone)]
1085#[repr(C)]
1086pub struct GstH274RegisteredUserData {
1087 pub country_code: u8,
1088 pub country_code_extension: u8,
1089 pub size: c_uint,
1090 pub data: *const u8,
1091}
1092
1093impl ::std::fmt::Debug for GstH274RegisteredUserData {
1094 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1095 f.debug_struct(&format!("GstH274RegisteredUserData @ {self:p}"))
1096 .field("country_code", &self.country_code)
1097 .field("country_code_extension", &self.country_code_extension)
1098 .field("size", &self.size)
1099 .field("data", &self.data)
1100 .finish()
1101 }
1102}
1103
1104#[derive(Copy, Clone)]
1105#[repr(C)]
1106pub struct GstH274UserDataUnregistered {
1107 pub uuid: [u8; 16],
1108 pub data: *const u8,
1109 pub size: c_uint,
1110}
1111
1112impl ::std::fmt::Debug for GstH274UserDataUnregistered {
1113 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1114 f.debug_struct(&format!("GstH274UserDataUnregistered @ {self:p}"))
1115 .field("uuid", &self.uuid)
1116 .field("data", &self.data)
1117 .field("size", &self.size)
1118 .finish()
1119 }
1120}
1121
1122#[derive(Copy, Clone)]
1123#[repr(C)]
1124pub struct GstNavigationInterface {
1125 pub iface: gobject::GTypeInterface,
1126 pub send_event: Option<unsafe extern "C" fn(*mut GstNavigation, *mut gst::GstStructure)>,
1127 pub send_event_simple: Option<unsafe extern "C" fn(*mut GstNavigation, *mut gst::GstEvent)>,
1128}
1129
1130impl ::std::fmt::Debug for GstNavigationInterface {
1131 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1132 f.debug_struct(&format!("GstNavigationInterface @ {self:p}"))
1133 .field("iface", &self.iface)
1134 .field("send_event", &self.send_event)
1135 .field("send_event_simple", &self.send_event_simple)
1136 .finish()
1137 }
1138}
1139
1140#[derive(Copy, Clone)]
1141#[repr(C)]
1142pub struct GstVideoAFDMeta {
1143 pub meta: gst::GstMeta,
1144 pub field: u8,
1145 pub spec: GstVideoAFDSpec,
1146 pub afd: GstVideoAFDValue,
1147}
1148
1149impl ::std::fmt::Debug for GstVideoAFDMeta {
1150 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1151 f.debug_struct(&format!("GstVideoAFDMeta @ {self:p}"))
1152 .field("meta", &self.meta)
1153 .field("field", &self.field)
1154 .field("spec", &self.spec)
1155 .field("afd", &self.afd)
1156 .finish()
1157 }
1158}
1159
1160#[derive(Copy, Clone)]
1161#[repr(C)]
1162pub struct GstVideoAffineTransformationMeta {
1163 pub meta: gst::GstMeta,
1164 pub matrix: [c_float; 16],
1165}
1166
1167impl ::std::fmt::Debug for GstVideoAffineTransformationMeta {
1168 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1169 f.debug_struct(&format!("GstVideoAffineTransformationMeta @ {self:p}"))
1170 .field("meta", &self.meta)
1171 .field("matrix", &self.matrix)
1172 .finish()
1173 }
1174}
1175
1176#[derive(Copy, Clone)]
1177#[repr(C)]
1178pub struct GstVideoAggregatorClass {
1179 pub parent_class: gst_base::GstAggregatorClass,
1180 pub update_caps: Option<
1181 unsafe extern "C" fn(*mut GstVideoAggregator, *mut gst::GstCaps) -> *mut gst::GstCaps,
1182 >,
1183 pub aggregate_frames: Option<
1184 unsafe extern "C" fn(
1185 *mut GstVideoAggregator,
1186 *mut *mut gst::GstBuffer,
1187 ) -> gst::GstFlowReturn,
1188 >,
1189 pub create_output_buffer: Option<
1190 unsafe extern "C" fn(
1191 *mut GstVideoAggregator,
1192 *mut *mut gst::GstBuffer,
1193 ) -> gst::GstFlowReturn,
1194 >,
1195 pub find_best_format: Option<
1196 unsafe extern "C" fn(
1197 *mut GstVideoAggregator,
1198 *mut gst::GstCaps,
1199 *mut GstVideoInfo,
1200 *mut gboolean,
1201 ),
1202 >,
1203 pub _gst_reserved: [gpointer; 20],
1204}
1205
1206impl ::std::fmt::Debug for GstVideoAggregatorClass {
1207 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1208 f.debug_struct(&format!("GstVideoAggregatorClass @ {self:p}"))
1209 .field("update_caps", &self.update_caps)
1210 .field("aggregate_frames", &self.aggregate_frames)
1211 .field("create_output_buffer", &self.create_output_buffer)
1212 .field("find_best_format", &self.find_best_format)
1213 .finish()
1214 }
1215}
1216
1217#[derive(Copy, Clone)]
1218#[repr(C)]
1219pub struct GstVideoAggregatorConvertPadClass {
1220 pub parent_class: GstVideoAggregatorPadClass,
1221 pub create_conversion_info: Option<
1222 unsafe extern "C" fn(
1223 *mut GstVideoAggregatorConvertPad,
1224 *mut GstVideoAggregator,
1225 *mut GstVideoInfo,
1226 ),
1227 >,
1228 pub _gst_reserved: [gpointer; 4],
1229}
1230
1231impl ::std::fmt::Debug for GstVideoAggregatorConvertPadClass {
1232 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1233 f.debug_struct(&format!("GstVideoAggregatorConvertPadClass @ {self:p}"))
1234 .field("parent_class", &self.parent_class)
1235 .field("create_conversion_info", &self.create_conversion_info)
1236 .finish()
1237 }
1238}
1239
1240#[repr(C)]
1241#[allow(dead_code)]
1242pub struct _GstVideoAggregatorConvertPadPrivate {
1243 _data: [u8; 0],
1244 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1245}
1246
1247pub type GstVideoAggregatorConvertPadPrivate = _GstVideoAggregatorConvertPadPrivate;
1248
1249#[derive(Copy, Clone)]
1250#[repr(C)]
1251pub struct GstVideoAggregatorPadClass {
1252 pub parent_class: gst_base::GstAggregatorPadClass,
1253 pub update_conversion_info: Option<unsafe extern "C" fn(*mut GstVideoAggregatorPad)>,
1254 pub prepare_frame: Option<
1255 unsafe extern "C" fn(
1256 *mut GstVideoAggregatorPad,
1257 *mut GstVideoAggregator,
1258 *mut gst::GstBuffer,
1259 *mut GstVideoFrame,
1260 ) -> gboolean,
1261 >,
1262 pub clean_frame: Option<
1263 unsafe extern "C" fn(
1264 *mut GstVideoAggregatorPad,
1265 *mut GstVideoAggregator,
1266 *mut GstVideoFrame,
1267 ),
1268 >,
1269 pub prepare_frame_start: Option<
1270 unsafe extern "C" fn(
1271 *mut GstVideoAggregatorPad,
1272 *mut GstVideoAggregator,
1273 *mut gst::GstBuffer,
1274 *mut GstVideoFrame,
1275 ),
1276 >,
1277 pub prepare_frame_finish: Option<
1278 unsafe extern "C" fn(
1279 *mut GstVideoAggregatorPad,
1280 *mut GstVideoAggregator,
1281 *mut GstVideoFrame,
1282 ),
1283 >,
1284 pub _gst_reserved: [gpointer; 18],
1285}
1286
1287impl ::std::fmt::Debug for GstVideoAggregatorPadClass {
1288 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1289 f.debug_struct(&format!("GstVideoAggregatorPadClass @ {self:p}"))
1290 .field("parent_class", &self.parent_class)
1291 .field("update_conversion_info", &self.update_conversion_info)
1292 .field("prepare_frame", &self.prepare_frame)
1293 .field("clean_frame", &self.clean_frame)
1294 .field("prepare_frame_start", &self.prepare_frame_start)
1295 .field("prepare_frame_finish", &self.prepare_frame_finish)
1296 .field("_gst_reserved", &self._gst_reserved)
1297 .finish()
1298 }
1299}
1300
1301#[repr(C)]
1302#[allow(dead_code)]
1303pub struct _GstVideoAggregatorPadPrivate {
1304 _data: [u8; 0],
1305 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1306}
1307
1308pub type GstVideoAggregatorPadPrivate = _GstVideoAggregatorPadPrivate;
1309
1310#[derive(Copy, Clone)]
1311#[repr(C)]
1312pub struct GstVideoAggregatorParallelConvertPadClass {
1313 pub parent_class: GstVideoAggregatorConvertPadClass,
1314 pub _gst_reserved: [gpointer; 4],
1315}
1316
1317impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPadClass {
1318 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1319 f.debug_struct(&format!(
1320 "GstVideoAggregatorParallelConvertPadClass @ {self:p}"
1321 ))
1322 .field("parent_class", &self.parent_class)
1323 .finish()
1324 }
1325}
1326
1327#[repr(C)]
1328#[allow(dead_code)]
1329pub struct _GstVideoAggregatorPrivate {
1330 _data: [u8; 0],
1331 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1332}
1333
1334pub type GstVideoAggregatorPrivate = _GstVideoAggregatorPrivate;
1335
1336#[derive(Copy, Clone)]
1337#[repr(C)]
1338pub struct GstVideoAlignment {
1339 pub padding_top: c_uint,
1340 pub padding_bottom: c_uint,
1341 pub padding_left: c_uint,
1342 pub padding_right: c_uint,
1343 pub stride_align: [c_uint; 4],
1344}
1345
1346impl ::std::fmt::Debug for GstVideoAlignment {
1347 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1348 f.debug_struct(&format!("GstVideoAlignment @ {self:p}"))
1349 .field("padding_top", &self.padding_top)
1350 .field("padding_bottom", &self.padding_bottom)
1351 .field("padding_left", &self.padding_left)
1352 .field("padding_right", &self.padding_right)
1353 .field("stride_align", &self.stride_align)
1354 .finish()
1355 }
1356}
1357
1358#[derive(Copy, Clone)]
1359#[repr(C)]
1360pub struct GstVideoAncillary {
1361 pub DID: u8,
1362 pub SDID_block_number: u8,
1363 pub data_count: u8,
1364 pub data: [u8; 256],
1365 pub _gst_reserved: [gpointer; 4],
1366}
1367
1368impl ::std::fmt::Debug for GstVideoAncillary {
1369 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1370 f.debug_struct(&format!("GstVideoAncillary @ {self:p}"))
1371 .field("DID", &self.DID)
1372 .field("SDID_block_number", &self.SDID_block_number)
1373 .field("data_count", &self.data_count)
1374 .finish()
1375 }
1376}
1377
1378#[derive(Copy, Clone)]
1379#[repr(C)]
1380pub struct GstVideoBarMeta {
1381 pub meta: gst::GstMeta,
1382 pub field: u8,
1383 pub is_letterbox: gboolean,
1384 pub bar_data1: c_uint,
1385 pub bar_data2: c_uint,
1386}
1387
1388impl ::std::fmt::Debug for GstVideoBarMeta {
1389 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1390 f.debug_struct(&format!("GstVideoBarMeta @ {self:p}"))
1391 .field("meta", &self.meta)
1392 .field("field", &self.field)
1393 .field("is_letterbox", &self.is_letterbox)
1394 .field("bar_data1", &self.bar_data1)
1395 .field("bar_data2", &self.bar_data2)
1396 .finish()
1397 }
1398}
1399
1400#[derive(Copy, Clone)]
1401#[repr(C)]
1402pub struct GstVideoBufferPoolClass {
1403 pub parent_class: gst::GstBufferPoolClass,
1404}
1405
1406impl ::std::fmt::Debug for GstVideoBufferPoolClass {
1407 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1408 f.debug_struct(&format!("GstVideoBufferPoolClass @ {self:p}"))
1409 .field("parent_class", &self.parent_class)
1410 .finish()
1411 }
1412}
1413
1414#[repr(C)]
1415#[allow(dead_code)]
1416pub struct _GstVideoBufferPoolPrivate {
1417 _data: [u8; 0],
1418 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1419}
1420
1421pub type GstVideoBufferPoolPrivate = _GstVideoBufferPoolPrivate;
1422
1423#[derive(Copy, Clone)]
1424#[repr(C)]
1425pub struct GstVideoCaptionMeta {
1426 pub meta: gst::GstMeta,
1427 pub caption_type: GstVideoCaptionType,
1428 pub data: *mut u8,
1429 pub size: size_t,
1430}
1431
1432impl ::std::fmt::Debug for GstVideoCaptionMeta {
1433 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1434 f.debug_struct(&format!("GstVideoCaptionMeta @ {self:p}"))
1435 .field("meta", &self.meta)
1436 .field("caption_type", &self.caption_type)
1437 .field("data", &self.data)
1438 .field("size", &self.size)
1439 .finish()
1440 }
1441}
1442
1443#[repr(C)]
1444#[allow(dead_code)]
1445pub struct _GstVideoChromaResample {
1446 _data: [u8; 0],
1447 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1448}
1449
1450pub type GstVideoChromaResample = _GstVideoChromaResample;
1451
1452#[derive(Copy, Clone)]
1453#[repr(C)]
1454pub struct GstVideoCodecAlphaMeta {
1455 pub meta: gst::GstMeta,
1456 pub buffer: *mut gst::GstBuffer,
1457}
1458
1459impl ::std::fmt::Debug for GstVideoCodecAlphaMeta {
1460 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1461 f.debug_struct(&format!("GstVideoCodecAlphaMeta @ {self:p}"))
1462 .field("meta", &self.meta)
1463 .field("buffer", &self.buffer)
1464 .finish()
1465 }
1466}
1467
1468#[derive(Copy, Clone)]
1469#[repr(C)]
1470pub struct GstVideoCodecFrame {
1471 pub ref_count: c_int,
1472 pub flags: u32,
1473 pub system_frame_number: u32,
1474 pub decode_frame_number: u32,
1475 pub presentation_frame_number: u32,
1476 pub dts: gst::GstClockTime,
1477 pub pts: gst::GstClockTime,
1478 pub duration: gst::GstClockTime,
1479 pub distance_from_sync: c_int,
1480 pub input_buffer: *mut gst::GstBuffer,
1481 pub output_buffer: *mut gst::GstBuffer,
1482 pub deadline: gst::GstClockTime,
1483 pub events: *mut glib::GList,
1484 pub user_data: gpointer,
1485 pub user_data_destroy_notify: glib::GDestroyNotify,
1486 pub abidata: GstVideoCodecFrame_abidata,
1487}
1488
1489impl ::std::fmt::Debug for GstVideoCodecFrame {
1490 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1491 f.debug_struct(&format!("GstVideoCodecFrame @ {self:p}"))
1492 .field("system_frame_number", &self.system_frame_number)
1493 .field("dts", &self.dts)
1494 .field("pts", &self.pts)
1495 .field("duration", &self.duration)
1496 .field("distance_from_sync", &self.distance_from_sync)
1497 .field("input_buffer", &self.input_buffer)
1498 .field("output_buffer", &self.output_buffer)
1499 .field("deadline", &self.deadline)
1500 .field("abidata", &self.abidata)
1501 .finish()
1502 }
1503}
1504
1505#[derive(Copy, Clone)]
1506#[repr(C)]
1507pub struct GstVideoCodecFrame_abidata_ABI {
1508 pub ts: gst::GstClockTime,
1509 pub ts2: gst::GstClockTime,
1510 pub num_subframes: c_uint,
1511 pub subframes_processed: c_uint,
1512}
1513
1514impl ::std::fmt::Debug for GstVideoCodecFrame_abidata_ABI {
1515 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1516 f.debug_struct(&format!("GstVideoCodecFrame_abidata_ABI @ {self:p}"))
1517 .finish()
1518 }
1519}
1520
1521#[derive(Copy, Clone)]
1522#[repr(C)]
1523pub struct GstVideoCodecState {
1524 pub ref_count: c_int,
1525 pub info: GstVideoInfo,
1526 pub caps: *mut gst::GstCaps,
1527 pub codec_data: *mut gst::GstBuffer,
1528 pub allocation_caps: *mut gst::GstCaps,
1529 pub mastering_display_info: *mut GstVideoMasteringDisplayInfo,
1530 pub content_light_level: *mut GstVideoContentLightLevel,
1531 pub padding: [gpointer; 17],
1532}
1533
1534impl ::std::fmt::Debug for GstVideoCodecState {
1535 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1536 f.debug_struct(&format!("GstVideoCodecState @ {self:p}"))
1537 .field("info", &self.info)
1538 .field("caps", &self.caps)
1539 .field("codec_data", &self.codec_data)
1540 .field("allocation_caps", &self.allocation_caps)
1541 .field("mastering_display_info", &self.mastering_display_info)
1542 .field("content_light_level", &self.content_light_level)
1543 .finish()
1544 }
1545}
1546
1547#[derive(Copy, Clone)]
1548#[repr(C)]
1549pub struct GstVideoColorPrimariesInfo {
1550 pub primaries: GstVideoColorPrimaries,
1551 pub Wx: c_double,
1552 pub Wy: c_double,
1553 pub Rx: c_double,
1554 pub Ry: c_double,
1555 pub Gx: c_double,
1556 pub Gy: c_double,
1557 pub Bx: c_double,
1558 pub By: c_double,
1559}
1560
1561impl ::std::fmt::Debug for GstVideoColorPrimariesInfo {
1562 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1563 f.debug_struct(&format!("GstVideoColorPrimariesInfo @ {self:p}"))
1564 .field("primaries", &self.primaries)
1565 .field("Wx", &self.Wx)
1566 .field("Wy", &self.Wy)
1567 .field("Rx", &self.Rx)
1568 .field("Ry", &self.Ry)
1569 .field("Gx", &self.Gx)
1570 .field("Gy", &self.Gy)
1571 .field("Bx", &self.Bx)
1572 .field("By", &self.By)
1573 .finish()
1574 }
1575}
1576
1577#[derive(Copy, Clone)]
1578#[repr(C)]
1579pub struct GstVideoColorVolumeTransformation {
1580 pub window_upper_left_corner_x: u16,
1581 pub window_upper_left_corner_y: u16,
1582 pub window_lower_right_corner_x: u16,
1583 pub window_lower_right_corner_y: u16,
1584 pub center_of_ellipse_x: u16,
1585 pub center_of_ellipse_y: u16,
1586 pub rotation_angle: u8,
1587 pub semimajor_axis_internal_ellipse: u16,
1588 pub semimajor_axis_external_ellipse: u16,
1589 pub semiminor_axis_external_ellipse: u16,
1590 pub overlap_process_option: u8,
1591 pub maxscl: [u32; 3],
1592 pub average_maxrgb: u32,
1593 pub num_distributions: u8,
1594 pub distribution_index: [u8; 16],
1595 pub distribution_values: [u32; 16],
1596 pub fraction_bright_pixels: u16,
1597 pub tone_mapping_flag: u8,
1598 pub knee_point_x: u16,
1599 pub knee_point_y: u16,
1600 pub num_bezier_curve_anchors: u8,
1601 pub bezier_curve_anchors: [u16; 16],
1602 pub color_saturation_mapping_flag: u8,
1603 pub color_saturation_weight: u8,
1604}
1605
1606impl ::std::fmt::Debug for GstVideoColorVolumeTransformation {
1607 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1608 f.debug_struct(&format!("GstVideoColorVolumeTransformation @ {self:p}"))
1609 .field(
1610 "window_upper_left_corner_x",
1611 &self.window_upper_left_corner_x,
1612 )
1613 .field(
1614 "window_upper_left_corner_y",
1615 &self.window_upper_left_corner_y,
1616 )
1617 .field(
1618 "window_lower_right_corner_x",
1619 &self.window_lower_right_corner_x,
1620 )
1621 .field(
1622 "window_lower_right_corner_y",
1623 &self.window_lower_right_corner_y,
1624 )
1625 .field("center_of_ellipse_x", &self.center_of_ellipse_x)
1626 .field("center_of_ellipse_y", &self.center_of_ellipse_y)
1627 .field("rotation_angle", &self.rotation_angle)
1628 .field(
1629 "semimajor_axis_internal_ellipse",
1630 &self.semimajor_axis_internal_ellipse,
1631 )
1632 .field(
1633 "semimajor_axis_external_ellipse",
1634 &self.semimajor_axis_external_ellipse,
1635 )
1636 .field(
1637 "semiminor_axis_external_ellipse",
1638 &self.semiminor_axis_external_ellipse,
1639 )
1640 .field("overlap_process_option", &self.overlap_process_option)
1641 .field("maxscl", &self.maxscl)
1642 .field("average_maxrgb", &self.average_maxrgb)
1643 .field("num_distributions", &self.num_distributions)
1644 .field("distribution_index", &self.distribution_index)
1645 .field("distribution_values", &self.distribution_values)
1646 .field("fraction_bright_pixels", &self.fraction_bright_pixels)
1647 .field("tone_mapping_flag", &self.tone_mapping_flag)
1648 .field("knee_point_x", &self.knee_point_x)
1649 .field("knee_point_y", &self.knee_point_y)
1650 .field("num_bezier_curve_anchors", &self.num_bezier_curve_anchors)
1651 .field("bezier_curve_anchors", &self.bezier_curve_anchors)
1652 .field(
1653 "color_saturation_mapping_flag",
1654 &self.color_saturation_mapping_flag,
1655 )
1656 .field("color_saturation_weight", &self.color_saturation_weight)
1657 .finish()
1658 }
1659}
1660
1661#[derive(Copy, Clone)]
1662#[repr(C)]
1663pub struct GstVideoColorimetry {
1664 pub range: GstVideoColorRange,
1665 pub matrix: GstVideoColorMatrix,
1666 pub transfer: GstVideoTransferFunction,
1667 pub primaries: GstVideoColorPrimaries,
1668}
1669
1670impl ::std::fmt::Debug for GstVideoColorimetry {
1671 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1672 f.debug_struct(&format!("GstVideoColorimetry @ {self:p}"))
1673 .field("range", &self.range)
1674 .field("matrix", &self.matrix)
1675 .field("transfer", &self.transfer)
1676 .field("primaries", &self.primaries)
1677 .finish()
1678 }
1679}
1680
1681#[derive(Copy, Clone)]
1682#[repr(C)]
1683pub struct GstVideoContentLightLevel {
1684 pub max_content_light_level: u16,
1685 pub max_frame_average_light_level: u16,
1686 pub _gst_reserved: [gpointer; 4],
1687}
1688
1689impl ::std::fmt::Debug for GstVideoContentLightLevel {
1690 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1691 f.debug_struct(&format!("GstVideoContentLightLevel @ {self:p}"))
1692 .field("max_content_light_level", &self.max_content_light_level)
1693 .field(
1694 "max_frame_average_light_level",
1695 &self.max_frame_average_light_level,
1696 )
1697 .finish()
1698 }
1699}
1700
1701#[repr(C)]
1702#[allow(dead_code)]
1703pub struct _GstVideoConverter {
1704 _data: [u8; 0],
1705 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1706}
1707
1708pub type GstVideoConverter = _GstVideoConverter;
1709
1710#[derive(Copy, Clone)]
1711#[repr(C)]
1712pub struct GstVideoCropMeta {
1713 pub meta: gst::GstMeta,
1714 pub x: c_uint,
1715 pub y: c_uint,
1716 pub width: c_uint,
1717 pub height: c_uint,
1718}
1719
1720impl ::std::fmt::Debug for GstVideoCropMeta {
1721 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1722 f.debug_struct(&format!("GstVideoCropMeta @ {self:p}"))
1723 .field("meta", &self.meta)
1724 .field("x", &self.x)
1725 .field("y", &self.y)
1726 .field("width", &self.width)
1727 .field("height", &self.height)
1728 .finish()
1729 }
1730}
1731
1732#[derive(Copy, Clone)]
1733#[repr(C)]
1734pub struct GstVideoDSCInitializationMeta {
1735 pub meta: gst::GstMeta,
1736 pub dsc_initialization: GstH274DigitallySignedContentInitialization,
1737}
1738
1739impl ::std::fmt::Debug for GstVideoDSCInitializationMeta {
1740 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1741 f.debug_struct(&format!("GstVideoDSCInitializationMeta @ {self:p}"))
1742 .field("meta", &self.meta)
1743 .field("dsc_initialization", &self.dsc_initialization)
1744 .finish()
1745 }
1746}
1747
1748#[derive(Copy, Clone)]
1749#[repr(C)]
1750pub struct GstVideoDSCSelectionMeta {
1751 pub meta: gst::GstMeta,
1752 pub dsc_selection: GstH274DigitallySignedContentSelection,
1753}
1754
1755impl ::std::fmt::Debug for GstVideoDSCSelectionMeta {
1756 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1757 f.debug_struct(&format!("GstVideoDSCSelectionMeta @ {self:p}"))
1758 .field("meta", &self.meta)
1759 .field("dsc_selection", &self.dsc_selection)
1760 .finish()
1761 }
1762}
1763
1764#[derive(Copy, Clone)]
1765#[repr(C)]
1766pub struct GstVideoDSCVerificationMeta {
1767 pub meta: gst::GstMeta,
1768 pub dsc_verification: GstH274DigitallySignedContentVerification,
1769}
1770
1771impl ::std::fmt::Debug for GstVideoDSCVerificationMeta {
1772 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1773 f.debug_struct(&format!("GstVideoDSCVerificationMeta @ {self:p}"))
1774 .field("meta", &self.meta)
1775 .field("dsc_verification", &self.dsc_verification)
1776 .finish()
1777 }
1778}
1779
1780#[derive(Copy, Clone)]
1781#[repr(C)]
1782pub struct GstVideoDecoderClass {
1783 pub element_class: gst::GstElementClass,
1784 pub open: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1785 pub close: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1786 pub start: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1787 pub stop: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1788 pub parse: Option<
1789 unsafe extern "C" fn(
1790 *mut GstVideoDecoder,
1791 *mut GstVideoCodecFrame,
1792 *mut gst_base::GstAdapter,
1793 gboolean,
1794 ) -> gst::GstFlowReturn,
1795 >,
1796 pub set_format:
1797 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut GstVideoCodecState) -> gboolean>,
1798 pub reset: Option<unsafe extern "C" fn(*mut GstVideoDecoder, gboolean) -> gboolean>,
1799 pub finish: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gst::GstFlowReturn>,
1800 pub handle_frame: Option<
1801 unsafe extern "C" fn(*mut GstVideoDecoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1802 >,
1803 pub sink_event:
1804 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstEvent) -> gboolean>,
1805 pub src_event:
1806 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstEvent) -> gboolean>,
1807 pub negotiate: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1808 pub decide_allocation:
1809 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1810 pub propose_allocation:
1811 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1812 pub flush: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1813 pub sink_query:
1814 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1815 pub src_query:
1816 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1817 pub getcaps:
1818 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstCaps) -> *mut gst::GstCaps>,
1819 pub drain: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gst::GstFlowReturn>,
1820 pub transform_meta: Option<
1821 unsafe extern "C" fn(
1822 *mut GstVideoDecoder,
1823 *mut GstVideoCodecFrame,
1824 *mut gst::GstMeta,
1825 ) -> gboolean,
1826 >,
1827 pub handle_missing_data: Option<
1828 unsafe extern "C" fn(
1829 *mut GstVideoDecoder,
1830 gst::GstClockTime,
1831 gst::GstClockTime,
1832 ) -> gboolean,
1833 >,
1834 pub padding: [gpointer; 13],
1835}
1836
1837impl ::std::fmt::Debug for GstVideoDecoderClass {
1838 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1839 f.debug_struct(&format!("GstVideoDecoderClass @ {self:p}"))
1840 .field("open", &self.open)
1841 .field("close", &self.close)
1842 .field("start", &self.start)
1843 .field("stop", &self.stop)
1844 .field("parse", &self.parse)
1845 .field("set_format", &self.set_format)
1846 .field("reset", &self.reset)
1847 .field("finish", &self.finish)
1848 .field("handle_frame", &self.handle_frame)
1849 .field("sink_event", &self.sink_event)
1850 .field("src_event", &self.src_event)
1851 .field("negotiate", &self.negotiate)
1852 .field("decide_allocation", &self.decide_allocation)
1853 .field("propose_allocation", &self.propose_allocation)
1854 .field("flush", &self.flush)
1855 .field("sink_query", &self.sink_query)
1856 .field("src_query", &self.src_query)
1857 .field("getcaps", &self.getcaps)
1858 .field("drain", &self.drain)
1859 .field("transform_meta", &self.transform_meta)
1860 .field("handle_missing_data", &self.handle_missing_data)
1861 .finish()
1862 }
1863}
1864
1865#[repr(C)]
1866#[allow(dead_code)]
1867pub struct _GstVideoDecoderPrivate {
1868 _data: [u8; 0],
1869 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1870}
1871
1872pub type GstVideoDecoderPrivate = _GstVideoDecoderPrivate;
1873
1874#[derive(Copy, Clone)]
1875#[repr(C)]
1876pub struct GstVideoDirectionInterface {
1877 pub iface: gobject::GTypeInterface,
1878}
1879
1880impl ::std::fmt::Debug for GstVideoDirectionInterface {
1881 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1882 f.debug_struct(&format!("GstVideoDirectionInterface @ {self:p}"))
1883 .field("iface", &self.iface)
1884 .finish()
1885 }
1886}
1887
1888#[repr(C)]
1889#[allow(dead_code)]
1890pub struct _GstVideoDither {
1891 _data: [u8; 0],
1892 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1893}
1894
1895pub type GstVideoDither = _GstVideoDither;
1896
1897#[derive(Copy, Clone)]
1898#[repr(C)]
1899pub struct GstVideoDmabufPoolClass {
1900 pub parent_class: GstVideoBufferPoolClass,
1901}
1902
1903impl ::std::fmt::Debug for GstVideoDmabufPoolClass {
1904 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1905 f.debug_struct(&format!("GstVideoDmabufPoolClass @ {self:p}"))
1906 .field("parent_class", &self.parent_class)
1907 .finish()
1908 }
1909}
1910
1911#[derive(Copy, Clone)]
1912#[repr(C)]
1913pub struct GstVideoEncoderClass {
1914 pub element_class: gst::GstElementClass,
1915 pub open: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1916 pub close: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1917 pub start: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1918 pub stop: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1919 pub set_format:
1920 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecState) -> gboolean>,
1921 pub handle_frame: Option<
1922 unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1923 >,
1924 pub reset: Option<unsafe extern "C" fn(*mut GstVideoEncoder, gboolean) -> gboolean>,
1925 pub finish: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gst::GstFlowReturn>,
1926 pub pre_push: Option<
1927 unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1928 >,
1929 pub getcaps:
1930 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstCaps) -> *mut gst::GstCaps>,
1931 pub sink_event:
1932 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstEvent) -> gboolean>,
1933 pub src_event:
1934 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstEvent) -> gboolean>,
1935 pub negotiate: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1936 pub decide_allocation:
1937 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1938 pub propose_allocation:
1939 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1940 pub flush: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1941 pub sink_query:
1942 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1943 pub src_query:
1944 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1945 pub transform_meta: Option<
1946 unsafe extern "C" fn(
1947 *mut GstVideoEncoder,
1948 *mut GstVideoCodecFrame,
1949 *mut gst::GstMeta,
1950 ) -> gboolean,
1951 >,
1952 pub prepare_allocator:
1953 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstCaps) -> gboolean>,
1954 pub _gst_reserved: [gpointer; 15],
1955}
1956
1957impl ::std::fmt::Debug for GstVideoEncoderClass {
1958 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1959 f.debug_struct(&format!("GstVideoEncoderClass @ {self:p}"))
1960 .field("open", &self.open)
1961 .field("close", &self.close)
1962 .field("start", &self.start)
1963 .field("stop", &self.stop)
1964 .field("set_format", &self.set_format)
1965 .field("handle_frame", &self.handle_frame)
1966 .field("reset", &self.reset)
1967 .field("finish", &self.finish)
1968 .field("pre_push", &self.pre_push)
1969 .field("getcaps", &self.getcaps)
1970 .field("sink_event", &self.sink_event)
1971 .field("src_event", &self.src_event)
1972 .field("negotiate", &self.negotiate)
1973 .field("decide_allocation", &self.decide_allocation)
1974 .field("propose_allocation", &self.propose_allocation)
1975 .field("flush", &self.flush)
1976 .field("sink_query", &self.sink_query)
1977 .field("src_query", &self.src_query)
1978 .field("transform_meta", &self.transform_meta)
1979 .field("prepare_allocator", &self.prepare_allocator)
1980 .finish()
1981 }
1982}
1983
1984#[repr(C)]
1985#[allow(dead_code)]
1986pub struct _GstVideoEncoderPrivate {
1987 _data: [u8; 0],
1988 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1989}
1990
1991pub type GstVideoEncoderPrivate = _GstVideoEncoderPrivate;
1992
1993#[derive(Copy, Clone)]
1994#[repr(C)]
1995pub struct GstVideoFilterClass {
1996 pub parent_class: gst_base::GstBaseTransformClass,
1997 pub set_info: Option<
1998 unsafe extern "C" fn(
1999 *mut GstVideoFilter,
2000 *mut gst::GstCaps,
2001 *mut GstVideoInfo,
2002 *mut gst::GstCaps,
2003 *mut GstVideoInfo,
2004 ) -> gboolean,
2005 >,
2006 pub transform_frame: Option<
2007 unsafe extern "C" fn(
2008 *mut GstVideoFilter,
2009 *mut GstVideoFrame,
2010 *mut GstVideoFrame,
2011 ) -> gst::GstFlowReturn,
2012 >,
2013 pub transform_frame_ip:
2014 Option<unsafe extern "C" fn(*mut GstVideoFilter, *mut GstVideoFrame) -> gst::GstFlowReturn>,
2015 pub _gst_reserved: [gpointer; 4],
2016}
2017
2018impl ::std::fmt::Debug for GstVideoFilterClass {
2019 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2020 f.debug_struct(&format!("GstVideoFilterClass @ {self:p}"))
2021 .field("parent_class", &self.parent_class)
2022 .field("set_info", &self.set_info)
2023 .field("transform_frame", &self.transform_frame)
2024 .field("transform_frame_ip", &self.transform_frame_ip)
2025 .finish()
2026 }
2027}
2028
2029#[derive(Copy, Clone)]
2030#[repr(C)]
2031pub struct GstVideoFormatInfo {
2032 pub format: GstVideoFormat,
2033 pub name: *const c_char,
2034 pub description: *const c_char,
2035 pub flags: GstVideoFormatFlags,
2036 pub bits: c_uint,
2037 pub n_components: c_uint,
2038 pub shift: [c_uint; 4],
2039 pub depth: [c_uint; 4],
2040 pub pixel_stride: [c_int; 4],
2041 pub n_planes: c_uint,
2042 pub plane: [c_uint; 4],
2043 pub poffset: [c_uint; 4],
2044 pub w_sub: [c_uint; 4],
2045 pub h_sub: [c_uint; 4],
2046 pub unpack_format: GstVideoFormat,
2047 pub unpack_func: GstVideoFormatUnpack,
2048 pub pack_lines: c_int,
2049 pub pack_func: GstVideoFormatPack,
2050 pub tile_mode: GstVideoTileMode,
2051 pub tile_ws: c_uint,
2052 pub tile_hs: c_uint,
2053 pub tile_info: [GstVideoTileInfo; 4],
2054}
2055
2056impl ::std::fmt::Debug for GstVideoFormatInfo {
2057 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2058 f.debug_struct(&format!("GstVideoFormatInfo @ {self:p}"))
2059 .field("format", &self.format)
2060 .field("name", &self.name)
2061 .field("description", &self.description)
2062 .field("flags", &self.flags)
2063 .field("bits", &self.bits)
2064 .field("n_components", &self.n_components)
2065 .field("shift", &self.shift)
2066 .field("depth", &self.depth)
2067 .field("pixel_stride", &self.pixel_stride)
2068 .field("n_planes", &self.n_planes)
2069 .field("plane", &self.plane)
2070 .field("poffset", &self.poffset)
2071 .field("w_sub", &self.w_sub)
2072 .field("h_sub", &self.h_sub)
2073 .field("unpack_format", &self.unpack_format)
2074 .field("unpack_func", &self.unpack_func)
2075 .field("pack_lines", &self.pack_lines)
2076 .field("pack_func", &self.pack_func)
2077 .field("tile_mode", &self.tile_mode)
2078 .field("tile_ws", &self.tile_ws)
2079 .field("tile_hs", &self.tile_hs)
2080 .field("tile_info", &self.tile_info)
2081 .finish()
2082 }
2083}
2084
2085#[derive(Copy, Clone)]
2086#[repr(C)]
2087pub struct GstVideoFrame {
2088 pub info: GstVideoInfo,
2089 pub flags: GstVideoFrameFlags,
2090 pub buffer: *mut gst::GstBuffer,
2091 pub meta: gpointer,
2092 pub id: c_int,
2093 pub data: [gpointer; 4],
2094 pub map: [gst::GstMapInfo; 4],
2095 pub _gst_reserved: [gpointer; 4],
2096}
2097
2098impl ::std::fmt::Debug for GstVideoFrame {
2099 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2100 f.debug_struct(&format!("GstVideoFrame @ {self:p}"))
2101 .field("info", &self.info)
2102 .field("flags", &self.flags)
2103 .field("buffer", &self.buffer)
2104 .field("meta", &self.meta)
2105 .field("id", &self.id)
2106 .field("data", &self.data)
2107 .field("map", &self.map)
2108 .finish()
2109 }
2110}
2111
2112#[derive(Copy, Clone)]
2113#[repr(C)]
2114pub struct GstVideoGLTextureUploadMeta {
2115 pub meta: gst::GstMeta,
2116 pub texture_orientation: GstVideoGLTextureOrientation,
2117 pub n_textures: c_uint,
2118 pub texture_type: [GstVideoGLTextureType; 4],
2119 pub buffer: *mut gst::GstBuffer,
2120 pub upload: GstVideoGLTextureUpload,
2121 pub user_data: gpointer,
2122 pub user_data_copy: gobject::GBoxedCopyFunc,
2123 pub user_data_free: gobject::GBoxedFreeFunc,
2124}
2125
2126impl ::std::fmt::Debug for GstVideoGLTextureUploadMeta {
2127 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2128 f.debug_struct(&format!("GstVideoGLTextureUploadMeta @ {self:p}"))
2129 .field("meta", &self.meta)
2130 .field("texture_orientation", &self.texture_orientation)
2131 .field("n_textures", &self.n_textures)
2132 .field("texture_type", &self.texture_type)
2133 .finish()
2134 }
2135}
2136
2137#[derive(Copy, Clone)]
2138#[repr(C)]
2139pub struct GstVideoHDR10Plus {
2140 pub application_identifier: u8,
2141 pub application_version: u8,
2142 pub num_windows: u8,
2143 pub processing_window: [GstVideoColorVolumeTransformation; 1],
2144 pub targeted_system_display_maximum_luminance: u32,
2145 pub targeted_system_display_actual_peak_luminance_flag: u8,
2146 pub num_rows_targeted_system_display_actual_peak_luminance: u8,
2147 pub num_cols_targeted_system_display_actual_peak_luminance: u8,
2148 pub targeted_system_display_actual_peak_luminance: [u8; 625],
2149 pub mastering_display_actual_peak_luminance_flag: u8,
2150 pub num_rows_mastering_display_actual_peak_luminance: u8,
2151 pub num_cols_mastering_display_actual_peak_luminance: u8,
2152 pub mastering_display_actual_peak_luminance: [u8; 625],
2153}
2154
2155impl ::std::fmt::Debug for GstVideoHDR10Plus {
2156 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2157 f.debug_struct(&format!("GstVideoHDR10Plus @ {self:p}"))
2158 .field("application_identifier", &self.application_identifier)
2159 .field("application_version", &self.application_version)
2160 .field("num_windows", &self.num_windows)
2161 .field("processing_window", &self.processing_window)
2162 .field(
2163 "targeted_system_display_maximum_luminance",
2164 &self.targeted_system_display_maximum_luminance,
2165 )
2166 .field(
2167 "targeted_system_display_actual_peak_luminance_flag",
2168 &self.targeted_system_display_actual_peak_luminance_flag,
2169 )
2170 .field(
2171 "num_rows_targeted_system_display_actual_peak_luminance",
2172 &self.num_rows_targeted_system_display_actual_peak_luminance,
2173 )
2174 .field(
2175 "num_cols_targeted_system_display_actual_peak_luminance",
2176 &self.num_cols_targeted_system_display_actual_peak_luminance,
2177 )
2178 .field(
2179 "mastering_display_actual_peak_luminance_flag",
2180 &self.mastering_display_actual_peak_luminance_flag,
2181 )
2182 .field(
2183 "num_rows_mastering_display_actual_peak_luminance",
2184 &self.num_rows_mastering_display_actual_peak_luminance,
2185 )
2186 .field(
2187 "num_cols_mastering_display_actual_peak_luminance",
2188 &self.num_cols_mastering_display_actual_peak_luminance,
2189 )
2190 .finish()
2191 }
2192}
2193
2194#[derive(Copy, Clone)]
2195#[repr(C)]
2196pub struct GstVideoHDRMeta {
2197 pub meta: gst::GstMeta,
2198 pub format: GstVideoHDRFormat,
2199 pub data: *mut u8,
2200 pub size: size_t,
2201}
2202
2203impl ::std::fmt::Debug for GstVideoHDRMeta {
2204 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2205 f.debug_struct(&format!("GstVideoHDRMeta @ {self:p}"))
2206 .field("meta", &self.meta)
2207 .field("format", &self.format)
2208 .field("data", &self.data)
2209 .field("size", &self.size)
2210 .finish()
2211 }
2212}
2213
2214#[derive(Copy, Clone)]
2215#[repr(C)]
2216pub struct GstVideoInfo {
2217 pub finfo: *const GstVideoFormatInfo,
2218 pub interlace_mode: GstVideoInterlaceMode,
2219 pub flags: GstVideoFlags,
2220 pub width: c_int,
2221 pub height: c_int,
2222 pub size: size_t,
2223 pub views: c_int,
2224 pub chroma_site: GstVideoChromaSite,
2225 pub colorimetry: GstVideoColorimetry,
2226 pub par_n: c_int,
2227 pub par_d: c_int,
2228 pub fps_n: c_int,
2229 pub fps_d: c_int,
2230 pub offset: [size_t; 4],
2231 pub stride: [c_int; 4],
2232 pub ABI: GstVideoInfo_ABI,
2233}
2234
2235impl ::std::fmt::Debug for GstVideoInfo {
2236 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2237 f.debug_struct(&format!("GstVideoInfo @ {self:p}"))
2238 .field("finfo", &self.finfo)
2239 .field("interlace_mode", &self.interlace_mode)
2240 .field("flags", &self.flags)
2241 .field("width", &self.width)
2242 .field("height", &self.height)
2243 .field("size", &self.size)
2244 .field("views", &self.views)
2245 .field("chroma_site", &self.chroma_site)
2246 .field("colorimetry", &self.colorimetry)
2247 .field("par_n", &self.par_n)
2248 .field("par_d", &self.par_d)
2249 .field("fps_n", &self.fps_n)
2250 .field("fps_d", &self.fps_d)
2251 .field("offset", &self.offset)
2252 .field("stride", &self.stride)
2253 .field("ABI", &self.ABI)
2254 .finish()
2255 }
2256}
2257
2258#[derive(Copy, Clone)]
2259#[repr(C)]
2260pub struct GstVideoInfoDmaDrm {
2261 pub vinfo: GstVideoInfo,
2262 pub drm_fourcc: u32,
2263 pub drm_modifier: u64,
2264 pub _gst_reserved: [u32; 20],
2265}
2266
2267impl ::std::fmt::Debug for GstVideoInfoDmaDrm {
2268 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2269 f.debug_struct(&format!("GstVideoInfoDmaDrm @ {self:p}"))
2270 .field("vinfo", &self.vinfo)
2271 .field("drm_fourcc", &self.drm_fourcc)
2272 .field("drm_modifier", &self.drm_modifier)
2273 .finish()
2274 }
2275}
2276
2277#[derive(Copy, Clone)]
2278#[repr(C)]
2279pub struct GstVideoInfo_ABI_abi {
2280 pub multiview_mode: GstVideoMultiviewMode,
2281 pub multiview_flags: GstVideoMultiviewFlags,
2282 pub field_order: GstVideoFieldOrder,
2283}
2284
2285impl ::std::fmt::Debug for GstVideoInfo_ABI_abi {
2286 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2287 f.debug_struct(&format!("GstVideoInfo_ABI_abi @ {self:p}"))
2288 .field("multiview_mode", &self.multiview_mode)
2289 .field("multiview_flags", &self.multiview_flags)
2290 .field("field_order", &self.field_order)
2291 .finish()
2292 }
2293}
2294
2295#[derive(Copy, Clone)]
2296#[repr(C)]
2297pub struct GstVideoMasteringDisplayInfo {
2298 pub display_primaries: [GstVideoMasteringDisplayInfoCoordinates; 3],
2299 pub white_point: GstVideoMasteringDisplayInfoCoordinates,
2300 pub max_display_mastering_luminance: u32,
2301 pub min_display_mastering_luminance: u32,
2302 pub _gst_reserved: [gpointer; 4],
2303}
2304
2305impl ::std::fmt::Debug for GstVideoMasteringDisplayInfo {
2306 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2307 f.debug_struct(&format!("GstVideoMasteringDisplayInfo @ {self:p}"))
2308 .field("display_primaries", &self.display_primaries)
2309 .field("white_point", &self.white_point)
2310 .field(
2311 "max_display_mastering_luminance",
2312 &self.max_display_mastering_luminance,
2313 )
2314 .field(
2315 "min_display_mastering_luminance",
2316 &self.min_display_mastering_luminance,
2317 )
2318 .finish()
2319 }
2320}
2321
2322#[derive(Copy, Clone)]
2323#[repr(C)]
2324pub struct GstVideoMasteringDisplayInfoCoordinates {
2325 pub x: u16,
2326 pub y: u16,
2327}
2328
2329impl ::std::fmt::Debug for GstVideoMasteringDisplayInfoCoordinates {
2330 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2331 f.debug_struct(&format!(
2332 "GstVideoMasteringDisplayInfoCoordinates @ {self:p}"
2333 ))
2334 .field("x", &self.x)
2335 .field("y", &self.y)
2336 .finish()
2337 }
2338}
2339
2340#[derive(Copy, Clone)]
2341#[repr(C)]
2342pub struct GstVideoMeta {
2343 pub meta: gst::GstMeta,
2344 pub buffer: *mut gst::GstBuffer,
2345 pub flags: GstVideoFrameFlags,
2346 pub format: GstVideoFormat,
2347 pub id: c_int,
2348 pub width: c_uint,
2349 pub height: c_uint,
2350 pub n_planes: c_uint,
2351 pub offset: [size_t; 4],
2352 pub stride: [c_int; 4],
2353 pub map: Option<
2354 unsafe extern "C" fn(
2355 *mut GstVideoMeta,
2356 c_uint,
2357 *mut gst::GstMapInfo,
2358 *mut gpointer,
2359 *mut c_int,
2360 gst::GstMapFlags,
2361 ) -> gboolean,
2362 >,
2363 pub unmap:
2364 Option<unsafe extern "C" fn(*mut GstVideoMeta, c_uint, *mut gst::GstMapInfo) -> gboolean>,
2365 pub alignment: GstVideoAlignment,
2366}
2367
2368impl ::std::fmt::Debug for GstVideoMeta {
2369 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2370 f.debug_struct(&format!("GstVideoMeta @ {self:p}"))
2371 .field("meta", &self.meta)
2372 .field("buffer", &self.buffer)
2373 .field("flags", &self.flags)
2374 .field("format", &self.format)
2375 .field("id", &self.id)
2376 .field("width", &self.width)
2377 .field("height", &self.height)
2378 .field("n_planes", &self.n_planes)
2379 .field("offset", &self.offset)
2380 .field("stride", &self.stride)
2381 .field("map", &self.map)
2382 .field("unmap", &self.unmap)
2383 .field("alignment", &self.alignment)
2384 .finish()
2385 }
2386}
2387
2388#[derive(Copy, Clone)]
2389#[repr(C)]
2390pub struct GstVideoMetaTransform {
2391 pub in_info: *mut GstVideoInfo,
2392 pub out_info: *mut GstVideoInfo,
2393}
2394
2395impl ::std::fmt::Debug for GstVideoMetaTransform {
2396 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2397 f.debug_struct(&format!("GstVideoMetaTransform @ {self:p}"))
2398 .field("in_info", &self.in_info)
2399 .field("out_info", &self.out_info)
2400 .finish()
2401 }
2402}
2403
2404#[derive(Copy, Clone)]
2405#[repr(C)]
2406pub struct GstVideoMetaTransformMatrix {
2407 pub in_info: *const GstVideoInfo,
2408 pub in_rectangle: GstVideoRectangle,
2409 pub out_info: *const GstVideoInfo,
2410 pub out_rectangle: GstVideoRectangle,
2411 pub matrix: [c_float; 9],
2412}
2413
2414impl ::std::fmt::Debug for GstVideoMetaTransformMatrix {
2415 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2416 f.debug_struct(&format!("GstVideoMetaTransformMatrix @ {self:p}"))
2417 .field("in_info", &self.in_info)
2418 .field("in_rectangle", &self.in_rectangle)
2419 .field("out_info", &self.out_info)
2420 .field("out_rectangle", &self.out_rectangle)
2421 .field("matrix", &self.matrix)
2422 .finish()
2423 }
2424}
2425
2426#[derive(Copy, Clone)]
2427#[repr(C)]
2428pub struct GstVideoOrientationInterface {
2429 pub iface: gobject::GTypeInterface,
2430 pub get_hflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
2431 pub get_vflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
2432 pub get_hcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
2433 pub get_vcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
2434 pub set_hflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
2435 pub set_vflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
2436 pub set_hcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
2437 pub set_vcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
2438}
2439
2440impl ::std::fmt::Debug for GstVideoOrientationInterface {
2441 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2442 f.debug_struct(&format!("GstVideoOrientationInterface @ {self:p}"))
2443 .field("iface", &self.iface)
2444 .field("get_hflip", &self.get_hflip)
2445 .field("get_vflip", &self.get_vflip)
2446 .field("get_hcenter", &self.get_hcenter)
2447 .field("get_vcenter", &self.get_vcenter)
2448 .field("set_hflip", &self.set_hflip)
2449 .field("set_vflip", &self.set_vflip)
2450 .field("set_hcenter", &self.set_hcenter)
2451 .field("set_vcenter", &self.set_vcenter)
2452 .finish()
2453 }
2454}
2455
2456#[repr(C)]
2457#[allow(dead_code)]
2458pub struct GstVideoOverlayComposition {
2459 _data: [u8; 0],
2460 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2461}
2462
2463impl ::std::fmt::Debug for GstVideoOverlayComposition {
2464 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2465 f.debug_struct(&format!("GstVideoOverlayComposition @ {self:p}"))
2466 .finish()
2467 }
2468}
2469
2470#[derive(Copy, Clone)]
2471#[repr(C)]
2472pub struct GstVideoOverlayCompositionMeta {
2473 pub meta: gst::GstMeta,
2474 pub overlay: *mut GstVideoOverlayComposition,
2475}
2476
2477impl ::std::fmt::Debug for GstVideoOverlayCompositionMeta {
2478 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2479 f.debug_struct(&format!("GstVideoOverlayCompositionMeta @ {self:p}"))
2480 .field("meta", &self.meta)
2481 .field("overlay", &self.overlay)
2482 .finish()
2483 }
2484}
2485
2486#[derive(Copy, Clone)]
2487#[repr(C)]
2488pub struct GstVideoOverlayInterface {
2489 pub iface: gobject::GTypeInterface,
2490 pub expose: Option<unsafe extern "C" fn(*mut GstVideoOverlay)>,
2491 pub handle_events: Option<unsafe extern "C" fn(*mut GstVideoOverlay, gboolean)>,
2492 pub set_render_rectangle:
2493 Option<unsafe extern "C" fn(*mut GstVideoOverlay, c_int, c_int, c_int, c_int)>,
2494 pub set_window_handle: Option<unsafe extern "C" fn(*mut GstVideoOverlay, uintptr_t)>,
2495}
2496
2497impl ::std::fmt::Debug for GstVideoOverlayInterface {
2498 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2499 f.debug_struct(&format!("GstVideoOverlayInterface @ {self:p}"))
2500 .field("iface", &self.iface)
2501 .field("expose", &self.expose)
2502 .field("handle_events", &self.handle_events)
2503 .field("set_render_rectangle", &self.set_render_rectangle)
2504 .field("set_window_handle", &self.set_window_handle)
2505 .finish()
2506 }
2507}
2508
2509#[repr(C)]
2510#[allow(dead_code)]
2511pub struct GstVideoOverlayRectangle {
2512 _data: [u8; 0],
2513 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2514}
2515
2516impl ::std::fmt::Debug for GstVideoOverlayRectangle {
2517 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2518 f.debug_struct(&format!("GstVideoOverlayRectangle @ {self:p}"))
2519 .finish()
2520 }
2521}
2522
2523#[derive(Copy, Clone)]
2524#[repr(C)]
2525pub struct GstVideoRectangle {
2526 pub x: c_int,
2527 pub y: c_int,
2528 pub w: c_int,
2529 pub h: c_int,
2530}
2531
2532impl ::std::fmt::Debug for GstVideoRectangle {
2533 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2534 f.debug_struct(&format!("GstVideoRectangle @ {self:p}"))
2535 .field("x", &self.x)
2536 .field("y", &self.y)
2537 .field("w", &self.w)
2538 .field("h", &self.h)
2539 .finish()
2540 }
2541}
2542
2543#[derive(Copy, Clone)]
2544#[repr(C)]
2545pub struct GstVideoRegionOfInterestMeta {
2546 pub meta: gst::GstMeta,
2547 pub roi_type: glib::GQuark,
2548 pub id: c_int,
2549 pub parent_id: c_int,
2550 pub x: c_uint,
2551 pub y: c_uint,
2552 pub w: c_uint,
2553 pub h: c_uint,
2554 pub params: *mut glib::GList,
2555}
2556
2557impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta {
2558 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2559 f.debug_struct(&format!("GstVideoRegionOfInterestMeta @ {self:p}"))
2560 .field("meta", &self.meta)
2561 .field("roi_type", &self.roi_type)
2562 .field("id", &self.id)
2563 .field("parent_id", &self.parent_id)
2564 .field("x", &self.x)
2565 .field("y", &self.y)
2566 .field("w", &self.w)
2567 .field("h", &self.h)
2568 .field("params", &self.params)
2569 .finish()
2570 }
2571}
2572
2573#[derive(Copy, Clone)]
2574#[repr(C)]
2575pub struct GstVideoResampler {
2576 pub in_size: c_int,
2577 pub out_size: c_int,
2578 pub max_taps: c_uint,
2579 pub n_phases: c_uint,
2580 pub offset: *mut u32,
2581 pub phase: *mut u32,
2582 pub n_taps: *mut u32,
2583 pub taps: *mut c_double,
2584 pub _gst_reserved: [gpointer; 4],
2585}
2586
2587impl ::std::fmt::Debug for GstVideoResampler {
2588 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2589 f.debug_struct(&format!("GstVideoResampler @ {self:p}"))
2590 .field("in_size", &self.in_size)
2591 .field("out_size", &self.out_size)
2592 .field("max_taps", &self.max_taps)
2593 .field("n_phases", &self.n_phases)
2594 .field("offset", &self.offset)
2595 .field("phase", &self.phase)
2596 .field("n_taps", &self.n_taps)
2597 .field("taps", &self.taps)
2598 .finish()
2599 }
2600}
2601
2602#[derive(Copy, Clone)]
2603#[repr(C)]
2604pub struct GstVideoSEIUserDataUnregisteredMeta {
2605 pub meta: gst::GstMeta,
2606 pub uuid: [u8; 16],
2607 pub data: *mut u8,
2608 pub size: size_t,
2609}
2610
2611impl ::std::fmt::Debug for GstVideoSEIUserDataUnregisteredMeta {
2612 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2613 f.debug_struct(&format!("GstVideoSEIUserDataUnregisteredMeta @ {self:p}"))
2614 .field("meta", &self.meta)
2615 .field("uuid", &self.uuid)
2616 .field("data", &self.data)
2617 .field("size", &self.size)
2618 .finish()
2619 }
2620}
2621
2622#[repr(C)]
2623#[allow(dead_code)]
2624pub struct _GstVideoScaler {
2625 _data: [u8; 0],
2626 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2627}
2628
2629pub type GstVideoScaler = _GstVideoScaler;
2630
2631#[derive(Copy, Clone)]
2632#[repr(C)]
2633pub struct GstVideoSinkClass {
2634 pub parent_class: gst_base::GstBaseSinkClass,
2635 pub show_frame:
2636 Option<unsafe extern "C" fn(*mut GstVideoSink, *mut gst::GstBuffer) -> gst::GstFlowReturn>,
2637 pub set_info: Option<
2638 unsafe extern "C" fn(*mut GstVideoSink, *mut gst::GstCaps, *const GstVideoInfo) -> gboolean,
2639 >,
2640 pub _gst_reserved: [gpointer; 3],
2641}
2642
2643impl ::std::fmt::Debug for GstVideoSinkClass {
2644 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2645 f.debug_struct(&format!("GstVideoSinkClass @ {self:p}"))
2646 .field("parent_class", &self.parent_class)
2647 .field("show_frame", &self.show_frame)
2648 .field("set_info", &self.set_info)
2649 .finish()
2650 }
2651}
2652
2653#[repr(C)]
2654#[allow(dead_code)]
2655pub struct _GstVideoSinkPrivate {
2656 _data: [u8; 0],
2657 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2658}
2659
2660pub type GstVideoSinkPrivate = _GstVideoSinkPrivate;
2661
2662#[derive(Copy, Clone)]
2663#[repr(C)]
2664pub struct GstVideoTileInfo {
2665 pub width: c_uint,
2666 pub height: c_uint,
2667 pub stride: c_uint,
2668 pub size: c_uint,
2669 pub padding: [u32; 4],
2670}
2671
2672impl ::std::fmt::Debug for GstVideoTileInfo {
2673 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2674 f.debug_struct(&format!("GstVideoTileInfo @ {self:p}"))
2675 .field("width", &self.width)
2676 .field("height", &self.height)
2677 .field("stride", &self.stride)
2678 .field("size", &self.size)
2679 .finish()
2680 }
2681}
2682
2683#[derive(Copy, Clone)]
2684#[repr(C)]
2685pub struct GstVideoTimeCode {
2686 pub config: GstVideoTimeCodeConfig,
2687 pub hours: c_uint,
2688 pub minutes: c_uint,
2689 pub seconds: c_uint,
2690 pub frames: c_uint,
2691 pub field_count: c_uint,
2692}
2693
2694impl ::std::fmt::Debug for GstVideoTimeCode {
2695 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2696 f.debug_struct(&format!("GstVideoTimeCode @ {self:p}"))
2697 .field("config", &self.config)
2698 .field("hours", &self.hours)
2699 .field("minutes", &self.minutes)
2700 .field("seconds", &self.seconds)
2701 .field("frames", &self.frames)
2702 .field("field_count", &self.field_count)
2703 .finish()
2704 }
2705}
2706
2707#[derive(Copy, Clone)]
2708#[repr(C)]
2709pub struct GstVideoTimeCodeConfig {
2710 pub fps_n: c_uint,
2711 pub fps_d: c_uint,
2712 pub flags: GstVideoTimeCodeFlags,
2713 pub latest_daily_jam: *mut glib::GDateTime,
2714}
2715
2716impl ::std::fmt::Debug for GstVideoTimeCodeConfig {
2717 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2718 f.debug_struct(&format!("GstVideoTimeCodeConfig @ {self:p}"))
2719 .field("fps_n", &self.fps_n)
2720 .field("fps_d", &self.fps_d)
2721 .field("flags", &self.flags)
2722 .field("latest_daily_jam", &self.latest_daily_jam)
2723 .finish()
2724 }
2725}
2726
2727#[derive(Copy, Clone)]
2728#[repr(C)]
2729pub struct GstVideoTimeCodeInterval {
2730 pub hours: c_uint,
2731 pub minutes: c_uint,
2732 pub seconds: c_uint,
2733 pub frames: c_uint,
2734}
2735
2736impl ::std::fmt::Debug for GstVideoTimeCodeInterval {
2737 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2738 f.debug_struct(&format!("GstVideoTimeCodeInterval @ {self:p}"))
2739 .field("hours", &self.hours)
2740 .field("minutes", &self.minutes)
2741 .field("seconds", &self.seconds)
2742 .field("frames", &self.frames)
2743 .finish()
2744 }
2745}
2746
2747#[derive(Copy, Clone)]
2748#[repr(C)]
2749pub struct GstVideoTimeCodeMeta {
2750 pub meta: gst::GstMeta,
2751 pub tc: GstVideoTimeCode,
2752}
2753
2754impl ::std::fmt::Debug for GstVideoTimeCodeMeta {
2755 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2756 f.debug_struct(&format!("GstVideoTimeCodeMeta @ {self:p}"))
2757 .field("meta", &self.meta)
2758 .field("tc", &self.tc)
2759 .finish()
2760 }
2761}
2762
2763#[repr(C)]
2764#[allow(dead_code)]
2765pub struct GstVideoVBIEncoder {
2766 _data: [u8; 0],
2767 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2768}
2769
2770impl ::std::fmt::Debug for GstVideoVBIEncoder {
2771 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2772 f.debug_struct(&format!("GstVideoVBIEncoder @ {self:p}"))
2773 .finish()
2774 }
2775}
2776
2777#[repr(C)]
2778#[allow(dead_code)]
2779pub struct GstVideoVBIParser {
2780 _data: [u8; 0],
2781 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2782}
2783
2784impl ::std::fmt::Debug for GstVideoVBIParser {
2785 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2786 f.debug_struct(&format!("GstVideoVBIParser @ {self:p}"))
2787 .finish()
2788 }
2789}
2790
2791#[derive(Copy, Clone)]
2793#[repr(C)]
2794pub struct GstColorBalanceChannel {
2795 pub parent: gobject::GObject,
2796 pub label: *mut c_char,
2797 pub min_value: c_int,
2798 pub max_value: c_int,
2799 pub _gst_reserved: [gpointer; 4],
2800}
2801
2802impl ::std::fmt::Debug for GstColorBalanceChannel {
2803 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2804 f.debug_struct(&format!("GstColorBalanceChannel @ {self:p}"))
2805 .field("parent", &self.parent)
2806 .field("label", &self.label)
2807 .field("min_value", &self.min_value)
2808 .field("max_value", &self.max_value)
2809 .finish()
2810 }
2811}
2812
2813#[derive(Copy, Clone)]
2814#[repr(C)]
2815pub struct GstVideoAggregator {
2816 pub aggregator: gst_base::GstAggregator,
2817 pub info: GstVideoInfo,
2818 pub priv_: *mut GstVideoAggregatorPrivate,
2819 pub _gst_reserved: [gpointer; 20],
2820}
2821
2822impl ::std::fmt::Debug for GstVideoAggregator {
2823 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2824 f.debug_struct(&format!("GstVideoAggregator @ {self:p}"))
2825 .field("aggregator", &self.aggregator)
2826 .field("info", &self.info)
2827 .finish()
2828 }
2829}
2830
2831#[derive(Copy, Clone)]
2832#[repr(C)]
2833pub struct GstVideoAggregatorConvertPad {
2834 pub parent: GstVideoAggregatorPad,
2835 pub priv_: *mut GstVideoAggregatorConvertPadPrivate,
2836 pub _gst_reserved: [gpointer; 4],
2837}
2838
2839impl ::std::fmt::Debug for GstVideoAggregatorConvertPad {
2840 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2841 f.debug_struct(&format!("GstVideoAggregatorConvertPad @ {self:p}"))
2842 .finish()
2843 }
2844}
2845
2846#[derive(Copy, Clone)]
2847#[repr(C)]
2848pub struct GstVideoAggregatorPad {
2849 pub parent: gst_base::GstAggregatorPad,
2850 pub info: GstVideoInfo,
2851 pub priv_: *mut GstVideoAggregatorPadPrivate,
2852 pub _gst_reserved: [gpointer; 4],
2853}
2854
2855impl ::std::fmt::Debug for GstVideoAggregatorPad {
2856 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2857 f.debug_struct(&format!("GstVideoAggregatorPad @ {self:p}"))
2858 .field("parent", &self.parent)
2859 .field("info", &self.info)
2860 .finish()
2861 }
2862}
2863
2864#[derive(Copy, Clone)]
2865#[repr(C)]
2866pub struct GstVideoAggregatorParallelConvertPad {
2867 pub parent_instance: GstVideoAggregatorConvertPad,
2868}
2869
2870impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPad {
2871 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2872 f.debug_struct(&format!("GstVideoAggregatorParallelConvertPad @ {self:p}"))
2873 .field("parent_instance", &self.parent_instance)
2874 .finish()
2875 }
2876}
2877
2878#[derive(Copy, Clone)]
2879#[repr(C)]
2880pub struct GstVideoBufferPool {
2881 pub bufferpool: gst::GstBufferPool,
2882 pub priv_: *mut GstVideoBufferPoolPrivate,
2883}
2884
2885impl ::std::fmt::Debug for GstVideoBufferPool {
2886 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2887 f.debug_struct(&format!("GstVideoBufferPool @ {self:p}"))
2888 .field("bufferpool", &self.bufferpool)
2889 .field("priv_", &self.priv_)
2890 .finish()
2891 }
2892}
2893
2894#[derive(Copy, Clone)]
2895#[repr(C)]
2896pub struct GstVideoDecoder {
2897 pub element: gst::GstElement,
2898 pub sinkpad: *mut gst::GstPad,
2899 pub srcpad: *mut gst::GstPad,
2900 pub stream_lock: glib::GRecMutex,
2901 pub input_segment: gst::GstSegment,
2902 pub output_segment: gst::GstSegment,
2903 pub priv_: *mut GstVideoDecoderPrivate,
2904 pub padding: [gpointer; 20],
2905}
2906
2907impl ::std::fmt::Debug for GstVideoDecoder {
2908 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2909 f.debug_struct(&format!("GstVideoDecoder @ {self:p}"))
2910 .finish()
2911 }
2912}
2913
2914#[repr(C)]
2915#[allow(dead_code)]
2916pub struct GstVideoDmabufPool {
2917 _data: [u8; 0],
2918 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2919}
2920
2921impl ::std::fmt::Debug for GstVideoDmabufPool {
2922 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2923 f.debug_struct(&format!("GstVideoDmabufPool @ {self:p}"))
2924 .finish()
2925 }
2926}
2927
2928#[derive(Copy, Clone)]
2929#[repr(C)]
2930pub struct GstVideoEncoder {
2931 pub element: gst::GstElement,
2932 pub sinkpad: *mut gst::GstPad,
2933 pub srcpad: *mut gst::GstPad,
2934 pub stream_lock: glib::GRecMutex,
2935 pub input_segment: gst::GstSegment,
2936 pub output_segment: gst::GstSegment,
2937 pub priv_: *mut GstVideoEncoderPrivate,
2938 pub padding: [gpointer; 20],
2939}
2940
2941impl ::std::fmt::Debug for GstVideoEncoder {
2942 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2943 f.debug_struct(&format!("GstVideoEncoder @ {self:p}"))
2944 .finish()
2945 }
2946}
2947
2948#[derive(Copy, Clone)]
2949#[repr(C)]
2950pub struct GstVideoFilter {
2951 pub element: gst_base::GstBaseTransform,
2952 pub negotiated: gboolean,
2953 pub in_info: GstVideoInfo,
2954 pub out_info: GstVideoInfo,
2955 pub _gst_reserved: [gpointer; 4],
2956}
2957
2958impl ::std::fmt::Debug for GstVideoFilter {
2959 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2960 f.debug_struct(&format!("GstVideoFilter @ {self:p}"))
2961 .field("element", &self.element)
2962 .field("negotiated", &self.negotiated)
2963 .field("in_info", &self.in_info)
2964 .field("out_info", &self.out_info)
2965 .finish()
2966 }
2967}
2968
2969#[repr(C)]
2970#[allow(dead_code)]
2971pub struct GstVideoMultiviewFlagsSet {
2972 _data: [u8; 0],
2973 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2974}
2975
2976impl ::std::fmt::Debug for GstVideoMultiviewFlagsSet {
2977 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2978 f.debug_struct(&format!("GstVideoMultiviewFlagsSet @ {self:p}"))
2979 .finish()
2980 }
2981}
2982
2983#[derive(Copy, Clone)]
2984#[repr(C)]
2985pub struct GstVideoSink {
2986 pub element: gst_base::GstBaseSink,
2987 pub width: c_int,
2988 pub height: c_int,
2989 pub priv_: *mut GstVideoSinkPrivate,
2990 pub _gst_reserved: [gpointer; 4],
2991}
2992
2993impl ::std::fmt::Debug for GstVideoSink {
2994 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2995 f.debug_struct(&format!("GstVideoSink @ {self:p}"))
2996 .field("element", &self.element)
2997 .field("width", &self.width)
2998 .field("height", &self.height)
2999 .finish()
3000 }
3001}
3002
3003#[repr(C)]
3005#[allow(dead_code)]
3006pub struct GstColorBalance {
3007 _data: [u8; 0],
3008 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3009}
3010
3011impl ::std::fmt::Debug for GstColorBalance {
3012 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3013 write!(f, "GstColorBalance @ {self:p}")
3014 }
3015}
3016
3017#[repr(C)]
3018#[allow(dead_code)]
3019pub struct GstNavigation {
3020 _data: [u8; 0],
3021 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3022}
3023
3024impl ::std::fmt::Debug for GstNavigation {
3025 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3026 write!(f, "GstNavigation @ {self:p}")
3027 }
3028}
3029
3030#[repr(C)]
3031#[allow(dead_code)]
3032pub struct GstVideoDirection {
3033 _data: [u8; 0],
3034 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3035}
3036
3037impl ::std::fmt::Debug for GstVideoDirection {
3038 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3039 write!(f, "GstVideoDirection @ {self:p}")
3040 }
3041}
3042
3043#[repr(C)]
3044#[allow(dead_code)]
3045pub struct GstVideoOrientation {
3046 _data: [u8; 0],
3047 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3048}
3049
3050impl ::std::fmt::Debug for GstVideoOrientation {
3051 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3052 write!(f, "GstVideoOrientation @ {self:p}")
3053 }
3054}
3055
3056#[repr(C)]
3057#[allow(dead_code)]
3058pub struct GstVideoOverlay {
3059 _data: [u8; 0],
3060 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3061}
3062
3063impl ::std::fmt::Debug for GstVideoOverlay {
3064 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3065 write!(f, "GstVideoOverlay @ {self:p}")
3066 }
3067}
3068
3069unsafe extern "C" {
3070
3071 #[cfg(feature = "v1_24")]
3075 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3076 pub fn gst_ancillary_meta_field_get_type() -> GType;
3077
3078 pub fn gst_color_balance_type_get_type() -> GType;
3082
3083 pub fn gst_navigation_command_get_type() -> GType;
3087
3088 pub fn gst_navigation_event_type_get_type() -> GType;
3092
3093 pub fn gst_navigation_message_type_get_type() -> GType;
3097
3098 pub fn gst_navigation_query_type_get_type() -> GType;
3102
3103 #[cfg(feature = "v1_18")]
3107 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3108 pub fn gst_video_afd_spec_get_type() -> GType;
3109
3110 #[cfg(feature = "v1_18")]
3114 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3115 pub fn gst_video_afd_value_get_type() -> GType;
3116
3117 pub fn gst_video_alpha_mode_get_type() -> GType;
3121
3122 #[cfg(feature = "v1_16")]
3126 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3127 pub fn gst_video_ancillary_did_get_type() -> GType;
3128
3129 #[cfg(feature = "v1_16")]
3133 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3134 pub fn gst_video_ancillary_di_d16_get_type() -> GType;
3135
3136 #[cfg(feature = "v1_16")]
3140 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3141 pub fn gst_video_caption_type_get_type() -> GType;
3142 #[cfg(feature = "v1_16")]
3143 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3144 pub fn gst_video_caption_type_from_caps(caps: *const gst::GstCaps) -> GstVideoCaptionType;
3145 #[cfg(feature = "v1_16")]
3146 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3147 pub fn gst_video_caption_type_to_caps(type_: GstVideoCaptionType) -> *mut gst::GstCaps;
3148
3149 pub fn gst_video_chroma_method_get_type() -> GType;
3153
3154 pub fn gst_video_chroma_mode_get_type() -> GType;
3158
3159 pub fn gst_video_color_matrix_get_type() -> GType;
3163 #[cfg(feature = "v1_18")]
3164 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3165 pub fn gst_video_color_matrix_from_iso(value: c_uint) -> GstVideoColorMatrix;
3166 pub fn gst_video_color_matrix_get_Kr_Kb(
3167 matrix: GstVideoColorMatrix,
3168 Kr: *mut c_double,
3169 Kb: *mut c_double,
3170 ) -> gboolean;
3171 #[cfg(feature = "v1_18")]
3172 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3173 pub fn gst_video_color_matrix_to_iso(matrix: GstVideoColorMatrix) -> c_uint;
3174
3175 pub fn gst_video_color_primaries_get_type() -> GType;
3179 #[cfg(feature = "v1_18")]
3180 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3181 pub fn gst_video_color_primaries_from_iso(value: c_uint) -> GstVideoColorPrimaries;
3182 pub fn gst_video_color_primaries_get_info(
3183 primaries: GstVideoColorPrimaries,
3184 ) -> *const GstVideoColorPrimariesInfo;
3185 #[cfg(feature = "v1_22")]
3186 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3187 pub fn gst_video_color_primaries_is_equivalent(
3188 primaries: GstVideoColorPrimaries,
3189 other: GstVideoColorPrimaries,
3190 ) -> gboolean;
3191 #[cfg(feature = "v1_18")]
3192 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3193 pub fn gst_video_color_primaries_to_iso(primaries: GstVideoColorPrimaries) -> c_uint;
3194
3195 pub fn gst_video_color_range_get_type() -> GType;
3199 pub fn gst_video_color_range_offsets(
3200 range: GstVideoColorRange,
3201 info: *const GstVideoFormatInfo,
3202 offset: *mut [c_int; 4],
3203 scale: *mut [c_int; 4],
3204 );
3205 #[cfg(feature = "v1_30")]
3206 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3207 pub fn gst_video_color_range_offsets_full(
3208 range: GstVideoColorRange,
3209 info: *const GstVideoFormatInfo,
3210 offset: *mut [c_double; 4],
3211 scale: *mut [c_double; 4],
3212 fullscale: *mut [c_double; 4],
3213 );
3214
3215 pub fn gst_video_dither_method_get_type() -> GType;
3219
3220 pub fn gst_video_field_order_get_type() -> GType;
3224 pub fn gst_video_field_order_from_string(order: *const c_char) -> GstVideoFieldOrder;
3225 pub fn gst_video_field_order_to_string(order: GstVideoFieldOrder) -> *const c_char;
3226
3227 pub fn gst_video_format_get_type() -> GType;
3231 pub fn gst_video_format_from_fourcc(fourcc: u32) -> GstVideoFormat;
3232 pub fn gst_video_format_from_masks(
3233 depth: c_int,
3234 bpp: c_int,
3235 endianness: c_int,
3236 red_mask: c_uint,
3237 green_mask: c_uint,
3238 blue_mask: c_uint,
3239 alpha_mask: c_uint,
3240 ) -> GstVideoFormat;
3241 pub fn gst_video_format_from_string(format: *const c_char) -> GstVideoFormat;
3242 pub fn gst_video_format_get_info(format: GstVideoFormat) -> *const GstVideoFormatInfo;
3243 pub fn gst_video_format_get_palette(format: GstVideoFormat, size: *mut size_t)
3244 -> gconstpointer;
3245 pub fn gst_video_format_to_fourcc(format: GstVideoFormat) -> u32;
3246 pub fn gst_video_format_to_string(format: GstVideoFormat) -> *const c_char;
3247
3248 #[cfg(feature = "v1_20")]
3252 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3253 pub fn gst_video_gl_texture_orientation_get_type() -> GType;
3254
3255 #[cfg(feature = "v1_20")]
3259 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3260 pub fn gst_video_gl_texture_type_get_type() -> GType;
3261
3262 pub fn gst_video_gamma_mode_get_type() -> GType;
3266
3267 pub fn gst_video_interlace_mode_get_type() -> GType;
3271 pub fn gst_video_interlace_mode_from_string(mode: *const c_char) -> GstVideoInterlaceMode;
3272 pub fn gst_video_interlace_mode_to_string(mode: GstVideoInterlaceMode) -> *const c_char;
3273
3274 pub fn gst_video_matrix_mode_get_type() -> GType;
3278
3279 pub fn gst_video_multiview_frame_packing_get_type() -> GType;
3283
3284 pub fn gst_video_multiview_mode_get_type() -> GType;
3288 pub fn gst_video_multiview_mode_from_caps_string(
3289 caps_mview_mode: *const c_char,
3290 ) -> GstVideoMultiviewMode;
3291 pub fn gst_video_multiview_mode_to_caps_string(
3292 mview_mode: GstVideoMultiviewMode,
3293 ) -> *const c_char;
3294
3295 pub fn gst_video_orientation_method_get_type() -> GType;
3299
3300 pub fn gst_video_primaries_mode_get_type() -> GType;
3304
3305 pub fn gst_video_resampler_method_get_type() -> GType;
3309
3310 pub fn gst_video_tile_mode_get_type() -> GType;
3314
3315 pub fn gst_video_tile_type_get_type() -> GType;
3319
3320 pub fn gst_video_transfer_function_get_type() -> GType;
3324 #[cfg(feature = "v1_20")]
3325 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3326 pub fn gst_video_transfer_function_decode(
3327 func: GstVideoTransferFunction,
3328 val: c_double,
3329 ) -> c_double;
3330 #[cfg(feature = "v1_20")]
3331 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3332 pub fn gst_video_transfer_function_encode(
3333 func: GstVideoTransferFunction,
3334 val: c_double,
3335 ) -> c_double;
3336 #[cfg(feature = "v1_18")]
3337 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3338 pub fn gst_video_transfer_function_from_iso(value: c_uint) -> GstVideoTransferFunction;
3339 #[cfg(feature = "v1_18")]
3340 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3341 pub fn gst_video_transfer_function_is_equivalent(
3342 from_func: GstVideoTransferFunction,
3343 from_bpp: c_uint,
3344 to_func: GstVideoTransferFunction,
3345 to_bpp: c_uint,
3346 ) -> gboolean;
3347 #[cfg(feature = "v1_18")]
3348 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3349 pub fn gst_video_transfer_function_to_iso(func: GstVideoTransferFunction) -> c_uint;
3350
3351 #[cfg(feature = "v1_16")]
3355 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3356 pub fn gst_video_vbi_parser_result_get_type() -> GType;
3357
3358 #[cfg(feature = "v1_22")]
3362 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3363 pub fn gst_navigation_modifier_type_get_type() -> GType;
3364
3365 pub fn gst_video_buffer_flags_get_type() -> GType;
3369
3370 pub fn gst_video_chroma_flags_get_type() -> GType;
3374
3375 pub fn gst_video_chroma_site_get_type() -> GType;
3379 #[cfg(feature = "v1_20")]
3380 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3381 pub fn gst_video_chroma_site_from_string(s: *const c_char) -> GstVideoChromaSite;
3382 #[cfg(feature = "v1_20")]
3383 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3384 pub fn gst_video_chroma_site_to_string(site: GstVideoChromaSite) -> *mut c_char;
3385
3386 #[cfg(feature = "v1_20")]
3390 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3391 pub fn gst_video_codec_frame_flags_get_type() -> GType;
3392
3393 #[cfg(feature = "v1_20")]
3397 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3398 pub fn gst_video_decoder_request_sync_point_flags_get_type() -> GType;
3399
3400 pub fn gst_video_dither_flags_get_type() -> GType;
3404
3405 pub fn gst_video_flags_get_type() -> GType;
3409
3410 pub fn gst_video_format_flags_get_type() -> GType;
3414
3415 pub fn gst_video_frame_flags_get_type() -> GType;
3419
3420 pub fn gst_video_frame_map_flags_get_type() -> GType;
3424
3425 pub fn gst_video_multiview_flags_get_type() -> GType;
3429
3430 #[cfg(feature = "v1_16")]
3434 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3435 pub fn gst_video_overlay_format_flags_get_type() -> GType;
3436
3437 pub fn gst_video_pack_flags_get_type() -> GType;
3441
3442 pub fn gst_video_resampler_flags_get_type() -> GType;
3446
3447 pub fn gst_video_scaler_flags_get_type() -> GType;
3451
3452 #[cfg(feature = "v1_18")]
3456 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3457 pub fn gst_video_time_code_flags_get_type() -> GType;
3458
3459 #[cfg(feature = "v1_24")]
3463 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3464 pub fn gst_ancillary_meta_get_info() -> *const gst::GstMetaInfo;
3465
3466 #[cfg(feature = "v1_30")]
3470 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3471 pub fn gst_h274_digitally_signed_content_initialization_get_type() -> GType;
3472
3473 #[cfg(feature = "v1_30")]
3477 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3478 pub fn gst_h274_digitally_signed_content_selection_get_type() -> GType;
3479
3480 #[cfg(feature = "v1_30")]
3484 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3485 pub fn gst_h274_digitally_signed_content_verification_get_type() -> GType;
3486
3487 #[cfg(feature = "v1_30")]
3491 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3492 pub fn gst_h274_registered_user_data_get_type() -> GType;
3493
3494 #[cfg(feature = "v1_30")]
3498 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3499 pub fn gst_h274_user_data_unregistered_get_type() -> GType;
3500 #[cfg(feature = "v1_30")]
3501 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3502 pub fn gst_h274_user_data_unregistered_clear(udu: *mut GstH274UserDataUnregistered);
3503 #[cfg(feature = "v1_30")]
3504 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3505 pub fn gst_h274_user_data_unregistered_copy(
3506 dst_udu: *mut GstH274UserDataUnregistered,
3507 src_udu: *const GstH274UserDataUnregistered,
3508 );
3509
3510 #[cfg(feature = "v1_18")]
3514 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3515 pub fn gst_video_afd_meta_get_info() -> *const gst::GstMetaInfo;
3516
3517 pub fn gst_video_affine_transformation_meta_apply_matrix(
3521 meta: *mut GstVideoAffineTransformationMeta,
3522 matrix: *const [c_float; 16],
3523 );
3524 pub fn gst_video_affine_transformation_meta_get_info() -> *const gst::GstMetaInfo;
3525
3526 pub fn gst_video_alignment_reset(align: *mut GstVideoAlignment);
3530
3531 #[cfg(feature = "v1_18")]
3535 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3536 pub fn gst_video_bar_meta_get_info() -> *const gst::GstMetaInfo;
3537
3538 #[cfg(feature = "v1_16")]
3542 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3543 pub fn gst_video_caption_meta_get_info() -> *const gst::GstMetaInfo;
3544
3545 pub fn gst_video_chroma_resample_free(resample: *mut GstVideoChromaResample);
3549 pub fn gst_video_chroma_resample_get_info(
3550 resample: *mut GstVideoChromaResample,
3551 n_lines: *mut c_uint,
3552 offset: *mut c_int,
3553 );
3554 pub fn gst_video_chroma_resample_new(
3555 method: GstVideoChromaMethod,
3556 site: GstVideoChromaSite,
3557 flags: GstVideoChromaFlags,
3558 format: GstVideoFormat,
3559 h_factor: c_int,
3560 v_factor: c_int,
3561 ) -> *mut GstVideoChromaResample;
3562
3563 #[cfg(feature = "v1_20")]
3567 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3568 pub fn gst_video_codec_alpha_meta_get_info() -> *const gst::GstMetaInfo;
3569
3570 pub fn gst_video_codec_frame_get_type() -> GType;
3574 pub fn gst_video_codec_frame_get_user_data(frame: *mut GstVideoCodecFrame) -> gpointer;
3575 pub fn gst_video_codec_frame_ref(frame: *mut GstVideoCodecFrame) -> *mut GstVideoCodecFrame;
3576 pub fn gst_video_codec_frame_set_user_data(
3577 frame: *mut GstVideoCodecFrame,
3578 user_data: gpointer,
3579 notify: glib::GDestroyNotify,
3580 );
3581 pub fn gst_video_codec_frame_unref(frame: *mut GstVideoCodecFrame);
3582
3583 pub fn gst_video_codec_state_get_type() -> GType;
3587 pub fn gst_video_codec_state_ref(state: *mut GstVideoCodecState) -> *mut GstVideoCodecState;
3588 pub fn gst_video_codec_state_unref(state: *mut GstVideoCodecState);
3589
3590 pub fn gst_video_colorimetry_from_string(
3594 cinfo: *mut GstVideoColorimetry,
3595 color: *const c_char,
3596 ) -> gboolean;
3597 pub fn gst_video_colorimetry_is_equal(
3598 cinfo: *const GstVideoColorimetry,
3599 other: *const GstVideoColorimetry,
3600 ) -> gboolean;
3601 #[cfg(feature = "v1_22")]
3602 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3603 pub fn gst_video_colorimetry_is_equivalent(
3604 cinfo: *const GstVideoColorimetry,
3605 bitdepth: c_uint,
3606 other: *const GstVideoColorimetry,
3607 other_bitdepth: c_uint,
3608 ) -> gboolean;
3609 pub fn gst_video_colorimetry_matches(
3610 cinfo: *const GstVideoColorimetry,
3611 color: *const c_char,
3612 ) -> gboolean;
3613 pub fn gst_video_colorimetry_to_string(cinfo: *const GstVideoColorimetry) -> *mut c_char;
3614
3615 #[cfg(feature = "v1_18")]
3619 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3620 pub fn gst_video_content_light_level_add_to_caps(
3621 linfo: *const GstVideoContentLightLevel,
3622 caps: *mut gst::GstCaps,
3623 ) -> gboolean;
3624 #[cfg(feature = "v1_18")]
3625 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3626 pub fn gst_video_content_light_level_from_caps(
3627 linfo: *mut GstVideoContentLightLevel,
3628 caps: *const gst::GstCaps,
3629 ) -> gboolean;
3630 #[cfg(feature = "v1_18")]
3631 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3632 pub fn gst_video_content_light_level_from_string(
3633 linfo: *mut GstVideoContentLightLevel,
3634 level: *const c_char,
3635 ) -> gboolean;
3636 #[cfg(feature = "v1_18")]
3637 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3638 pub fn gst_video_content_light_level_init(linfo: *mut GstVideoContentLightLevel);
3639 #[cfg(feature = "v1_20")]
3640 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3641 pub fn gst_video_content_light_level_is_equal(
3642 linfo: *const GstVideoContentLightLevel,
3643 other: *const GstVideoContentLightLevel,
3644 ) -> gboolean;
3645 #[cfg(feature = "v1_18")]
3646 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3647 pub fn gst_video_content_light_level_to_string(
3648 linfo: *const GstVideoContentLightLevel,
3649 ) -> *mut c_char;
3650
3651 pub fn gst_video_converter_frame(
3655 convert: *mut GstVideoConverter,
3656 src: *const GstVideoFrame,
3657 dest: *mut GstVideoFrame,
3658 );
3659 #[cfg(feature = "v1_20")]
3660 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3661 pub fn gst_video_converter_frame_finish(convert: *mut GstVideoConverter);
3662 pub fn gst_video_converter_free(convert: *mut GstVideoConverter);
3663 pub fn gst_video_converter_get_config(
3664 convert: *mut GstVideoConverter,
3665 ) -> *const gst::GstStructure;
3666 #[cfg(feature = "v1_22")]
3667 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3668 pub fn gst_video_converter_get_in_info(convert: *mut GstVideoConverter) -> *const GstVideoInfo;
3669 #[cfg(feature = "v1_22")]
3670 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3671 pub fn gst_video_converter_get_out_info(convert: *mut GstVideoConverter)
3672 -> *const GstVideoInfo;
3673 pub fn gst_video_converter_set_config(
3674 convert: *mut GstVideoConverter,
3675 config: *mut gst::GstStructure,
3676 ) -> gboolean;
3677 #[cfg(feature = "v1_28")]
3678 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
3679 pub fn gst_video_converter_transform_metas(
3680 convert: *mut GstVideoConverter,
3681 src: *mut gst::GstBuffer,
3682 dest: *mut gst::GstBuffer,
3683 ) -> gboolean;
3684 pub fn gst_video_converter_new(
3685 in_info: *const GstVideoInfo,
3686 out_info: *const GstVideoInfo,
3687 config: *mut gst::GstStructure,
3688 ) -> *mut GstVideoConverter;
3689 #[cfg(feature = "v1_20")]
3690 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3691 pub fn gst_video_converter_new_with_pool(
3692 in_info: *const GstVideoInfo,
3693 out_info: *const GstVideoInfo,
3694 config: *mut gst::GstStructure,
3695 pool: *mut gst::GstTaskPool,
3696 ) -> *mut GstVideoConverter;
3697
3698 pub fn gst_video_crop_meta_get_info() -> *const gst::GstMetaInfo;
3702
3703 #[cfg(feature = "v1_30")]
3707 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3708 pub fn gst_video_dsc_initialization_meta_get_info() -> *const gst::GstMetaInfo;
3709
3710 #[cfg(feature = "v1_30")]
3714 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3715 pub fn gst_video_dsc_selection_meta_get_info() -> *const gst::GstMetaInfo;
3716
3717 #[cfg(feature = "v1_30")]
3721 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3722 pub fn gst_video_dsc_verification_meta_get_info() -> *const gst::GstMetaInfo;
3723
3724 pub fn gst_video_dither_free(dither: *mut GstVideoDither);
3728 pub fn gst_video_dither_line(
3729 dither: *mut GstVideoDither,
3730 line: gpointer,
3731 x: c_uint,
3732 y: c_uint,
3733 width: c_uint,
3734 );
3735 pub fn gst_video_dither_new(
3736 method: GstVideoDitherMethod,
3737 flags: GstVideoDitherFlags,
3738 format: GstVideoFormat,
3739 quantizer: *mut [c_uint; 4],
3740 width: c_uint,
3741 ) -> *mut GstVideoDither;
3742
3743 #[cfg(feature = "v1_18")]
3747 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3748 pub fn gst_video_format_info_component(
3749 info: *const GstVideoFormatInfo,
3750 plane: c_uint,
3751 components: *mut [c_int; 4],
3752 );
3753 #[cfg(feature = "v1_22")]
3754 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3755 pub fn gst_video_format_info_extrapolate_stride(
3756 finfo: *const GstVideoFormatInfo,
3757 plane: c_int,
3758 stride: c_int,
3759 ) -> c_int;
3760
3761 pub fn gst_video_frame_copy(dest: *mut GstVideoFrame, src: *const GstVideoFrame) -> gboolean;
3765 pub fn gst_video_frame_copy_plane(
3766 dest: *mut GstVideoFrame,
3767 src: *const GstVideoFrame,
3768 plane: c_uint,
3769 ) -> gboolean;
3770 pub fn gst_video_frame_unmap(frame: *mut GstVideoFrame);
3771 pub fn gst_video_frame_map(
3772 frame: *mut GstVideoFrame,
3773 info: *const GstVideoInfo,
3774 buffer: *mut gst::GstBuffer,
3775 flags: gst::GstMapFlags,
3776 ) -> gboolean;
3777 pub fn gst_video_frame_map_id(
3778 frame: *mut GstVideoFrame,
3779 info: *const GstVideoInfo,
3780 buffer: *mut gst::GstBuffer,
3781 id: c_int,
3782 flags: gst::GstMapFlags,
3783 ) -> gboolean;
3784
3785 pub fn gst_video_gl_texture_upload_meta_upload(
3789 meta: *mut GstVideoGLTextureUploadMeta,
3790 texture_id: *mut c_uint,
3791 ) -> gboolean;
3792 pub fn gst_video_gl_texture_upload_meta_get_info() -> *const gst::GstMetaInfo;
3793
3794 #[cfg(feature = "v1_30")]
3798 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
3799 pub fn gst_video_hdr_meta_get_info() -> *const gst::GstMetaInfo;
3800
3801 pub fn gst_video_info_get_type() -> GType;
3805 pub fn gst_video_info_new() -> *mut GstVideoInfo;
3806 #[cfg(feature = "v1_20")]
3807 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3808 pub fn gst_video_info_new_from_caps(caps: *const gst::GstCaps) -> *mut GstVideoInfo;
3809 pub fn gst_video_info_align(info: *mut GstVideoInfo, align: *mut GstVideoAlignment)
3810 -> gboolean;
3811 #[cfg(feature = "v1_18")]
3812 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3813 pub fn gst_video_info_align_full(
3814 info: *mut GstVideoInfo,
3815 align: *mut GstVideoAlignment,
3816 plane_size: *mut size_t,
3817 ) -> gboolean;
3818 pub fn gst_video_info_convert(
3819 info: *const GstVideoInfo,
3820 src_format: gst::GstFormat,
3821 src_value: i64,
3822 dest_format: gst::GstFormat,
3823 dest_value: *mut i64,
3824 ) -> gboolean;
3825 pub fn gst_video_info_copy(info: *const GstVideoInfo) -> *mut GstVideoInfo;
3826 pub fn gst_video_info_free(info: *mut GstVideoInfo);
3827 pub fn gst_video_info_is_equal(
3828 info: *const GstVideoInfo,
3829 other: *const GstVideoInfo,
3830 ) -> gboolean;
3831 pub fn gst_video_info_set_format(
3832 info: *mut GstVideoInfo,
3833 format: GstVideoFormat,
3834 width: c_uint,
3835 height: c_uint,
3836 ) -> gboolean;
3837 #[cfg(feature = "v1_16")]
3838 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3839 pub fn gst_video_info_set_interlaced_format(
3840 info: *mut GstVideoInfo,
3841 format: GstVideoFormat,
3842 mode: GstVideoInterlaceMode,
3843 width: c_uint,
3844 height: c_uint,
3845 ) -> gboolean;
3846 pub fn gst_video_info_to_caps(info: *const GstVideoInfo) -> *mut gst::GstCaps;
3847 pub fn gst_video_info_from_caps(info: *mut GstVideoInfo, caps: *const gst::GstCaps)
3848 -> gboolean;
3849 pub fn gst_video_info_init(info: *mut GstVideoInfo);
3850
3851 #[cfg(feature = "v1_24")]
3855 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3856 pub fn gst_video_info_dma_drm_get_type() -> GType;
3857 #[cfg(feature = "v1_24")]
3858 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3859 pub fn gst_video_info_dma_drm_new() -> *mut GstVideoInfoDmaDrm;
3860 #[cfg(feature = "v1_24")]
3861 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3862 pub fn gst_video_info_dma_drm_new_from_caps(
3863 caps: *const gst::GstCaps,
3864 ) -> *mut GstVideoInfoDmaDrm;
3865 #[cfg(feature = "v1_24")]
3866 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3867 pub fn gst_video_info_dma_drm_free(drm_info: *mut GstVideoInfoDmaDrm);
3868 #[cfg(feature = "v1_24")]
3869 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3870 pub fn gst_video_info_dma_drm_to_caps(drm_info: *const GstVideoInfoDmaDrm)
3871 -> *mut gst::GstCaps;
3872 #[cfg(feature = "v1_24")]
3873 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3874 pub fn gst_video_info_dma_drm_to_video_info(
3875 drm_info: *const GstVideoInfoDmaDrm,
3876 info: *mut GstVideoInfo,
3877 ) -> gboolean;
3878 #[cfg(feature = "v1_24")]
3879 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3880 pub fn gst_video_info_dma_drm_from_caps(
3881 drm_info: *mut GstVideoInfoDmaDrm,
3882 caps: *const gst::GstCaps,
3883 ) -> gboolean;
3884 #[cfg(feature = "v1_24")]
3885 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3886 pub fn gst_video_info_dma_drm_from_video_info(
3887 drm_info: *mut GstVideoInfoDmaDrm,
3888 info: *const GstVideoInfo,
3889 modifier: u64,
3890 ) -> gboolean;
3891 #[cfg(feature = "v1_24")]
3892 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3893 pub fn gst_video_info_dma_drm_init(drm_info: *mut GstVideoInfoDmaDrm);
3894
3895 #[cfg(feature = "v1_18")]
3899 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3900 pub fn gst_video_mastering_display_info_add_to_caps(
3901 minfo: *const GstVideoMasteringDisplayInfo,
3902 caps: *mut gst::GstCaps,
3903 ) -> gboolean;
3904 #[cfg(feature = "v1_18")]
3905 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3906 pub fn gst_video_mastering_display_info_from_caps(
3907 minfo: *mut GstVideoMasteringDisplayInfo,
3908 caps: *const gst::GstCaps,
3909 ) -> gboolean;
3910 #[cfg(feature = "v1_18")]
3911 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3912 pub fn gst_video_mastering_display_info_init(minfo: *mut GstVideoMasteringDisplayInfo);
3913 #[cfg(feature = "v1_18")]
3914 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3915 pub fn gst_video_mastering_display_info_is_equal(
3916 minfo: *const GstVideoMasteringDisplayInfo,
3917 other: *const GstVideoMasteringDisplayInfo,
3918 ) -> gboolean;
3919 #[cfg(feature = "v1_18")]
3920 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3921 pub fn gst_video_mastering_display_info_to_string(
3922 minfo: *const GstVideoMasteringDisplayInfo,
3923 ) -> *mut c_char;
3924 #[cfg(feature = "v1_18")]
3925 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3926 pub fn gst_video_mastering_display_info_from_string(
3927 minfo: *mut GstVideoMasteringDisplayInfo,
3928 mastering: *const c_char,
3929 ) -> gboolean;
3930
3931 #[cfg(feature = "v1_18")]
3935 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3936 pub fn gst_video_meta_get_plane_height(
3937 meta: *mut GstVideoMeta,
3938 plane_height: *mut [c_uint; 4],
3939 ) -> gboolean;
3940 #[cfg(feature = "v1_18")]
3941 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3942 pub fn gst_video_meta_get_plane_size(
3943 meta: *mut GstVideoMeta,
3944 plane_size: *mut [size_t; 4],
3945 ) -> gboolean;
3946 pub fn gst_video_meta_map(
3947 meta: *mut GstVideoMeta,
3948 plane: c_uint,
3949 info: *mut gst::GstMapInfo,
3950 data: *mut gpointer,
3951 stride: *mut c_int,
3952 flags: gst::GstMapFlags,
3953 ) -> gboolean;
3954 #[cfg(feature = "v1_18")]
3955 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3956 pub fn gst_video_meta_set_alignment(
3957 meta: *mut GstVideoMeta,
3958 alignment: GstVideoAlignment,
3959 ) -> gboolean;
3960 #[cfg(feature = "v1_28")]
3961 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
3962 pub fn gst_video_meta_set_alignment_full(
3963 meta: *mut GstVideoMeta,
3964 alignment: *const GstVideoAlignment,
3965 ) -> gboolean;
3966 pub fn gst_video_meta_unmap(
3967 meta: *mut GstVideoMeta,
3968 plane: c_uint,
3969 info: *mut gst::GstMapInfo,
3970 ) -> gboolean;
3971 pub fn gst_video_meta_get_info() -> *const gst::GstMetaInfo;
3972
3973 pub fn gst_video_meta_transform_scale_get_quark() -> glib::GQuark;
3977
3978 #[cfg(feature = "v1_28")]
3982 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
3983 pub fn gst_video_meta_transform_matrix_init(
3984 trans: *mut GstVideoMetaTransformMatrix,
3985 in_info: *const GstVideoInfo,
3986 in_rectangle: *const GstVideoRectangle,
3987 out_info: *const GstVideoInfo,
3988 out_rectangle: *const GstVideoRectangle,
3989 );
3990 #[cfg(feature = "v1_28")]
3991 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
3992 pub fn gst_video_meta_transform_matrix_point(
3993 transform: *const GstVideoMetaTransformMatrix,
3994 x: *mut c_int,
3995 y: *mut c_int,
3996 ) -> gboolean;
3997 #[cfg(feature = "v1_28")]
3998 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
3999 pub fn gst_video_meta_transform_matrix_point_clipped(
4000 transform: *const GstVideoMetaTransformMatrix,
4001 x: *mut c_int,
4002 y: *mut c_int,
4003 ) -> gboolean;
4004 #[cfg(feature = "v1_28")]
4005 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
4006 pub fn gst_video_meta_transform_matrix_rectangle(
4007 transform: *const GstVideoMetaTransformMatrix,
4008 rect: *mut GstVideoRectangle,
4009 ) -> gboolean;
4010 #[cfg(feature = "v1_28")]
4011 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
4012 pub fn gst_video_meta_transform_matrix_rectangle_clipped(
4013 transform: *const GstVideoMetaTransformMatrix,
4014 rect: *mut GstVideoRectangle,
4015 ) -> gboolean;
4016 #[cfg(feature = "v1_28")]
4017 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
4018 pub fn gst_video_meta_transform_matrix_get_quark() -> glib::GQuark;
4019
4020 pub fn gst_video_overlay_composition_get_type() -> GType;
4024 pub fn gst_video_overlay_composition_new(
4025 rectangle: *mut GstVideoOverlayRectangle,
4026 ) -> *mut GstVideoOverlayComposition;
4027 pub fn gst_video_overlay_composition_add_rectangle(
4028 comp: *mut GstVideoOverlayComposition,
4029 rectangle: *mut GstVideoOverlayRectangle,
4030 );
4031 pub fn gst_video_overlay_composition_blend(
4032 comp: *mut GstVideoOverlayComposition,
4033 video_buf: *mut GstVideoFrame,
4034 ) -> gboolean;
4035 pub fn gst_video_overlay_composition_copy(
4036 comp: *mut GstVideoOverlayComposition,
4037 ) -> *mut GstVideoOverlayComposition;
4038 pub fn gst_video_overlay_composition_get_rectangle(
4039 comp: *mut GstVideoOverlayComposition,
4040 n: c_uint,
4041 ) -> *mut GstVideoOverlayRectangle;
4042 pub fn gst_video_overlay_composition_get_seqnum(
4043 comp: *mut GstVideoOverlayComposition,
4044 ) -> c_uint;
4045 pub fn gst_video_overlay_composition_make_writable(
4046 comp: *mut GstVideoOverlayComposition,
4047 ) -> *mut GstVideoOverlayComposition;
4048 pub fn gst_video_overlay_composition_n_rectangles(
4049 comp: *mut GstVideoOverlayComposition,
4050 ) -> c_uint;
4051
4052 pub fn gst_video_overlay_composition_meta_get_info() -> *const gst::GstMetaInfo;
4056
4057 pub fn gst_video_overlay_rectangle_get_type() -> GType;
4061 pub fn gst_video_overlay_rectangle_new_raw(
4062 pixels: *mut gst::GstBuffer,
4063 render_x: c_int,
4064 render_y: c_int,
4065 render_width: c_uint,
4066 render_height: c_uint,
4067 flags: GstVideoOverlayFormatFlags,
4068 ) -> *mut GstVideoOverlayRectangle;
4069 pub fn gst_video_overlay_rectangle_copy(
4070 rectangle: *mut GstVideoOverlayRectangle,
4071 ) -> *mut GstVideoOverlayRectangle;
4072 pub fn gst_video_overlay_rectangle_get_flags(
4073 rectangle: *mut GstVideoOverlayRectangle,
4074 ) -> GstVideoOverlayFormatFlags;
4075 pub fn gst_video_overlay_rectangle_get_global_alpha(
4076 rectangle: *mut GstVideoOverlayRectangle,
4077 ) -> c_float;
4078 pub fn gst_video_overlay_rectangle_get_pixels_argb(
4079 rectangle: *mut GstVideoOverlayRectangle,
4080 flags: GstVideoOverlayFormatFlags,
4081 ) -> *mut gst::GstBuffer;
4082 pub fn gst_video_overlay_rectangle_get_pixels_ayuv(
4083 rectangle: *mut GstVideoOverlayRectangle,
4084 flags: GstVideoOverlayFormatFlags,
4085 ) -> *mut gst::GstBuffer;
4086 pub fn gst_video_overlay_rectangle_get_pixels_raw(
4087 rectangle: *mut GstVideoOverlayRectangle,
4088 flags: GstVideoOverlayFormatFlags,
4089 ) -> *mut gst::GstBuffer;
4090 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_argb(
4091 rectangle: *mut GstVideoOverlayRectangle,
4092 flags: GstVideoOverlayFormatFlags,
4093 ) -> *mut gst::GstBuffer;
4094 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_ayuv(
4095 rectangle: *mut GstVideoOverlayRectangle,
4096 flags: GstVideoOverlayFormatFlags,
4097 ) -> *mut gst::GstBuffer;
4098 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_raw(
4099 rectangle: *mut GstVideoOverlayRectangle,
4100 flags: GstVideoOverlayFormatFlags,
4101 ) -> *mut gst::GstBuffer;
4102 pub fn gst_video_overlay_rectangle_get_render_rectangle(
4103 rectangle: *mut GstVideoOverlayRectangle,
4104 render_x: *mut c_int,
4105 render_y: *mut c_int,
4106 render_width: *mut c_uint,
4107 render_height: *mut c_uint,
4108 ) -> gboolean;
4109 pub fn gst_video_overlay_rectangle_get_seqnum(
4110 rectangle: *mut GstVideoOverlayRectangle,
4111 ) -> c_uint;
4112 pub fn gst_video_overlay_rectangle_set_global_alpha(
4113 rectangle: *mut GstVideoOverlayRectangle,
4114 global_alpha: c_float,
4115 );
4116 pub fn gst_video_overlay_rectangle_set_render_rectangle(
4117 rectangle: *mut GstVideoOverlayRectangle,
4118 render_x: c_int,
4119 render_y: c_int,
4120 render_width: c_uint,
4121 render_height: c_uint,
4122 );
4123
4124 pub fn gst_video_region_of_interest_meta_add_param(
4128 meta: *mut GstVideoRegionOfInterestMeta,
4129 s: *mut gst::GstStructure,
4130 );
4131 pub fn gst_video_region_of_interest_meta_get_param(
4132 meta: *mut GstVideoRegionOfInterestMeta,
4133 name: *const c_char,
4134 ) -> *mut gst::GstStructure;
4135 pub fn gst_video_region_of_interest_meta_get_info() -> *const gst::GstMetaInfo;
4136
4137 pub fn gst_video_resampler_clear(resampler: *mut GstVideoResampler);
4141 pub fn gst_video_resampler_init(
4142 resampler: *mut GstVideoResampler,
4143 method: GstVideoResamplerMethod,
4144 flags: GstVideoResamplerFlags,
4145 n_phases: c_uint,
4146 n_taps: c_uint,
4147 shift: c_double,
4148 in_size: c_uint,
4149 out_size: c_uint,
4150 options: *mut gst::GstStructure,
4151 ) -> gboolean;
4152
4153 #[cfg(feature = "v1_22")]
4157 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4158 pub fn gst_video_sei_user_data_unregistered_meta_get_info() -> *const gst::GstMetaInfo;
4159
4160 pub fn gst_video_scaler_2d(
4164 hscale: *mut GstVideoScaler,
4165 vscale: *mut GstVideoScaler,
4166 format: GstVideoFormat,
4167 src: gpointer,
4168 src_stride: c_int,
4169 dest: gpointer,
4170 dest_stride: c_int,
4171 x: c_uint,
4172 y: c_uint,
4173 width: c_uint,
4174 height: c_uint,
4175 );
4176 pub fn gst_video_scaler_combine_packed_YUV(
4177 y_scale: *mut GstVideoScaler,
4178 uv_scale: *mut GstVideoScaler,
4179 in_format: GstVideoFormat,
4180 out_format: GstVideoFormat,
4181 ) -> *mut GstVideoScaler;
4182 pub fn gst_video_scaler_free(scale: *mut GstVideoScaler);
4183 pub fn gst_video_scaler_get_coeff(
4184 scale: *mut GstVideoScaler,
4185 out_offset: c_uint,
4186 in_offset: *mut c_uint,
4187 n_taps: *mut c_uint,
4188 ) -> *const c_double;
4189 pub fn gst_video_scaler_get_max_taps(scale: *mut GstVideoScaler) -> c_uint;
4190 pub fn gst_video_scaler_horizontal(
4191 scale: *mut GstVideoScaler,
4192 format: GstVideoFormat,
4193 src: gpointer,
4194 dest: gpointer,
4195 dest_offset: c_uint,
4196 width: c_uint,
4197 );
4198 pub fn gst_video_scaler_vertical(
4199 scale: *mut GstVideoScaler,
4200 format: GstVideoFormat,
4201 src_lines: *mut gpointer,
4202 dest: gpointer,
4203 dest_offset: c_uint,
4204 width: c_uint,
4205 );
4206 pub fn gst_video_scaler_new(
4207 method: GstVideoResamplerMethod,
4208 flags: GstVideoScalerFlags,
4209 n_taps: c_uint,
4210 in_size: c_uint,
4211 out_size: c_uint,
4212 options: *mut gst::GstStructure,
4213 ) -> *mut GstVideoScaler;
4214
4215 pub fn gst_video_time_code_get_type() -> GType;
4219 pub fn gst_video_time_code_new(
4220 fps_n: c_uint,
4221 fps_d: c_uint,
4222 latest_daily_jam: *mut glib::GDateTime,
4223 flags: GstVideoTimeCodeFlags,
4224 hours: c_uint,
4225 minutes: c_uint,
4226 seconds: c_uint,
4227 frames: c_uint,
4228 field_count: c_uint,
4229 ) -> *mut GstVideoTimeCode;
4230 pub fn gst_video_time_code_new_empty() -> *mut GstVideoTimeCode;
4231 pub fn gst_video_time_code_new_from_date_time(
4232 fps_n: c_uint,
4233 fps_d: c_uint,
4234 dt: *mut glib::GDateTime,
4235 flags: GstVideoTimeCodeFlags,
4236 field_count: c_uint,
4237 ) -> *mut GstVideoTimeCode;
4238 #[cfg(feature = "v1_16")]
4239 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4240 pub fn gst_video_time_code_new_from_date_time_full(
4241 fps_n: c_uint,
4242 fps_d: c_uint,
4243 dt: *mut glib::GDateTime,
4244 flags: GstVideoTimeCodeFlags,
4245 field_count: c_uint,
4246 ) -> *mut GstVideoTimeCode;
4247 pub fn gst_video_time_code_new_from_string(tc_str: *const c_char) -> *mut GstVideoTimeCode;
4248 pub fn gst_video_time_code_add_frames(tc: *mut GstVideoTimeCode, frames: i64);
4249 pub fn gst_video_time_code_add_interval(
4250 tc: *const GstVideoTimeCode,
4251 tc_inter: *const GstVideoTimeCodeInterval,
4252 ) -> *mut GstVideoTimeCode;
4253 pub fn gst_video_time_code_clear(tc: *mut GstVideoTimeCode);
4254 pub fn gst_video_time_code_compare(
4255 tc1: *const GstVideoTimeCode,
4256 tc2: *const GstVideoTimeCode,
4257 ) -> c_int;
4258 pub fn gst_video_time_code_copy(tc: *const GstVideoTimeCode) -> *mut GstVideoTimeCode;
4259 pub fn gst_video_time_code_frames_since_daily_jam(tc: *const GstVideoTimeCode) -> u64;
4260 pub fn gst_video_time_code_free(tc: *mut GstVideoTimeCode);
4261 pub fn gst_video_time_code_increment_frame(tc: *mut GstVideoTimeCode);
4262 pub fn gst_video_time_code_init(
4263 tc: *mut GstVideoTimeCode,
4264 fps_n: c_uint,
4265 fps_d: c_uint,
4266 latest_daily_jam: *mut glib::GDateTime,
4267 flags: GstVideoTimeCodeFlags,
4268 hours: c_uint,
4269 minutes: c_uint,
4270 seconds: c_uint,
4271 frames: c_uint,
4272 field_count: c_uint,
4273 );
4274 pub fn gst_video_time_code_init_from_date_time(
4275 tc: *mut GstVideoTimeCode,
4276 fps_n: c_uint,
4277 fps_d: c_uint,
4278 dt: *mut glib::GDateTime,
4279 flags: GstVideoTimeCodeFlags,
4280 field_count: c_uint,
4281 );
4282 #[cfg(feature = "v1_16")]
4283 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4284 pub fn gst_video_time_code_init_from_date_time_full(
4285 tc: *mut GstVideoTimeCode,
4286 fps_n: c_uint,
4287 fps_d: c_uint,
4288 dt: *mut glib::GDateTime,
4289 flags: GstVideoTimeCodeFlags,
4290 field_count: c_uint,
4291 ) -> gboolean;
4292 pub fn gst_video_time_code_is_valid(tc: *const GstVideoTimeCode) -> gboolean;
4293 pub fn gst_video_time_code_nsec_since_daily_jam(tc: *const GstVideoTimeCode) -> u64;
4294 pub fn gst_video_time_code_to_date_time(tc: *const GstVideoTimeCode) -> *mut glib::GDateTime;
4295 pub fn gst_video_time_code_to_string(tc: *const GstVideoTimeCode) -> *mut c_char;
4296
4297 pub fn gst_video_time_code_interval_get_type() -> GType;
4301 pub fn gst_video_time_code_interval_new(
4302 hours: c_uint,
4303 minutes: c_uint,
4304 seconds: c_uint,
4305 frames: c_uint,
4306 ) -> *mut GstVideoTimeCodeInterval;
4307 pub fn gst_video_time_code_interval_new_from_string(
4308 tc_inter_str: *const c_char,
4309 ) -> *mut GstVideoTimeCodeInterval;
4310 pub fn gst_video_time_code_interval_clear(tc: *mut GstVideoTimeCodeInterval);
4311 pub fn gst_video_time_code_interval_copy(
4312 tc: *const GstVideoTimeCodeInterval,
4313 ) -> *mut GstVideoTimeCodeInterval;
4314 pub fn gst_video_time_code_interval_free(tc: *mut GstVideoTimeCodeInterval);
4315 pub fn gst_video_time_code_interval_init(
4316 tc: *mut GstVideoTimeCodeInterval,
4317 hours: c_uint,
4318 minutes: c_uint,
4319 seconds: c_uint,
4320 frames: c_uint,
4321 );
4322
4323 pub fn gst_video_time_code_meta_get_info() -> *const gst::GstMetaInfo;
4327
4328 #[cfg(feature = "v1_16")]
4332 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4333 pub fn gst_video_vbi_encoder_get_type() -> GType;
4334 #[cfg(feature = "v1_16")]
4335 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4336 pub fn gst_video_vbi_encoder_new(
4337 format: GstVideoFormat,
4338 pixel_width: u32,
4339 ) -> *mut GstVideoVBIEncoder;
4340 #[cfg(feature = "v1_16")]
4341 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4342 pub fn gst_video_vbi_encoder_add_ancillary(
4343 encoder: *mut GstVideoVBIEncoder,
4344 composite: gboolean,
4345 DID: u8,
4346 SDID_block_number: u8,
4347 data: *const u8,
4348 data_count: c_uint,
4349 ) -> gboolean;
4350 #[cfg(feature = "v1_16")]
4351 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4352 pub fn gst_video_vbi_encoder_copy(
4353 encoder: *const GstVideoVBIEncoder,
4354 ) -> *mut GstVideoVBIEncoder;
4355 #[cfg(feature = "v1_16")]
4356 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4357 pub fn gst_video_vbi_encoder_free(encoder: *mut GstVideoVBIEncoder);
4358 #[cfg(feature = "v1_16")]
4359 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4360 pub fn gst_video_vbi_encoder_write_line(encoder: *mut GstVideoVBIEncoder, data: *mut u8);
4361
4362 #[cfg(feature = "v1_16")]
4366 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4367 pub fn gst_video_vbi_parser_get_type() -> GType;
4368 #[cfg(feature = "v1_16")]
4369 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4370 pub fn gst_video_vbi_parser_new(
4371 format: GstVideoFormat,
4372 pixel_width: u32,
4373 ) -> *mut GstVideoVBIParser;
4374 #[cfg(feature = "v1_16")]
4375 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4376 pub fn gst_video_vbi_parser_add_line(parser: *mut GstVideoVBIParser, data: *const u8);
4377 #[cfg(feature = "v1_16")]
4378 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4379 pub fn gst_video_vbi_parser_copy(parser: *const GstVideoVBIParser) -> *mut GstVideoVBIParser;
4380 #[cfg(feature = "v1_16")]
4381 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4382 pub fn gst_video_vbi_parser_free(parser: *mut GstVideoVBIParser);
4383 #[cfg(feature = "v1_16")]
4384 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4385 pub fn gst_video_vbi_parser_get_ancillary(
4386 parser: *mut GstVideoVBIParser,
4387 anc: *mut GstVideoAncillary,
4388 ) -> GstVideoVBIParserResult;
4389
4390 pub fn gst_color_balance_channel_get_type() -> GType;
4394
4395 #[cfg(feature = "v1_16")]
4399 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4400 pub fn gst_video_aggregator_get_type() -> GType;
4401 #[cfg(feature = "v1_20")]
4402 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4403 pub fn gst_video_aggregator_get_execution_task_pool(
4404 vagg: *mut GstVideoAggregator,
4405 ) -> *mut gst::GstTaskPool;
4406
4407 #[cfg(feature = "v1_16")]
4411 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4412 pub fn gst_video_aggregator_convert_pad_get_type() -> GType;
4413 #[cfg(feature = "v1_16")]
4414 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4415 pub fn gst_video_aggregator_convert_pad_update_conversion_info(
4416 pad: *mut GstVideoAggregatorConvertPad,
4417 );
4418
4419 #[cfg(feature = "v1_16")]
4423 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4424 pub fn gst_video_aggregator_pad_get_type() -> GType;
4425 #[cfg(feature = "v1_16")]
4426 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4427 pub fn gst_video_aggregator_pad_get_current_buffer(
4428 pad: *mut GstVideoAggregatorPad,
4429 ) -> *mut gst::GstBuffer;
4430 #[cfg(feature = "v1_16")]
4431 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4432 pub fn gst_video_aggregator_pad_get_prepared_frame(
4433 pad: *mut GstVideoAggregatorPad,
4434 ) -> *mut GstVideoFrame;
4435 #[cfg(feature = "v1_16")]
4436 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4437 pub fn gst_video_aggregator_pad_has_current_buffer(pad: *mut GstVideoAggregatorPad)
4438 -> gboolean;
4439 #[cfg(feature = "v1_16")]
4440 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4441 pub fn gst_video_aggregator_pad_set_needs_alpha(
4442 pad: *mut GstVideoAggregatorPad,
4443 needs_alpha: gboolean,
4444 );
4445
4446 #[cfg(feature = "v1_20")]
4450 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4451 pub fn gst_video_aggregator_parallel_convert_pad_get_type() -> GType;
4452
4453 pub fn gst_video_buffer_pool_get_type() -> GType;
4457 pub fn gst_video_buffer_pool_new() -> *mut gst::GstBufferPool;
4458
4459 pub fn gst_video_decoder_get_type() -> GType;
4463 pub fn gst_video_decoder_add_to_frame(decoder: *mut GstVideoDecoder, n_bytes: c_int);
4464 pub fn gst_video_decoder_allocate_output_buffer(
4465 decoder: *mut GstVideoDecoder,
4466 ) -> *mut gst::GstBuffer;
4467 pub fn gst_video_decoder_allocate_output_frame(
4468 decoder: *mut GstVideoDecoder,
4469 frame: *mut GstVideoCodecFrame,
4470 ) -> gst::GstFlowReturn;
4471 pub fn gst_video_decoder_allocate_output_frame_with_params(
4472 decoder: *mut GstVideoDecoder,
4473 frame: *mut GstVideoCodecFrame,
4474 params: *mut gst::GstBufferPoolAcquireParams,
4475 ) -> gst::GstFlowReturn;
4476 pub fn gst_video_decoder_drop_frame(
4477 dec: *mut GstVideoDecoder,
4478 frame: *mut GstVideoCodecFrame,
4479 ) -> gst::GstFlowReturn;
4480 #[cfg(feature = "v1_20")]
4481 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4482 pub fn gst_video_decoder_drop_subframe(
4483 dec: *mut GstVideoDecoder,
4484 frame: *mut GstVideoCodecFrame,
4485 ) -> gst::GstFlowReturn;
4486 pub fn gst_video_decoder_finish_frame(
4487 decoder: *mut GstVideoDecoder,
4488 frame: *mut GstVideoCodecFrame,
4489 ) -> gst::GstFlowReturn;
4490 #[cfg(feature = "v1_20")]
4491 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4492 pub fn gst_video_decoder_finish_subframe(
4493 decoder: *mut GstVideoDecoder,
4494 frame: *mut GstVideoCodecFrame,
4495 ) -> gst::GstFlowReturn;
4496 pub fn gst_video_decoder_get_allocator(
4497 decoder: *mut GstVideoDecoder,
4498 allocator: *mut *mut gst::GstAllocator,
4499 params: *mut gst::GstAllocationParams,
4500 );
4501 pub fn gst_video_decoder_get_buffer_pool(
4502 decoder: *mut GstVideoDecoder,
4503 ) -> *mut gst::GstBufferPool;
4504 pub fn gst_video_decoder_get_estimate_rate(dec: *mut GstVideoDecoder) -> c_int;
4505 pub fn gst_video_decoder_get_frame(
4506 decoder: *mut GstVideoDecoder,
4507 frame_number: c_int,
4508 ) -> *mut GstVideoCodecFrame;
4509 pub fn gst_video_decoder_get_frames(decoder: *mut GstVideoDecoder) -> *mut glib::GList;
4510 #[cfg(feature = "v1_20")]
4511 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4512 pub fn gst_video_decoder_get_input_subframe_index(
4513 decoder: *mut GstVideoDecoder,
4514 frame: *mut GstVideoCodecFrame,
4515 ) -> c_uint;
4516 pub fn gst_video_decoder_get_latency(
4517 decoder: *mut GstVideoDecoder,
4518 min_latency: *mut gst::GstClockTime,
4519 max_latency: *mut gst::GstClockTime,
4520 );
4521 pub fn gst_video_decoder_get_max_decode_time(
4522 decoder: *mut GstVideoDecoder,
4523 frame: *mut GstVideoCodecFrame,
4524 ) -> gst::GstClockTimeDiff;
4525 pub fn gst_video_decoder_get_max_errors(dec: *mut GstVideoDecoder) -> c_int;
4526 pub fn gst_video_decoder_get_needs_format(dec: *mut GstVideoDecoder) -> gboolean;
4527 #[cfg(feature = "v1_20")]
4528 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4529 pub fn gst_video_decoder_get_needs_sync_point(dec: *mut GstVideoDecoder) -> gboolean;
4530 pub fn gst_video_decoder_get_oldest_frame(
4531 decoder: *mut GstVideoDecoder,
4532 ) -> *mut GstVideoCodecFrame;
4533 pub fn gst_video_decoder_get_output_state(
4534 decoder: *mut GstVideoDecoder,
4535 ) -> *mut GstVideoCodecState;
4536 pub fn gst_video_decoder_get_packetized(decoder: *mut GstVideoDecoder) -> gboolean;
4537 pub fn gst_video_decoder_get_pending_frame_size(decoder: *mut GstVideoDecoder) -> size_t;
4538 #[cfg(feature = "v1_20")]
4539 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4540 pub fn gst_video_decoder_get_processed_subframe_index(
4541 decoder: *mut GstVideoDecoder,
4542 frame: *mut GstVideoCodecFrame,
4543 ) -> c_uint;
4544 pub fn gst_video_decoder_get_qos_proportion(decoder: *mut GstVideoDecoder) -> c_double;
4545 #[cfg(feature = "v1_20")]
4546 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4547 pub fn gst_video_decoder_get_subframe_mode(decoder: *mut GstVideoDecoder) -> gboolean;
4548 pub fn gst_video_decoder_have_frame(decoder: *mut GstVideoDecoder) -> gst::GstFlowReturn;
4549 #[cfg(feature = "v1_20")]
4550 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4551 pub fn gst_video_decoder_have_last_subframe(
4552 decoder: *mut GstVideoDecoder,
4553 frame: *mut GstVideoCodecFrame,
4554 ) -> gst::GstFlowReturn;
4555 pub fn gst_video_decoder_merge_tags(
4556 decoder: *mut GstVideoDecoder,
4557 tags: *const gst::GstTagList,
4558 mode: gst::GstTagMergeMode,
4559 );
4560 pub fn gst_video_decoder_negotiate(decoder: *mut GstVideoDecoder) -> gboolean;
4561 pub fn gst_video_decoder_proxy_getcaps(
4562 decoder: *mut GstVideoDecoder,
4563 caps: *mut gst::GstCaps,
4564 filter: *mut gst::GstCaps,
4565 ) -> *mut gst::GstCaps;
4566 pub fn gst_video_decoder_release_frame(
4567 dec: *mut GstVideoDecoder,
4568 frame: *mut GstVideoCodecFrame,
4569 );
4570 #[cfg(feature = "v1_20")]
4571 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4572 pub fn gst_video_decoder_request_sync_point(
4573 dec: *mut GstVideoDecoder,
4574 frame: *mut GstVideoCodecFrame,
4575 flags: GstVideoDecoderRequestSyncPointFlags,
4576 );
4577 pub fn gst_video_decoder_set_estimate_rate(dec: *mut GstVideoDecoder, enabled: gboolean);
4578 #[cfg(feature = "v1_16")]
4579 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4580 pub fn gst_video_decoder_set_interlaced_output_state(
4581 decoder: *mut GstVideoDecoder,
4582 fmt: GstVideoFormat,
4583 interlace_mode: GstVideoInterlaceMode,
4584 width: c_uint,
4585 height: c_uint,
4586 reference: *mut GstVideoCodecState,
4587 ) -> *mut GstVideoCodecState;
4588 pub fn gst_video_decoder_set_latency(
4589 decoder: *mut GstVideoDecoder,
4590 min_latency: gst::GstClockTime,
4591 max_latency: gst::GstClockTime,
4592 );
4593 pub fn gst_video_decoder_set_max_errors(dec: *mut GstVideoDecoder, num: c_int);
4594 pub fn gst_video_decoder_set_needs_format(dec: *mut GstVideoDecoder, enabled: gboolean);
4595 #[cfg(feature = "v1_20")]
4596 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4597 pub fn gst_video_decoder_set_needs_sync_point(dec: *mut GstVideoDecoder, enabled: gboolean);
4598 pub fn gst_video_decoder_set_output_state(
4599 decoder: *mut GstVideoDecoder,
4600 fmt: GstVideoFormat,
4601 width: c_uint,
4602 height: c_uint,
4603 reference: *mut GstVideoCodecState,
4604 ) -> *mut GstVideoCodecState;
4605 pub fn gst_video_decoder_set_packetized(decoder: *mut GstVideoDecoder, packetized: gboolean);
4606 #[cfg(feature = "v1_20")]
4607 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4608 pub fn gst_video_decoder_set_subframe_mode(
4609 decoder: *mut GstVideoDecoder,
4610 subframe_mode: gboolean,
4611 );
4612 pub fn gst_video_decoder_set_use_default_pad_acceptcaps(
4613 decoder: *mut GstVideoDecoder,
4614 use_: gboolean,
4615 );
4616
4617 #[cfg(feature = "v1_28")]
4621 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
4622 pub fn gst_video_dmabuf_pool_get_type() -> GType;
4623 #[cfg(feature = "v1_28")]
4624 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
4625 pub fn gst_video_dmabuf_pool_new() -> *mut gst::GstBufferPool;
4626
4627 pub fn gst_video_encoder_get_type() -> GType;
4631 pub fn gst_video_encoder_allocate_output_buffer(
4632 encoder: *mut GstVideoEncoder,
4633 size: size_t,
4634 ) -> *mut gst::GstBuffer;
4635 pub fn gst_video_encoder_allocate_output_frame(
4636 encoder: *mut GstVideoEncoder,
4637 frame: *mut GstVideoCodecFrame,
4638 size: size_t,
4639 ) -> gst::GstFlowReturn;
4640 #[cfg(feature = "v1_26")]
4641 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4642 pub fn gst_video_encoder_drop_frame(
4643 encoder: *mut GstVideoEncoder,
4644 frame: *mut GstVideoCodecFrame,
4645 );
4646 pub fn gst_video_encoder_finish_frame(
4647 encoder: *mut GstVideoEncoder,
4648 frame: *mut GstVideoCodecFrame,
4649 ) -> gst::GstFlowReturn;
4650 #[cfg(feature = "v1_18")]
4651 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4652 pub fn gst_video_encoder_finish_subframe(
4653 encoder: *mut GstVideoEncoder,
4654 frame: *mut GstVideoCodecFrame,
4655 ) -> gst::GstFlowReturn;
4656 pub fn gst_video_encoder_get_allocator(
4657 encoder: *mut GstVideoEncoder,
4658 allocator: *mut *mut gst::GstAllocator,
4659 params: *mut gst::GstAllocationParams,
4660 );
4661 pub fn gst_video_encoder_get_frame(
4662 encoder: *mut GstVideoEncoder,
4663 frame_number: c_int,
4664 ) -> *mut GstVideoCodecFrame;
4665 pub fn gst_video_encoder_get_frames(encoder: *mut GstVideoEncoder) -> *mut glib::GList;
4666 pub fn gst_video_encoder_get_latency(
4667 encoder: *mut GstVideoEncoder,
4668 min_latency: *mut gst::GstClockTime,
4669 max_latency: *mut gst::GstClockTime,
4670 );
4671 pub fn gst_video_encoder_get_max_encode_time(
4672 encoder: *mut GstVideoEncoder,
4673 frame: *mut GstVideoCodecFrame,
4674 ) -> gst::GstClockTimeDiff;
4675 #[cfg(feature = "v1_18")]
4676 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4677 pub fn gst_video_encoder_get_min_force_key_unit_interval(
4678 encoder: *mut GstVideoEncoder,
4679 ) -> gst::GstClockTime;
4680 pub fn gst_video_encoder_get_oldest_frame(
4681 encoder: *mut GstVideoEncoder,
4682 ) -> *mut GstVideoCodecFrame;
4683 pub fn gst_video_encoder_get_output_state(
4684 encoder: *mut GstVideoEncoder,
4685 ) -> *mut GstVideoCodecState;
4686 pub fn gst_video_encoder_is_qos_enabled(encoder: *mut GstVideoEncoder) -> gboolean;
4687 pub fn gst_video_encoder_merge_tags(
4688 encoder: *mut GstVideoEncoder,
4689 tags: *const gst::GstTagList,
4690 mode: gst::GstTagMergeMode,
4691 );
4692 pub fn gst_video_encoder_negotiate(encoder: *mut GstVideoEncoder) -> gboolean;
4693 pub fn gst_video_encoder_proxy_getcaps(
4694 enc: *mut GstVideoEncoder,
4695 caps: *mut gst::GstCaps,
4696 filter: *mut gst::GstCaps,
4697 ) -> *mut gst::GstCaps;
4698 #[cfg(feature = "v1_26")]
4699 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4700 pub fn gst_video_encoder_release_frame(
4701 encoder: *mut GstVideoEncoder,
4702 frame: *mut GstVideoCodecFrame,
4703 );
4704 #[cfg(feature = "v1_30")]
4705 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
4706 pub fn gst_video_encoder_set_allocator(
4707 encoder: *mut GstVideoEncoder,
4708 allocator: *mut gst::GstAllocator,
4709 params: *const gst::GstAllocationParams,
4710 );
4711 pub fn gst_video_encoder_set_headers(encoder: *mut GstVideoEncoder, headers: *mut glib::GList);
4712 pub fn gst_video_encoder_set_latency(
4713 encoder: *mut GstVideoEncoder,
4714 min_latency: gst::GstClockTime,
4715 max_latency: gst::GstClockTime,
4716 );
4717 #[cfg(feature = "v1_18")]
4718 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4719 pub fn gst_video_encoder_set_min_force_key_unit_interval(
4720 encoder: *mut GstVideoEncoder,
4721 interval: gst::GstClockTime,
4722 );
4723 pub fn gst_video_encoder_set_min_pts(encoder: *mut GstVideoEncoder, min_pts: gst::GstClockTime);
4724 pub fn gst_video_encoder_set_output_state(
4725 encoder: *mut GstVideoEncoder,
4726 caps: *mut gst::GstCaps,
4727 reference: *mut GstVideoCodecState,
4728 ) -> *mut GstVideoCodecState;
4729 pub fn gst_video_encoder_set_qos_enabled(encoder: *mut GstVideoEncoder, enabled: gboolean);
4730
4731 pub fn gst_video_filter_get_type() -> GType;
4735
4736 pub fn gst_video_multiview_flagset_get_type() -> GType;
4740
4741 pub fn gst_video_sink_get_type() -> GType;
4745 pub fn gst_video_sink_center_rect(
4746 src: GstVideoRectangle,
4747 dst: GstVideoRectangle,
4748 result: *mut GstVideoRectangle,
4749 scaling: gboolean,
4750 );
4751
4752 pub fn gst_color_balance_get_type() -> GType;
4756 pub fn gst_color_balance_get_balance_type(balance: *mut GstColorBalance)
4757 -> GstColorBalanceType;
4758 pub fn gst_color_balance_get_value(
4759 balance: *mut GstColorBalance,
4760 channel: *mut GstColorBalanceChannel,
4761 ) -> c_int;
4762 pub fn gst_color_balance_list_channels(balance: *mut GstColorBalance) -> *const glib::GList;
4763 pub fn gst_color_balance_set_value(
4764 balance: *mut GstColorBalance,
4765 channel: *mut GstColorBalanceChannel,
4766 value: c_int,
4767 );
4768 pub fn gst_color_balance_value_changed(
4769 balance: *mut GstColorBalance,
4770 channel: *mut GstColorBalanceChannel,
4771 value: c_int,
4772 );
4773
4774 pub fn gst_navigation_get_type() -> GType;
4778 #[cfg(feature = "v1_22")]
4779 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4780 pub fn gst_navigation_event_get_coordinates(
4781 event: *mut gst::GstEvent,
4782 x: *mut c_double,
4783 y: *mut c_double,
4784 ) -> gboolean;
4785 pub fn gst_navigation_event_get_type(event: *mut gst::GstEvent) -> GstNavigationEventType;
4786 #[cfg(feature = "v1_22")]
4787 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4788 pub fn gst_navigation_event_new_command(command: GstNavigationCommand) -> *mut gst::GstEvent;
4789 #[cfg(feature = "v1_22")]
4790 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4791 pub fn gst_navigation_event_new_key_press(
4792 key: *const c_char,
4793 state: GstNavigationModifierType,
4794 ) -> *mut gst::GstEvent;
4795 #[cfg(feature = "v1_22")]
4796 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4797 pub fn gst_navigation_event_new_key_release(
4798 key: *const c_char,
4799 state: GstNavigationModifierType,
4800 ) -> *mut gst::GstEvent;
4801 #[cfg(feature = "v1_22")]
4802 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4803 pub fn gst_navigation_event_new_mouse_button_press(
4804 button: c_int,
4805 x: c_double,
4806 y: c_double,
4807 state: GstNavigationModifierType,
4808 ) -> *mut gst::GstEvent;
4809 #[cfg(feature = "v1_22")]
4810 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4811 pub fn gst_navigation_event_new_mouse_button_release(
4812 button: c_int,
4813 x: c_double,
4814 y: c_double,
4815 state: GstNavigationModifierType,
4816 ) -> *mut gst::GstEvent;
4817 #[cfg(feature = "v1_26")]
4818 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4819 pub fn gst_navigation_event_new_mouse_double_click(
4820 button: c_int,
4821 x: c_double,
4822 y: c_double,
4823 state: GstNavigationModifierType,
4824 ) -> *mut gst::GstEvent;
4825 #[cfg(feature = "v1_22")]
4826 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4827 pub fn gst_navigation_event_new_mouse_move(
4828 x: c_double,
4829 y: c_double,
4830 state: GstNavigationModifierType,
4831 ) -> *mut gst::GstEvent;
4832 #[cfg(feature = "v1_22")]
4833 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4834 pub fn gst_navigation_event_new_mouse_scroll(
4835 x: c_double,
4836 y: c_double,
4837 delta_x: c_double,
4838 delta_y: c_double,
4839 state: GstNavigationModifierType,
4840 ) -> *mut gst::GstEvent;
4841 #[cfg(feature = "v1_22")]
4842 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4843 pub fn gst_navigation_event_new_touch_cancel(
4844 state: GstNavigationModifierType,
4845 ) -> *mut gst::GstEvent;
4846 #[cfg(feature = "v1_22")]
4847 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4848 pub fn gst_navigation_event_new_touch_down(
4849 identifier: c_uint,
4850 x: c_double,
4851 y: c_double,
4852 pressure: c_double,
4853 state: GstNavigationModifierType,
4854 ) -> *mut gst::GstEvent;
4855 #[cfg(feature = "v1_22")]
4856 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4857 pub fn gst_navigation_event_new_touch_frame(
4858 state: GstNavigationModifierType,
4859 ) -> *mut gst::GstEvent;
4860 #[cfg(feature = "v1_22")]
4861 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4862 pub fn gst_navigation_event_new_touch_motion(
4863 identifier: c_uint,
4864 x: c_double,
4865 y: c_double,
4866 pressure: c_double,
4867 state: GstNavigationModifierType,
4868 ) -> *mut gst::GstEvent;
4869 #[cfg(feature = "v1_22")]
4870 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4871 pub fn gst_navigation_event_new_touch_up(
4872 identifier: c_uint,
4873 x: c_double,
4874 y: c_double,
4875 state: GstNavigationModifierType,
4876 ) -> *mut gst::GstEvent;
4877 pub fn gst_navigation_event_parse_command(
4878 event: *mut gst::GstEvent,
4879 command: *mut GstNavigationCommand,
4880 ) -> gboolean;
4881 pub fn gst_navigation_event_parse_key_event(
4882 event: *mut gst::GstEvent,
4883 key: *mut *const c_char,
4884 ) -> gboolean;
4885 #[cfg(feature = "v1_22")]
4886 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4887 pub fn gst_navigation_event_parse_modifier_state(
4888 event: *mut gst::GstEvent,
4889 state: *mut GstNavigationModifierType,
4890 ) -> gboolean;
4891 pub fn gst_navigation_event_parse_mouse_button_event(
4892 event: *mut gst::GstEvent,
4893 button: *mut c_int,
4894 x: *mut c_double,
4895 y: *mut c_double,
4896 ) -> gboolean;
4897 pub fn gst_navigation_event_parse_mouse_move_event(
4898 event: *mut gst::GstEvent,
4899 x: *mut c_double,
4900 y: *mut c_double,
4901 ) -> gboolean;
4902 #[cfg(feature = "v1_18")]
4903 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4904 pub fn gst_navigation_event_parse_mouse_scroll_event(
4905 event: *mut gst::GstEvent,
4906 x: *mut c_double,
4907 y: *mut c_double,
4908 delta_x: *mut c_double,
4909 delta_y: *mut c_double,
4910 ) -> gboolean;
4911 #[cfg(feature = "v1_22")]
4912 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4913 pub fn gst_navigation_event_parse_touch_event(
4914 event: *mut gst::GstEvent,
4915 identifier: *mut c_uint,
4916 x: *mut c_double,
4917 y: *mut c_double,
4918 pressure: *mut c_double,
4919 ) -> gboolean;
4920 #[cfg(feature = "v1_22")]
4921 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4922 pub fn gst_navigation_event_parse_touch_up_event(
4923 event: *mut gst::GstEvent,
4924 identifier: *mut c_uint,
4925 x: *mut c_double,
4926 y: *mut c_double,
4927 ) -> gboolean;
4928 #[cfg(feature = "v1_22")]
4929 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4930 pub fn gst_navigation_event_set_coordinates(
4931 event: *mut gst::GstEvent,
4932 x: c_double,
4933 y: c_double,
4934 ) -> gboolean;
4935 pub fn gst_navigation_message_get_type(
4936 message: *mut gst::GstMessage,
4937 ) -> GstNavigationMessageType;
4938 pub fn gst_navigation_message_new_angles_changed(
4939 src: *mut gst::GstObject,
4940 cur_angle: c_uint,
4941 n_angles: c_uint,
4942 ) -> *mut gst::GstMessage;
4943 pub fn gst_navigation_message_new_commands_changed(
4944 src: *mut gst::GstObject,
4945 ) -> *mut gst::GstMessage;
4946 pub fn gst_navigation_message_new_event(
4947 src: *mut gst::GstObject,
4948 event: *mut gst::GstEvent,
4949 ) -> *mut gst::GstMessage;
4950 pub fn gst_navigation_message_new_mouse_over(
4951 src: *mut gst::GstObject,
4952 active: gboolean,
4953 ) -> *mut gst::GstMessage;
4954 pub fn gst_navigation_message_parse_angles_changed(
4955 message: *mut gst::GstMessage,
4956 cur_angle: *mut c_uint,
4957 n_angles: *mut c_uint,
4958 ) -> gboolean;
4959 pub fn gst_navigation_message_parse_event(
4960 message: *mut gst::GstMessage,
4961 event: *mut *mut gst::GstEvent,
4962 ) -> gboolean;
4963 pub fn gst_navigation_message_parse_mouse_over(
4964 message: *mut gst::GstMessage,
4965 active: *mut gboolean,
4966 ) -> gboolean;
4967 pub fn gst_navigation_query_get_type(query: *mut gst::GstQuery) -> GstNavigationQueryType;
4968 pub fn gst_navigation_query_new_angles() -> *mut gst::GstQuery;
4969 pub fn gst_navigation_query_new_commands() -> *mut gst::GstQuery;
4970 pub fn gst_navigation_query_parse_angles(
4971 query: *mut gst::GstQuery,
4972 cur_angle: *mut c_uint,
4973 n_angles: *mut c_uint,
4974 ) -> gboolean;
4975 pub fn gst_navigation_query_parse_commands_length(
4976 query: *mut gst::GstQuery,
4977 n_cmds: *mut c_uint,
4978 ) -> gboolean;
4979 pub fn gst_navigation_query_parse_commands_nth(
4980 query: *mut gst::GstQuery,
4981 nth: c_uint,
4982 cmd: *mut GstNavigationCommand,
4983 ) -> gboolean;
4984 pub fn gst_navigation_query_set_angles(
4985 query: *mut gst::GstQuery,
4986 cur_angle: c_uint,
4987 n_angles: c_uint,
4988 );
4989 pub fn gst_navigation_query_set_commands(query: *mut gst::GstQuery, n_cmds: c_int, ...);
4990 pub fn gst_navigation_query_set_commandsv(
4991 query: *mut gst::GstQuery,
4992 n_cmds: c_int,
4993 cmds: *mut GstNavigationCommand,
4994 );
4995 pub fn gst_navigation_send_command(
4996 navigation: *mut GstNavigation,
4997 command: GstNavigationCommand,
4998 );
4999 pub fn gst_navigation_send_event(
5000 navigation: *mut GstNavigation,
5001 structure: *mut gst::GstStructure,
5002 );
5003 #[cfg(feature = "v1_22")]
5004 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5005 pub fn gst_navigation_send_event_simple(
5006 navigation: *mut GstNavigation,
5007 event: *mut gst::GstEvent,
5008 );
5009 pub fn gst_navigation_send_key_event(
5010 navigation: *mut GstNavigation,
5011 event: *const c_char,
5012 key: *const c_char,
5013 );
5014 pub fn gst_navigation_send_mouse_event(
5015 navigation: *mut GstNavigation,
5016 event: *const c_char,
5017 button: c_int,
5018 x: c_double,
5019 y: c_double,
5020 );
5021 #[cfg(feature = "v1_18")]
5022 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5023 pub fn gst_navigation_send_mouse_scroll_event(
5024 navigation: *mut GstNavigation,
5025 x: c_double,
5026 y: c_double,
5027 delta_x: c_double,
5028 delta_y: c_double,
5029 );
5030
5031 pub fn gst_video_direction_get_type() -> GType;
5035
5036 pub fn gst_video_orientation_get_type() -> GType;
5040 #[cfg(feature = "v1_20")]
5041 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5042 pub fn gst_video_orientation_from_tag(
5043 taglist: *mut gst::GstTagList,
5044 method: *mut GstVideoOrientationMethod,
5045 ) -> gboolean;
5046 pub fn gst_video_orientation_get_hcenter(
5047 video_orientation: *mut GstVideoOrientation,
5048 center: *mut c_int,
5049 ) -> gboolean;
5050 pub fn gst_video_orientation_get_hflip(
5051 video_orientation: *mut GstVideoOrientation,
5052 flip: *mut gboolean,
5053 ) -> gboolean;
5054 pub fn gst_video_orientation_get_vcenter(
5055 video_orientation: *mut GstVideoOrientation,
5056 center: *mut c_int,
5057 ) -> gboolean;
5058 pub fn gst_video_orientation_get_vflip(
5059 video_orientation: *mut GstVideoOrientation,
5060 flip: *mut gboolean,
5061 ) -> gboolean;
5062 pub fn gst_video_orientation_set_hcenter(
5063 video_orientation: *mut GstVideoOrientation,
5064 center: c_int,
5065 ) -> gboolean;
5066 pub fn gst_video_orientation_set_hflip(
5067 video_orientation: *mut GstVideoOrientation,
5068 flip: gboolean,
5069 ) -> gboolean;
5070 pub fn gst_video_orientation_set_vcenter(
5071 video_orientation: *mut GstVideoOrientation,
5072 center: c_int,
5073 ) -> gboolean;
5074 pub fn gst_video_orientation_set_vflip(
5075 video_orientation: *mut GstVideoOrientation,
5076 flip: gboolean,
5077 ) -> gboolean;
5078
5079 pub fn gst_video_overlay_get_type() -> GType;
5083 pub fn gst_video_overlay_install_properties(
5084 oclass: *mut gobject::GObjectClass,
5085 last_prop_id: c_int,
5086 );
5087 pub fn gst_video_overlay_set_property(
5088 object: *mut gobject::GObject,
5089 last_prop_id: c_int,
5090 property_id: c_uint,
5091 value: *const gobject::GValue,
5092 ) -> gboolean;
5093 pub fn gst_video_overlay_expose(overlay: *mut GstVideoOverlay);
5094 pub fn gst_video_overlay_got_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t);
5095 pub fn gst_video_overlay_handle_events(overlay: *mut GstVideoOverlay, handle_events: gboolean);
5096 pub fn gst_video_overlay_prepare_window_handle(overlay: *mut GstVideoOverlay);
5097 pub fn gst_video_overlay_set_render_rectangle(
5098 overlay: *mut GstVideoOverlay,
5099 x: c_int,
5100 y: c_int,
5101 width: c_int,
5102 height: c_int,
5103 ) -> gboolean;
5104 pub fn gst_video_overlay_set_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t);
5105
5106 pub fn gst_ancillary_meta_api_get_type() -> GType;
5110 #[cfg(feature = "v1_24")]
5111 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5112 pub fn gst_buffer_add_ancillary_meta(buffer: *mut gst::GstBuffer) -> *mut GstAncillaryMeta;
5113 #[cfg(feature = "v1_18")]
5114 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5115 pub fn gst_buffer_add_video_afd_meta(
5116 buffer: *mut gst::GstBuffer,
5117 field: u8,
5118 spec: GstVideoAFDSpec,
5119 afd: GstVideoAFDValue,
5120 ) -> *mut GstVideoAFDMeta;
5121 pub fn gst_buffer_add_video_affine_transformation_meta(
5122 buffer: *mut gst::GstBuffer,
5123 ) -> *mut GstVideoAffineTransformationMeta;
5124 #[cfg(feature = "v1_18")]
5125 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5126 pub fn gst_buffer_add_video_bar_meta(
5127 buffer: *mut gst::GstBuffer,
5128 field: u8,
5129 is_letterbox: gboolean,
5130 bar_data1: c_uint,
5131 bar_data2: c_uint,
5132 ) -> *mut GstVideoBarMeta;
5133 #[cfg(feature = "v1_16")]
5134 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5135 pub fn gst_buffer_add_video_caption_meta(
5136 buffer: *mut gst::GstBuffer,
5137 caption_type: GstVideoCaptionType,
5138 data: *const u8,
5139 size: size_t,
5140 ) -> *mut GstVideoCaptionMeta;
5141 #[cfg(feature = "v1_20")]
5142 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5143 pub fn gst_buffer_add_video_codec_alpha_meta(
5144 buffer: *mut gst::GstBuffer,
5145 alpha_buffer: *mut gst::GstBuffer,
5146 ) -> *mut GstVideoCodecAlphaMeta;
5147 #[cfg(feature = "v1_30")]
5148 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5149 pub fn gst_buffer_add_video_dsc_initialization_meta(
5150 buffer: *mut gst::GstBuffer,
5151 dsc_initialization: *const GstH274DigitallySignedContentInitialization,
5152 ) -> *mut GstVideoDSCInitializationMeta;
5153 #[cfg(feature = "v1_30")]
5154 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5155 pub fn gst_buffer_add_video_dsc_selection_meta(
5156 buffer: *mut gst::GstBuffer,
5157 dsc_selection: *const GstH274DigitallySignedContentSelection,
5158 ) -> *mut GstVideoDSCSelectionMeta;
5159 #[cfg(feature = "v1_30")]
5160 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5161 pub fn gst_buffer_add_video_dsc_verification_meta(
5162 buffer: *mut gst::GstBuffer,
5163 dsc_verification: *const GstH274DigitallySignedContentVerification,
5164 ) -> *mut GstVideoDSCVerificationMeta;
5165 pub fn gst_buffer_add_video_gl_texture_upload_meta(
5166 buffer: *mut gst::GstBuffer,
5167 texture_orientation: GstVideoGLTextureOrientation,
5168 n_textures: c_uint,
5169 texture_type: *mut GstVideoGLTextureType,
5170 upload: GstVideoGLTextureUpload,
5171 user_data: gpointer,
5172 user_data_copy: gobject::GBoxedCopyFunc,
5173 user_data_free: gobject::GBoxedFreeFunc,
5174 ) -> *mut GstVideoGLTextureUploadMeta;
5175 #[cfg(feature = "v1_30")]
5176 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5177 pub fn gst_buffer_add_video_hdr_meta(
5178 buffer: *mut gst::GstBuffer,
5179 format: GstVideoHDRFormat,
5180 data: *const u8,
5181 size: size_t,
5182 ) -> *mut GstVideoHDRMeta;
5183 pub fn gst_buffer_add_video_meta(
5184 buffer: *mut gst::GstBuffer,
5185 flags: GstVideoFrameFlags,
5186 format: GstVideoFormat,
5187 width: c_uint,
5188 height: c_uint,
5189 ) -> *mut GstVideoMeta;
5190 pub fn gst_buffer_add_video_meta_full(
5191 buffer: *mut gst::GstBuffer,
5192 flags: GstVideoFrameFlags,
5193 format: GstVideoFormat,
5194 width: c_uint,
5195 height: c_uint,
5196 n_planes: c_uint,
5197 offset: *const [size_t; 4],
5198 stride: *const [c_int; 4],
5199 ) -> *mut GstVideoMeta;
5200 pub fn gst_buffer_add_video_overlay_composition_meta(
5201 buf: *mut gst::GstBuffer,
5202 comp: *mut GstVideoOverlayComposition,
5203 ) -> *mut GstVideoOverlayCompositionMeta;
5204 pub fn gst_buffer_add_video_region_of_interest_meta(
5205 buffer: *mut gst::GstBuffer,
5206 roi_type: *const c_char,
5207 x: c_uint,
5208 y: c_uint,
5209 w: c_uint,
5210 h: c_uint,
5211 ) -> *mut GstVideoRegionOfInterestMeta;
5212 pub fn gst_buffer_add_video_region_of_interest_meta_id(
5213 buffer: *mut gst::GstBuffer,
5214 roi_type: glib::GQuark,
5215 x: c_uint,
5216 y: c_uint,
5217 w: c_uint,
5218 h: c_uint,
5219 ) -> *mut GstVideoRegionOfInterestMeta;
5220 #[cfg(feature = "v1_22")]
5221 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5222 pub fn gst_buffer_add_video_sei_user_data_unregistered_meta(
5223 buffer: *mut gst::GstBuffer,
5224 uuid: *mut [u8; 16],
5225 data: *mut u8,
5226 size: size_t,
5227 ) -> *mut GstVideoSEIUserDataUnregisteredMeta;
5228 pub fn gst_buffer_add_video_time_code_meta(
5229 buffer: *mut gst::GstBuffer,
5230 tc: *const GstVideoTimeCode,
5231 ) -> *mut GstVideoTimeCodeMeta;
5232 pub fn gst_buffer_add_video_time_code_meta_full(
5233 buffer: *mut gst::GstBuffer,
5234 fps_n: c_uint,
5235 fps_d: c_uint,
5236 latest_daily_jam: *mut glib::GDateTime,
5237 flags: GstVideoTimeCodeFlags,
5238 hours: c_uint,
5239 minutes: c_uint,
5240 seconds: c_uint,
5241 frames: c_uint,
5242 field_count: c_uint,
5243 ) -> *mut GstVideoTimeCodeMeta;
5244 pub fn gst_buffer_get_video_meta(buffer: *mut gst::GstBuffer) -> *mut GstVideoMeta;
5245 pub fn gst_buffer_get_video_meta_id(
5246 buffer: *mut gst::GstBuffer,
5247 id: c_int,
5248 ) -> *mut GstVideoMeta;
5249 pub fn gst_buffer_get_video_region_of_interest_meta_id(
5250 buffer: *mut gst::GstBuffer,
5251 id: c_int,
5252 ) -> *mut GstVideoRegionOfInterestMeta;
5253 pub fn gst_buffer_pool_config_get_video_alignment(
5254 config: *const gst::GstStructure,
5255 align: *mut GstVideoAlignment,
5256 ) -> gboolean;
5257 pub fn gst_buffer_pool_config_set_video_alignment(
5258 config: *mut gst::GstStructure,
5259 align: *const GstVideoAlignment,
5260 );
5261 #[cfg(feature = "v1_30")]
5262 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5263 pub fn gst_h274_dsc_initialization_clear(
5264 dsci: *mut GstH274DigitallySignedContentInitialization,
5265 );
5266 #[cfg(feature = "v1_30")]
5267 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5268 pub fn gst_h274_dsc_initialization_copy(
5269 dst_dsc_init: *mut GstH274DigitallySignedContentInitialization,
5270 src_dsc_init: *const GstH274DigitallySignedContentInitialization,
5271 );
5272 #[cfg(feature = "v1_30")]
5273 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5274 pub fn gst_h274_dsc_selection_clear(dscs: *mut GstH274DigitallySignedContentSelection);
5275 #[cfg(feature = "v1_30")]
5276 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5277 pub fn gst_h274_dsc_selection_copy(
5278 dst_dsc_sel: *mut GstH274DigitallySignedContentSelection,
5279 src_dsc_sel: *const GstH274DigitallySignedContentSelection,
5280 );
5281 #[cfg(feature = "v1_30")]
5282 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5283 pub fn gst_h274_dsc_verification_clear(dscv: *mut GstH274DigitallySignedContentVerification);
5284 #[cfg(feature = "v1_30")]
5285 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5286 pub fn gst_h274_dsc_verification_copy(
5287 dst_dsc_ver: *mut GstH274DigitallySignedContentVerification,
5288 src_dsc_ver: *const GstH274DigitallySignedContentVerification,
5289 );
5290 #[cfg(feature = "v1_30")]
5291 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5292 pub fn gst_h274_user_data_registered_clear(rud: *mut GstH274RegisteredUserData);
5293 #[cfg(feature = "v1_30")]
5294 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5295 pub fn gst_h274_user_data_registered_copy(
5296 dst_rud: *mut GstH274RegisteredUserData,
5297 src_rud: *const GstH274RegisteredUserData,
5298 );
5299 pub fn gst_is_video_overlay_prepare_window_handle_message(
5300 msg: *mut gst::GstMessage,
5301 ) -> gboolean;
5302 #[cfg(feature = "v1_18")]
5303 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5304 pub fn gst_video_afd_meta_api_get_type() -> GType;
5305 pub fn gst_video_affine_transformation_meta_api_get_type() -> GType;
5306 #[cfg(feature = "v1_18")]
5307 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5308 pub fn gst_video_bar_meta_api_get_type() -> GType;
5309 pub fn gst_video_blend(
5310 dest: *mut GstVideoFrame,
5311 src: *mut GstVideoFrame,
5312 x: c_int,
5313 y: c_int,
5314 global_alpha: c_float,
5315 ) -> gboolean;
5316 pub fn gst_video_blend_scale_linear_RGBA(
5317 src: *mut GstVideoInfo,
5318 src_buffer: *mut gst::GstBuffer,
5319 dest_height: c_int,
5320 dest_width: c_int,
5321 dest: *mut GstVideoInfo,
5322 dest_buffer: *mut *mut gst::GstBuffer,
5323 );
5324 pub fn gst_video_calculate_display_ratio(
5325 dar_n: *mut c_uint,
5326 dar_d: *mut c_uint,
5327 video_width: c_uint,
5328 video_height: c_uint,
5329 video_par_n: c_uint,
5330 video_par_d: c_uint,
5331 display_par_n: c_uint,
5332 display_par_d: c_uint,
5333 ) -> gboolean;
5334 #[cfg(feature = "v1_16")]
5335 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5336 pub fn gst_video_caption_meta_api_get_type() -> GType;
5337 #[cfg(feature = "v1_20")]
5338 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5339 pub fn gst_video_center_rect(
5340 src: *const GstVideoRectangle,
5341 dst: *const GstVideoRectangle,
5342 result: *mut GstVideoRectangle,
5343 scaling: gboolean,
5344 );
5345 pub fn gst_video_chroma_from_string(s: *const c_char) -> GstVideoChromaSite;
5346 pub fn gst_video_chroma_resample(
5347 resample: *mut GstVideoChromaResample,
5348 lines: *mut gpointer,
5349 width: c_int,
5350 );
5351 pub fn gst_video_chroma_to_string(site: GstVideoChromaSite) -> *const c_char;
5352 #[cfg(feature = "v1_20")]
5353 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5354 pub fn gst_video_codec_alpha_meta_api_get_type() -> GType;
5355 pub fn gst_video_color_transfer_decode(
5356 func: GstVideoTransferFunction,
5357 val: c_double,
5358 ) -> c_double;
5359 pub fn gst_video_color_transfer_encode(
5360 func: GstVideoTransferFunction,
5361 val: c_double,
5362 ) -> c_double;
5363 pub fn gst_video_convert_sample(
5364 sample: *mut gst::GstSample,
5365 to_caps: *const gst::GstCaps,
5366 timeout: gst::GstClockTime,
5367 error: *mut *mut glib::GError,
5368 ) -> *mut gst::GstSample;
5369 pub fn gst_video_convert_sample_async(
5370 sample: *mut gst::GstSample,
5371 to_caps: *const gst::GstCaps,
5372 timeout: gst::GstClockTime,
5373 callback: GstVideoConvertSampleCallback,
5374 user_data: gpointer,
5375 destroy_notify: glib::GDestroyNotify,
5376 );
5377 pub fn gst_video_crop_meta_api_get_type() -> GType;
5378 #[cfg(feature = "v1_26")]
5379 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5380 pub fn gst_video_dma_drm_format_from_gst_format(
5381 format: GstVideoFormat,
5382 modifier: *mut u64,
5383 ) -> u32;
5384 #[cfg(feature = "v1_26")]
5385 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5386 pub fn gst_video_dma_drm_format_to_gst_format(fourcc: u32, modifier: u64) -> GstVideoFormat;
5387 #[cfg(feature = "v1_24")]
5388 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5389 pub fn gst_video_dma_drm_fourcc_from_format(format: GstVideoFormat) -> u32;
5390 #[cfg(feature = "v1_24")]
5391 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5392 pub fn gst_video_dma_drm_fourcc_from_string(
5393 format_str: *const c_char,
5394 modifier: *mut u64,
5395 ) -> u32;
5396 #[cfg(feature = "v1_24")]
5397 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5398 pub fn gst_video_dma_drm_fourcc_to_format(fourcc: u32) -> GstVideoFormat;
5399 #[cfg(feature = "v1_24")]
5400 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5401 pub fn gst_video_dma_drm_fourcc_to_string(fourcc: u32, modifier: u64) -> *mut c_char;
5402 #[cfg(feature = "v1_30")]
5403 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5404 pub fn gst_video_dsc_initialization_meta_api_get_type() -> GType;
5405 #[cfg(feature = "v1_30")]
5406 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5407 pub fn gst_video_dsc_selection_meta_api_get_type() -> GType;
5408 #[cfg(feature = "v1_30")]
5409 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5410 pub fn gst_video_dsc_verification_meta_api_get_type() -> GType;
5411 pub fn gst_video_event_is_force_key_unit(event: *mut gst::GstEvent) -> gboolean;
5412 pub fn gst_video_event_new_downstream_force_key_unit(
5413 timestamp: gst::GstClockTime,
5414 stream_time: gst::GstClockTime,
5415 running_time: gst::GstClockTime,
5416 all_headers: gboolean,
5417 count: c_uint,
5418 ) -> *mut gst::GstEvent;
5419 pub fn gst_video_event_new_still_frame(in_still: gboolean) -> *mut gst::GstEvent;
5420 pub fn gst_video_event_new_upstream_force_key_unit(
5421 running_time: gst::GstClockTime,
5422 all_headers: gboolean,
5423 count: c_uint,
5424 ) -> *mut gst::GstEvent;
5425 pub fn gst_video_event_parse_downstream_force_key_unit(
5426 event: *mut gst::GstEvent,
5427 timestamp: *mut gst::GstClockTime,
5428 stream_time: *mut gst::GstClockTime,
5429 running_time: *mut gst::GstClockTime,
5430 all_headers: *mut gboolean,
5431 count: *mut c_uint,
5432 ) -> gboolean;
5433 pub fn gst_video_event_parse_still_frame(
5434 event: *mut gst::GstEvent,
5435 in_still: *mut gboolean,
5436 ) -> gboolean;
5437 pub fn gst_video_event_parse_upstream_force_key_unit(
5438 event: *mut gst::GstEvent,
5439 running_time: *mut gst::GstClockTime,
5440 all_headers: *mut gboolean,
5441 count: *mut c_uint,
5442 ) -> gboolean;
5443 #[cfg(feature = "v1_24")]
5444 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5445 pub fn gst_video_formats_any(len: *mut c_uint) -> *const GstVideoFormat;
5446 #[cfg(feature = "v1_18")]
5447 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5448 pub fn gst_video_formats_raw(len: *mut c_uint) -> *const GstVideoFormat;
5449 pub fn gst_video_gl_texture_upload_meta_api_get_type() -> GType;
5450 pub fn gst_video_guess_framerate(
5451 duration: gst::GstClockTime,
5452 dest_n: *mut c_int,
5453 dest_d: *mut c_int,
5454 ) -> gboolean;
5455 #[cfg(feature = "v1_30")]
5456 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5457 pub fn gst_video_hdr_format_from_string(format: *const c_char) -> GstVideoHDRFormat;
5458 #[cfg(feature = "v1_30")]
5459 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5460 pub fn gst_video_hdr_format_to_string(format: GstVideoHDRFormat) -> *const c_char;
5461 pub fn gst_video_hdr_meta_api_get_type() -> GType;
5462 #[cfg(feature = "v1_30")]
5463 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5464 pub fn gst_video_hdr_parse_hdr10_plus(
5465 data: *const u8,
5466 size: size_t,
5467 hdr10_plus: *mut GstVideoHDR10Plus,
5468 ) -> gboolean;
5469 #[cfg(feature = "v1_22")]
5470 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5471 pub fn gst_video_is_common_aspect_ratio(
5472 width: c_int,
5473 height: c_int,
5474 par_n: c_int,
5475 par_d: c_int,
5476 ) -> gboolean;
5477 #[cfg(feature = "v1_24")]
5478 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5479 pub fn gst_video_is_dma_drm_caps(caps: *const gst::GstCaps) -> gboolean;
5480 #[cfg(feature = "v1_18")]
5481 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5482 pub fn gst_video_make_raw_caps(
5483 formats: *const GstVideoFormat,
5484 len: c_uint,
5485 ) -> *mut gst::GstCaps;
5486 #[cfg(feature = "v1_18")]
5487 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5488 pub fn gst_video_make_raw_caps_with_features(
5489 formats: *const GstVideoFormat,
5490 len: c_uint,
5491 features: *mut gst::GstCapsFeatures,
5492 ) -> *mut gst::GstCaps;
5493 pub fn gst_video_meta_api_get_type() -> GType;
5494 pub fn gst_video_multiview_get_doubled_height_modes() -> *const gobject::GValue;
5495 pub fn gst_video_multiview_get_doubled_size_modes() -> *const gobject::GValue;
5496 pub fn gst_video_multiview_get_doubled_width_modes() -> *const gobject::GValue;
5497 pub fn gst_video_multiview_get_mono_modes() -> *const gobject::GValue;
5498 pub fn gst_video_multiview_get_unpacked_modes() -> *const gobject::GValue;
5499 pub fn gst_video_multiview_guess_half_aspect(
5500 mv_mode: GstVideoMultiviewMode,
5501 width: c_uint,
5502 height: c_uint,
5503 par_n: c_uint,
5504 par_d: c_uint,
5505 ) -> gboolean;
5506 pub fn gst_video_multiview_video_info_change_mode(
5507 info: *mut GstVideoInfo,
5508 out_mview_mode: GstVideoMultiviewMode,
5509 out_mview_flags: GstVideoMultiviewFlags,
5510 );
5511 pub fn gst_video_overlay_composition_meta_api_get_type() -> GType;
5512 pub fn gst_video_region_of_interest_meta_api_get_type() -> GType;
5513 #[cfg(feature = "v1_22")]
5514 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5515 pub fn gst_video_sei_user_data_unregistered_meta_api_get_type() -> GType;
5516 #[cfg(feature = "v1_22")]
5517 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5518 pub fn gst_video_sei_user_data_unregistered_parse_precision_time_stamp(
5519 user_data: *mut GstVideoSEIUserDataUnregisteredMeta,
5520 status: *mut u8,
5521 precision_time_stamp: *mut u64,
5522 ) -> gboolean;
5523 pub fn gst_video_tile_get_index(
5524 mode: GstVideoTileMode,
5525 x: c_int,
5526 y: c_int,
5527 x_tiles: c_int,
5528 y_tiles: c_int,
5529 ) -> c_uint;
5530 pub fn gst_video_time_code_meta_api_get_type() -> GType;
5531
5532}