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_NB,
00189 };
00190
00191 #define PIX_FMT_Y400A PIX_FMT_GRAY8A
00192 #define PIX_FMT_GBR24P PIX_FMT_GBRP
00193
00194 #if AV_HAVE_BIGENDIAN
00195 # define PIX_FMT_NE(be, le) PIX_FMT_##be
00196 #else
00197 # define PIX_FMT_NE(be, le) PIX_FMT_##le
00198 #endif
00199
00200 #define PIX_FMT_RGB32 PIX_FMT_NE(ARGB, BGRA)
00201 #define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
00202 #define PIX_FMT_BGR32 PIX_FMT_NE(ABGR, RGBA)
00203 #define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
00204 #define PIX_FMT_0RGB32 PIX_FMT_NE(0RGB, BGR0)
00205 #define PIX_FMT_0BGR32 PIX_FMT_NE(0BGR, RGB0)
00206
00207 #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
00208 #define PIX_FMT_RGB48 PIX_FMT_NE(RGB48BE, RGB48LE)
00209 #define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE)
00210 #define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE)
00211 #define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE)
00212 #define PIX_FMT_BGR48 PIX_FMT_NE(BGR48BE, BGR48LE)
00213 #define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE)
00214 #define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE)
00215 #define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
00216
00217 #define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
00218 #define PIX_FMT_YUV422P9 PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
00219 #define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
00220 #define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
00221 #define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
00222 #define PIX_FMT_YUV444P10 PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
00223 #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
00224 #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
00225 #define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
00226
00227 #define PIX_FMT_RGBA64 PIX_FMT_NE(RGBA64BE, RGBA64LE)
00228 #define PIX_FMT_BGRA64 PIX_FMT_NE(BGRA64BE, BGRA64LE)
00229 #define PIX_FMT_GBRP9 PIX_FMT_NE(GBRP9BE , GBRP9LE)
00230 #define PIX_FMT_GBRP10 PIX_FMT_NE(GBRP10BE, GBRP10LE)
00231 #define PIX_FMT_GBRP16 PIX_FMT_NE(GBRP16BE, GBRP16LE)
00232
00233 #endif