FFmpeg
Macros | Enumerations
pixfmt.h File Reference
#include "libavutil/avconfig.h"
#include "version.h"

Go to the source code of this file.

Macros

#define AVPALETTE_SIZE   1024
 
#define AVPALETTE_COUNT   256
 
#define AV_VIDEO_MAX_PLANES   4
 Maximum number of planes in any pixel format. More...
 
#define AV_PIX_FMT_NE(be, le)   AV_PIX_FMT_##le
 
#define AV_PIX_FMT_RGB32   AV_PIX_FMT_NE(ARGB, BGRA)
 
#define AV_PIX_FMT_RGB32_1   AV_PIX_FMT_NE(RGBA, ABGR)
 
#define AV_PIX_FMT_BGR32   AV_PIX_FMT_NE(ABGR, RGBA)
 
#define AV_PIX_FMT_BGR32_1   AV_PIX_FMT_NE(BGRA, ARGB)
 
#define AV_PIX_FMT_0RGB32   AV_PIX_FMT_NE(0RGB, BGR0)
 
#define AV_PIX_FMT_0BGR32   AV_PIX_FMT_NE(0BGR, RGB0)
 
#define AV_PIX_FMT_GRAY9   AV_PIX_FMT_NE(GRAY9BE, GRAY9LE)
 
#define AV_PIX_FMT_GRAY10   AV_PIX_FMT_NE(GRAY10BE, GRAY10LE)
 
#define AV_PIX_FMT_GRAY12   AV_PIX_FMT_NE(GRAY12BE, GRAY12LE)
 
#define AV_PIX_FMT_GRAY14   AV_PIX_FMT_NE(GRAY14BE, GRAY14LE)
 
#define AV_PIX_FMT_GRAY16   AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
 
#define AV_PIX_FMT_YA16   AV_PIX_FMT_NE(YA16BE, YA16LE)
 
#define AV_PIX_FMT_RGB48   AV_PIX_FMT_NE(RGB48BE, RGB48LE)
 
#define AV_PIX_FMT_RGB565   AV_PIX_FMT_NE(RGB565BE, RGB565LE)
 
#define AV_PIX_FMT_RGB555   AV_PIX_FMT_NE(RGB555BE, RGB555LE)
 
#define AV_PIX_FMT_RGB444   AV_PIX_FMT_NE(RGB444BE, RGB444LE)
 
#define AV_PIX_FMT_RGBA64   AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
 
#define AV_PIX_FMT_BGR48   AV_PIX_FMT_NE(BGR48BE, BGR48LE)
 
#define AV_PIX_FMT_BGR565   AV_PIX_FMT_NE(BGR565BE, BGR565LE)
 
#define AV_PIX_FMT_BGR555   AV_PIX_FMT_NE(BGR555BE, BGR555LE)
 
#define AV_PIX_FMT_BGR444   AV_PIX_FMT_NE(BGR444BE, BGR444LE)
 
#define AV_PIX_FMT_BGRA64   AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
 
#define AV_PIX_FMT_YUV420P9   AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
 
#define AV_PIX_FMT_YUV422P9   AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
 
#define AV_PIX_FMT_YUV444P9   AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
 
#define AV_PIX_FMT_YUV420P10   AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
 
#define AV_PIX_FMT_YUV422P10   AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
 
#define AV_PIX_FMT_YUV440P10   AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE)
 
#define AV_PIX_FMT_YUV444P10   AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
 
#define AV_PIX_FMT_YUV420P12   AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
 
#define AV_PIX_FMT_YUV422P12   AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
 
#define AV_PIX_FMT_YUV440P12   AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE)
 
#define AV_PIX_FMT_YUV444P12   AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
 
#define AV_PIX_FMT_YUV420P14   AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
 
#define AV_PIX_FMT_YUV422P14   AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
 
#define AV_PIX_FMT_YUV444P14   AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
 
#define AV_PIX_FMT_YUV420P16   AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
 
#define AV_PIX_FMT_YUV422P16   AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
 
#define AV_PIX_FMT_YUV444P16   AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
 
#define AV_PIX_FMT_GBRP9   AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
 
#define AV_PIX_FMT_GBRP10   AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
 
#define AV_PIX_FMT_GBRP12   AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
 
#define AV_PIX_FMT_GBRP14   AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
 
#define AV_PIX_FMT_GBRP16   AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
 
#define AV_PIX_FMT_GBRAP10   AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE)
 
#define AV_PIX_FMT_GBRAP12   AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE)
 
#define AV_PIX_FMT_GBRAP14   AV_PIX_FMT_NE(GBRAP14BE, GBRAP14LE)
 
#define AV_PIX_FMT_GBRAP16   AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)
 
#define AV_PIX_FMT_BAYER_BGGR16   AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)
 
#define AV_PIX_FMT_BAYER_RGGB16   AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE)
 
#define AV_PIX_FMT_BAYER_GBRG16   AV_PIX_FMT_NE(BAYER_GBRG16BE, BAYER_GBRG16LE)
 
#define AV_PIX_FMT_BAYER_GRBG16   AV_PIX_FMT_NE(BAYER_GRBG16BE, BAYER_GRBG16LE)
 
#define AV_PIX_FMT_GBRPF32   AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE)
 
#define AV_PIX_FMT_GBRAPF32   AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE)
 
#define AV_PIX_FMT_GRAYF32   AV_PIX_FMT_NE(GRAYF32BE, GRAYF32LE)
 
#define AV_PIX_FMT_YUVA420P9   AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
 
#define AV_PIX_FMT_YUVA422P9   AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
 
#define AV_PIX_FMT_YUVA444P9   AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
 
#define AV_PIX_FMT_YUVA420P10   AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
 
#define AV_PIX_FMT_YUVA422P10   AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
 
#define AV_PIX_FMT_YUVA444P10   AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
 
#define AV_PIX_FMT_YUVA422P12   AV_PIX_FMT_NE(YUVA422P12BE, YUVA422P12LE)
 
#define AV_PIX_FMT_YUVA444P12   AV_PIX_FMT_NE(YUVA444P12BE, YUVA444P12LE)
 
#define AV_PIX_FMT_YUVA420P16   AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
 
#define AV_PIX_FMT_YUVA422P16   AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
 
#define AV_PIX_FMT_YUVA444P16   AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
 
#define AV_PIX_FMT_XYZ12   AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
 
#define AV_PIX_FMT_NV20   AV_PIX_FMT_NE(NV20BE, NV20LE)
 
#define AV_PIX_FMT_AYUV64   AV_PIX_FMT_NE(AYUV64BE, AYUV64LE)
 
#define AV_PIX_FMT_P010   AV_PIX_FMT_NE(P010BE, P010LE)
 
#define AV_PIX_FMT_P012   AV_PIX_FMT_NE(P012BE, P012LE)
 
