File: types.d

package info (click to toggle)
gtk-d 3.8.5-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 19,704 kB
  • sloc: sh: 71; makefile: 27
file content (559 lines) | stat: -rw-r--r-- 18,451 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
/*
 * This file is part of gtkD.
 *
 * gtkD is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version, with
 * some exceptions, please read the COPYING file.
 *
 * gtkD is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with gtkD; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
 */

// generated automatically - do not change
// find conversion definition on APILookup.txt
// implement new conversion functionalities on the wrap.utils pakage


module gstinterfaces.c.types;

public import gobject.c.types;


/**
 * The different video orientation methods.
 *
 * Since: 1.10
 */
public enum GstVideoOrientationMethod
{
	/**
	 * Identity (no rotation)
	 */
	IDENTITY = 0,
	/**
	 * Rotate clockwise 90 degrees
	 */
	_90R = 1,
	/**
	 * Rotate 180 degrees
	 */
	_180 = 2,
	/**
	 * Rotate counter-clockwise 90 degrees
	 */
	_90L = 3,
	/**
	 * Flip horizontally
	 */
	HORIZ = 4,
	/**
	 * Flip vertically
	 */
	VERT = 5,
	/**
	 * Flip across upper left/lower right diagonal
	 */
	UL_LR = 6,
	/**
	 * Flip across upper right/lower left diagonal
	 */
	UR_LL = 7,
	/**
	 * Select flip method based on image-orientation tag
	 */
	AUTO = 8,
	/**
	 * Current status depends on plugin internal setup
	 */
	CUSTOM = 9,
}
alias GstVideoOrientationMethod VideoOrientationMethod;

/**
 * Flags related to the time code information.
 * For drop frame, only 30000/1001 and 60000/1001 frame rates are supported.
 *
 * Since: 1.10
 */
public enum GstVideoTimeCodeFlags
{
	/**
	 * No flags
	 */
	NONE = 0,
	/**
	 * Whether we have drop frame rate
	 */
	DROP_FRAME = 1,
	/**
	 * Whether we have interlaced video
	 */
	INTERLACED = 2,
}
alias GstVideoTimeCodeFlags VideoTimeCodeFlags;

/**
 * #GstVideoDirectionInterface interface.
 *
 * Since: 1.10
 */
struct GstVideoDirectionInterface
{
	/**
	 * parent interface type.
	 */
	GTypeInterface iface;
}

struct GstVideoOverlay;

/**
 * #GstVideoOverlay interface
 */
struct GstVideoOverlayInterface
{
	/**
	 * parent interface type.
	 */
	GTypeInterface iface;
	/** */
	extern(C) void function(GstVideoOverlay* overlay) expose;
	/** */
	extern(C) void function(GstVideoOverlay* overlay, int handleEvents) handleEvents;
	/** */
	extern(C) void function(GstVideoOverlay* overlay, int x, int y, int width, int height) setRenderRectangle;
	/** */
	extern(C) void function(GstVideoOverlay* overlay, size_t handle) setWindowHandle;
}

struct GstVideoOverlayProperties;

/**
 * Supported frame rates: 30000/1001, 60000/1001 (both with and without drop
 * frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1.
 *
 * The configuration of the time code.
 *
 * Since: 1.10
 */
struct GstVideoTimeCodeConfig
{
	/**
	 * Numerator of the frame rate
	 */
	uint fpsN;
	/**
	 * Denominator of the frame rate
	 */
	uint fpsD;
	/**
	 * the corresponding #GstVideoTimeCodeFlags
	 */
	GstVideoTimeCodeFlags flags;
	/**
	 * The latest daily jam information, if present, or NULL
	 */
	GDateTime* latestDailyJam;
}

enum BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = "GstBufferPoolOptionVideoAffineTransformation";
alias GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META;

/**
 * A bufferpool option to enable extra padding. When a bufferpool supports this
 * option, gst_buffer_pool_config_set_video_alignment() can be called.
 *
 * When this option is enabled on the bufferpool,
 * #GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.
 */
enum BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = "GstBufferPoolOptionVideoAlignment";
alias GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = BUFFER_POOL_OPTION_VIDEO_ALIGNMENT;

/**
 * An option that can be activated on a bufferpool to request gl texture upload
 * meta on buffers from the pool.
 *
 * When this option is enabled on the bufferpool,
 * @GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.
 */
enum BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = "GstBufferPoolOptionVideoGLTextureUploadMeta";
alias GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META;

