00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef AVUTIL_PIXFMT_H
00022 #define AVUTIL_PIXFMT_H
00023
00030 #include "libavutil/avconfig.h"
00031 #include "libavutil/version.h"
00032
00033 #define AVPALETTE_SIZE 1024
00034 #define AVPALETTE_COUNT 256
00035
00066 enum AVPixelFormat {
00067 AV_PIX_FMT_NONE = -1,
00068 AV_PIX_FMT_YUV420P,
00069 AV_PIX_FMT_YUYV422,
00070 AV_PIX_FMT_RGB24,
00071 AV_PIX_FMT_BGR24,
00072 AV_PIX_FMT_YUV422P,
00073 AV_PIX_FMT_YUV444P,
00074 AV_PIX_FMT_YUV410P,
00075 AV_PIX_FMT_YUV411P,
00076 AV_PIX_FMT_GRAY8,
00077 AV_PIX_FMT_MONOWHITE,
00078 AV_PIX_FMT_MONOBLACK,
00079 AV_PIX_FMT_PAL8,
00080 AV_PIX_FMT_YUVJ420P,
00081 AV_PIX_FMT_YUVJ422P,
00082 AV_PIX_FMT_YUVJ444P,
00083 AV_PIX_FMT_XVMC_MPEG2_MC,
00084 AV_PIX_FMT_XVMC_MPEG2_IDCT,
00085 AV_PIX_FMT_UYVY422,
00086 AV_PIX_FMT_UYYVYY411,
00087 AV_PIX_FMT_BGR8,
00088 AV_PIX_FMT_BGR4,
00089 AV_PIX_FMT_BGR4_BYTE,
00090 AV_PIX_FMT_RGB8,
00091 AV_PIX_FMT_RGB4,
00092 AV_PIX_FMT_RGB4_BYTE,
00093 AV_PIX_FMT_NV12,
00094 AV_PIX_FMT_NV21,
00095
00096 AV_PIX_FMT_ARGB,
00097 AV_PIX_FMT_RGBA,
00098 AV_PIX_FMT_ABGR,
00099 AV_PIX_FMT_BGRA,
00100
00101 AV_PIX_FMT_GRAY16BE,
00102 AV_PIX_FMT_GRAY16LE,
00103 AV_PIX_FMT_YUV440P,
00104 AV_PIX_FMT_YUVJ440P,
00105 AV_PIX_FMT_YUVA420P,
00106 AV_PIX_FMT_VDPAU_H264,
00107 AV_PIX_FMT_VDPAU_MPEG1,
00108 AV_PIX_FMT_VDPAU_MPEG2,
00109 AV_PIX_FMT_VDPAU_WMV3,
00110 AV_PIX_FMT_VDPAU_VC1,
00111 AV_PIX_FMT_RGB48BE,
00112 AV_PIX_FMT_RGB48LE,
00113
00114 AV_PIX_FMT_RGB565BE,
00115 AV_PIX_FMT_RGB565LE,
00116 AV_PIX_FMT_RGB555BE,
00117 AV_PIX_FMT_RGB555LE,
00118
00119 AV_PIX_FMT_BGR565BE,
00120 AV_PIX_FMT_BGR565LE,
00121 AV_PIX_FMT_BGR555BE,
00122 AV_PIX_FMT_BGR555LE,
00123
00124 AV_PIX_FMT_VAAPI_MOCO,
00125 AV_PIX_FMT_VAAPI_IDCT,
00126 AV_PIX_FMT_VAAPI_VLD,
00127
00128 AV_PIX_FMT_YUV420P16LE,
00129 AV_PIX_FMT_YUV420P16BE,
00130 AV_PIX_FMT_YUV422P16LE,
00131 AV_PIX_FMT_YUV422P16BE,
00132 AV_PIX_FMT_YUV444P16LE,
00133 AV_PIX_FMT_YUV444P16BE,
00134 AV_PIX_FMT_VDPAU_MPEG4,
00135 AV_PIX_FMT_DXVA2_VLD,
00136
00137 AV_PIX_FMT_RGB444LE,
00138 AV_PIX_FMT_RGB444BE,
00139 AV_PIX_FMT_BGR444LE,
00140 AV_PIX_FMT_BGR444BE,
00141 AV_PIX_FMT_GRAY8A,
00142 AV_PIX_FMT_BGR48BE,
00143 AV_PIX_FMT_BGR48LE,
00144
00145
00146
00147
00148 AV_PIX_FMT_YUV420P9BE,
00149 AV_PIX_FMT_YUV420P9LE,
00150 AV_PIX_FMT_YUV420P10BE,
00151 AV_PIX_FMT_YUV420P10LE,
00152 AV_PIX_FMT_YUV422P10BE,
00153 AV_PIX_FMT_YUV422P10LE,
00154 AV_PIX_FMT_YUV444P9BE,
00155 AV_PIX_FMT_YUV444P9LE,
00156 AV_PIX_FMT_YUV444P10BE,
00157 AV_PIX_FMT_YUV444P10LE,
00158 AV_PIX_FMT_YUV422P9BE,
00159 AV_PIX_FMT_YUV422P9LE,
00160 AV_PIX_FMT_VDA_VLD,
00161
00162 #ifdef AV_PIX_FMT_ABI_GIT_MASTER
00163 AV_PIX_FMT_RGBA64BE,
00164 AV_PIX_FMT_RGBA64LE,
00165 AV_PIX_FMT_BGRA64BE,
00166 AV_PIX_FMT_BGRA64LE,
00167 #endif
00168 AV_PIX_FMT_GBRP,
00169 AV_PIX_FMT_GBRP9BE,
00170 AV_PIX_FMT_GBRP9LE,
00171 AV_PIX_FMT_GBRP10BE,
00172 AV_PIX_FMT_GBRP10LE,
00173 AV_PIX_FMT_GBRP16BE,
00174 AV_PIX_FMT_GBRP16LE,
00175
00181 AV_PIX_FMT_YUVA422P_LIBAV,
00182 AV_PIX_FMT_YUVA444P_LIBAV,
00183
00184 AV_PIX_FMT_YUVA420P9BE,
00185 AV_PIX_FMT_YUVA420P9LE,
00186 AV_PIX_FMT_YUVA422P9BE,
00187 AV_PIX_FMT_YUVA422P9LE,
00188 AV_PIX_FMT_YUVA444P9BE,
00189 AV_PIX_FMT_YUVA444P9LE,
00190 AV_PIX_FMT_YUVA420P10BE,
00191 AV_PIX_FMT_YUVA420P10LE,
00192 AV_PIX_FMT_YUVA422P10BE,
00193 AV_PIX_FMT_YUVA422P10LE,
00194 AV_PIX_FMT_YUVA444P10BE,
00195 AV_PIX_FMT_YUVA444P10LE,
00196 AV_PIX_FMT_YUVA420P16BE,
00197 AV_PIX_FMT_YUVA420P16LE,
00198 AV_PIX_FMT_YUVA422P16BE,
00199 AV_PIX_FMT_YUVA422P16LE,
00200 AV_PIX_FMT_YUVA444P16BE,
00201 AV_PIX_FMT_YUVA444P16LE,
00202
00203 #ifndef AV_PIX_FMT_ABI_GIT_MASTER
00204 AV_PIX_FMT_RGBA64BE=0x123,
00205 AV_PIX_FMT_RGBA64LE,
00206 AV_PIX_FMT_BGRA64BE,
00207 AV_PIX_FMT_BGRA64LE,
00208 #endif
00209 AV_PIX_FMT_0RGB=0x123+4,
00210 AV_PIX_FMT_RGB0,
00211 AV_PIX_FMT_0BGR,
00212 AV_PIX_FMT_BGR0,
00213 AV_PIX_FMT_YUVA444P,
00214 AV_PIX_FMT_YUVA422P,
00215
00216 AV_PIX_FMT_YUV420P12BE,
00217 AV_PIX_FMT_YUV420P12LE,
00218 AV_PIX_FMT_YUV420P14BE,
00219 AV_PIX_FMT_YUV420P14LE,
00220 AV_PIX_FMT_YUV422P12BE,
00221 AV_PIX_FMT_YUV422P12LE,
00222 AV_PIX_FMT_YUV422P14BE,
00223 AV_PIX_FMT_YUV422P14LE,
00224 AV_PIX_FMT_YUV444P12BE,
00225 AV_PIX_FMT_YUV444P12LE,
00226 AV_PIX_FMT_YUV444P14BE,
00227 AV_PIX_FMT_YUV444P14LE,
00228 AV_PIX_FMT_GBRP12BE,
00229 AV_PIX_FMT_GBRP12LE,
00230 AV_PIX_FMT_GBRP14BE,
00231 AV_PIX_FMT_GBRP14LE,
00232
00233 AV_PIX_FMT_NB,
00234
00235 #if FF_API_PIX_FMT
00236 #include "old_pix_fmts.h"
00237 #endif
00238 };
00239
00240 #if AV_HAVE_INCOMPATIBLE_FORK_ABI
00241 #define AV_PIX_FMT_YUVA422P AV_PIX_FMT_YUVA422P_LIBAV
00242 #define AV_PIX_FMT_YUVA444P AV_PIX_FMT_YUVA444P_LIBAV
00243 #endif
00244
00245
00246 #define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A
00247 #define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP
00248
00249 #if AV_HAVE_BIGENDIAN
00250 # define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be
00251 #else
00252 # define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
00253 #endif
00254
00255 #define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA)
00256 #define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
00257 #define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA)
00258 #define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
00259 #define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0)
00260 #define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0)
00261
00262 #define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
00263 #define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE)
00264 #define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
00265 #define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
00266 #define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
00267 #define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE)
00268 #define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
00269 #define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
00270 #define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
00271
00272 #define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
00273 #define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
00274 #define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
00275 #define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
00276 #define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
00277 #define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
00278 #define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
00279 #define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
00280 #define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
00281 #define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
00282 #define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
00283 #define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
00284 #define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
00285 #define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
00286 #define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
00287
00288 #define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
00289 #define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
00290 #define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
00291 #define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
00292 #define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
00293 #define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
00294 #define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
00295
00296 #define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
00297 #define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
00298 #define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
00299 #define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
00300 #define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
00301 #define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
00302 #define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
00303 #define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
00304 #define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
00305
00306 #if FF_API_PIX_FMT
00307 #define PixelFormat AVPixelFormat
00308
00309 #define PIX_FMT_Y400A AV_PIX_FMT_Y400A
00310 #define PIX_FMT_GBR24P AV_PIX_FMT_GBR24P
00311
00312 #define PIX_FMT_NE(be, le) AV_PIX_FMT_NE(be, le)
00313
00314 #define PIX_FMT_RGB32 AV_PIX_FMT_RGB32
00315 #define PIX_FMT_RGB32_1 AV_PIX_FMT_RGB32_1
00316 #define PIX_FMT_BGR32 AV_PIX_FMT_BGR32
00317 #define PIX_FMT_BGR32_1 AV_PIX_FMT_BGR32_1
00318 #define PIX_FMT_0RGB32 AV_PIX_FMT_0RGB32
00319 #define PIX_FMT_0BGR32 AV_PIX_FMT_0BGR32
00320
00321 #define PIX_FMT_GRAY16 AV_PIX_FMT_GRAY16
00322 #define PIX_FMT_RGB48 AV_PIX_FMT_RGB48
00323 #define PIX_FMT_RGB565 AV_PIX_FMT_RGB565
00324 #define PIX_FMT_RGB555 AV_PIX_FMT_RGB555
00325 #define PIX_FMT_RGB444 AV_PIX_FMT_RGB444
00326 #define PIX_FMT_BGR48 AV_PIX_FMT_BGR48
00327 #define PIX_FMT_BGR565 AV_PIX_FMT_BGR565
00328 #define PIX_FMT_BGR555 AV_PIX_FMT_BGR555
00329 #define PIX_FMT_BGR444 AV_PIX_FMT_BGR444
00330
00331 #define PIX_FMT_YUV420P9 AV_PIX_FMT_YUV420P9
00332 #define PIX_FMT_YUV422P9 AV_PIX_FMT_YUV422P9
00333 #define PIX_FMT_YUV444P9 AV_PIX_FMT_YUV444P9
00334 #define PIX_FMT_YUV420P10 AV_PIX_FMT_YUV420P10
00335 #define PIX_FMT_YUV422P10 AV_PIX_FMT_YUV422P10
00336 #define PIX_FMT_YUV444P10 AV_PIX_FMT_YUV444P10
00337 #define PIX_FMT_YUV420P12 AV_PIX_FMT_YUV420P12
00338 #define PIX_FMT_YUV422P12 AV_PIX_FMT_YUV422P12
00339 #define PIX_FMT_YUV444P12 AV_PIX_FMT_YUV444P12
00340 #define PIX_FMT_YUV420P14 AV_PIX_FMT_YUV420P14
00341 #define PIX_FMT_YUV422P14 AV_PIX_FMT_YUV422P14
00342 #define PIX_FMT_YUV444P14 AV_PIX_FMT_YUV444P14
00343 #define PIX_FMT_YUV420P16 AV_PIX_FMT_YUV420P16
00344 #define PIX_FMT_YUV422P16 AV_PIX_FMT_YUV422P16
00345 #define PIX_FMT_YUV444P16 AV_PIX_FMT_YUV444P16
00346
00347 #define PIX_FMT_RGBA64 AV_PIX_FMT_RGBA64
00348 #define PIX_FMT_BGRA64 AV_PIX_FMT_BGRA64
00349 #define PIX_FMT_GBRP9 AV_PIX_FMT_GBRP9
00350 #define PIX_FMT_GBRP10 AV_PIX_FMT_GBRP10
00351 #define PIX_FMT_GBRP12 AV_PIX_FMT_GBRP12
00352 #define PIX_FMT_GBRP14 AV_PIX_FMT_GBRP14
00353 #define PIX_FMT_GBRP16 AV_PIX_FMT_GBRP16
00354 #endif
00355
00356 #endif