#define AV_PIX_FMT_P016   AV_PIX_FMT_NE(P016BE, P016LE)
 
#define AV_PIX_FMT_Y210   AV_PIX_FMT_NE(Y210BE, Y210LE)
 
#define AV_PIX_FMT_Y212   AV_PIX_FMT_NE(Y212BE, Y212LE)
 
#define AV_PIX_FMT_XV30   AV_PIX_FMT_NE(XV30BE, XV30LE)
 
#define AV_PIX_FMT_XV36   AV_PIX_FMT_NE(XV36BE, XV36LE)
 
#define AV_PIX_FMT_X2RGB10   AV_PIX_FMT_NE(X2RGB10BE, X2RGB10LE)
 
#define AV_PIX_FMT_X2BGR10   AV_PIX_FMT_NE(X2BGR10BE, X2BGR10LE)
 
#define AV_PIX_FMT_P210   AV_PIX_FMT_NE(P210BE, P210LE)
 
#define AV_PIX_FMT_P410   AV_PIX_FMT_NE(P410BE, P410LE)
 
#define AV_PIX_FMT_P212   AV_PIX_FMT_NE(P212BE, P212LE)
 
#define AV_PIX_FMT_P412   AV_PIX_FMT_NE(P412BE, P412LE)
 
#define AV_PIX_FMT_P216   AV_PIX_FMT_NE(P216BE, P216LE)
 
#define AV_PIX_FMT_P416   AV_PIX_FMT_NE(P416BE, P416LE)
 
#define AV_PIX_FMT_RGBAF16   AV_PIX_FMT_NE(RGBAF16BE, RGBAF16LE)
 
#define AV_PIX_FMT_RGBF32   AV_PIX_FMT_NE(RGBF32BE, RGBF32LE)
 
#define AV_PIX_FMT_RGBAF32   AV_PIX_FMT_NE(RGBAF32BE, RGBAF32LE)
 

Enumerations

enum  AVPixelFormat {
  AV_PIX_FMT_NONE = -1, 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, AV_PIX_FMT_YUV420P16LE, 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_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_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_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_YUVA422P12BE, AV_PIX_FMT_YUVA422P12LE, AV_PIX_FMT_YUVA444P12BE, AV_PIX_FMT_YUVA444P12LE,
  AV_PIX_FMT_NV24, AV_PIX_FMT_NV42, AV_PIX_FMT_VULKAN, AV_PIX_FMT_Y210BE,
  AV_PIX_FMT_Y210LE, AV_PIX_FMT_X2RGB10LE, AV_PIX_FMT_X2RGB10BE, AV_PIX_FMT_X2BGR10LE,
  AV_PIX_FMT_X2BGR10BE, AV_PIX_FMT_P210BE, AV_PIX_FMT_P210LE, AV_PIX_FMT_P410BE,
  AV_PIX_FMT_P410LE, AV_PIX_FMT_P216BE, AV_PIX_FMT_P216LE, AV_PIX_FMT_P416BE,
  AV_PIX_FMT_P416LE, AV_PIX_FMT_VUYA, AV_PIX_FMT_RGBAF16BE, AV_PIX_FMT_RGBAF16LE,
  AV_PIX_FMT_VUYX, AV_PIX_FMT_P012LE, AV_PIX_FMT_P012BE, AV_PIX_FMT_Y212BE,
  AV_PIX_FMT_Y212LE, AV_PIX_FMT_XV30BE, AV_PIX_FMT_XV30LE, AV_PIX_FMT_XV36BE,
  AV_PIX_FMT_XV36LE, AV_PIX_FMT_RGBF32BE, AV_PIX_FMT_RGBF32LE, AV_PIX_FMT_RGBAF32BE,
  AV_PIX_FMT_RGBAF32LE, AV_PIX_FMT_P212BE, AV_PIX_FMT_P212LE, AV_PIX_FMT_P412BE,
  AV_PIX_FMT_P412LE, AV_PIX_FMT_GBRAP14BE, AV_PIX_FMT_GBRAP14LE, AV_PIX_FMT_D3D12,
  AV_PIX_FMT_NB
}
 Pixel format. More...
 
enum  AVColorPrimaries {
  AVCOL_PRI_RESERVED0 = 0, 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_EBU3213 = 22, AVCOL_PRI_JEDEC_P22 = AVCOL_PRI_EBU3213,
  AVCOL_PRI_NB
}
 Chromaticity coordinates of the source primaries. More...
 
enum  AVColorTransferCharacteristic {
  AVCOL_TRC_RESERVED0 = 0, 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
}
 Color Transfer Characteristic. More...
 
enum  AVColorSpace {
  AVCOL_SPC_RGB = 0, 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
}
 YUV colorspace type. More...
 
enum  AVColorRange { AVCOL_RANGE_UNSPECIFIED = 0, AVCOL_RANGE_MPEG = 1, AVCOL_RANGE_JPEG = 2, AVCOL_RANGE_NB }
 Visual content value range. More...
 
enum  AVChromaLocation {
  AVCHROMA_LOC_UNSPECIFIED = 0, 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
}
 Location of chroma samples. More...
 

Detailed Description

pixel format definitions

Definition in file pixfmt.h.

Macro Definition Documentation

◆ AVPALETTE_SIZE

#define AVPALETTE_SIZE   1024

Definition at line 32 of file pixfmt.h.

◆ AVPALETTE_COUNT

#define AVPALETTE_COUNT   256

Definition at line 33 of file pixfmt.h.

◆ AV_VIDEO_MAX_PLANES

#define AV_VIDEO_MAX_PLANES   4

Maximum number of planes in any pixel format.

This should be used when a maximum is needed, but code should not be written to require a maximum for no good reason.

Definition at line 40 of file pixfmt.h.

◆ AV_PIX_FMT_NE

#define AV_PIX_FMT_NE (   be,
  le 
)    AV_PIX_FMT_##le

Definition at line 448 of file pixfmt.h.

◆ AV_PIX_FMT_RGB32

#define AV_PIX_FMT_RGB32   AV_PIX_FMT_NE(ARGB, BGRA)

Definition at line 451 of file pixfmt.h.

◆ AV_PIX_FMT_RGB32_1

#define AV_PIX_FMT_RGB32_1   AV_PIX_FMT_NE(RGBA, ABGR)

Definition at line 452 of file pixfmt.h.

◆ AV_PIX_FMT_BGR32

#define AV_PIX_FMT_BGR32   AV_PIX_FMT_NE(ABGR, RGBA)

Definition at line 453 of file pixfmt.h.

◆ AV_PIX_FMT_BGR32_1

#define AV_PIX_FMT_BGR32_1   AV_PIX_FMT_NE(BGRA, ARGB)

Definition at line 454 of file pixfmt.h.

◆ AV_PIX_FMT_0RGB32