/**
 * An option that can be activated on bufferpool to request video metadata
 * on buffers from the pool.
 */
enum BUFFER_POOL_OPTION_VIDEO_META = "GstBufferPoolOptionVideoMeta";
alias GST_BUFFER_POOL_OPTION_VIDEO_META = BUFFER_POOL_OPTION_VIDEO_META;

enum CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = "meta:GstVideoAffineTransformation";
alias GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META;

enum CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = "meta:GstVideoGLTextureUploadMeta";
alias GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META;

enum CAPS_FEATURE_META_GST_VIDEO_META = "meta:GstVideoMeta";
alias GST_CAPS_FEATURE_META_GST_VIDEO_META = CAPS_FEATURE_META_GST_VIDEO_META;

enum CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = "meta:GstVideoOverlayComposition";
alias GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION;

/**
 * This metadata stays relevant as long as video colorspace is unchanged.
 */
enum META_TAG_VIDEO_COLORSPACE_STR = "colorspace";
alias GST_META_TAG_VIDEO_COLORSPACE_STR = META_TAG_VIDEO_COLORSPACE_STR;

/**
 * This metadata stays relevant as long as video orientation is unchanged.
 */
enum META_TAG_VIDEO_ORIENTATION_STR = "orientation";
alias GST_META_TAG_VIDEO_ORIENTATION_STR = META_TAG_VIDEO_ORIENTATION_STR;

/**
 * This metadata stays relevant as long as video size is unchanged.
 */
enum META_TAG_VIDEO_SIZE_STR = "size";
alias GST_META_TAG_VIDEO_SIZE_STR = META_TAG_VIDEO_SIZE_STR;

/**
 * This metadata is relevant for video streams.
 */
enum META_TAG_VIDEO_STR = "video";
alias GST_META_TAG_VIDEO_STR = META_TAG_VIDEO_STR;

enum VIDEO_COLORIMETRY_BT2020 = "bt2020";
alias GST_VIDEO_COLORIMETRY_BT2020 = VIDEO_COLORIMETRY_BT2020;

enum VIDEO_COLORIMETRY_BT601 = "bt601";
alias GST_VIDEO_COLORIMETRY_BT601 = VIDEO_COLORIMETRY_BT601;

enum VIDEO_COLORIMETRY_BT709 = "bt709";
alias GST_VIDEO_COLORIMETRY_BT709 = VIDEO_COLORIMETRY_BT709;

enum VIDEO_COLORIMETRY_SMPTE240M = "smpte240m";
alias GST_VIDEO_COLORIMETRY_SMPTE240M = VIDEO_COLORIMETRY_SMPTE240M;

enum VIDEO_COLORIMETRY_SRGB = "sRGB";
alias GST_VIDEO_COLORIMETRY_SRGB = VIDEO_COLORIMETRY_SRGB;

enum VIDEO_COMP_A = 3;
alias GST_VIDEO_COMP_A = VIDEO_COMP_A;

enum VIDEO_COMP_B = 2;
alias GST_VIDEO_COMP_B = VIDEO_COMP_B;

enum VIDEO_COMP_G = 1;
alias GST_VIDEO_COMP_G = VIDEO_COMP_G;

enum VIDEO_COMP_INDEX = 0;
alias GST_VIDEO_COMP_INDEX = VIDEO_COMP_INDEX;

enum VIDEO_COMP_PALETTE = 1;
alias GST_VIDEO_COMP_PALETTE = VIDEO_COMP_PALETTE;

enum VIDEO_COMP_R = 0;
alias GST_VIDEO_COMP_R = VIDEO_COMP_R;

enum VIDEO_COMP_U = 1;
alias GST_VIDEO_COMP_U = VIDEO_COMP_U;

enum VIDEO_COMP_V = 2;
alias GST_VIDEO_COMP_V = VIDEO_COMP_V;

enum VIDEO_COMP_Y = 0;
alias GST_VIDEO_COMP_Y = VIDEO_COMP_Y;

/**
 * #GST_TYPE_VIDEO_ALPHA_MODE, the alpha mode to use.
 * Default is #GST_VIDEO_ALPHA_MODE_COPY.
 */
enum VIDEO_CONVERTER_OPT_ALPHA_MODE = "GstVideoConverter.alpha-mode";
alias GST_VIDEO_CONVERTER_OPT_ALPHA_MODE = VIDEO_CONVERTER_OPT_ALPHA_MODE;

/**
 * #G_TYPE_DOUBLE, the alpha color value to use.
 * Default to 1.0
 */
