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
00032 #define AVPALETTE_SIZE 1024
00033 #define AVPALETTE_COUNT 256
00034
00065 enum PixelFormat {
00066 PIX_FMT_NONE= -1,
00067 PIX_FMT_YUV420P,
00068 PIX_FMT_YUYV422,
00069 PIX_FMT_RGB24,
00070 PIX_FMT_BGR24,
00071 PIX_FMT_YUV422P,
00072 PIX_FMT_YUV444P,
00073 PIX_FMT_YUV410P,
00074 PIX_FMT_YUV411P,
00075 PIX_FMT_GRAY8,
00076 PIX_FMT_MONOWHITE,
00077 PIX_FMT_MONOBLACK,
00078 PIX_FMT_PAL8,
00079 PIX_FMT_YUVJ420P,
00080 PIX_FMT_YUVJ422P,
00081 PIX_FMT_YUVJ444P,
00082 PIX_FMT_XVMC_MPEG2_MC,
00083 PIX_FMT_XVMC_MPEG2_IDCT,
00084 PIX_FMT_UYVY422,
00085 PIX_FMT_UYYVYY411,
00086 PIX_FMT_BGR8,
00087 PIX_FMT_BGR4,
00088 PIX_FMT_BGR4_BYTE,
00089 PIX_FMT_RGB8,
00090 PIX_FMT_RGB4,
00091 PIX_FMT_RGB4_BYTE,
00092 PIX_FMT_NV12,
00093 PIX_FMT_NV21,
00094
00095 PIX_FMT_ARGB,
00096 PIX_FMT_RGBA,
00097 PIX_FMT_ABGR,
00098 PIX_FMT_BGRA,
00099
00100 PIX_FMT_GRAY16BE,
00101 PIX_FMT_GRAY16LE,
00102 PIX_FMT_YUV440P,
00103 PIX_FMT_YUVJ440P,
00104 PIX_FMT_YUVA420P,
00105 PIX_FMT_VDPAU_H264,
00106 PIX_FMT_VDPAU_MPEG1,
00107 PIX_FMT_VDPAU_MPEG2,
00108 PIX_FMT_VDPAU_WMV3,
00109 PIX_FMT_VDPAU_VC1,
00110 PIX_FMT_RGB48BE,
00111 PIX_FMT_RGB48LE,
00112
00113 PIX_FMT_RGB565BE,
00114 PIX_FMT_RGB565LE,
00115 PIX_FMT_RGB555BE,
00116 PIX_FMT_RGB555LE,
00117
00118 PIX_FMT_BGR565BE,
00119 PIX_FMT_BGR565LE,
00120 PIX_FMT_BGR555BE,
00121 PIX_FMT_BGR555LE,
00122
00123 PIX_FMT_VAAPI_MOCO,
00124 PIX_FMT_VAAPI_IDCT,
00125 PIX_FMT_VAAPI_VLD,
00126
00127 PIX_FMT_YUV420P16LE,
00128 PIX_FMT_YUV420P16BE,
00129 PIX_FMT_YUV422P16LE,
00130 PIX_FMT_YUV422P16BE,
00131 PIX_FMT_YUV444P16LE,
00132 PIX_FMT_YUV444P16BE,
00133 PIX_FMT_VDPAU_MPEG4,
00134 PIX_FMT_DXVA2_VLD,
00135
00136 PIX_FMT_RGB444LE,
00137 PIX_FMT_RGB444BE,
00138 PIX_FMT_BGR444LE,
00139 PIX_FMT_BGR444BE,
00140 PIX_FMT_GRAY8A,
00141 PIX_FMT_BGR48BE,
00142 PIX_FMT_BGR48LE,
00143
00144
00145
00146
00147 PIX_FMT_YUV420P9BE,
00148 PIX_FMT_YUV420P9LE,
00149 PIX_FMT_YUV420P10BE,
00150 PIX_FMT_YUV420P10LE,
00151 PIX_FMT_YUV422P10BE,
00152 PIX_FMT_YUV422P10LE,
00153 PIX_FMT_YUV444P9BE,
00154 PIX_FMT_YUV444P9LE,
00155 PIX_FMT_YUV444P10BE,
00156 PIX_FMT_YUV444P10LE,
00157 PIX_FMT_YUV422P9BE,
00158 PIX_FMT_YUV422P9LE,
00159 PIX_FMT_VDA_VLD,
00160
00161 #ifdef AV_PIX_FMT_ABI_GIT_MASTER
00162 PIX_FMT_RGBA64BE,
00163 PIX_FMT_RGBA64LE,
00164 PIX_FMT_BGRA64BE,
00165 PIX_FMT_BGRA64LE,
00166 #endif
00167 PIX_FMT_GBRP,
00168 PIX_FMT_GBRP9BE,
00169 PIX_FMT_GBRP9LE,
00170 PIX_FMT_GBRP10BE,
00171 PIX_FMT_GBRP10LE,
00172 PIX_FMT_GBRP16BE,
00173 PIX_FMT_GBRP16LE,
00174
00175 #ifndef AV_PIX_FMT_ABI_GIT_MASTER
00176 PIX_FMT_RGBA64BE=0x123,
00177 PIX_FMT_RGBA64LE,
00178 PIX_FMT_BGRA64BE,
00179 PIX_FMT_BGRA64LE,
00180 #endif
00181 PIX_FMT_0RGB=0x123+4,
00182 PIX_FMT_RGB0,
00183 PIX_FMT_0BGR,
00184 PIX_FMT_BGR0,
00185 PIX_FMT_YUVA444P,
00186 PIX_FMT_YUVA422P,
00187
00188 PIX_FMT_YUV420P12BE,
00189 PIX_FMT_YUV420P12LE,
00190 PIX_FMT_YUV420P14BE,
00191 PIX_FMT_YUV420P14LE,
00192 PIX_FMT_YUV422P12BE,
00193 PIX_FMT_YUV422P12LE,
00194 PIX_FMT_YUV422P14BE,
00195 PIX_FMT_YUV422P14LE,
00196 PIX_FMT_YUV444P12BE,
00197 PIX_FMT_YUV444P12LE,
00198 PIX_FMT_YUV444P14BE,
00199 PIX_FMT_YUV444P14LE,
00200 PIX_FMT_GBRP12BE,
00201 PIX_FMT_GBRP12LE,
00202 PIX_FMT_GBRP14BE,
00203 PIX_FMT_GBRP14LE,
00204
00205 PIX_FMT_NB,
00206 };
00207
00208 #define PIX_FMT_Y400A PIX_FMT_GRAY8A
00209 #define PIX_FMT_GBR24P PIX_FMT_GBRP
00210
00211 #if AV_HAVE_BIGENDIAN
00212 # define PIX_FMT_NE(be, le) PIX_FMT_##be
00213 #else
00214 # define PIX_FMT_NE(be, le) PIX_FMT_##le
00215 #endif
00216
00217 #define PIX_FMT_RGB32 PIX_FMT_NE(ARGB, BGRA)
00218 #define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
00219 #define PIX_FMT_BGR32 PIX_FMT_NE(ABGR, RGBA)
00220 #define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
00221 #define PIX_FMT_0RGB32 PIX_FMT_NE(0RGB, BGR0)
00222 #define PIX_FMT_0BGR32 PIX_FMT_NE(0BGR, RGB0)
00223
00224 #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
00225 #define PIX_FMT_RGB48 PIX_FMT_NE(RGB48BE, RGB48LE)
00226 #define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE)
00227 #define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE)
00228 #define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE)
00229 #define PIX_FMT_BGR48 PIX_FMT_NE(BGR48BE, BGR48LE)
00230 #define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE)
00231 #define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE)
00232 #define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
00233
00234 #define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
00235 #define PIX_FMT_YUV422P9 PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
00236 #define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
00237 #define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
00238 #define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
00239 #define PIX_FMT_YUV444P10 PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
00240 #define PIX_FMT_YUV420P12 PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
00241 #define PIX_FMT_YUV422P12 PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
00242 #define PIX_FMT_YUV444P12 PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
00243 #define PIX_FMT_YUV420P14 PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
00244 #define PIX_FMT_YUV422P14 PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
00245 #define PIX_FMT_YUV444P14 PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
00246 #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
00247 #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
00248 #define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
00249
00250 #define PIX_FMT_RGBA64 PIX_FMT_NE(RGBA64BE, RGBA64LE)
00251 #define PIX_FMT_BGRA64 PIX_FMT_NE(BGRA64BE, BGRA64LE)
00252 #define PIX_FMT_GBRP9 PIX_FMT_NE(GBRP9BE , GBRP9LE)
00253 #define PIX_FMT_GBRP10 PIX_FMT_NE(GBRP10BE, GBRP10LE)
00254 #define PIX_FMT_GBRP12 PIX_FMT_NE(GBRP12BE, GBRP12LE)
00255 #define PIX_FMT_GBRP14 PIX_FMT_NE(GBRP14BE, GBRP14LE)
00256 #define PIX_FMT_GBRP16 PIX_FMT_NE(GBRP16BE, GBRP16LE)
00257
00258 #endif