#define AV_PIX_FMT_0RGB32   AV_PIX_FMT_NE(0RGB, BGR0)

Definition at line 455 of file pixfmt.h.

◆ AV_PIX_FMT_0BGR32

#define AV_PIX_FMT_0BGR32   AV_PIX_FMT_NE(0BGR, RGB0)

Definition at line 456 of file pixfmt.h.

◆ AV_PIX_FMT_GRAY9

#define AV_PIX_FMT_GRAY9   AV_PIX_FMT_NE(GRAY9BE, GRAY9LE)

Definition at line 458 of file pixfmt.h.

◆ AV_PIX_FMT_GRAY10

#define AV_PIX_FMT_GRAY10   AV_PIX_FMT_NE(GRAY10BE, GRAY10LE)

Definition at line 459 of file pixfmt.h.

◆ AV_PIX_FMT_GRAY12

#define AV_PIX_FMT_GRAY12   AV_PIX_FMT_NE(GRAY12BE, GRAY12LE)

Definition at line 460 of file pixfmt.h.

◆ AV_PIX_FMT_GRAY14

#define AV_PIX_FMT_GRAY14   AV_PIX_FMT_NE(GRAY14BE, GRAY14LE)

Definition at line 461 of file pixfmt.h.

◆ AV_PIX_FMT_GRAY16

#define AV_PIX_FMT_GRAY16   AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)

Definition at line 462 of file pixfmt.h.

◆ AV_PIX_FMT_YA16

#define AV_PIX_FMT_YA16   AV_PIX_FMT_NE(YA16BE, YA16LE)

Definition at line 463 of file pixfmt.h.

◆ AV_PIX_FMT_RGB48

#define AV_PIX_FMT_RGB48   AV_PIX_FMT_NE(RGB48BE, RGB48LE)

Definition at line 464 of file pixfmt.h.

◆ AV_PIX_FMT_RGB565

#define AV_PIX_FMT_RGB565   AV_PIX_FMT_NE(RGB565BE, RGB565LE)

Definition at line 465 of file pixfmt.h.

◆ AV_PIX_FMT_RGB555

#define AV_PIX_FMT_RGB555   AV_PIX_FMT_NE(RGB555BE, RGB555LE)

Definition at line 466 of file pixfmt.h.

◆ AV_PIX_FMT_RGB444

#define AV_PIX_FMT_RGB444   AV_PIX_FMT_NE(RGB444BE, RGB444LE)

Definition at line 467 of file pixfmt.h.

◆ AV_PIX_FMT_RGBA64

#define AV_PIX_FMT_RGBA64   AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)

Definition at line 468 of file pixfmt.h.

◆ AV_PIX_FMT_BGR48

#define AV_PIX_FMT_BGR48   AV_PIX_FMT_NE(BGR48BE, BGR48LE)

Definition at line 469 of file pixfmt.h.

◆ AV_PIX_FMT_BGR565

#define AV_PIX_FMT_BGR565   AV_PIX_FMT_NE(BGR565BE, BGR565LE)

Definition at line 470 of file pixfmt.h.

◆ AV_PIX_FMT_BGR555

#define AV_PIX_FMT_BGR555   AV_PIX_FMT_NE(BGR555BE, BGR555LE)

Definition at line 471 of file pixfmt.h.

◆ AV_PIX_FMT_BGR444

#define AV_PIX_FMT_BGR444   AV_PIX_FMT_NE(BGR444BE, BGR444LE)

Definition at line 472 of file pixfmt.h.

◆ AV_PIX_FMT_BGRA64

#define AV_PIX_FMT_BGRA64   AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)

Definition at line 473 of file pixfmt.h.

◆ AV_PIX_FMT_YUV420P9

#define AV_PIX_FMT_YUV420P9   AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)

Definition at line 475 of file pixfmt.h.

◆ AV_PIX_FMT_YUV422P9

#define AV_PIX_FMT_YUV422P9   AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)

Definition at line 476 of file pixfmt.h.

◆ AV_PIX_FMT_YUV444P9

#define AV_PIX_FMT_YUV444P9   AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)

Definition at line 477 of file pixfmt.h.

◆ AV_PIX_FMT_YUV420P10

#define AV_PIX_FMT_YUV420P10   AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)

Definition at line 478 of file pixfmt.h.

◆ AV_PIX_FMT_YUV422P10

#define AV_PIX_FMT_YUV422P10   AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)

Definition at line 479 of file pixfmt.h.

◆ AV_PIX_FMT_YUV440P10

#define AV_PIX_FMT_YUV440P10   AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE)

Definition at line 480 of file pixfmt.h.

◆ AV_PIX_FMT_YUV444P10

#define AV_PIX_FMT_YUV444P10   AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)

Definition at line 481 of file pixfmt.h.

◆ AV_PIX_FMT_YUV420P12

#define AV_PIX_FMT_YUV420P12   AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)

Definition at line 482 of file pixfmt.h.

◆ AV_PIX_FMT_YUV422P12

#define AV_PIX_FMT_YUV422P12   AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)

Definition at line 483 of file pixfmt.h.

◆ AV_PIX_FMT_YUV440P12

#define AV_PIX_FMT_YUV440P12   AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE)

Definition at line 484 of file pixfmt.h.

◆ AV_PIX_FMT_YUV444P12

#define AV_PIX_FMT_YUV444P12   AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)

Definition at line 485 of file pixfmt.h.

◆ AV_PIX_FMT_YUV420P14

#define AV_PIX_FMT_YUV420P14   AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)

Definition at line 486 of file pixfmt.h.

◆ AV_PIX_FMT_YUV422P14

#define AV_PIX_FMT_YUV422P14   AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)

Definition at line 487 of file pixfmt.h.

◆ AV_PIX_FMT_YUV444P14

#define AV_PIX_FMT_YUV444P14   AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)

Definition at line 488 of file pixfmt.h.

◆ AV_PIX_FMT_YUV420P16

#define AV_PIX_FMT_YUV420P16   AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)

Definition at line 489 of file pixfmt.h.

◆ AV_PIX_FMT_YUV422P16

#define AV_PIX_FMT_YUV422P16   AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)

Definition at line 490 of file pixfmt.h.

◆ AV_PIX_FMT_YUV444P16

#define AV_PIX_FMT_YUV444P16   AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)

Definition at line 491 of file pixfmt.h.

◆ AV_PIX_FMT_GBRP9

#define AV_PIX_FMT_GBRP9   AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)

Definition at line 493 of file pixfmt.h.

◆ AV_PIX_FMT_GBRP10

#define AV_PIX_FMT_GBRP10   AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)

Definition at line 494 of file pixfmt.h.

◆ AV_PIX_FMT_GBRP12

#define AV_PIX_FMT_GBRP12   AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)

Definition at line 495 of file pixfmt.h.

◆ AV_PIX_FMT_GBRP14