enum VIDEO_CONVERTER_OPT_ALPHA_VALUE = "GstVideoConverter.alpha-value";
alias GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE = VIDEO_CONVERTER_OPT_ALPHA_VALUE;

/**
 * #G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER
 * is set to %TRUE. The color is in ARGB format.
 * Default 0xff000000
 */
enum VIDEO_CONVERTER_OPT_BORDER_ARGB = "GstVideoConverter.border-argb";
alias GST_VIDEO_CONVERTER_OPT_BORDER_ARGB = VIDEO_CONVERTER_OPT_BORDER_ARGB;

/**
 * #GST_TYPE_VIDEO_CHROMA_MODE, set the chroma resample mode subsampled
 * formats. Default is #GST_VIDEO_CHROMA_MODE_FULL.
 */
enum VIDEO_CONVERTER_OPT_CHROMA_MODE = "GstVideoConverter.chroma-mode";
alias GST_VIDEO_CONVERTER_OPT_CHROMA_MODE = VIDEO_CONVERTER_OPT_CHROMA_MODE;

/**
 * #GST_TYPE_RESAMPLER_METHOD, The resampler method to use for
 * chroma resampling. Other options for the resampler can be used, see
 * the #GstResampler. Default is #GST_RESAMPLER_METHOD_LINEAR
 */
enum VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = "GstVideoConverter.chroma-resampler-method";
alias GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD;

/**
 * #G_TYPE_INT, height in the destination frame, default destination height
 */
enum VIDEO_CONVERTER_OPT_DEST_HEIGHT = "GstVideoConverter.dest-height";
alias GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT = VIDEO_CONVERTER_OPT_DEST_HEIGHT;

/**
 * #G_TYPE_INT, width in the destination frame, default destination width
 */
enum VIDEO_CONVERTER_OPT_DEST_WIDTH = "GstVideoConverter.dest-width";
alias GST_VIDEO_CONVERTER_OPT_DEST_WIDTH = VIDEO_CONVERTER_OPT_DEST_WIDTH;

/**
 * #G_TYPE_INT, x position in the destination frame, default 0
 */
enum VIDEO_CONVERTER_OPT_DEST_X = "GstVideoConverter.dest-x";
alias GST_VIDEO_CONVERTER_OPT_DEST_X = VIDEO_CONVERTER_OPT_DEST_X;

/**
 * #G_TYPE_INT, y position in the destination frame, default 0
 */
enum VIDEO_CONVERTER_OPT_DEST_Y = "GstVideoConverter.dest-y";
alias GST_VIDEO_CONVERTER_OPT_DEST_Y = VIDEO_CONVERTER_OPT_DEST_Y;

/**
 * #GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use when
 * changing bit depth.
 * Default is #GST_VIDEO_DITHER_BAYER.
 */
enum VIDEO_CONVERTER_OPT_DITHER_METHOD = "GstVideoConverter.dither-method";
alias GST_VIDEO_CONVERTER_OPT_DITHER_METHOD = VIDEO_CONVERTER_OPT_DITHER_METHOD;

/**
 * #G_TYPE_UINT, The quantization amount to dither to. Components will be
 * quantized to multiples of this value.
 * Default is 1
 */
enum VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = "GstVideoConverter.dither-quantization";
alias GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION;

/**
 * #G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete
 * destination image, render a border with
 * #GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the
 * destination are untouched. Default %TRUE.
 */
enum VIDEO_CONVERTER_OPT_FILL_BORDER = "GstVideoConverter.fill-border";
alias GST_VIDEO_CONVERTER_OPT_FILL_BORDER = VIDEO_CONVERTER_OPT_FILL_BORDER;

/**
 * #GST_TYPE_VIDEO_GAMMA_MODE, set the gamma mode.
 * Default is #GST_VIDEO_GAMMA_MODE_NONE.
 */
enum VIDEO_CONVERTER_OPT_GAMMA_MODE = "GstVideoConverter.gamma-mode";
alias GST_VIDEO_CONVERTER_OPT_GAMMA_MODE = VIDEO_CONVERTER_OPT_GAMMA_MODE;

/**
 * #GST_TYPE_VIDEO_MATRIX_MODE, set the color matrix conversion mode for
 * converting between Y'PbPr and non-linear RGB (R'G'B').
 * Default is #GST_VIDEO_MATRIX_MODE_FULL.
 */
