FFmpeg
1.2.12
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
debian
tmp
usr
include
libavutil
pixfmt.h
Go to the documentation of this file.
1
/*
2
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVUTIL_PIXFMT_H
22
#define AVUTIL_PIXFMT_H
23
30
#include "libavutil/avconfig.h"
31
#include "libavutil/version.h"
32
33
#define AVPALETTE_SIZE 1024
34
#define AVPALETTE_COUNT 256
35
66
enum
AVPixelFormat
{
67
AV_PIX_FMT_NONE
= -1,
68
AV_PIX_FMT_YUV420P
,
69
AV_PIX_FMT_YUYV422
,
70
AV_PIX_FMT_RGB24
,
71
AV_PIX_FMT_BGR24
,
72
AV_PIX_FMT_YUV422P
,
73
AV_PIX_FMT_YUV444P
,
74
AV_PIX_FMT_YUV410P
,
75
AV_PIX_FMT_YUV411P
,
76
AV_PIX_FMT_GRAY8
,
77
AV_PIX_FMT_MONOWHITE
,
78
AV_PIX_FMT_MONOBLACK
,
79
AV_PIX_FMT_PAL8
,
80
AV_PIX_FMT_YUVJ420P
,
81
AV_PIX_FMT_YUVJ422P
,
82
AV_PIX_FMT_YUVJ444P
,
83
AV_PIX_FMT_XVMC_MPEG2_MC
,
84
AV_PIX_FMT_XVMC_MPEG2_IDCT
,
85
AV_PIX_FMT_UYVY422
,
86
AV_PIX_FMT_UYYVYY411
,
87
AV_PIX_FMT_BGR8
,
88
AV_PIX_FMT_BGR4
,
89
AV_PIX_FMT_BGR4_BYTE
,
90
AV_PIX_FMT_RGB8
,
91
AV_PIX_FMT_RGB4
,
92
AV_PIX_FMT_RGB4_BYTE
,
93
AV_PIX_FMT_NV12
,
94
AV_PIX_FMT_NV21
,
95
96
AV_PIX_FMT_ARGB
,
97
AV_PIX_FMT_RGBA
,
98
AV_PIX_FMT_ABGR
,
99
AV_PIX_FMT_BGRA
,
100
101
AV_PIX_FMT_GRAY16BE
,
102
AV_PIX_FMT_GRAY16LE
,
103
AV_PIX_FMT_YUV440P
,
104
AV_PIX_FMT_YUVJ440P
,
105
AV_PIX_FMT_YUVA420P
,
106
AV_PIX_FMT_VDPAU_H264
,
107
AV_PIX_FMT_VDPAU_MPEG1
,
108
AV_PIX_FMT_VDPAU_MPEG2
,
109
AV_PIX_FMT_VDPAU_WMV3
,
110
AV_PIX_FMT_VDPAU_VC1
,
111
AV_PIX_FMT_RGB48BE
,
112
AV_PIX_FMT_RGB48LE
,
113
114
AV_PIX_FMT_RGB565BE
,
115
AV_PIX_FMT_RGB565LE
,
116
AV_PIX_FMT_RGB555BE
,
117
AV_PIX_FMT_RGB555LE
,
118
119
AV_PIX_FMT_BGR565BE
,
120
AV_PIX_FMT_BGR565LE
,
121
AV_PIX_FMT_BGR555BE
,
122
AV_PIX_FMT_BGR555LE
,
123
124
AV_PIX_FMT_VAAPI_MOCO
,
125
AV_PIX_FMT_VAAPI_IDCT
,
126
AV_PIX_FMT_VAAPI_VLD
,
127
128
AV_PIX_FMT_YUV420P16LE
,
129
AV_PIX_FMT_YUV420P16BE
,
130
AV_PIX_FMT_YUV422P16LE
,
131
AV_PIX_FMT_YUV422P16BE
,
132
AV_PIX_FMT_YUV444P16LE
,
133
AV_PIX_FMT_YUV444P16BE
,
134
AV_PIX_FMT_VDPAU_MPEG4
,
135
AV_PIX_FMT_DXVA2_VLD
,
136
137
AV_PIX_FMT_RGB444LE
,
138
AV_PIX_FMT_RGB444BE
,
139
AV_PIX_FMT_BGR444LE
,
140
AV_PIX_FMT_BGR444BE
,
141
AV_PIX_FMT_GRAY8A
,
142
AV_PIX_FMT_BGR48BE
,
143
AV_PIX_FMT_BGR48LE
,
144
145
//the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus
146
//If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately
147
//is better
148
AV_PIX_FMT_YUV420P9BE
,
149
AV_PIX_FMT_YUV420P9LE
,
150
AV_PIX_FMT_YUV420P10BE
,
151
AV_PIX_FMT_YUV420P10LE
,
152
AV_PIX_FMT_YUV422P10BE
,
153
AV_PIX_FMT_YUV422P10LE
,
154
AV_PIX_FMT_YUV444P9BE
,
155
AV_PIX_FMT_YUV444P9LE
,
156
AV_PIX_FMT_YUV444P10BE
,
157
AV_PIX_FMT_YUV444P10LE
,
158
AV_PIX_FMT_YUV422P9BE
,
159
AV_PIX_FMT_YUV422P9LE
,
160
AV_PIX_FMT_VDA_VLD
,
161
162
#ifdef AV_PIX_FMT_ABI_GIT_MASTER
163
AV_PIX_FMT_RGBA64BE
,
164
AV_PIX_FMT_RGBA64LE
,
165
AV_PIX_FMT_BGRA64BE
,
166
AV_PIX_FMT_BGRA64LE
,
167
#endif
168
AV_PIX_FMT_GBRP
,
169
AV_PIX_FMT_GBRP9BE
,
170
AV_PIX_FMT_GBRP9LE
,
171
AV_PIX_FMT_GBRP10BE
,
172
AV_PIX_FMT_GBRP10LE
,
173
AV_PIX_FMT_GBRP16BE
,
174
AV_PIX_FMT_GBRP16LE
,
175
181
AV_PIX_FMT_YUVA422P_LIBAV
,
182
AV_PIX_FMT_YUVA444P_LIBAV
,
183
184
AV_PIX_FMT_YUVA420P9BE
,
185
AV_PIX_FMT_YUVA420P9LE
,
186
AV_PIX_FMT_YUVA422P9BE
,
187
AV_PIX_FMT_YUVA422P9LE
,
188
AV_PIX_FMT_YUVA444P9BE
,
189
AV_PIX_FMT_YUVA444P9LE
,
190
AV_PIX_FMT_YUVA420P10BE
,
191
AV_PIX_FMT_YUVA420P10LE
,
192
AV_PIX_FMT_YUVA422P10BE
,
193
AV_PIX_FMT_YUVA422P10LE
,
194
AV_PIX_FMT_YUVA444P10BE
,
195
AV_PIX_FMT_YUVA444P10LE
,
196
AV_PIX_FMT_YUVA420P16BE
,
197
AV_PIX_FMT_YUVA420P16LE
,
198
AV_PIX_FMT_YUVA422P16BE
,
199
AV_PIX_FMT_YUVA422P16LE
,
200
AV_PIX_FMT_YUVA444P16BE
,
201
AV_PIX_FMT_YUVA444P16LE
,
202
203
AV_PIX_FMT_VDPAU
,
204
205
#ifndef AV_PIX_FMT_ABI_GIT_MASTER
206
AV_PIX_FMT_RGBA64BE=0x123,
207
AV_PIX_FMT_RGBA64LE
,
208
AV_PIX_FMT_BGRA64BE
,
209
AV_PIX_FMT_BGRA64LE
,
210
#endif
211
AV_PIX_FMT_0RGB
=0x123+4,
212
AV_PIX_FMT_RGB0
,
213
AV_PIX_FMT_0BGR
,
214
AV_PIX_FMT_BGR0
,
215
AV_PIX_FMT_YUVA444P
,
216
AV_PIX_FMT_YUVA422P
,
217
218
AV_PIX_FMT_YUV420P12BE
,
219
AV_PIX_FMT_YUV420P12LE
,
220
AV_PIX_FMT_YUV420P14BE
,
221
AV_PIX_FMT_YUV420P14LE
,
222
AV_PIX_FMT_YUV422P12BE
,
223
AV_PIX_FMT_YUV422P12LE
,
224
AV_PIX_FMT_YUV422P14BE
,
225
AV_PIX_FMT_YUV422P14LE
,
226
AV_PIX_FMT_YUV444P12BE
,
227
AV_PIX_FMT_YUV444P12LE
,
228
AV_PIX_FMT_YUV444P14BE
,
229
AV_PIX_FMT_YUV444P14LE
,
230
AV_PIX_FMT_GBRP12BE
,
231
AV_PIX_FMT_GBRP12LE
,
232
AV_PIX_FMT_GBRP14BE
,
233
AV_PIX_FMT_GBRP14LE
,
234
AV_PIX_FMT_NB
,
235
236
#if FF_API_PIX_FMT
237
#include "
old_pix_fmts.h
"
238
#endif
239
};
240
241
#if AV_HAVE_INCOMPATIBLE_FORK_ABI
242
#define AV_PIX_FMT_YUVA422P AV_PIX_FMT_YUVA422P_LIBAV
243
#define AV_PIX_FMT_YUVA444P AV_PIX_FMT_YUVA444P_LIBAV
244
#endif
245
246
247
#define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A
248
#define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP
249
250
#if AV_HAVE_BIGENDIAN
251
# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be
252
#else
253
# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
254
#endif
255
256
#define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA)
257
#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
258
#define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA)
259
#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
260
#define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0)
261
#define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0)
262
263
#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
264
#define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE)
265
#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
266
#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
267
#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
268
#define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE)
269
#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
270
#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
271
#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
272
273
#define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
274
#define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
275
#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
276
#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
277
#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
278
#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
279
#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
280
#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
281
#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
282
#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
283
#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
284
#define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
285
#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
286
#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
287
#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
288
289
#define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
290
#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
291
#define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
292
#define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
293
#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
294
#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
295
#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
296
297
#define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
298
#define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
299
#define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
300
#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
301
#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
302
#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
303
#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
304
#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
305
#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
306
307
#if FF_API_PIX_FMT
308
#define PixelFormat AVPixelFormat
309
310
#define PIX_FMT_Y400A AV_PIX_FMT_Y400A
311
#define PIX_FMT_GBR24P AV_PIX_FMT_GBR24P
312
313
#define PIX_FMT_NE(be, le) AV_PIX_FMT_NE(be, le)
314
315
#define PIX_FMT_RGB32 AV_PIX_FMT_RGB32
316
#define PIX_FMT_RGB32_1 AV_PIX_FMT_RGB32_1
317
#define PIX_FMT_BGR32 AV_PIX_FMT_BGR32
318
#define PIX_FMT_BGR32_1 AV_PIX_FMT_BGR32_1
319
#define PIX_FMT_0RGB32 AV_PIX_FMT_0RGB32
320
#define PIX_FMT_0BGR32 AV_PIX_FMT_0BGR32
321
322
#define PIX_FMT_GRAY16 AV_PIX_FMT_GRAY16
323
#define PIX_FMT_RGB48 AV_PIX_FMT_RGB48
324
#define PIX_FMT_RGB565 AV_PIX_FMT_RGB565
325
#define PIX_FMT_RGB555 AV_PIX_FMT_RGB555
326
#define PIX_FMT_RGB444 AV_PIX_FMT_RGB444
327
#define PIX_FMT_BGR48 AV_PIX_FMT_BGR48
328
#define PIX_FMT_BGR565 AV_PIX_FMT_BGR565
329
#define PIX_FMT_BGR555 AV_PIX_FMT_BGR555
330
#define PIX_FMT_BGR444 AV_PIX_FMT_BGR444
331
332
#define PIX_FMT_YUV420P9 AV_PIX_FMT_YUV420P9
333
#define PIX_FMT_YUV422P9 AV_PIX_FMT_YUV422P9
334
#define PIX_FMT_YUV444P9 AV_PIX_FMT_YUV444P9
335
#define PIX_FMT_YUV420P10 AV_PIX_FMT_YUV420P10
336
#define PIX_FMT_YUV422P10 AV_PIX_FMT_YUV422P10
337
#define PIX_FMT_YUV444P10 AV_PIX_FMT_YUV444P10
338
#define PIX_FMT_YUV420P12 AV_PIX_FMT_YUV420P12
339
#define PIX_FMT_YUV422P12 AV_PIX_FMT_YUV422P12
340
#define PIX_FMT_YUV444P12 AV_PIX_FMT_YUV444P12
341
#define PIX_FMT_YUV420P14 AV_PIX_FMT_YUV420P14
342
#define PIX_FMT_YUV422P14 AV_PIX_FMT_YUV422P14
343
#define PIX_FMT_YUV444P14 AV_PIX_FMT_YUV444P14
344
#define PIX_FMT_YUV420P16 AV_PIX_FMT_YUV420P16
345
#define PIX_FMT_YUV422P16 AV_PIX_FMT_YUV422P16
346
#define PIX_FMT_YUV444P16 AV_PIX_FMT_YUV444P16
347
348
#define PIX_FMT_RGBA64 AV_PIX_FMT_RGBA64
349
#define PIX_FMT_BGRA64 AV_PIX_FMT_BGRA64
350
#define PIX_FMT_GBRP9 AV_PIX_FMT_GBRP9
351
#define PIX_FMT_GBRP10 AV_PIX_FMT_GBRP10
352
#define PIX_FMT_GBRP12 AV_PIX_FMT_GBRP12
353
#define PIX_FMT_GBRP14 AV_PIX_FMT_GBRP14
354
#define PIX_FMT_GBRP16 AV_PIX_FMT_GBRP16
355
#endif
356
357
#endif
/* AVUTIL_PIXFMT_H */
Generated on Thu Feb 12 2015 17:56:50 for FFmpeg by
1.8.1.2