#define AV_PIX_FMT_GBRP14   AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)

Definition at line 496 of file pixfmt.h.

◆ AV_PIX_FMT_GBRP16

#define AV_PIX_FMT_GBRP16   AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)

Definition at line 497 of file pixfmt.h.

◆ AV_PIX_FMT_GBRAP10

#define AV_PIX_FMT_GBRAP10   AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE)

Definition at line 498 of file pixfmt.h.

◆ AV_PIX_FMT_GBRAP12

#define AV_PIX_FMT_GBRAP12   AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE)

Definition at line 499 of file pixfmt.h.

◆ AV_PIX_FMT_GBRAP14

#define AV_PIX_FMT_GBRAP14   AV_PIX_FMT_NE(GBRAP14BE, GBRAP14LE)

Definition at line 500 of file pixfmt.h.

◆ AV_PIX_FMT_GBRAP16

#define AV_PIX_FMT_GBRAP16   AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)

Definition at line 501 of file pixfmt.h.

◆ AV_PIX_FMT_BAYER_BGGR16

#define AV_PIX_FMT_BAYER_BGGR16   AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)

Definition at line 503 of file pixfmt.h.

◆ AV_PIX_FMT_BAYER_RGGB16

#define AV_PIX_FMT_BAYER_RGGB16   AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE)

Definition at line 504 of file pixfmt.h.

◆ AV_PIX_FMT_BAYER_GBRG16

#define AV_PIX_FMT_BAYER_GBRG16   AV_PIX_FMT_NE(BAYER_GBRG16BE, BAYER_GBRG16LE)

Definition at line 505 of file pixfmt.h.

◆ AV_PIX_FMT_BAYER_GRBG16

#define AV_PIX_FMT_BAYER_GRBG16   AV_PIX_FMT_NE(BAYER_GRBG16BE, BAYER_GRBG16LE)

Definition at line 506 of file pixfmt.h.

◆ AV_PIX_FMT_GBRPF32

#define AV_PIX_FMT_GBRPF32   AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE)

Definition at line 508 of file pixfmt.h.

◆ AV_PIX_FMT_GBRAPF32

#define AV_PIX_FMT_GBRAPF32   AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE)

Definition at line 509 of file pixfmt.h.

◆ AV_PIX_FMT_GRAYF32

#define AV_PIX_FMT_GRAYF32   AV_PIX_FMT_NE(GRAYF32BE, GRAYF32LE)

Definition at line 511 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA420P9

#define AV_PIX_FMT_YUVA420P9   AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)

Definition at line 513 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA422P9

#define AV_PIX_FMT_YUVA422P9   AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)

Definition at line 514 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA444P9

#define AV_PIX_FMT_YUVA444P9   AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)

Definition at line 515 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA420P10

#define AV_PIX_FMT_YUVA420P10   AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)

Definition at line 516 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA422P10

#define AV_PIX_FMT_YUVA422P10   AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)

Definition at line 517 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA444P10

#define AV_PIX_FMT_YUVA444P10   AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)

Definition at line 518 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA422P12

#define AV_PIX_FMT_YUVA422P12   AV_PIX_FMT_NE(YUVA422P12BE, YUVA422P12LE)

Definition at line 519 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA444P12

#define AV_PIX_FMT_YUVA444P12   AV_PIX_FMT_NE(YUVA444P12BE, YUVA444P12LE)

Definition at line 520 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA420P16

#define AV_PIX_FMT_YUVA420P16   AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)

Definition at line 521 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA422P16

#define AV_PIX_FMT_YUVA422P16   AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)

Definition at line 522 of file pixfmt.h.

◆ AV_PIX_FMT_YUVA444P16

#define AV_PIX_FMT_YUVA444P16   AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)

Definition at line 523 of file pixfmt.h.

◆ AV_PIX_FMT_XYZ12

#define AV_PIX_FMT_XYZ12   AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)

Definition at line 525 of file pixfmt.h.

◆ AV_PIX_FMT_NV20

#define AV_PIX_FMT_NV20   AV_PIX_FMT_NE(NV20BE, NV20LE)

Definition at line 526 of file pixfmt.h.

◆ AV_PIX_FMT_AYUV64

#define AV_PIX_FMT_AYUV64   AV_PIX_FMT_NE(AYUV64BE, AYUV64LE)

Definition at line 527 of file pixfmt.h.

◆ AV_PIX_FMT_P010

#define AV_PIX_FMT_P010   AV_PIX_FMT_NE(P010BE, P010LE)

Definition at line 528 of file pixfmt.h.

◆ AV_PIX_FMT_P012

#define AV_PIX_FMT_P012   AV_PIX_FMT_NE(P012BE, P012LE)

Definition at line 529 of file pixfmt.h.

◆ AV_PIX_FMT_P016

#define AV_PIX_FMT_P016   AV_PIX_FMT_NE(P016BE, P016LE)

Definition at line 530 of file pixfmt.h.

◆ AV_PIX_FMT_Y210

#define AV_PIX_FMT_Y210   AV_PIX_FMT_NE(Y210BE, Y210LE)

Definition at line 532 of file pixfmt.h.

◆ AV_PIX_FMT_Y212

#define AV_PIX_FMT_Y212   AV_PIX_FMT_NE(Y212BE, Y212LE)

Definition at line 533 of file pixfmt.h.

◆ AV_PIX_FMT_XV30

#define AV_PIX_FMT_XV30   AV_PIX_FMT_NE(XV30BE, XV30LE)

Definition at line 534 of file pixfmt.h.

◆ AV_PIX_FMT_XV36

#define AV_PIX_FMT_XV36   AV_PIX_FMT_NE(XV36BE, XV36LE)

Definition at line 535 of file pixfmt.h.

◆ AV_PIX_FMT_X2RGB10

#define AV_PIX_FMT_X2RGB10   AV_PIX_FMT_NE(X2RGB10BE, X2RGB10LE)

Definition at line 536 of file pixfmt.h.

◆ AV_PIX_FMT_X2BGR10

#define AV_PIX_FMT_X2BGR10   AV_PIX_FMT_NE(X2BGR10BE, X2BGR10LE)

Definition at line 537 of file pixfmt.h.

◆ AV_PIX_FMT_P210

#define AV_PIX_FMT_P210   AV_PIX_FMT_NE(P210BE, P210LE)

Definition at line 539 of file pixfmt.h.

◆ AV_PIX_FMT_P410

#define AV_PIX_FMT_P410   AV_PIX_FMT_NE(P410BE, P410LE)

Definition at line 540 of file pixfmt.h.

◆ AV_PIX_FMT_P212

#define AV_PIX_FMT_P212   AV_PIX_FMT_NE(P212BE, P212LE)

Definition at line 541 of file pixfmt.h.

◆ AV_PIX_FMT_P412