enum VIDEO_CONVERTER_OPT_MATRIX_MODE = "GstVideoConverter.matrix-mode";
alias GST_VIDEO_CONVERTER_OPT_MATRIX_MODE = VIDEO_CONVERTER_OPT_MATRIX_MODE;

/**
 * #GST_TYPE_VIDEO_PRIMARIES_MODE, set the primaries conversion mode.
 * Default is #GST_VIDEO_PRIMARIES_MODE_NONE.
 */
enum VIDEO_CONVERTER_OPT_PRIMARIES_MODE = "GstVideoConverter.primaries-mode";
alias GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE = VIDEO_CONVERTER_OPT_PRIMARIES_MODE;

/**
 * #GST_TYPE_RESAMPLER_METHOD, The resampler method to use for
 * resampling. Other options for the resampler can be used, see
 * the #GstResampler. Default is #GST_RESAMPLER_METHOD_CUBIC
 */
enum VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = "GstVideoConverter.resampler-method";
alias GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = VIDEO_CONVERTER_OPT_RESAMPLER_METHOD;

/**
 * #G_TYPE_UINT, The number of taps for the resampler.
 * Default is 0: let the resampler choose a good value.
 */
enum VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = "GstVideoConverter.resampler-taps";
alias GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = VIDEO_CONVERTER_OPT_RESAMPLER_TAPS;

/**
 * #G_TYPE_INT, source height to convert, default source height
 */
enum VIDEO_CONVERTER_OPT_SRC_HEIGHT = "GstVideoConverter.src-height";
alias GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT = VIDEO_CONVERTER_OPT_SRC_HEIGHT;

/**
 * #G_TYPE_INT, source width to convert, default source width
 */
enum VIDEO_CONVERTER_OPT_SRC_WIDTH = "GstVideoConverter.src-width";
alias GST_VIDEO_CONVERTER_OPT_SRC_WIDTH = VIDEO_CONVERTER_OPT_SRC_WIDTH;

/**
 * #G_TYPE_INT, source x position to start conversion, default 0
 */
enum VIDEO_CONVERTER_OPT_SRC_X = "GstVideoConverter.src-x";
alias GST_VIDEO_CONVERTER_OPT_SRC_X = VIDEO_CONVERTER_OPT_SRC_X;

/**
 * #G_TYPE_INT, source y position to start conversion, default 0
 */
enum VIDEO_CONVERTER_OPT_SRC_Y = "GstVideoConverter.src-y";
alias GST_VIDEO_CONVERTER_OPT_SRC_Y = VIDEO_CONVERTER_OPT_SRC_Y;

/**
 * #G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number
 * of cores.
 */
enum VIDEO_CONVERTER_OPT_THREADS = "GstVideoConverter.threads";
alias GST_VIDEO_CONVERTER_OPT_THREADS = VIDEO_CONVERTER_OPT_THREADS;

/**
 * Default maximum number of errors tolerated before signaling error.
 */
enum VIDEO_DECODER_MAX_ERRORS = 10;
alias GST_VIDEO_DECODER_MAX_ERRORS = VIDEO_DECODER_MAX_ERRORS;

/**
 * The name of the templates for the sink pad.
 */
enum VIDEO_DECODER_SINK_NAME = "sink";
alias GST_VIDEO_DECODER_SINK_NAME = VIDEO_DECODER_SINK_NAME;

/**
 * The name of the templates for the source pad.
 */
enum VIDEO_DECODER_SRC_NAME = "src";
alias GST_VIDEO_DECODER_SRC_NAME = VIDEO_DECODER_SRC_NAME;

/**
 * The name of the templates for the sink pad.
 */
enum VIDEO_ENCODER_SINK_NAME = "sink";
alias GST_VIDEO_ENCODER_SINK_NAME = VIDEO_ENCODER_SINK_NAME;

/**
 * The name of the templates for the source pad.
 */
enum VIDEO_ENCODER_SRC_NAME = "src";
alias GST_VIDEO_ENCODER_SRC_NAME = VIDEO_ENCODER_SRC_NAME;

enum VIDEO_FORMATS_ALL = "{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }";
alias GST_VIDEO_FORMATS_ALL = VIDEO_FORMATS_ALL;

enum VIDEO_FPS_RANGE = "(fraction) [ 0, max ]";
alias GST_VIDEO_FPS_RANGE = VIDEO_FPS_RANGE;

enum VIDEO_MAX_COMPONENTS = 4;
alias GST_VIDEO_MAX_COMPONENTS = VIDEO_MAX_COMPONENTS;

