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