#define AV_PIX_FMT_P412   AV_PIX_FMT_NE(P412BE, P412LE)

Definition at line 542 of file pixfmt.h.

◆ AV_PIX_FMT_P216

#define AV_PIX_FMT_P216   AV_PIX_FMT_NE(P216BE, P216LE)

Definition at line 543 of file pixfmt.h.

◆ AV_PIX_FMT_P416

#define AV_PIX_FMT_P416   AV_PIX_FMT_NE(P416BE, P416LE)

Definition at line 544 of file pixfmt.h.

◆ AV_PIX_FMT_RGBAF16

#define AV_PIX_FMT_RGBAF16   AV_PIX_FMT_NE(RGBAF16BE, RGBAF16LE)

Definition at line 546 of file pixfmt.h.

◆ AV_PIX_FMT_RGBF32

#define AV_PIX_FMT_RGBF32   AV_PIX_FMT_NE(RGBF32BE, RGBF32LE)

Definition at line 548 of file pixfmt.h.

◆ AV_PIX_FMT_RGBAF32

#define AV_PIX_FMT_RGBAF32   AV_PIX_FMT_NE(RGBAF32BE, RGBAF32LE)

Definition at line 549 of file pixfmt.h.

Enumeration Type Documentation

◆ AVPixelFormat

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.
If the resolution is not a multiple of the chroma subsampling factor then the chroma plane resolution must be rounded up.
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.
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.
Enumerator
AV_PIX_FMT_NONE 
AV_PIX_FMT_YUV420P 

planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)

AV_PIX_FMT_YUYV422 

packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr

AV_PIX_FMT_RGB24 

packed RGB 8:8:8, 24bpp, RGBRGB...

AV_PIX_FMT_BGR24 

packed RGB 8:8:8, 24bpp, BGRBGR...

AV_PIX_FMT_YUV422P 

planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)

AV_PIX_FMT_YUV444P 

planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)

AV_PIX_FMT_YUV410P 

planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)

AV_PIX_FMT_YUV411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)

AV_PIX_FMT_GRAY8 

Y , 8bpp.

AV_PIX_FMT_MONOWHITE 

Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb.

AV_PIX_FMT_MONOBLACK 

Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb.

AV_PIX_FMT_PAL8 

8 bits with AV_PIX_FMT_RGB32 palette

AV_PIX_FMT_YUVJ420P 

planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range

AV_PIX_FMT_YUVJ422P 

planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range

AV_PIX_FMT_YUVJ444P 

planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range

AV_PIX_FMT_UYVY422 

packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1

AV_PIX_FMT_UYYVYY411 

packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3

AV_PIX_FMT_BGR8 

packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)

AV_PIX_FMT_BGR4 

packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits

AV_PIX_FMT_BGR4_BYTE 

packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)

AV_PIX_FMT_RGB8 

packed RGB 3:3:2, 8bpp, (msb)3R 3G 2B(lsb)

AV_PIX_FMT_RGB4 

packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits

AV_PIX_FMT_RGB4_BYTE 

packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)

AV_PIX_FMT_NV12 

planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)

AV_PIX_FMT_NV21 

as above, but U and V bytes are swapped

AV_PIX_FMT_ARGB 

packed ARGB 8:8:8:8, 32bpp, ARGBARGB...

AV_PIX_FMT_RGBA 

packed RGBA 8:8:8:8, 32bpp, RGBARGBA...

AV_PIX_FMT_ABGR 

packed ABGR 8:8:8:8, 32bpp, ABGRABGR...

AV_PIX_FMT_BGRA 

packed BGRA 8:8:8:8, 32bpp, BGRABGRA...

AV_PIX_FMT_GRAY16BE 

Y , 16bpp, big-endian.

AV_PIX_FMT_GRAY16LE 

Y , 16bpp, little-endian.

AV_PIX_FMT_YUV440P 

planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)

AV_PIX_FMT_YUVJ440P 

planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range

AV_PIX_FMT_YUVA420P 

planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)

AV_PIX_FMT_RGB48BE 

packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian

AV_PIX_FMT_RGB48LE 

packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian

AV_PIX_FMT_RGB565BE 

packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian

AV_PIX_FMT_RGB565LE 

packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian

AV_PIX_FMT_RGB555BE 

packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined

AV_PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_BGR565BE 

packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian

AV_PIX_FMT_BGR565LE 

packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian

AV_PIX_FMT_BGR555BE 

packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), big-endian , X=unused/undefined

AV_PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_VAAPI 

Hardware acceleration through VA-API, data[3] contains a VASurfaceID.

AV_PIX_FMT_YUV420P16LE 

planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian

AV_PIX_FMT_YUV420P16BE 

planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian

AV_PIX_FMT_YUV422P16LE 

planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_YUV422P16BE 

planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_YUV444P16LE 

planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian

AV_PIX_FMT_YUV444P16BE 

planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian

AV_PIX_FMT_DXVA2_VLD 

HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer.

AV_PIX_FMT_RGB444LE 

packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined

AV_PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian, X=unused/undefined

AV_PIX_FMT_YA8 

8 bits gray, 8 bits alpha

AV_PIX_FMT_Y400A 

alias for AV_PIX_FMT_YA8

AV_PIX_FMT_GRAY8A 

alias for AV_PIX_FMT_YA8

AV_PIX_FMT_BGR48BE 

packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian

AV_PIX_FMT_BGR48LE 

packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian

AV_PIX_FMT_YUV420P9BE 

The following 12 formats have the disadvantage of needing 1 format for each bit depth.

Notice that each 9/10 bits sample is stored in 16 bits with extra padding. If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately is better. planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian

AV_PIX_FMT_YUV420P9LE 

planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian

AV_PIX_FMT_YUV420P10BE 

planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian

AV_PIX_FMT_YUV420P10LE 

planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian

AV_PIX_FMT_YUV422P10BE 

planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_YUV422P10LE 

planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_YUV444P9BE 

planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian

AV_PIX_FMT_YUV444P9LE 

planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian

AV_PIX_FMT_YUV444P10BE 

planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian

AV_PIX_FMT_YUV444P10LE 

planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian

AV_PIX_FMT_YUV422P9BE 

planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_YUV422P9LE 

planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

AV_PIX_FMT_GBR24P 
AV_PIX_FMT_GBRP9BE 

planar GBR 4:4:4 27bpp, big-endian

AV_PIX_FMT_GBRP9LE 

planar GBR 4:4:4 27bpp, little-endian

AV_PIX_FMT_GBRP10BE 

planar GBR 4:4:4 30bpp, big-endian

AV_PIX_FMT_GBRP10LE 

planar GBR 4:4:4 30bpp, little-endian

