-
Notifications
You must be signed in to change notification settings - Fork 0
/
libavutil_pixfmt.go
546 lines (433 loc) · 13.7 KB
/
libavutil_pixfmt.go
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
// Use of this source code is governed by a MIT license that can be found in the LICENSE file.
/*
* copyright (c) 2006 Michael Niedermayer <[email protected]>
*
* This file is part of FFmpeg.
*
* FFmpeg 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 2.1 of the License, or (at your option) any later version.
*
* FFmpeg 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package ffmpeg
const AVPALETTE_SIZE = 1024
const AVPALETTE_COUNT = 256
var AV_PIX_FMT_RGB32 = AV_PIX_FMT_BGRA
var AV_PIX_FMT_RGB32_1 = AV_PIX_FMT_ABGR
var AV_PIX_FMT_BGR32 = AV_PIX_FMT_RGBA
var AV_PIX_FMT_BGR32_1 = AV_PIX_FMT_ARGB
var AV_PIX_FMT_0RGB32 = AV_PIX_FMT_BGR0
var AV_PIX_FMT_0BGR32 = AV_PIX_FMT_RGB0
var AV_PIX_FMT_GRAY9 = AV_PIX_FMT_GRAY9LE
var AV_PIX_FMT_GRAY10 = AV_PIX_FMT_GRAY10LE
var AV_PIX_FMT_GRAY12 = AV_PIX_FMT_GRAY12LE
var AV_PIX_FMT_GRAY14 = AV_PIX_FMT_GRAY14LE
var AV_PIX_FMT_GRAY16 = AV_PIX_FMT_GRAY16LE
var AV_PIX_FMT_YA16 = AV_PIX_FMT_YA16LE
var AV_PIX_FMT_RGB48 = AV_PIX_FMT_RGB48LE
var AV_PIX_FMT_RGB565 = AV_PIX_FMT_RGB565LE
var AV_PIX_FMT_RGB555 = AV_PIX_FMT_RGB555LE
var AV_PIX_FMT_RGB444 = AV_PIX_FMT_RGB444LE
var AV_PIX_FMT_RGBA64 = AV_PIX_FMT_RGBA64LE
var AV_PIX_FMT_BGR48 = AV_PIX_FMT_BGR48LE
var AV_PIX_FMT_BGR565 = AV_PIX_FMT_BGR565LE
var AV_PIX_FMT_BGR555 = AV_PIX_FMT_BGR555LE
var AV_PIX_FMT_BGR444 = AV_PIX_FMT_BGR444LE
var AV_PIX_FMT_BGRA64 = AV_PIX_FMT_BGRA64LE
var AV_PIX_FMT_YUV420P9 = AV_PIX_FMT_YUV420P9LE
var AV_PIX_FMT_YUV422P9 = AV_PIX_FMT_YUV422P9LE
var AV_PIX_FMT_YUV444P9 = AV_PIX_FMT_YUV444P9LE
var AV_PIX_FMT_YUV420P10 = AV_PIX_FMT_YUV420P10LE
var AV_PIX_FMT_YUV422P10 = AV_PIX_FMT_YUV422P10LE
var AV_PIX_FMT_YUV440P10 = AV_PIX_FMT_YUV440P10LE
var AV_PIX_FMT_YUV444P10 = AV_PIX_FMT_YUV444P10LE
var AV_PIX_FMT_YUV420P12 = AV_PIX_FMT_YUV420P12LE
var AV_PIX_FMT_YUV422P12 = AV_PIX_FMT_YUV422P12LE
var AV_PIX_FMT_YUV440P12 = AV_PIX_FMT_YUV440P12LE
var AV_PIX_FMT_YUV444P12 = AV_PIX_FMT_YUV444P12LE
var AV_PIX_FMT_YUV420P14 = AV_PIX_FMT_YUV420P14LE
var AV_PIX_FMT_YUV422P14 = AV_PIX_FMT_YUV422P14LE
var AV_PIX_FMT_YUV444P14 = AV_PIX_FMT_YUV444P14LE
var AV_PIX_FMT_YUV420P16 = AV_PIX_FMT_YUV420P16LE
var AV_PIX_FMT_YUV422P16 = AV_PIX_FMT_YUV422P16LE
var AV_PIX_FMT_YUV444P16 = AV_PIX_FMT_YUV444P16LE
var AV_PIX_FMT_GBRP9 = AV_PIX_FMT_GBRP9LE
var AV_PIX_FMT_GBRP10 = AV_PIX_FMT_GBRP10LE
var AV_PIX_FMT_GBRP12 = AV_PIX_FMT_GBRP12LE
var AV_PIX_FMT_GBRP14 = AV_PIX_FMT_GBRP14LE
var AV_PIX_FMT_GBRP16 = AV_PIX_FMT_GBRP16LE
var AV_PIX_FMT_GBRAP10 = AV_PIX_FMT_GBRAP10LE
var AV_PIX_FMT_GBRAP12 = AV_PIX_FMT_GBRAP12LE
var AV_PIX_FMT_GBRAP16 = AV_PIX_FMT_GBRAP16LE
var AV_PIX_FMT_BAYER_BGGR16 = AV_PIX_FMT_BAYER_BGGR16LE
var AV_PIX_FMT_BAYER_RGGB16 = AV_PIX_FMT_BAYER_RGGB16LE
var AV_PIX_FMT_BAYER_GBRG16 = AV_PIX_FMT_BAYER_GBRG16LE
var AV_PIX_FMT_BAYER_GRBG16 = AV_PIX_FMT_BAYER_GRBG16LE
var AV_PIX_FMT_GBRPF32 = AV_PIX_FMT_GBRPF32LE
var AV_PIX_FMT_GBRAPF32 = AV_PIX_FMT_GBRAPF32LE
var AV_PIX_FMT_GRAYF32 = AV_PIX_FMT_GRAYF32LE
var AV_PIX_FMT_YUVA420P9 = AV_PIX_FMT_YUVA420P9LE
var AV_PIX_FMT_YUVA422P9 = AV_PIX_FMT_YUVA422P9LE
var AV_PIX_FMT_YUVA444P9 = AV_PIX_FMT_YUVA444P9LE
var AV_PIX_FMT_YUVA420P10 = AV_PIX_FMT_YUVA420P10LE
var AV_PIX_FMT_YUVA422P10 = AV_PIX_FMT_YUVA422P10LE
var AV_PIX_FMT_YUVA444P10 = AV_PIX_FMT_YUVA444P10LE
var AV_PIX_FMT_YUVA420P16 = AV_PIX_FMT_YUVA420P16LE
var AV_PIX_FMT_YUVA422P16 = AV_PIX_FMT_YUVA422P16LE
var AV_PIX_FMT_YUVA444P16 = AV_PIX_FMT_YUVA444P16LE
var AV_PIX_FMT_XYZ12 = AV_PIX_FMT_XYZ12LE
var AV_PIX_FMT_NV20 = AV_PIX_FMT_NV20LE
var AV_PIX_FMT_AYUV64 = AV_PIX_FMT_AYUV64LE
var AV_PIX_FMT_P010 = AV_PIX_FMT_P010LE
var AV_PIX_FMT_P016 = AV_PIX_FMT_P016LE
/**
* @file
* pixel format definitions
*/
/**
* Pixel format.
*
* @note
* AV_PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA
* color is put together as:
* (A << 24) | (R << 16) | (G << 8) | B
* This is stored as BGRA on little-endian CPU architectures and ARGB on
* big-endian CPUs.
*
* @note
* If the resolution is not a multiple of the chroma subsampling factor
* then the chroma plane resolution must be rounded up.
*
* @par
* When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized
* image data is stored in AVFrame.data[0]. The palette is transported in
* AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is
* formatted the same as in AV_PIX_FMT_RGB32 described above (i.e., it is
* also endian-specific). Note also that the individual RGB32 palette
* components stored in AVFrame.data[1] should be in the range 0..255.
* This is important as many custom PAL8 video codecs that were designed
* to run on the IBM VGA graphics adapter use 6-bit palette components.
*
* @par
* For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like
* for pal8. This palette is filled in automatically by the function
* allocating the picture.
*/
type AVPixelFormat int32
const (
AV_PIX_FMT_NONE AVPixelFormat = -1 + iota
AV_PIX_FMT_YUV420P
AV_PIX_FMT_YUYV422
AV_PIX_FMT_RGB24
AV_PIX_FMT_BGR24
AV_PIX_FMT_YUV422P
AV_PIX_FMT_YUV444P
AV_PIX_FMT_YUV410P
AV_PIX_FMT_YUV411P
AV_PIX_FMT_GRAY8
AV_PIX_FMT_MONOWHITE
AV_PIX_FMT_MONOBLACK
AV_PIX_FMT_PAL8
AV_PIX_FMT_YUVJ420P
AV_PIX_FMT_YUVJ422P
AV_PIX_FMT_YUVJ444P
AV_PIX_FMT_UYVY422
AV_PIX_FMT_UYYVYY411
AV_PIX_FMT_BGR8
AV_PIX_FMT_BGR4
AV_PIX_FMT_BGR4_BYTE
AV_PIX_FMT_RGB8
AV_PIX_FMT_RGB4
AV_PIX_FMT_RGB4_BYTE
AV_PIX_FMT_NV12
AV_PIX_FMT_NV21
AV_PIX_FMT_ARGB
AV_PIX_FMT_RGBA
AV_PIX_FMT_ABGR
AV_PIX_FMT_BGRA
AV_PIX_FMT_GRAY16BE
AV_PIX_FMT_GRAY16LE
AV_PIX_FMT_YUV440P
AV_PIX_FMT_YUVJ440P
AV_PIX_FMT_YUVA420P
AV_PIX_FMT_RGB48BE
AV_PIX_FMT_RGB48LE
AV_PIX_FMT_RGB565BE
AV_PIX_FMT_RGB565LE
AV_PIX_FMT_RGB555BE
AV_PIX_FMT_RGB555LE
AV_PIX_FMT_BGR565BE
AV_PIX_FMT_BGR565LE
AV_PIX_FMT_BGR555BE
AV_PIX_FMT_BGR555LE
AV_PIX_FMT_VAAPI_MOCO
AV_PIX_FMT_VAAPI_IDCT
AV_PIX_FMT_VAAPI_VLD
AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD
AV_PIX_FMT_YUV420P16LE = AV_PIX_FMT_VAAPI_VLD + iota - 48
AV_PIX_FMT_YUV420P16BE
AV_PIX_FMT_YUV422P16LE
AV_PIX_FMT_YUV422P16BE
AV_PIX_FMT_YUV444P16LE
AV_PIX_FMT_YUV444P16BE
AV_PIX_FMT_DXVA2_VLD
AV_PIX_FMT_RGB444LE
AV_PIX_FMT_RGB444BE
AV_PIX_FMT_BGR444LE
AV_PIX_FMT_BGR444BE
AV_PIX_FMT_YA8
AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8
AV_PIX_FMT_GRAY8A = AV_PIX_FMT_YA8
AV_PIX_FMT_BGR48BE = AV_PIX_FMT_YA8 + iota - 62
AV_PIX_FMT_BGR48LE
AV_PIX_FMT_YUV420P9BE
AV_PIX_FMT_YUV420P9LE
AV_PIX_FMT_YUV420P10BE
AV_PIX_FMT_YUV420P10LE
AV_PIX_FMT_YUV422P10BE
AV_PIX_FMT_YUV422P10LE
AV_PIX_FMT_YUV444P9BE
AV_PIX_FMT_YUV444P9LE
AV_PIX_FMT_YUV444P10BE
AV_PIX_FMT_YUV444P10LE
AV_PIX_FMT_YUV422P9BE
AV_PIX_FMT_YUV422P9LE
AV_PIX_FMT_GBRP
AV_PIX_FMT_GBR24P = AV_PIX_FMT_GBRP
AV_PIX_FMT_GBRP9BE = AV_PIX_FMT_GBRP + iota - 78
AV_PIX_FMT_GBRP9LE
AV_PIX_FMT_GBRP10BE
AV_PIX_FMT_GBRP10LE
AV_PIX_FMT_GBRP16BE
AV_PIX_FMT_GBRP16LE
AV_PIX_FMT_YUVA422P
AV_PIX_FMT_YUVA444P
AV_PIX_FMT_YUVA420P9BE
AV_PIX_FMT_YUVA420P9LE
AV_PIX_FMT_YUVA422P9BE
AV_PIX_FMT_YUVA422P9LE
AV_PIX_FMT_YUVA444P9BE
AV_PIX_FMT_YUVA444P9LE
AV_PIX_FMT_YUVA420P10BE
AV_PIX_FMT_YUVA420P10LE
AV_PIX_FMT_YUVA422P10BE
AV_PIX_FMT_YUVA422P10LE
AV_PIX_FMT_YUVA444P10BE
AV_PIX_FMT_YUVA444P10LE
AV_PIX_FMT_YUVA420P16BE
AV_PIX_FMT_YUVA420P16LE
AV_PIX_FMT_YUVA422P16BE
AV_PIX_FMT_YUVA422P16LE
AV_PIX_FMT_YUVA444P16BE
AV_PIX_FMT_YUVA444P16LE
AV_PIX_FMT_VDPAU
AV_PIX_FMT_XYZ12LE
AV_PIX_FMT_XYZ12BE
AV_PIX_FMT_NV16
AV_PIX_FMT_NV20LE
AV_PIX_FMT_NV20BE
AV_PIX_FMT_RGBA64BE
AV_PIX_FMT_RGBA64LE
AV_PIX_FMT_BGRA64BE
AV_PIX_FMT_BGRA64LE
AV_PIX_FMT_YVYU422
AV_PIX_FMT_YA16BE
AV_PIX_FMT_YA16LE
AV_PIX_FMT_GBRAP
AV_PIX_FMT_GBRAP16BE
AV_PIX_FMT_GBRAP16LE
AV_PIX_FMT_QSV
AV_PIX_FMT_MMAL
AV_PIX_FMT_D3D11VA_VLD
AV_PIX_FMT_CUDA
AV_PIX_FMT_0RGB
AV_PIX_FMT_RGB0
AV_PIX_FMT_0BGR
AV_PIX_FMT_BGR0
AV_PIX_FMT_YUV420P12BE
AV_PIX_FMT_YUV420P12LE
AV_PIX_FMT_YUV420P14BE
AV_PIX_FMT_YUV420P14LE
AV_PIX_FMT_YUV422P12BE
AV_PIX_FMT_YUV422P12LE
AV_PIX_FMT_YUV422P14BE
AV_PIX_FMT_YUV422P14LE
AV_PIX_FMT_YUV444P12BE
AV_PIX_FMT_YUV444P12LE
AV_PIX_FMT_YUV444P14BE
AV_PIX_FMT_YUV444P14LE
AV_PIX_FMT_GBRP12BE
AV_PIX_FMT_GBRP12LE
AV_PIX_FMT_GBRP14BE
AV_PIX_FMT_GBRP14LE
AV_PIX_FMT_YUVJ411P
AV_PIX_FMT_BAYER_BGGR8
AV_PIX_FMT_BAYER_RGGB8
AV_PIX_FMT_BAYER_GBRG8
AV_PIX_FMT_BAYER_GRBG8
AV_PIX_FMT_BAYER_BGGR16LE
AV_PIX_FMT_BAYER_BGGR16BE
AV_PIX_FMT_BAYER_RGGB16LE
AV_PIX_FMT_BAYER_RGGB16BE
AV_PIX_FMT_BAYER_GBRG16LE
AV_PIX_FMT_BAYER_GBRG16BE
AV_PIX_FMT_BAYER_GRBG16LE
AV_PIX_FMT_BAYER_GRBG16BE
AV_PIX_FMT_XVMC
AV_PIX_FMT_YUV440P10LE
AV_PIX_FMT_YUV440P10BE
AV_PIX_FMT_YUV440P12LE
AV_PIX_FMT_YUV440P12BE
AV_PIX_FMT_AYUV64LE
AV_PIX_FMT_AYUV64BE
AV_PIX_FMT_VIDEOTOOLBOX
AV_PIX_FMT_P010LE
AV_PIX_FMT_P010BE
AV_PIX_FMT_GBRAP12BE
AV_PIX_FMT_GBRAP12LE
AV_PIX_FMT_GBRAP10BE
AV_PIX_FMT_GBRAP10LE
AV_PIX_FMT_MEDIACODEC
AV_PIX_FMT_GRAY12BE
AV_PIX_FMT_GRAY12LE
AV_PIX_FMT_GRAY10BE
AV_PIX_FMT_GRAY10LE
AV_PIX_FMT_P016LE
AV_PIX_FMT_P016BE
AV_PIX_FMT_D3D11
AV_PIX_FMT_GRAY9BE
AV_PIX_FMT_GRAY9LE
AV_PIX_FMT_GBRPF32BE
AV_PIX_FMT_GBRPF32LE
AV_PIX_FMT_GBRAPF32BE
AV_PIX_FMT_GBRAPF32LE
AV_PIX_FMT_DRM_PRIME
AV_PIX_FMT_OPENCL
AV_PIX_FMT_GRAY14BE
AV_PIX_FMT_GRAY14LE
AV_PIX_FMT_GRAYF32BE
AV_PIX_FMT_GRAYF32LE
AV_PIX_FMT_NB
)
/**
* Chromaticity coordinates of the source primaries.
* These values match the ones defined by ISO/IEC 23001-8_2013 § 7.1.
*/
type AVColorPrimaries int32
const (
AVCOL_PRI_RESERVED0 AVColorPrimaries = 0 + iota
AVCOL_PRI_BT709 = 1
AVCOL_PRI_UNSPECIFIED = 2
AVCOL_PRI_RESERVED = 3
AVCOL_PRI_BT470M = 4
AVCOL_PRI_BT470BG = 5
AVCOL_PRI_SMPTE170M = 6
AVCOL_PRI_SMPTE240M = 7
AVCOL_PRI_FILM = 8
AVCOL_PRI_BT2020 = 9
AVCOL_PRI_SMPTE428 = 10
AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428
AVCOL_PRI_SMPTE431 = 11
AVCOL_PRI_SMPTE432 = 12
AVCOL_PRI_JEDEC_P22 = 22
AVCOL_PRI_NB = 22 + iota - 14
)
/**
* Color Transfer Characteristic.
* These values match the ones defined by ISO/IEC 23001-8_2013 § 7.2.
*/
type AVColorTransferCharacteristic int32
const (
AVCOL_TRC_RESERVED0 AVColorTransferCharacteristic = 0 + iota
AVCOL_TRC_BT709 = 1
AVCOL_TRC_UNSPECIFIED = 2
AVCOL_TRC_RESERVED = 3
AVCOL_TRC_GAMMA22 = 4
AVCOL_TRC_GAMMA28 = 5
AVCOL_TRC_SMPTE170M = 6
AVCOL_TRC_SMPTE240M = 7
AVCOL_TRC_LINEAR = 8
AVCOL_TRC_LOG = 9
AVCOL_TRC_LOG_SQRT = 10
AVCOL_TRC_IEC61966_2_4 = 11
AVCOL_TRC_BT1361_ECG = 12
AVCOL_TRC_IEC61966_2_1 = 13
AVCOL_TRC_BT2020_10 = 14
AVCOL_TRC_BT2020_12 = 15
AVCOL_TRC_SMPTE2084 = 16
AVCOL_TRC_SMPTEST2084 = AVCOL_TRC_SMPTE2084
AVCOL_TRC_SMPTE428 = 17
AVCOL_TRC_SMPTEST428_1 = AVCOL_TRC_SMPTE428
AVCOL_TRC_ARIB_STD_B67 = 18
AVCOL_TRC_NB = 18 + iota - 20
)
/**
* YUV colorspace type.
* These values match the ones defined by ISO/IEC 23001-8_2013 § 7.3.
*/
type AVColorSpace int32
const (
AVCOL_SPC_RGB AVColorSpace = 0 + iota
AVCOL_SPC_BT709 = 1
AVCOL_SPC_UNSPECIFIED = 2
AVCOL_SPC_RESERVED = 3
AVCOL_SPC_FCC = 4
AVCOL_SPC_BT470BG = 5
AVCOL_SPC_SMPTE170M = 6
AVCOL_SPC_SMPTE240M = 7
AVCOL_SPC_YCGCO = 8
AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO
AVCOL_SPC_BT2020_NCL = 9
AVCOL_SPC_BT2020_CL = 10
AVCOL_SPC_SMPTE2085 = 11
AVCOL_SPC_CHROMA_DERIVED_NCL = 12
AVCOL_SPC_CHROMA_DERIVED_CL = 13
AVCOL_SPC_ICTCP = 14
AVCOL_SPC_NB = 14 + iota - 15
)
/**
* MPEG vs JPEG YUV range.
*/
type AVColorRange int32
const (
AVCOL_RANGE_UNSPECIFIED AVColorRange = 0 + iota
AVCOL_RANGE_MPEG = 1
AVCOL_RANGE_JPEG = 2
AVCOL_RANGE_NB = 2 + iota - 2
)
/**
* Location of chroma samples.
*
* Illustration showing the location of the first (top left) chroma sample of the
* image, the left shows only luma, the right
* shows the location of the chroma sample, the 2 could be imagined to overlay
* each other but are drawn separately due to limitations of ASCII
*
* 1st 2nd 1st 2nd horizontal luma sample positions
* v v v v
* ______ ______
*1st luma line > |X X ... |3 4 X ... X are luma samples,
* | |1 2 1-6 are possible chroma positions
*2nd luma line > |X X ... |5 6 X ... 0 is undefined/unknown position
*/
type AVChromaLocation int32
const (
AVCHROMA_LOC_UNSPECIFIED AVChromaLocation = 0 + iota
AVCHROMA_LOC_LEFT = 1
AVCHROMA_LOC_CENTER = 2
AVCHROMA_LOC_TOPLEFT = 3
AVCHROMA_LOC_TOP = 4
AVCHROMA_LOC_BOTTOMLEFT = 5
AVCHROMA_LOC_BOTTOM = 6
AVCHROMA_LOC_NB = 6 + iota - 6
)