enum VIDEO_MAX_PLANES = 4;
alias GST_VIDEO_MAX_PLANES = VIDEO_MAX_PLANES;

/**
 * Video formats supported by gst_video_overlay_composition_blend(), for
 * use in overlay elements' pad template caps.
 */
enum VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS = "{ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }";
alias GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS = VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS;

/**
 * G_TYPE_DOUBLE, B parameter of the cubic filter. The B
 * parameter controls the bluriness. Values between 0.0 and
 * 2.0 are accepted. 1/3 is the default.
 *
 * Below are some values of popular filters:
 * B       C
 * Hermite           0.0     0.0
 * Spline            1.0     0.0
 * Catmull-Rom       0.0     1/2
 * Mitchell          1/3     1/3
 * Robidoux          0.3782  0.3109
 * Robidoux
 * Sharp            0.2620  0.3690
 * Robidoux
 * Soft             0.6796  0.1602
 */
enum VIDEO_RESAMPLER_OPT_CUBIC_B = "GstVideoResampler.cubic-b";
alias GST_VIDEO_RESAMPLER_OPT_CUBIC_B = VIDEO_RESAMPLER_OPT_CUBIC_B;

/**
 * G_TYPE_DOUBLE, C parameter of the cubic filter. The C
 * parameter controls the Keys alpha value. Values between 0.0 and
 * 2.0 are accepted. 1/3 is the default.
 *
 * See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values
 */
enum VIDEO_RESAMPLER_OPT_CUBIC_C = "GstVideoResampler.cubic-c";
alias GST_VIDEO_RESAMPLER_OPT_CUBIC_C = VIDEO_RESAMPLER_OPT_CUBIC_C;

/**
 * G_TYPE_DOUBLE, specifies the size of filter envelope for
 * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
 * 1.0 and 5.0. 2.0 is the default.
 */
enum VIDEO_RESAMPLER_OPT_ENVELOPE = "GstVideoResampler.envelope";
alias GST_VIDEO_RESAMPLER_OPT_ENVELOPE = VIDEO_RESAMPLER_OPT_ENVELOPE;

/**
 * G_TYPE_INT, limits the maximum number of taps to use.
 * 16 is the default.
 */
enum VIDEO_RESAMPLER_OPT_MAX_TAPS = "GstVideoResampler.max-taps";
alias GST_VIDEO_RESAMPLER_OPT_MAX_TAPS = VIDEO_RESAMPLER_OPT_MAX_TAPS;

/**
 * G_TYPE_DOUBLE, specifies sharpening of the filter for
 * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
 * 0.0 and 1.0. 0.0 is the default.
 */
enum VIDEO_RESAMPLER_OPT_SHARPEN = "GstVideoResampler.sharpen";
alias GST_VIDEO_RESAMPLER_OPT_SHARPEN = VIDEO_RESAMPLER_OPT_SHARPEN;

/**
 * G_TYPE_DOUBLE, specifies sharpness of the filter for
 * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
 * 0.5 and 1.5. 1.0 is the default.
 */
enum VIDEO_RESAMPLER_OPT_SHARPNESS = "GstVideoResampler.sharpness";
alias GST_VIDEO_RESAMPLER_OPT_SHARPNESS = VIDEO_RESAMPLER_OPT_SHARPNESS;

/**
 * #GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use for propagating
 * quatization errors.
 */
enum VIDEO_SCALER_OPT_DITHER_METHOD = "GstVideoScaler.dither-method";
alias GST_VIDEO_SCALER_OPT_DITHER_METHOD = VIDEO_SCALER_OPT_DITHER_METHOD;

enum VIDEO_SIZE_RANGE = "(int) [ 1, max ]";
alias GST_VIDEO_SIZE_RANGE = VIDEO_SIZE_RANGE;

enum VIDEO_TILE_TYPE_MASK = 65535;
alias GST_VIDEO_TILE_TYPE_MASK = VIDEO_TILE_TYPE_MASK;

enum VIDEO_TILE_TYPE_SHIFT = 16;
alias GST_VIDEO_TILE_TYPE_SHIFT = VIDEO_TILE_TYPE_SHIFT;

enum VIDEO_TILE_X_TILES_MASK = 65535;
alias GST_VIDEO_TILE_X_TILES_MASK = VIDEO_TILE_X_TILES_MASK;

enum VIDEO_TILE_Y_TILES_SHIFT = 16;
alias GST_VIDEO_TILE_Y_TILES_SHIFT = VIDEO_TILE_Y_TILES_SHIFT;