AV_PIX_FMT_GBRP16BE 

planar GBR 4:4:4 48bpp, big-endian

AV_PIX_FMT_GBRP16LE 

planar GBR 4:4:4 48bpp, little-endian

AV_PIX_FMT_YUVA422P 

planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)

AV_PIX_FMT_YUVA444P 

planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)

AV_PIX_FMT_YUVA420P9BE 

planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian

AV_PIX_FMT_YUVA420P9LE 

planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian

AV_PIX_FMT_YUVA422P9BE 

planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian

AV_PIX_FMT_YUVA422P9LE 

planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian

AV_PIX_FMT_YUVA444P9BE 

planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian

AV_PIX_FMT_YUVA444P9LE 

planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian

AV_PIX_FMT_YUVA420P10BE 

planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)

AV_PIX_FMT_YUVA420P10LE 

planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)

AV_PIX_FMT_YUVA422P10BE 

planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)

AV_PIX_FMT_YUVA422P10LE 

planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)

AV_PIX_FMT_YUVA444P10BE 

planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)

AV_PIX_FMT_YUVA444P10LE 

planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)

AV_PIX_FMT_YUVA420P16BE 

planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)

AV_PIX_FMT_YUVA420P16LE 

planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)

AV_PIX_FMT_YUVA422P16BE 

planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)

AV_PIX_FMT_YUVA422P16LE 

planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)

AV_PIX_FMT_YUVA444P16BE 

planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)

AV_PIX_FMT_YUVA444P16LE 

planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)

AV_PIX_FMT_VDPAU 

HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.

AV_PIX_FMT_XYZ12LE 

packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0

AV_PIX_FMT_XYZ12BE 

packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0

AV_PIX_FMT_NV16 

interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)

AV_PIX_FMT_NV20LE 

interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_NV20BE 

interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_RGBA64BE 

packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian

AV_PIX_FMT_RGBA64LE 

packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian

AV_PIX_FMT_BGRA64BE 

packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian

AV_PIX_FMT_BGRA64LE 

packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian

AV_PIX_FMT_YVYU422 

packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb

AV_PIX_FMT_YA16BE 

16 bits gray, 16 bits alpha (big-endian)

AV_PIX_FMT_YA16LE 

16 bits gray, 16 bits alpha (little-endian)

AV_PIX_FMT_GBRAP 

planar GBRA 4:4:4:4 32bpp

AV_PIX_FMT_GBRAP16BE 

planar GBRA 4:4:4:4 64bpp, big-endian

AV_PIX_FMT_GBRAP16LE 

planar GBRA 4:4:4:4 64bpp, little-endian

AV_PIX_FMT_QSV 

HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure.

Before FFmpeg 5.0: mfxFrameSurface1.Data.MemId contains a pointer when importing the following frames as QSV frames:

VAAPI: mfxFrameSurface1.Data.MemId contains a pointer to VASurfaceID

DXVA2: mfxFrameSurface1.Data.MemId contains a pointer to IDirect3DSurface9

FFmpeg 5.0 and above: mfxFrameSurface1.Data.MemId contains a pointer to the mfxHDLPair structure when importing the following frames as QSV frames:

VAAPI: mfxHDLPair.first contains a VASurfaceID pointer. mfxHDLPair.second is always MFX_INFINITE.

DXVA2: mfxHDLPair.first contains IDirect3DSurface9 pointer. mfxHDLPair.second is always MFX_INFINITE.

D3D11: mfxHDLPair.first contains a ID3D11Texture2D pointer. mfxHDLPair.second contains the texture array index of the frame if the ID3D11Texture2D is an array texture, or always MFX_INFINITE if it is a normal texture.

AV_PIX_FMT_MMAL 

HW acceleration though MMAL, data[3] contains a pointer to the MMAL_BUFFER_HEADER_T structure.

AV_PIX_FMT_D3D11VA_VLD 

HW decoding through Direct3D11 via old API, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer.

AV_PIX_FMT_CUDA 

HW acceleration through CUDA.

data[i] contain CUdeviceptr pointers exactly as for system memory frames.

AV_PIX_FMT_0RGB 

packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined

AV_PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined

AV_PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined

AV_PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined

AV_PIX_FMT_YUV420P12BE 

planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian

AV_PIX_FMT_YUV420P12LE 

planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian

AV_PIX_FMT_YUV420P14BE 

planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian

AV_PIX_FMT_YUV420P14LE 

planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian

AV_PIX_FMT_YUV422P12BE 

planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_YUV422P12LE 

planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_YUV422P14BE 

planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian

AV_PIX_FMT_YUV422P14LE 

planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian

AV_PIX_FMT_YUV444P12BE 

planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian

AV_PIX_FMT_YUV444P12LE 

planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian

AV_PIX_FMT_YUV444P14BE 

planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian

AV_PIX_FMT_YUV444P14LE 

planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian

AV_PIX_FMT_GBRP12BE 

planar GBR 4:4:4 36bpp, big-endian

AV_PIX_FMT_GBRP12LE 

planar GBR 4:4:4 36bpp, little-endian

AV_PIX_FMT_GBRP14BE 

planar GBR 4:4:4 42bpp, big-endian

AV_PIX_FMT_GBRP14LE 

planar GBR 4:4:4 42bpp, little-endian

AV_PIX_FMT_YUVJ411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range

AV_PIX_FMT_BAYER_BGGR8 

bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples

AV_PIX_FMT_BAYER_RGGB8 

bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples

AV_PIX_FMT_BAYER_GBRG8 

bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples

AV_PIX_FMT_BAYER_GRBG8 

bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples

AV_PIX_FMT_BAYER_BGGR16LE 

bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian

AV_PIX_FMT_BAYER_BGGR16BE 

bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian

AV_PIX_FMT_BAYER_RGGB16LE 

bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian

AV_PIX_FMT_BAYER_RGGB16BE 

bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian

AV_PIX_FMT_BAYER_GBRG16LE 

bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian

AV_PIX_FMT_BAYER_GBRG16BE 

bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian

AV_PIX_FMT_BAYER_GRBG16LE 

bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian

AV_PIX_FMT_BAYER_GRBG16BE 

bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian

AV_PIX_FMT_YUV440P10LE 

planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian

AV_PIX_FMT_YUV440P10BE 

planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian

AV_PIX_FMT_YUV440P12LE 

planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian

AV_PIX_FMT_YUV440P12BE 

planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian

AV_PIX_FMT_AYUV64LE 

packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian

AV_PIX_FMT_AYUV64BE 

packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian

AV_PIX_FMT_VIDEOTOOLBOX 

hardware decoding through Videotoolbox

AV_PIX_FMT_P010LE 

like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian

AV_PIX_FMT_P010BE 

like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian

AV_PIX_FMT_GBRAP12BE 

planar GBR 4:4:4:4 48bpp, big-endian

AV_PIX_FMT_GBRAP12LE 

planar GBR 4:4:4:4 48bpp, little-endian

AV_PIX_FMT_GBRAP10BE 

planar GBR 4:4:4:4 40bpp, big-endian

AV_PIX_FMT_GBRAP10LE 

planar GBR 4:4:4:4 40bpp, little-endian

AV_PIX_FMT_MEDIACODEC 

hardware decoding through MediaCodec

AV_PIX_FMT_GRAY12BE 

Y , 12bpp, big-endian.

AV_PIX_FMT_GRAY12LE 

Y , 12bpp, little-endian.

AV_PIX_FMT_GRAY10BE 

Y , 10bpp, big-endian.

AV_PIX_FMT_GRAY10LE 

Y , 10bpp, little-endian.

AV_PIX_FMT_P016LE 

like NV12, with 16bpp per component, little-endian

AV_PIX_FMT_P016BE 

like NV12, with 16bpp per component, big-endian

AV_PIX_FMT_D3D11 

Hardware surfaces for Direct3D11.

This is preferred over the legacy AV_PIX_FMT_D3D11VA_VLD. The new D3D11 hwaccel API and filtering support AV_PIX_FMT_D3D11 only.

data[0] contains a ID3D11Texture2D pointer, and data[1] contains the texture array index of the frame as intptr_t if the ID3D11Texture2D is an array texture (or always 0 if it's a normal texture).

AV_PIX_FMT_GRAY9BE 

Y , 9bpp, big-endian.

AV_PIX_FMT_GRAY9LE 

Y , 9bpp, little-endian.

AV_PIX_FMT_GBRPF32BE 

IEEE-754 single precision planar GBR 4:4:4, 96bpp, big-endian.

AV_PIX_FMT_GBRPF32LE 

IEEE-754 single precision planar GBR 4:4:4, 96bpp, little-endian.

AV_PIX_FMT_GBRAPF32BE 

IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian.

AV_PIX_FMT_GBRAPF32LE 

IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian.

AV_PIX_FMT_DRM_PRIME 

DRM-managed buffers exposed through PRIME buffer sharing.

data[0] points to an AVDRMFrameDescriptor.

AV_PIX_FMT_OPENCL 

Hardware surfaces for OpenCL.

data[i] contain 2D image objects (typed in C as cl_mem, used in OpenCL as image2d_t) for each plane of the surface.

AV_PIX_FMT_GRAY14BE 

Y , 14bpp, big-endian.

AV_PIX_FMT_GRAY14LE 

Y , 14bpp, little-endian.

AV_PIX_FMT_GRAYF32BE 

IEEE-754 single precision Y, 32bpp, big-endian.

AV_PIX_FMT_GRAYF32LE 

IEEE-754 single precision Y, 32bpp, little-endian.

AV_PIX_FMT_YUVA422P12BE 

planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, big-endian

AV_PIX_FMT_YUVA422P12LE 

planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, little-endian

AV_PIX_FMT_YUVA444P12BE 

planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, big-endian

AV_PIX_FMT_YUVA444P12LE 

planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, little-endian

AV_PIX_FMT_NV24 

planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)

AV_PIX_FMT_NV42 

as above, but U and V bytes are swapped

AV_PIX_FMT_VULKAN 

Vulkan hardware images.

data[0] points to an AVVkFrame

AV_PIX_FMT_Y210BE 

packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, big-endian

AV_PIX_FMT_Y210LE 

packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, little-endian

AV_PIX_FMT_X2RGB10LE 

packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_X2RGB10BE 

packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), big-endian, X=unused/undefined

AV_PIX_FMT_X2BGR10LE 

packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), little-endian, X=unused/undefined

AV_PIX_FMT_X2BGR10BE 

packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), big-endian, X=unused/undefined

AV_PIX_FMT_P210BE 

interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, big-endian

AV_PIX_FMT_P210LE 

interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, little-endian

AV_PIX_FMT_P410BE 

interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, big-endian

AV_PIX_FMT_P410LE 

interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, little-endian

AV_PIX_FMT_P216BE 

interleaved chroma YUV 4:2:2, 32bpp, big-endian

AV_PIX_FMT_P216LE 

interleaved chroma YUV 4:2:2, 32bpp, little-endian

AV_PIX_FMT_P416BE 

interleaved chroma YUV 4:4:4, 48bpp, big-endian

AV_PIX_FMT_P416LE 

interleaved chroma YUV 4:4:4, 48bpp, little-endian

AV_PIX_FMT_VUYA 

packed VUYA 4:4:4, 32bpp, VUYAVUYA...

AV_PIX_FMT_RGBAF16BE 

IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian.

AV_PIX_FMT_RGBAF16LE 

IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian.

AV_PIX_FMT_VUYX 

packed VUYX 4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined

AV_PIX_FMT_P012LE 

like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, little-endian

AV_PIX_FMT_P012BE 

like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, big-endian

AV_PIX_FMT_Y212BE 

packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, big-endian

AV_PIX_FMT_Y212LE 

packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, little-endian

AV_PIX_FMT_XV30BE 

packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), big-endian, variant of Y410 where alpha channel is left undefined

AV_PIX_FMT_XV30LE 

packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), little-endian, variant of Y410 where alpha channel is left undefined

AV_PIX_FMT_XV36BE 

packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, big-endian, variant of Y412 where alpha channel is left undefined

AV_PIX_FMT_XV36LE 

packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, little-endian, variant of Y412 where alpha channel is left undefined

AV_PIX_FMT_RGBF32BE 

IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., big-endian.

AV_PIX_FMT_RGBF32LE 

IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., little-endian.

AV_PIX_FMT_RGBAF32BE 

IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., big-endian.

AV_PIX_FMT_RGBAF32LE 

IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., little-endian.

AV_PIX_FMT_P212BE 

interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, big-endian

AV_PIX_FMT_P212LE 

interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, little-endian

AV_PIX_FMT_P412BE 

interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, big-endian

AV_PIX_FMT_P412LE 

interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, little-endian

AV_PIX_FMT_GBRAP14BE 

planar GBR 4:4:4:4 56bpp, big-endian

AV_PIX_FMT_GBRAP14LE 

planar GBR 4:4:4:4 56bpp, little-endian

AV_PIX_FMT_D3D12 

Hardware surfaces for Direct3D 12.

data[0] points to an AVD3D12VAFrame

AV_PIX_FMT_NB 

number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions

Definition at line 71 of file pixfmt.h.

◆ AVColorPrimaries

Chromaticity coordinates of the source primaries.

These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.1 and ITU-T H.273.

Enumerator
AVCOL_PRI_RESERVED0 
AVCOL_PRI_BT709 

also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B

AVCOL_PRI_UNSPECIFIED 
AVCOL_PRI_RESERVED 
AVCOL_PRI_BT470M 

also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)

AVCOL_PRI_BT470BG 

also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM

AVCOL_PRI_SMPTE170M 

also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC

AVCOL_PRI_SMPTE240M 

identical to above, also called "SMPTE C" even though it uses D65

AVCOL_PRI_FILM 

colour filters using Illuminant C

AVCOL_PRI_BT2020 

ITU-R BT2020.

AVCOL_PRI_SMPTE428 

SMPTE ST 428-1 (CIE 1931 XYZ)

AVCOL_PRI_SMPTEST428_1 
AVCOL_PRI_SMPTE431 

SMPTE ST 431-2 (2011) / DCI P3.

AVCOL_PRI_SMPTE432 

SMPTE ST 432-1 (2010) / P3 D65 / Display P3.

AVCOL_PRI_EBU3213 

EBU Tech. 3213-E (nothing there) / one of JEDEC P22 group phosphors.

AVCOL_PRI_JEDEC_P22 
AVCOL_PRI_NB 

Not part of ABI.

Definition at line 555 of file pixfmt.h.

◆ AVColorTransferCharacteristic

Color Transfer Characteristic.

These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.2.

Enumerator
AVCOL_TRC_RESERVED0 
AVCOL_TRC_BT709 

also ITU-R BT1361

AVCOL_TRC_UNSPECIFIED 
AVCOL_TRC_RESERVED 
AVCOL_TRC_GAMMA22 

also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM

AVCOL_TRC_GAMMA28 

also ITU-R BT470BG

AVCOL_TRC_SMPTE170M 

also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC

AVCOL_TRC_SMPTE240M 
AVCOL_TRC_LINEAR 

"Linear transfer characteristics"

AVCOL_TRC_LOG 

"Logarithmic transfer characteristic (100:1 range)"

AVCOL_TRC_LOG_SQRT 

"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"

AVCOL_TRC_IEC61966_2_4 

IEC 61966-2-4.

AVCOL_TRC_BT1361_ECG 

ITU-R BT1361 Extended Colour Gamut.

AVCOL_TRC_IEC61966_2_1 

IEC 61966-2-1 (sRGB or sYCC)

AVCOL_TRC_BT2020_10 

ITU-R BT2020 for 10-bit system.

AVCOL_TRC_BT2020_12 

ITU-R BT2020 for 12-bit system.

AVCOL_TRC_SMPTE2084 

SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.

AVCOL_TRC_SMPTEST2084 
AVCOL_TRC_SMPTE428 

SMPTE ST 428-1.

AVCOL_TRC_SMPTEST428_1 
AVCOL_TRC_ARIB_STD_B67 

ARIB STD-B67, known as "Hybrid log-gamma".

AVCOL_TRC_NB 

Not part of ABI.

Definition at line 580 of file pixfmt.h.

◆ AVColorSpace

YUV colorspace type.

These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.3.

Enumerator
AVCOL_SPC_RGB 

order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB), YZX and ST 428-1

AVCOL_SPC_BT709 

also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B

AVCOL_SPC_UNSPECIFIED 
AVCOL_SPC_RESERVED 

reserved for future use by ITU-T and ISO/IEC just like 15-255 are

AVCOL_SPC_FCC 

FCC Title 47 Code of Federal Regulations 73.682 (a)(20)

AVCOL_SPC_BT470BG 

also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601

AVCOL_SPC_SMPTE170M 

also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above

AVCOL_SPC_SMPTE240M 

derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries

AVCOL_SPC_YCGCO 

used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16

AVCOL_SPC_YCOCG 
AVCOL_SPC_BT2020_NCL 

ITU-R BT2020 non-constant luminance system.

AVCOL_SPC_BT2020_CL 

ITU-R BT2020 constant luminance system.

AVCOL_SPC_SMPTE2085 

SMPTE 2085, Y'D'zD'x.

AVCOL_SPC_CHROMA_DERIVED_NCL 

Chromaticity-derived non-constant luminance system.

AVCOL_SPC_CHROMA_DERIVED_CL 

Chromaticity-derived constant luminance system.

AVCOL_SPC_ICTCP 

ITU-R BT.2100-0, ICtCp.

AVCOL_SPC_NB 

Not part of ABI.

Definition at line 609 of file pixfmt.h.

◆ AVColorRange

Visual content value range.

These values are based on definitions that can be found in multiple specifications, such as ITU-T BT.709 (3.4 - Quantization of RGB, luminance and colour-difference signals), ITU-T BT.2020 (Table 5 - Digital Representation) as well as ITU-T BT.2100 (Table 9 - Digital 10- and 12-bit integer representation). At the time of writing, the BT.2100 one is recommended, as it also defines the full range representation.

Common definitions:

  • For RGB and luma planes such as Y in YCbCr and I in ICtCp, 'E' is the original value in range of 0.0 to 1.0.
  • For chroma planes such as Cb,Cr and Ct,Cp, 'E' is the original value in range of -0.5 to 0.5.
  • 'n' is the output bit depth.
  • For additional definitions such as rounding and clipping to valid n bit unsigned integer range, please refer to BT.2100 (Table 9).
Enumerator
AVCOL_RANGE_UNSPECIFIED 
AVCOL_RANGE_MPEG 

Narrow or limited range content.

  • For luma planes:

    (219 * E + 16) * 2^(n-8)
    

    F.ex. the range of 16-235 for 8 bits

  • For chroma planes:

    (224 * E + 128) * 2^(n-8)
    

    F.ex. the range of 16-240 for 8 bits

AVCOL_RANGE_JPEG 

Full range content.

  • For RGB and luma planes:

    (2^n - 1) * E
    

    F.ex. the range of 0-255 for 8 bits

  • For chroma planes:

    (2^n - 1) * E + 2^(n - 1)
    

    F.ex. the range of 1-255 for 8 bits

AVCOL_RANGE_NB 

Not part of ABI.

Definition at line 648 of file pixfmt.h.

◆ AVChromaLocation

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

Enumerator
AVCHROMA_LOC_UNSPECIFIED 
AVCHROMA_LOC_LEFT 

MPEG-2/4 4:2:0, H.264 default for 4:2:0.

AVCHROMA_LOC_CENTER 

MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0.

AVCHROMA_LOC_TOPLEFT 

ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2.

AVCHROMA_LOC_TOP 
AVCHROMA_LOC_BOTTOMLEFT 
AVCHROMA_LOC_BOTTOM 
AVCHROMA_LOC_NB 

Not part of ABI.

Definition at line 702 of file pixfmt.h.