FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Data Structures | Macros | Enumerations | Functions
Core functions/structures.
Encoding/Decoding Library

Basic definitions, functions for querying libavcodec capabilities, allocating core structures, etc. More...

Modules

 AVPacket
 Types and functions for working with AVPacket.
 
 AVPicture
 Functions for working with AVPicture.
 

Data Structures

struct  AVCodecDescriptor
 This struct describes the properties of a single codec described by an AVCodecID. More...
 
struct  RcOverride
 
struct  AVPanScan
 Pan Scan area. More...
 
struct  AVCodecContext
 main external API structure. More...
 
struct  AVProfile
 AVProfile. More...
 
struct  AVCodec
 AVCodec. More...
 
struct  AVHWAccel
 AVHWAccel. More...
 
struct  AVSubtitleRect
 
struct  AVSubtitle
 

Macros

#define AV_CODEC_PROP_INTRA_ONLY   (1 << 0)
 Codec uses only intra compression.
 
#define AV_CODEC_PROP_LOSSY   (1 << 1)
 Codec supports lossy compression.
 
#define AV_CODEC_PROP_LOSSLESS   (1 << 2)
 Codec supports lossless compression.
 
#define AV_CODEC_PROP_BITMAP_SUB   (1 << 16)
 Subtitle codec is bitmap based Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field.
 
#define AV_CODEC_PROP_TEXT_SUB   (1 << 17)
 Subtitle codec is text based.
 
#define FF_MAX_B_FRAMES   16
 
#define CODEC_FLAG_UNALIGNED   0x0001
 Allow decoders to produce frames with data planes that are not aligned to CPU requirements (e.g.
 
#define CODEC_FLAG_QSCALE   0x0002
 Use fixed qscale.
 
#define CODEC_FLAG_4MV   0x0004
 4 MV per MB allowed / advanced prediction for H.263.
 
#define CODEC_FLAG_OUTPUT_CORRUPT   0x0008
 Output even those frames that might be corrupted.
 
#define CODEC_FLAG_QPEL   0x0010
 Use qpel MC.
 
#define CODEC_FLAG_GMC   0x0020
 Use GMC.
 
#define CODEC_FLAG_MV0   0x0040
 Always try a MB with MV=<0,0>.
 
#define CODEC_FLAG_INPUT_PRESERVED   0x0100
 The parent program guarantees that the input for B-frames containing streams is not written to for at least s->max_b_frames+1 frames, if this is not set the input will be copied.
 
#define CODEC_FLAG_PASS1   0x0200
 Use internal 2pass ratecontrol in first pass mode.
 
#define CODEC_FLAG_PASS2   0x0400
 Use internal 2pass ratecontrol in second pass mode.
 
#define CODEC_FLAG_GRAY   0x2000
 Only decode/encode grayscale.
 
#define CODEC_FLAG_EMU_EDGE   0x4000
 
#define CODEC_FLAG_PSNR   0x8000
 error[?] variables will be set during encoding.
 
#define CODEC_FLAG_TRUNCATED
 
#define CODEC_FLAG_NORMALIZE_AQP   0x00020000
 Normalize adaptive quantization.
 
#define CODEC_FLAG_INTERLACED_DCT   0x00040000
 Use interlaced DCT.
 
#define CODEC_FLAG_LOW_DELAY   0x00080000
 Force low delay.
 
#define CODEC_FLAG_GLOBAL_HEADER   0x00400000
 Place global headers in extradata instead of every keyframe.
 
#define CODEC_FLAG_BITEXACT   0x00800000
 Use only bitexact stuff (except (I)DCT).
 
#define CODEC_FLAG_AC_PRED   0x01000000
 H.263 advanced intra coding / MPEG-4 AC prediction.
 
#define CODEC_FLAG_LOOP_FILTER   0x00000800
 loop filter
 
#define CODEC_FLAG_INTERLACED_ME   0x20000000
 interlaced motion estimation
 
#define CODEC_FLAG_CLOSED_GOP   0x80000000
 
#define CODEC_FLAG2_FAST   0x00000001
 Allow non spec compliant speedup tricks.
 
#define CODEC_FLAG2_NO_OUTPUT   0x00000004
 Skip bitstream encoding.
 
#define CODEC_FLAG2_LOCAL_HEADER   0x00000008
 Place global headers at every keyframe instead of in extradata.
 
#define CODEC_FLAG2_DROP_FRAME_TIMECODE   0x00002000
 timecode is in drop frame format. DEPRECATED!!!!
 
#define CODEC_FLAG2_IGNORE_CROP   0x00010000
 Discard cropping information from SPS.
 
#define CODEC_FLAG2_CHUNKS   0x00008000
 Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries.
 
#define CODEC_FLAG2_SHOW_ALL   0x00400000
 Show all frames before the first keyframe.
 
#define CODEC_CAP_DRAW_HORIZ_BAND   0x0001
 Decoder can use draw_horiz_band callback.
 
#define CODEC_CAP_DR1   0x0002
 Codec uses get_buffer() for allocating buffers and supports custom allocators.
 
#define CODEC_CAP_TRUNCATED   0x0008
 
#define CODEC_CAP_HWACCEL   0x0010
 
#define CODEC_CAP_DELAY   0x0020
 Encoder or decoder requires flushing with NULL input at the end in order to give the complete and correct output.
 
#define CODEC_CAP_SMALL_LAST_FRAME   0x0040
 Codec can be fed a final frame with a smaller size.
 
#define CODEC_CAP_HWACCEL_VDPAU   0x0080
 Codec can export data for HW decoding (VDPAU).
 
#define CODEC_CAP_SUBFRAMES   0x0100
 Codec can output multiple frames per AVPacket Normally demuxers return one frame at a time, demuxers which do not do are connected to a parser to split what they return into proper frames.
 
#define CODEC_CAP_EXPERIMENTAL   0x0200
 Codec is experimental and is thus avoided in favor of non experimental encoders.
 
#define CODEC_CAP_CHANNEL_CONF   0x0400
 Codec should fill in channel configuration and samplerate instead of container.
 
#define CODEC_CAP_NEG_LINESIZES   0x0800
 
#define CODEC_CAP_FRAME_THREADS   0x1000
 Codec supports frame-level multithreading.
 
#define CODEC_CAP_SLICE_THREADS   0x2000
 Codec supports slice-based (or partition-based) multithreading.
 
#define CODEC_CAP_PARAM_CHANGE   0x4000
 Codec supports changed parameters at any point.
 
#define CODEC_CAP_AUTO_THREADS   0x8000
 Codec supports avctx->thread_count == 0 (auto).
 
#define CODEC_CAP_VARIABLE_FRAME_SIZE   0x10000
 Audio encoder supports receiving a different number of samples in each call.
 
#define CODEC_CAP_INTRA_ONLY   0x40000000
 Codec is intra only.
 
#define CODEC_CAP_LOSSLESS   0x80000000
 Codec is lossless.
 
#define MB_TYPE_INTRA4x4   0x0001
 
#define MB_TYPE_INTRA16x16   0x0002
 
#define MB_TYPE_INTRA_PCM   0x0004
 
#define MB_TYPE_16x16   0x0008
 
#define MB_TYPE_16x8   0x0010
 
#define MB_TYPE_8x16   0x0020
 
#define MB_TYPE_8x8   0x0040
 
#define MB_TYPE_INTERLACED   0x0080
 
#define MB_TYPE_DIRECT2   0x0100
 
#define MB_TYPE_ACPRED   0x0200
 
#define MB_TYPE_GMC   0x0400
 
#define MB_TYPE_SKIP   0x0800
 
#define MB_TYPE_P0L0   0x1000
 
#define MB_TYPE_P1L0   0x2000
 
#define MB_TYPE_P0L1   0x4000
 
#define MB_TYPE_P1L1   0x8000
 
#define MB_TYPE_L0   (MB_TYPE_P0L0 | MB_TYPE_P1L0)
 
#define MB_TYPE_L1   (MB_TYPE_P0L1 | MB_TYPE_P1L1)
 
#define MB_TYPE_L0L1   (MB_TYPE_L0 | MB_TYPE_L1)
 
#define MB_TYPE_QUANT   0x00010000
 
#define MB_TYPE_CBP   0x00020000
 
#define FF_QSCALE_TYPE_MPEG1   0
 
#define FF_QSCALE_TYPE_MPEG2   1
 
#define FF_QSCALE_TYPE_H264   2
 
#define FF_QSCALE_TYPE_VP56   3
 
#define FF_BUFFER_TYPE_INTERNAL   1
 
#define FF_BUFFER_TYPE_USER   2
 direct rendering buffers (image is (de)allocated by user)
 
#define FF_BUFFER_TYPE_SHARED   4
 Buffer from somewhere else; don't deallocate image (data/base), all other tables are not shared.
 
#define FF_BUFFER_TYPE_COPY   8
 Just a (modified) copy of some other buffer, don't deallocate anything.
 
#define FF_BUFFER_HINTS_VALID   0x01
 
#define FF_BUFFER_HINTS_READABLE   0x02
 
#define FF_BUFFER_HINTS_PRESERVE   0x04
 
#define FF_BUFFER_HINTS_REUSABLE   0x08
 
#define AV_GET_BUFFER_FLAG_REF   (1 << 0)
 The decoder will keep a reference to the frame and may reuse it later.
 
#define AV_SUBTITLE_FLAG_FORCED   0x00000001
 

Enumerations

enum  AVCodecID {
  AV_CODEC_ID_NONE, AV_CODEC_ID_MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_H261,
  AV_CODEC_ID_H263, AV_CODEC_ID_RV10, AV_CODEC_ID_RV20, AV_CODEC_ID_MJPEG,
  AV_CODEC_ID_MJPEGB, AV_CODEC_ID_LJPEG, AV_CODEC_ID_SP5X, AV_CODEC_ID_JPEGLS,
  AV_CODEC_ID_MPEG4, AV_CODEC_ID_RAWVIDEO, AV_CODEC_ID_MSMPEG4V1, AV_CODEC_ID_MSMPEG4V2,
  AV_CODEC_ID_MSMPEG4V3, AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2, AV_CODEC_ID_H263P,
  AV_CODEC_ID_H263I, AV_CODEC_ID_FLV1, AV_CODEC_ID_SVQ1, AV_CODEC_ID_SVQ3,
  AV_CODEC_ID_DVVIDEO, AV_CODEC_ID_HUFFYUV, AV_CODEC_ID_CYUV, AV_CODEC_ID_H264,
  AV_CODEC_ID_INDEO3, AV_CODEC_ID_VP3, AV_CODEC_ID_THEORA, AV_CODEC_ID_ASV1,
  AV_CODEC_ID_ASV2, AV_CODEC_ID_FFV1, AV_CODEC_ID_4XM, AV_CODEC_ID_VCR1,
  AV_CODEC_ID_CLJR, AV_CODEC_ID_MDEC, AV_CODEC_ID_ROQ, AV_CODEC_ID_INTERPLAY_VIDEO,
  AV_CODEC_ID_XAN_WC3, AV_CODEC_ID_XAN_WC4, AV_CODEC_ID_RPZA, AV_CODEC_ID_CINEPAK,
  AV_CODEC_ID_WS_VQA, AV_CODEC_ID_MSRLE, AV_CODEC_ID_MSVIDEO1, AV_CODEC_ID_IDCIN,
  AV_CODEC_ID_8BPS, AV_CODEC_ID_SMC, AV_CODEC_ID_FLIC, AV_CODEC_ID_TRUEMOTION1,
  AV_CODEC_ID_VMDVIDEO, AV_CODEC_ID_MSZH, AV_CODEC_ID_ZLIB, AV_CODEC_ID_QTRLE,
  AV_CODEC_ID_TSCC, AV_CODEC_ID_ULTI, AV_CODEC_ID_QDRAW, AV_CODEC_ID_VIXL,
  AV_CODEC_ID_QPEG, AV_CODEC_ID_PNG, AV_CODEC_ID_PPM, AV_CODEC_ID_PBM,
  AV_CODEC_ID_PGM, AV_CODEC_ID_PGMYUV, AV_CODEC_ID_PAM, AV_CODEC_ID_FFVHUFF,
  AV_CODEC_ID_RV30, AV_CODEC_ID_RV40, AV_CODEC_ID_VC1, AV_CODEC_ID_WMV3,
  AV_CODEC_ID_LOCO, AV_CODEC_ID_WNV1, AV_CODEC_ID_AASC, AV_CODEC_ID_INDEO2,
  AV_CODEC_ID_FRAPS, AV_CODEC_ID_TRUEMOTION2, AV_CODEC_ID_BMP, AV_CODEC_ID_CSCD,
  AV_CODEC_ID_MMVIDEO, AV_CODEC_ID_ZMBV, AV_CODEC_ID_AVS, AV_CODEC_ID_SMACKVIDEO,
  AV_CODEC_ID_NUV, AV_CODEC_ID_KMVC, AV_CODEC_ID_FLASHSV, AV_CODEC_ID_CAVS,
  AV_CODEC_ID_JPEG2000, AV_CODEC_ID_VMNC, AV_CODEC_ID_VP5, AV_CODEC_ID_VP6,
  AV_CODEC_ID_VP6F, AV_CODEC_ID_TARGA, AV_CODEC_ID_DSICINVIDEO, AV_CODEC_ID_TIERTEXSEQVIDEO,
  AV_CODEC_ID_TIFF, AV_CODEC_ID_GIF, AV_CODEC_ID_DXA, AV_CODEC_ID_DNXHD,
  AV_CODEC_ID_THP, AV_CODEC_ID_SGI, AV_CODEC_ID_C93, AV_CODEC_ID_BETHSOFTVID,
  AV_CODEC_ID_PTX, AV_CODEC_ID_TXD, AV_CODEC_ID_VP6A, AV_CODEC_ID_AMV,
  AV_CODEC_ID_VB, AV_CODEC_ID_PCX, AV_CODEC_ID_SUNRAST, AV_CODEC_ID_INDEO4,
  AV_CODEC_ID_INDEO5, AV_CODEC_ID_MIMIC, AV_CODEC_ID_RL2, AV_CODEC_ID_ESCAPE124,
  AV_CODEC_ID_DIRAC, AV_CODEC_ID_BFI, AV_CODEC_ID_CMV, AV_CODEC_ID_MOTIONPIXELS,
  AV_CODEC_ID_TGV, AV_CODEC_ID_TGQ, AV_CODEC_ID_TQI, AV_CODEC_ID_AURA,
  AV_CODEC_ID_AURA2, AV_CODEC_ID_V210X, AV_CODEC_ID_TMV, AV_CODEC_ID_V210,
  AV_CODEC_ID_DPX, AV_CODEC_ID_MAD, AV_CODEC_ID_FRWU, AV_CODEC_ID_FLASHSV2,
  AV_CODEC_ID_CDGRAPHICS, AV_CODEC_ID_R210, AV_CODEC_ID_ANM, AV_CODEC_ID_BINKVIDEO,
  AV_CODEC_ID_IFF_ILBM, AV_CODEC_ID_IFF_BYTERUN1, AV_CODEC_ID_KGV1, AV_CODEC_ID_YOP,
  AV_CODEC_ID_VP8, AV_CODEC_ID_PICTOR, AV_CODEC_ID_ANSI, AV_CODEC_ID_A64_MULTI,
  AV_CODEC_ID_A64_MULTI5, AV_CODEC_ID_R10K, AV_CODEC_ID_MXPEG, AV_CODEC_ID_LAGARITH,
  AV_CODEC_ID_PRORES, AV_CODEC_ID_JV, AV_CODEC_ID_DFA, AV_CODEC_ID_WMV3IMAGE,
  AV_CODEC_ID_VC1IMAGE, AV_CODEC_ID_UTVIDEO, AV_CODEC_ID_BMV_VIDEO, AV_CODEC_ID_VBLE,
  AV_CODEC_ID_DXTORY, AV_CODEC_ID_V410, AV_CODEC_ID_XWD, AV_CODEC_ID_CDXL,
  AV_CODEC_ID_XBM, AV_CODEC_ID_ZEROCODEC, AV_CODEC_ID_MSS1, AV_CODEC_ID_MSA1,
  AV_CODEC_ID_TSCC2, AV_CODEC_ID_MTS2, AV_CODEC_ID_CLLC, AV_CODEC_ID_MSS2,
  AV_CODEC_ID_VP9, AV_CODEC_ID_AIC, AV_CODEC_ID_ESCAPE130_DEPRECATED, AV_CODEC_ID_G2M_DEPRECATED,
  AV_CODEC_ID_WEBP_DEPRECATED, AV_CODEC_ID_HNM4_VIDEO, AV_CODEC_ID_HEVC_DEPRECATED, AV_CODEC_ID_FIC,
  AV_CODEC_ID_BRENDER_PIX = MKBETAG('B','P','I','X'), AV_CODEC_ID_Y41P = MKBETAG('Y','4','1','P'), AV_CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'), AV_CODEC_ID_EXR = MKBETAG('0','E','X','R'),
  AV_CODEC_ID_AVRP = MKBETAG('A','V','R','P'), AV_CODEC_ID_012V = MKBETAG('0','1','2','V'), AV_CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'), AV_CODEC_ID_AVUI = MKBETAG('A','V','U','I'),
  AV_CODEC_ID_AYUV = MKBETAG('A','Y','U','V'), AV_CODEC_ID_TARGA_Y216 = MKBETAG('T','2','1','6'), AV_CODEC_ID_V308 = MKBETAG('V','3','0','8'), AV_CODEC_ID_V408 = MKBETAG('V','4','0','8'),
  AV_CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'), AV_CODEC_ID_SANM = MKBETAG('S','A','N','M'), AV_CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'), AV_CODEC_ID_AVRN = MKBETAG('A','V','R','n'),
  AV_CODEC_ID_CPIA = MKBETAG('C','P','I','A'), AV_CODEC_ID_XFACE = MKBETAG('X','F','A','C'), AV_CODEC_ID_SGIRLE = MKBETAG('S','G','I','R'), AV_CODEC_ID_MVC1 = MKBETAG('M','V','C','1'),
  AV_CODEC_ID_MVC2 = MKBETAG('M','V','C','2'), AV_CODEC_ID_SNOW = MKBETAG('S','N','O','W'), AV_CODEC_ID_WEBP = MKBETAG('W','E','B','P'), AV_CODEC_ID_SMVJPEG = MKBETAG('S','M','V','J'),
  AV_CODEC_ID_HEVC = MKBETAG('H','2','6','5'), AV_CODEC_ID_FIRST_AUDIO = 0x10000, AV_CODEC_ID_PCM_S16LE = 0x10000, AV_CODEC_ID_PCM_S16BE,
  AV_CODEC_ID_PCM_U16LE, AV_CODEC_ID_PCM_U16BE, AV_CODEC_ID_PCM_S8, AV_CODEC_ID_PCM_U8,
  AV_CODEC_ID_PCM_MULAW, AV_CODEC_ID_PCM_ALAW, AV_CODEC_ID_PCM_S32LE, AV_CODEC_ID_PCM_S32BE,
  AV_CODEC_ID_PCM_U32LE, AV_CODEC_ID_PCM_U32BE, AV_CODEC_ID_PCM_S24LE, AV_CODEC_ID_PCM_S24BE,
  AV_CODEC_ID_PCM_U24LE, AV_CODEC_ID_PCM_U24BE, AV_CODEC_ID_PCM_S24DAUD, AV_CODEC_ID_PCM_ZORK,
  AV_CODEC_ID_PCM_S16LE_PLANAR, AV_CODEC_ID_PCM_DVD, AV_CODEC_ID_PCM_F32BE, AV_CODEC_ID_PCM_F32LE,
  AV_CODEC_ID_PCM_F64BE, AV_CODEC_ID_PCM_F64LE, AV_CODEC_ID_PCM_BLURAY, AV_CODEC_ID_PCM_LXF,
  AV_CODEC_ID_S302M, AV_CODEC_ID_PCM_S8_PLANAR, AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED, AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED,
  AV_CODEC_ID_PCM_S24LE_PLANAR = MKBETAG(24,'P','S','P'), AV_CODEC_ID_PCM_S32LE_PLANAR = MKBETAG(32,'P','S','P'), AV_CODEC_ID_PCM_S16BE_PLANAR = MKBETAG('P','S','P',16), AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,
  AV_CODEC_ID_ADPCM_IMA_WAV, AV_CODEC_ID_ADPCM_IMA_DK3, AV_CODEC_ID_ADPCM_IMA_DK4, AV_CODEC_ID_ADPCM_IMA_WS,
  AV_CODEC_ID_ADPCM_IMA_SMJPEG, AV_CODEC_ID_ADPCM_MS, AV_CODEC_ID_ADPCM_4XM, AV_CODEC_ID_ADPCM_XA,
  AV_CODEC_ID_ADPCM_ADX, AV_CODEC_ID_ADPCM_EA, AV_CODEC_ID_ADPCM_G726, AV_CODEC_ID_ADPCM_CT,
  AV_CODEC_ID_ADPCM_SWF, AV_CODEC_ID_ADPCM_YAMAHA, AV_CODEC_ID_ADPCM_SBPRO_4, AV_CODEC_ID_ADPCM_SBPRO_3,
  AV_CODEC_ID_ADPCM_SBPRO_2, AV_CODEC_ID_ADPCM_THP, AV_CODEC_ID_ADPCM_IMA_AMV, AV_CODEC_ID_ADPCM_EA_R1,
  AV_CODEC_ID_ADPCM_EA_R3, AV_CODEC_ID_ADPCM_EA_R2, AV_CODEC_ID_ADPCM_IMA_EA_SEAD, AV_CODEC_ID_ADPCM_IMA_EA_EACS,
  AV_CODEC_ID_ADPCM_EA_XAS, AV_CODEC_ID_ADPCM_EA_MAXIS_XA, AV_CODEC_ID_ADPCM_IMA_ISS, AV_CODEC_ID_ADPCM_G722,
  AV_CODEC_ID_ADPCM_IMA_APC, AV_CODEC_ID_VIMA = MKBETAG('V','I','M','A'), AV_CODEC_ID_ADPCM_AFC = MKBETAG('A','F','C',' '), AV_CODEC_ID_ADPCM_IMA_OKI = MKBETAG('O','K','I',' '),
  AV_CODEC_ID_ADPCM_DTK = MKBETAG('D','T','K',' '), AV_CODEC_ID_ADPCM_IMA_RAD = MKBETAG('R','A','D',' '), AV_CODEC_ID_ADPCM_G726LE = MKBETAG('6','2','7','G'), AV_CODEC_ID_AMR_NB = 0x12000,
  AV_CODEC_ID_AMR_WB, AV_CODEC_ID_RA_144 = 0x13000, AV_CODEC_ID_RA_288, AV_CODEC_ID_ROQ_DPCM = 0x14000,
  AV_CODEC_ID_INTERPLAY_DPCM, AV_CODEC_ID_XAN_DPCM, AV_CODEC_ID_SOL_DPCM, AV_CODEC_ID_MP2 = 0x15000,
  AV_CODEC_ID_MP3, AV_CODEC_ID_AAC, AV_CODEC_ID_AC3, AV_CODEC_ID_DTS,
  AV_CODEC_ID_VORBIS, AV_CODEC_ID_DVAUDIO, AV_CODEC_ID_WMAV1, AV_CODEC_ID_WMAV2,
  AV_CODEC_ID_MACE3, AV_CODEC_ID_MACE6, AV_CODEC_ID_VMDAUDIO, AV_CODEC_ID_FLAC,
  AV_CODEC_ID_MP3ADU, AV_CODEC_ID_MP3ON4, AV_CODEC_ID_SHORTEN, AV_CODEC_ID_ALAC,
  AV_CODEC_ID_WESTWOOD_SND1, AV_CODEC_ID_GSM, AV_CODEC_ID_QDM2, AV_CODEC_ID_COOK,
  AV_CODEC_ID_TRUESPEECH, AV_CODEC_ID_TTA, AV_CODEC_ID_SMACKAUDIO, AV_CODEC_ID_QCELP,
  AV_CODEC_ID_WAVPACK, AV_CODEC_ID_DSICINAUDIO, AV_CODEC_ID_IMC, AV_CODEC_ID_MUSEPACK7,
  AV_CODEC_ID_MLP, AV_CODEC_ID_GSM_MS, AV_CODEC_ID_ATRAC3, AV_CODEC_ID_VOXWARE,
  AV_CODEC_ID_APE, AV_CODEC_ID_NELLYMOSER, AV_CODEC_ID_MUSEPACK8, AV_CODEC_ID_SPEEX,
  AV_CODEC_ID_WMAVOICE, AV_CODEC_ID_WMAPRO, AV_CODEC_ID_WMALOSSLESS, AV_CODEC_ID_ATRAC3P,
  AV_CODEC_ID_EAC3, AV_CODEC_ID_SIPR, AV_CODEC_ID_MP1, AV_CODEC_ID_TWINVQ,
  AV_CODEC_ID_TRUEHD, AV_CODEC_ID_MP4ALS, AV_CODEC_ID_ATRAC1, AV_CODEC_ID_BINKAUDIO_RDFT,
  AV_CODEC_ID_BINKAUDIO_DCT, AV_CODEC_ID_AAC_LATM, AV_CODEC_ID_QDMC, AV_CODEC_ID_CELT,
  AV_CODEC_ID_G723_1, AV_CODEC_ID_G729, AV_CODEC_ID_8SVX_EXP, AV_CODEC_ID_8SVX_FIB,
  AV_CODEC_ID_BMV_AUDIO, AV_CODEC_ID_RALF, AV_CODEC_ID_IAC, AV_CODEC_ID_ILBC,
  AV_CODEC_ID_OPUS_DEPRECATED, AV_CODEC_ID_COMFORT_NOISE, AV_CODEC_ID_TAK_DEPRECATED, AV_CODEC_ID_METASOUND,
  AV_CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'), AV_CODEC_ID_SONIC = MKBETAG('S','O','N','C'), AV_CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'), AV_CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'),
  AV_CODEC_ID_OPUS = MKBETAG('O','P','U','S'), AV_CODEC_ID_TAK = MKBETAG('t','B','a','K'), AV_CODEC_ID_EVRC = MKBETAG('s','e','v','c'), AV_CODEC_ID_SMV = MKBETAG('s','s','m','v'),
  AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, AV_CODEC_ID_DVD_SUBTITLE = 0x17000, AV_CODEC_ID_DVB_SUBTITLE, AV_CODEC_ID_TEXT,
  AV_CODEC_ID_XSUB, AV_CODEC_ID_SSA, AV_CODEC_ID_MOV_TEXT, AV_CODEC_ID_HDMV_PGS_SUBTITLE,
  AV_CODEC_ID_DVB_TELETEXT, AV_CODEC_ID_SRT, AV_CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'), AV_CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'),
  AV_CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'), AV_CODEC_ID_SAMI = MKBETAG('S','A','M','I'), AV_CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'), AV_CODEC_ID_SUBVIEWER1 = MKBETAG('S','b','V','1'),
  AV_CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'), AV_CODEC_ID_SUBRIP = MKBETAG('S','R','i','p'), AV_CODEC_ID_WEBVTT = MKBETAG('W','V','T','T'), AV_CODEC_ID_MPL2 = MKBETAG('M','P','L','2'),
  AV_CODEC_ID_VPLAYER = MKBETAG('V','P','l','r'), AV_CODEC_ID_PJS = MKBETAG('P','h','J','S'), AV_CODEC_ID_ASS = MKBETAG('A','S','S',' '), AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,
  AV_CODEC_ID_TTF = 0x18000, AV_CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'), AV_CODEC_ID_XBIN = MKBETAG('X','B','I','N'), AV_CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
  AV_CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'), AV_CODEC_ID_SMPTE_KLV = MKBETAG('K','L','V','A'), AV_CODEC_ID_DVD_NAV = MKBETAG('D','N','A','V'), AV_CODEC_ID_TIMED_ID3 = MKBETAG('T','I','D','3'),
  AV_CODEC_ID_PROBE = 0x19000, AV_CODEC_ID_MPEG2TS = 0x20000, AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, AV_CODEC_ID_FFMETADATA = 0x21000,
  AVMEDIA_TYPE_UNKNOWN = -1, AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA,
  AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT, AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I,
  AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI,
  AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI, AV_CLASS_CATEGORY_NA = 0, AV_CLASS_CATEGORY_INPUT,
  AV_CLASS_CATEGORY_OUTPUT, AV_CLASS_CATEGORY_MUXER, AV_CLASS_CATEGORY_DEMUXER, AV_CLASS_CATEGORY_ENCODER,
  AV_CLASS_CATEGORY_DECODER, AV_CLASS_CATEGORY_FILTER, AV_CLASS_CATEGORY_BITSTREAM_FILTER, AV_CLASS_CATEGORY_SWSCALER,
  AV_CLASS_CATEGORY_SWRESAMPLER, AV_CLASS_CATEGORY_NB, 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_XVMC_MPEG2_MC, AV_PIX_FMT_XVMC_MPEG2_IDCT,
  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_VDPAU_H264,
  AV_PIX_FMT_VDPAU_MPEG1, AV_PIX_FMT_VDPAU_MPEG2, AV_PIX_FMT_VDPAU_WMV3, AV_PIX_FMT_VDPAU_VC1,
  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_MOCO, AV_PIX_FMT_VAAPI_IDCT,
  AV_PIX_FMT_VAAPI_VLD, 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_VDPAU_MPEG4,
  AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGB444LE, AV_PIX_FMT_RGB444BE, AV_PIX_FMT_BGR444LE,
  AV_PIX_FMT_BGR444BE, AV_PIX_FMT_GRAY8A, 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_VDA_VLD, 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_LIBAV, AV_PIX_FMT_YUVA444P_LIBAV, 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 =0x123, AV_PIX_FMT_RGBA64LE,
  AV_PIX_FMT_BGRA64BE, AV_PIX_FMT_BGRA64LE, AV_PIX_FMT_0RGB =0x123+4, AV_PIX_FMT_RGB0,
  AV_PIX_FMT_0BGR, AV_PIX_FMT_BGR0, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P,
  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_GBRAP, AV_PIX_FMT_GBRAP16BE, AV_PIX_FMT_GBRAP16LE, 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_NB, PIX_FMT_NONE = AV_PIX_FMT_NONE, PIX_FMT_YUV420P, PIX_FMT_YUYV422,
  PIX_FMT_RGB24, PIX_FMT_BGR24, PIX_FMT_YUV422P, PIX_FMT_YUV444P,
  PIX_FMT_YUV410P, PIX_FMT_YUV411P, PIX_FMT_GRAY8, PIX_FMT_MONOWHITE,
  PIX_FMT_MONOBLACK, PIX_FMT_PAL8, PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P,
  PIX_FMT_YUVJ444P, PIX_FMT_XVMC_MPEG2_MC, PIX_FMT_XVMC_MPEG2_IDCT, PIX_FMT_UYVY422,
  PIX_FMT_UYYVYY411, PIX_FMT_BGR8, PIX_FMT_BGR4, PIX_FMT_BGR4_BYTE,
  PIX_FMT_RGB8, PIX_FMT_RGB4, PIX_FMT_RGB4_BYTE, PIX_FMT_NV12,
  PIX_FMT_NV21, PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
  PIX_FMT_BGRA, PIX_FMT_GRAY16BE, PIX_FMT_GRAY16LE, PIX_FMT_YUV440P,
  PIX_FMT_YUVJ440P, PIX_FMT_YUVA420P, PIX_FMT_VDPAU_H264, PIX_FMT_VDPAU_MPEG1,
  PIX_FMT_VDPAU_MPEG2, PIX_FMT_VDPAU_WMV3, PIX_FMT_VDPAU_VC1, PIX_FMT_RGB48BE,
  PIX_FMT_RGB48LE, PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE,
  PIX_FMT_RGB555LE, PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE,
  PIX_FMT_BGR555LE, PIX_FMT_VAAPI_MOCO, PIX_FMT_VAAPI_IDCT, PIX_FMT_VAAPI_VLD,
  PIX_FMT_YUV420P16LE, PIX_FMT_YUV420P16BE, PIX_FMT_YUV422P16LE, PIX_FMT_YUV422P16BE,
  PIX_FMT_YUV444P16LE, PIX_FMT_YUV444P16BE, PIX_FMT_VDPAU_MPEG4, PIX_FMT_DXVA2_VLD,
  PIX_FMT_RGB444LE, PIX_FMT_RGB444BE, PIX_FMT_BGR444LE, PIX_FMT_BGR444BE,
  PIX_FMT_GRAY8A, PIX_FMT_BGR48BE, PIX_FMT_BGR48LE, PIX_FMT_YUV420P9BE,
  PIX_FMT_YUV420P9LE, PIX_FMT_YUV420P10BE, PIX_FMT_YUV420P10LE, PIX_FMT_YUV422P10BE,
  PIX_FMT_YUV422P10LE, PIX_FMT_YUV444P9BE, PIX_FMT_YUV444P9LE, PIX_FMT_YUV444P10BE,
  PIX_FMT_YUV444P10LE, PIX_FMT_YUV422P9BE, PIX_FMT_YUV422P9LE, PIX_FMT_VDA_VLD,
  PIX_FMT_GBRP, PIX_FMT_GBRP9BE, PIX_FMT_GBRP9LE, PIX_FMT_GBRP10BE,
  PIX_FMT_GBRP10LE, PIX_FMT_GBRP16BE, PIX_FMT_GBRP16LE, PIX_FMT_RGBA64BE =0x123,
  PIX_FMT_RGBA64LE, PIX_FMT_BGRA64BE, PIX_FMT_BGRA64LE, PIX_FMT_0RGB =0x123+4,
  PIX_FMT_RGB0, PIX_FMT_0BGR, PIX_FMT_BGR0, PIX_FMT_YUVA444P,
  PIX_FMT_YUVA422P, PIX_FMT_YUV420P12BE, PIX_FMT_YUV420P12LE, PIX_FMT_YUV420P14BE,
  PIX_FMT_YUV420P14LE, PIX_FMT_YUV422P12BE, PIX_FMT_YUV422P12LE, PIX_FMT_YUV422P14BE,
  PIX_FMT_YUV422P14LE, PIX_FMT_YUV444P12BE, PIX_FMT_YUV444P12LE, PIX_FMT_YUV444P14BE,
  PIX_FMT_YUV444P14LE, PIX_FMT_GBRP12BE, PIX_FMT_GBRP12LE, PIX_FMT_GBRP14BE,
  PIX_FMT_GBRP14LE, PIX_FMT_NB, AVMEDIA_TYPE_UNKNOWN = -1, AVMEDIA_TYPE_VIDEO,
  AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA, AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT,
  AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B,
  AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI, AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI,
  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_XVMC_MPEG2_MC, AV_PIX_FMT_XVMC_MPEG2_IDCT, 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_VDPAU_H264, AV_PIX_FMT_VDPAU_MPEG1, AV_PIX_FMT_VDPAU_MPEG2,
  AV_PIX_FMT_VDPAU_WMV3, AV_PIX_FMT_VDPAU_VC1, 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_MOCO, AV_PIX_FMT_VAAPI_IDCT, AV_PIX_FMT_VAAPI_VLD, 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_VDPAU_MPEG4, AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGB444LE,
  AV_PIX_FMT_RGB444BE, AV_PIX_FMT_BGR444LE, AV_PIX_FMT_BGR444BE, AV_PIX_FMT_GRAY8A,
  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_VDA_VLD, 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_LIBAV, AV_PIX_FMT_YUVA444P_LIBAV,
  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 =0x123, AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_BGRA64BE, AV_PIX_FMT_BGRA64LE,
  AV_PIX_FMT_0RGB =0x123+4, AV_PIX_FMT_RGB0, AV_PIX_FMT_0BGR, AV_PIX_FMT_BGR0,
  AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, 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_GBRAP, AV_PIX_FMT_GBRAP16BE,
  AV_PIX_FMT_GBRAP16LE, 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_NB, PIX_FMT_NONE = AV_PIX_FMT_NONE,
  PIX_FMT_YUV420P, PIX_FMT_YUYV422, PIX_FMT_RGB24, PIX_FMT_BGR24,
  PIX_FMT_YUV422P, PIX_FMT_YUV444P, PIX_FMT_YUV410P, PIX_FMT_YUV411P,
  PIX_FMT_GRAY8, PIX_FMT_MONOWHITE, PIX_FMT_MONOBLACK, PIX_FMT_PAL8,
  PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_XVMC_MPEG2_MC,
  PIX_FMT_XVMC_MPEG2_IDCT, PIX_FMT_UYVY422, PIX_FMT_UYYVYY411, PIX_FMT_BGR8,
  PIX_FMT_BGR4, PIX_FMT_BGR4_BYTE, PIX_FMT_RGB8, PIX_FMT_RGB4,
  PIX_FMT_RGB4_BYTE, PIX_FMT_NV12, PIX_FMT_NV21, PIX_FMT_ARGB,
  PIX_FMT_RGBA, PIX_FMT_ABGR, PIX_FMT_BGRA, PIX_FMT_GRAY16BE,
  PIX_FMT_GRAY16LE, PIX_FMT_YUV440P, PIX_FMT_YUVJ440P, PIX_FMT_YUVA420P,
  PIX_FMT_VDPAU_H264, PIX_FMT_VDPAU_MPEG1, PIX_FMT_VDPAU_MPEG2, PIX_FMT_VDPAU_WMV3,
  PIX_FMT_VDPAU_VC1, PIX_FMT_RGB48BE, PIX_FMT_RGB48LE, PIX_FMT_RGB565BE,
  PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE, PIX_FMT_BGR565BE,
  PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE, PIX_FMT_VAAPI_MOCO,
  PIX_FMT_VAAPI_IDCT, PIX_FMT_VAAPI_VLD, PIX_FMT_YUV420P16LE, PIX_FMT_YUV420P16BE,
  PIX_FMT_YUV422P16LE, PIX_FMT_YUV422P16BE, PIX_FMT_YUV444P16LE, PIX_FMT_YUV444P16BE,
  PIX_FMT_VDPAU_MPEG4, PIX_FMT_DXVA2_VLD, PIX_FMT_RGB444LE, PIX_FMT_RGB444BE,
  PIX_FMT_BGR444LE, PIX_FMT_BGR444BE, PIX_FMT_GRAY8A, PIX_FMT_BGR48BE,
  PIX_FMT_BGR48LE, PIX_FMT_YUV420P9BE, PIX_FMT_YUV420P9LE, PIX_FMT_YUV420P10BE,
  PIX_FMT_YUV420P10LE, PIX_FMT_YUV422P10BE, PIX_FMT_YUV422P10LE, PIX_FMT_YUV444P9BE,
  PIX_FMT_YUV444P9LE, PIX_FMT_YUV444P10BE, PIX_FMT_YUV444P10LE, PIX_FMT_YUV422P9BE,
  PIX_FMT_YUV422P9LE, PIX_FMT_VDA_VLD, PIX_FMT_GBRP, PIX_FMT_GBRP9BE,
  PIX_FMT_GBRP9LE, PIX_FMT_GBRP10BE, PIX_FMT_GBRP10LE, PIX_FMT_GBRP16BE,
  PIX_FMT_GBRP16LE, PIX_FMT_RGBA64BE =0x123, PIX_FMT_RGBA64LE, PIX_FMT_BGRA64BE,
  PIX_FMT_BGRA64LE, PIX_FMT_0RGB =0x123+4, PIX_FMT_RGB0, PIX_FMT_0BGR,
  PIX_FMT_BGR0, PIX_FMT_YUVA444P, PIX_FMT_YUVA422P, PIX_FMT_YUV420P12BE,
  PIX_FMT_YUV420P12LE, PIX_FMT_YUV420P14BE, PIX_FMT_YUV420P14LE, PIX_FMT_YUV422P12BE,
  PIX_FMT_YUV422P12LE, PIX_FMT_YUV422P14BE, PIX_FMT_YUV422P14LE, PIX_FMT_YUV444P12BE,
  PIX_FMT_YUV444P12LE, PIX_FMT_YUV444P14BE, PIX_FMT_YUV444P14LE, PIX_FMT_GBRP12BE,
  PIX_FMT_GBRP12LE, PIX_FMT_GBRP14BE, PIX_FMT_GBRP14LE, PIX_FMT_NB,
  AV_CLASS_CATEGORY_NA = 0, AV_CLASS_CATEGORY_INPUT, AV_CLASS_CATEGORY_OUTPUT, AV_CLASS_CATEGORY_MUXER,
  AV_CLASS_CATEGORY_DEMUXER, AV_CLASS_CATEGORY_ENCODER, AV_CLASS_CATEGORY_DECODER, AV_CLASS_CATEGORY_FILTER,
  AV_CLASS_CATEGORY_BITSTREAM_FILTER, AV_CLASS_CATEGORY_SWSCALER, AV_CLASS_CATEGORY_SWRESAMPLER, AV_CLASS_CATEGORY_NB,
  AVMEDIA_TYPE_UNKNOWN = -1, AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA,
  AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT, AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I,
  AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI,
  AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI, AV_CLASS_CATEGORY_NA = 0, AV_CLASS_CATEGORY_INPUT,
  AV_CLASS_CATEGORY_OUTPUT, AV_CLASS_CATEGORY_MUXER, AV_CLASS_CATEGORY_DEMUXER, AV_CLASS_CATEGORY_ENCODER,
  AV_CLASS_CATEGORY_DECODER, AV_CLASS_CATEGORY_FILTER, AV_CLASS_CATEGORY_BITSTREAM_FILTER, AV_CLASS_CATEGORY_SWSCALER,
  AV_CLASS_CATEGORY_SWRESAMPLER, AV_CLASS_CATEGORY_NB, 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_XVMC_MPEG2_MC, AV_PIX_FMT_XVMC_MPEG2_IDCT,
  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_VDPAU_H264,
  AV_PIX_FMT_VDPAU_MPEG1, AV_PIX_FMT_VDPAU_MPEG2, AV_PIX_FMT_VDPAU_WMV3, AV_PIX_FMT_VDPAU_VC1,
  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_MOCO, AV_PIX_FMT_VAAPI_IDCT,
  AV_PIX_FMT_VAAPI_VLD, 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_VDPAU_MPEG4,
  AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGB444LE, AV_PIX_FMT_RGB444BE, AV_PIX_FMT_BGR444LE,
  AV_PIX_FMT_BGR444BE, AV_PIX_FMT_GRAY8A, 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_VDA_VLD, 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_LIBAV, AV_PIX_FMT_YUVA444P_LIBAV, 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 =0x123, AV_PIX_FMT_RGBA64LE,
  AV_PIX_FMT_BGRA64BE, AV_PIX_FMT_BGRA64LE, AV_PIX_FMT_0RGB =0x123+4, AV_PIX_FMT_RGB0,
  AV_PIX_FMT_0BGR, AV_PIX_FMT_BGR0, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P,
  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_GBRAP, AV_PIX_FMT_GBRAP16BE, AV_PIX_FMT_GBRAP16LE, 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_NB, PIX_FMT_NONE = AV_PIX_FMT_NONE, PIX_FMT_YUV420P, PIX_FMT_YUYV422,
  PIX_FMT_RGB24, PIX_FMT_BGR24, PIX_FMT_YUV422P, PIX_FMT_YUV444P,
  PIX_FMT_YUV410P, PIX_FMT_YUV411P, PIX_FMT_GRAY8, PIX_FMT_MONOWHITE,
  PIX_FMT_MONOBLACK, PIX_FMT_PAL8, PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P,
  PIX_FMT_YUVJ444P, PIX_FMT_XVMC_MPEG2_MC, PIX_FMT_XVMC_MPEG2_IDCT, PIX_FMT_UYVY422,
  PIX_FMT_UYYVYY411, PIX_FMT_BGR8, PIX_FMT_BGR4, PIX_FMT_BGR4_BYTE,
  PIX_FMT_RGB8, PIX_FMT_RGB4, PIX_FMT_RGB4_BYTE, PIX_FMT_NV12,
  PIX_FMT_NV21, PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
  PIX_FMT_BGRA, PIX_FMT_GRAY16BE, PIX_FMT_GRAY16LE, PIX_FMT_YUV440P,
  PIX_FMT_YUVJ440P, PIX_FMT_YUVA420P, PIX_FMT_VDPAU_H264, PIX_FMT_VDPAU_MPEG1,
  PIX_FMT_VDPAU_MPEG2, PIX_FMT_VDPAU_WMV3, PIX_FMT_VDPAU_VC1, PIX_FMT_RGB48BE,
  PIX_FMT_RGB48LE, PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE,
  PIX_FMT_RGB555LE, PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE,
  PIX_FMT_BGR555LE, PIX_FMT_VAAPI_MOCO, PIX_FMT_VAAPI_IDCT, PIX_FMT_VAAPI_VLD,
  PIX_FMT_YUV420P16LE, PIX_FMT_YUV420P16BE, PIX_FMT_YUV422P16LE, PIX_FMT_YUV422P16BE,
  PIX_FMT_YUV444P16LE, PIX_FMT_YUV444P16BE, PIX_FMT_VDPAU_MPEG4, PIX_FMT_DXVA2_VLD,
  PIX_FMT_RGB444LE, PIX_FMT_RGB444BE, PIX_FMT_BGR444LE, PIX_FMT_BGR444BE,
  PIX_FMT_GRAY8A, PIX_FMT_BGR48BE, PIX_FMT_BGR48LE, PIX_FMT_YUV420P9BE,
  PIX_FMT_YUV420P9LE, PIX_FMT_YUV420P10BE, PIX_FMT_YUV420P10LE, PIX_FMT_YUV422P10BE,
  PIX_FMT_YUV422P10LE, PIX_FMT_YUV444P9BE, PIX_FMT_YUV444P9LE, PIX_FMT_YUV444P10BE,
  PIX_FMT_YUV444P10LE, PIX_FMT_YUV422P9BE, PIX_FMT_YUV422P9LE, PIX_FMT_VDA_VLD,
  PIX_FMT_GBRP, PIX_FMT_GBRP9BE, PIX_FMT_GBRP9LE, PIX_FMT_GBRP10BE,
  PIX_FMT_GBRP10LE, PIX_FMT_GBRP16BE, PIX_FMT_GBRP16LE, PIX_FMT_RGBA64BE =0x123,
  PIX_FMT_RGBA64LE, PIX_FMT_BGRA64BE, PIX_FMT_BGRA64LE, PIX_FMT_0RGB =0x123+4,
  PIX_FMT_RGB0, PIX_FMT_0BGR, PIX_FMT_BGR0, PIX_FMT_YUVA444P,
  PIX_FMT_YUVA422P, PIX_FMT_YUV420P12BE, PIX_FMT_YUV420P12LE, PIX_FMT_YUV420P14BE,
  PIX_FMT_YUV420P14LE, PIX_FMT_YUV422P12BE, PIX_FMT_YUV422P12LE, PIX_FMT_YUV422P14BE,
  PIX_FMT_YUV422P14LE, PIX_FMT_YUV444P12BE, PIX_FMT_YUV444P12LE, PIX_FMT_YUV444P14BE,
  PIX_FMT_YUV444P14LE, PIX_FMT_GBRP12BE, PIX_FMT_GBRP12LE, PIX_FMT_GBRP14BE,
  PIX_FMT_GBRP14LE, PIX_FMT_NB, AVMEDIA_TYPE_UNKNOWN = -1, AVMEDIA_TYPE_VIDEO,
  AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA, AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT,
  AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B,
  AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI, AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI,
  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_XVMC_MPEG2_MC, AV_PIX_FMT_XVMC_MPEG2_IDCT, 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_VDPAU_H264, AV_PIX_FMT_VDPAU_MPEG1, AV_PIX_FMT_VDPAU_MPEG2,
  AV_PIX_FMT_VDPAU_WMV3, AV_PIX_FMT_VDPAU_VC1, 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_MOCO, AV_PIX_FMT_VAAPI_IDCT, AV_PIX_FMT_VAAPI_VLD, 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_VDPAU_MPEG4, AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGB444LE,
  AV_PIX_FMT_RGB444BE, AV_PIX_FMT_BGR444LE, AV_PIX_FMT_BGR444BE, AV_PIX_FMT_GRAY8A,
  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_VDA_VLD, 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_LIBAV, AV_PIX_FMT_YUVA444P_LIBAV,
  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 =0x123, AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_BGRA64BE, AV_PIX_FMT_BGRA64LE,
  AV_PIX_FMT_0RGB =0x123+4, AV_PIX_FMT_RGB0, AV_PIX_FMT_0BGR, AV_PIX_FMT_BGR0,
  AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, 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_GBRAP, AV_PIX_FMT_GBRAP16BE,
  AV_PIX_FMT_GBRAP16LE, 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_NB, PIX_FMT_NONE = AV_PIX_FMT_NONE,
  PIX_FMT_YUV420P, PIX_FMT_YUYV422, PIX_FMT_RGB24, PIX_FMT_BGR24,
  PIX_FMT_YUV422P, PIX_FMT_YUV444P, PIX_FMT_YUV410P, PIX_FMT_YUV411P,
  PIX_FMT_GRAY8, PIX_FMT_MONOWHITE, PIX_FMT_MONOBLACK, PIX_FMT_PAL8,
  PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_XVMC_MPEG2_MC,
  PIX_FMT_XVMC_MPEG2_IDCT, PIX_FMT_UYVY422, PIX_FMT_UYYVYY411, PIX_FMT_BGR8,
  PIX_FMT_BGR4, PIX_FMT_BGR4_BYTE, PIX_FMT_RGB8, PIX_FMT_RGB4,
  PIX_FMT_RGB4_BYTE, PIX_FMT_NV12, PIX_FMT_NV21, PIX_FMT_ARGB,
  PIX_FMT_RGBA, PIX_FMT_ABGR, PIX_FMT_BGRA, PIX_FMT_GRAY16BE,
  PIX_FMT_GRAY16LE, PIX_FMT_YUV440P, PIX_FMT_YUVJ440P, PIX_FMT_YUVA420P,
  PIX_FMT_VDPAU_H264, PIX_FMT_VDPAU_MPEG1, PIX_FMT_VDPAU_MPEG2, PIX_FMT_VDPAU_WMV3,
  PIX_FMT_VDPAU_VC1, PIX_FMT_RGB48BE, PIX_FMT_RGB48LE, PIX_FMT_RGB565BE,
  PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE, PIX_FMT_BGR565BE,
  PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE, PIX_FMT_VAAPI_MOCO,
  PIX_FMT_VAAPI_IDCT, PIX_FMT_VAAPI_VLD, PIX_FMT_YUV420P16LE, PIX_FMT_YUV420P16BE,
  PIX_FMT_YUV422P16LE, PIX_FMT_YUV422P16BE, PIX_FMT_YUV444P16LE, PIX_FMT_YUV444P16BE,
  PIX_FMT_VDPAU_MPEG4, PIX_FMT_DXVA2_VLD, PIX_FMT_RGB444LE, PIX_FMT_RGB444BE,
  PIX_FMT_BGR444LE, PIX_FMT_BGR444BE, PIX_FMT_GRAY8A, PIX_FMT_BGR48BE,
  PIX_FMT_BGR48LE, PIX_FMT_YUV420P9BE, PIX_FMT_YUV420P9LE, PIX_FMT_YUV420P10BE,
  PIX_FMT_YUV420P10LE, PIX_FMT_YUV422P10BE, PIX_FMT_YUV422P10LE, PIX_FMT_YUV444P9BE,
  PIX_FMT_YUV444P9LE, PIX_FMT_YUV444P10BE, PIX_FMT_YUV444P10LE, PIX_FMT_YUV422P9BE,
  PIX_FMT_YUV422P9LE, PIX_FMT_VDA_VLD, PIX_FMT_GBRP, PIX_FMT_GBRP9BE,
  PIX_FMT_GBRP9LE, PIX_FMT_GBRP10BE, PIX_FMT_GBRP10LE, PIX_FMT_GBRP16BE,
  PIX_FMT_GBRP16LE, PIX_FMT_RGBA64BE =0x123, PIX_FMT_RGBA64LE, PIX_FMT_BGRA64BE,
  PIX_FMT_BGRA64LE, PIX_FMT_0RGB =0x123+4, PIX_FMT_RGB0, PIX_FMT_0BGR,
  PIX_FMT_BGR0, PIX_FMT_YUVA444P, PIX_FMT_YUVA422P, PIX_FMT_YUV420P12BE,
  PIX_FMT_YUV420P12LE, PIX_FMT_YUV420P14BE, PIX_FMT_YUV420P14LE, PIX_FMT_YUV422P12BE,
  PIX_FMT_YUV422P12LE, PIX_FMT_YUV422P14BE, PIX_FMT_YUV422P14LE, PIX_FMT_YUV444P12BE,
  PIX_FMT_YUV444P12LE, PIX_FMT_YUV444P14BE, PIX_FMT_YUV444P14LE, PIX_FMT_GBRP12BE,
  PIX_FMT_GBRP12LE, PIX_FMT_GBRP14BE, PIX_FMT_GBRP14LE, PIX_FMT_NB,
  AV_CLASS_CATEGORY_NA = 0, AV_CLASS_CATEGORY_INPUT, AV_CLASS_CATEGORY_OUTPUT, AV_CLASS_CATEGORY_MUXER,
  AV_CLASS_CATEGORY_DEMUXER, AV_CLASS_CATEGORY_ENCODER, AV_CLASS_CATEGORY_DECODER, AV_CLASS_CATEGORY_FILTER,
  AV_CLASS_CATEGORY_BITSTREAM_FILTER, AV_CLASS_CATEGORY_SWSCALER, AV_CLASS_CATEGORY_SWRESAMPLER, AV_CLASS_CATEGORY_NB,
  CODEC_ID_NONE = AV_CODEC_ID_NONE, CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, CODEC_ID_MPEG2VIDEO_XVMC,
  CODEC_ID_H261, CODEC_ID_H263, CODEC_ID_RV10, CODEC_ID_RV20,
  CODEC_ID_MJPEG, CODEC_ID_MJPEGB, CODEC_ID_LJPEG, CODEC_ID_SP5X,
  CODEC_ID_JPEGLS, CODEC_ID_MPEG4, CODEC_ID_RAWVIDEO, CODEC_ID_MSMPEG4V1,
  CODEC_ID_MSMPEG4V2, CODEC_ID_MSMPEG4V3, CODEC_ID_WMV1, CODEC_ID_WMV2,
  CODEC_ID_H263P, CODEC_ID_H263I, CODEC_ID_FLV1, CODEC_ID_SVQ1,
  CODEC_ID_SVQ3, CODEC_ID_DVVIDEO, CODEC_ID_HUFFYUV, CODEC_ID_CYUV,
  CODEC_ID_H264, CODEC_ID_INDEO3, CODEC_ID_VP3, CODEC_ID_THEORA,
  CODEC_ID_ASV1, CODEC_ID_ASV2, CODEC_ID_FFV1, CODEC_ID_4XM,
  CODEC_ID_VCR1, CODEC_ID_CLJR, CODEC_ID_MDEC, CODEC_ID_ROQ,
  CODEC_ID_INTERPLAY_VIDEO, CODEC_ID_XAN_WC3, CODEC_ID_XAN_WC4, CODEC_ID_RPZA,
  CODEC_ID_CINEPAK, CODEC_ID_WS_VQA, CODEC_ID_MSRLE, CODEC_ID_MSVIDEO1,
  CODEC_ID_IDCIN, CODEC_ID_8BPS, CODEC_ID_SMC, CODEC_ID_FLIC,
  CODEC_ID_TRUEMOTION1, CODEC_ID_VMDVIDEO, CODEC_ID_MSZH, CODEC_ID_ZLIB,
  CODEC_ID_QTRLE, CODEC_ID_TSCC, CODEC_ID_ULTI, CODEC_ID_QDRAW,
  CODEC_ID_VIXL, CODEC_ID_QPEG, CODEC_ID_PNG, CODEC_ID_PPM,
  CODEC_ID_PBM, CODEC_ID_PGM, CODEC_ID_PGMYUV, CODEC_ID_PAM,
  CODEC_ID_FFVHUFF, CODEC_ID_RV30, CODEC_ID_RV40, CODEC_ID_VC1,
  CODEC_ID_WMV3, CODEC_ID_LOCO, CODEC_ID_WNV1, CODEC_ID_AASC,
  CODEC_ID_INDEO2, CODEC_ID_FRAPS, CODEC_ID_TRUEMOTION2, CODEC_ID_BMP,
  CODEC_ID_CSCD, CODEC_ID_MMVIDEO, CODEC_ID_ZMBV, CODEC_ID_AVS,
  CODEC_ID_SMACKVIDEO, CODEC_ID_NUV, CODEC_ID_KMVC, CODEC_ID_FLASHSV,
  CODEC_ID_CAVS, CODEC_ID_JPEG2000, CODEC_ID_VMNC, CODEC_ID_VP5,
  CODEC_ID_VP6, CODEC_ID_VP6F, CODEC_ID_TARGA, CODEC_ID_DSICINVIDEO,
  CODEC_ID_TIERTEXSEQVIDEO, CODEC_ID_TIFF, CODEC_ID_GIF, CODEC_ID_DXA,
  CODEC_ID_DNXHD, CODEC_ID_THP, CODEC_ID_SGI, CODEC_ID_C93,
  CODEC_ID_BETHSOFTVID, CODEC_ID_PTX, CODEC_ID_TXD, CODEC_ID_VP6A,
  CODEC_ID_AMV, CODEC_ID_VB, CODEC_ID_PCX, CODEC_ID_SUNRAST,
  CODEC_ID_INDEO4, CODEC_ID_INDEO5, CODEC_ID_MIMIC, CODEC_ID_RL2,
  CODEC_ID_ESCAPE124, CODEC_ID_DIRAC, CODEC_ID_BFI, CODEC_ID_CMV,
  CODEC_ID_MOTIONPIXELS, CODEC_ID_TGV, CODEC_ID_TGQ, CODEC_ID_TQI,
  CODEC_ID_AURA, CODEC_ID_AURA2, CODEC_ID_V210X, CODEC_ID_TMV,
  CODEC_ID_V210, CODEC_ID_DPX, CODEC_ID_MAD, CODEC_ID_FRWU,
  CODEC_ID_FLASHSV2, CODEC_ID_CDGRAPHICS, CODEC_ID_R210, CODEC_ID_ANM,
  CODEC_ID_BINKVIDEO, CODEC_ID_IFF_ILBM, CODEC_ID_IFF_BYTERUN1, CODEC_ID_KGV1,
  CODEC_ID_YOP, CODEC_ID_VP8, CODEC_ID_PICTOR, CODEC_ID_ANSI,
  CODEC_ID_A64_MULTI, CODEC_ID_A64_MULTI5, CODEC_ID_R10K, CODEC_ID_MXPEG,
  CODEC_ID_LAGARITH, CODEC_ID_PRORES, CODEC_ID_JV, CODEC_ID_DFA,
  CODEC_ID_WMV3IMAGE, CODEC_ID_VC1IMAGE, CODEC_ID_UTVIDEO, CODEC_ID_BMV_VIDEO,
  CODEC_ID_VBLE, CODEC_ID_DXTORY, CODEC_ID_V410, CODEC_ID_XWD,
  CODEC_ID_CDXL, CODEC_ID_XBM, CODEC_ID_ZEROCODEC, CODEC_ID_MSS1,
  CODEC_ID_MSA1, CODEC_ID_TSCC2, CODEC_ID_MTS2, CODEC_ID_CLLC,
  CODEC_ID_Y41P = MKBETAG('Y','4','1','P'), CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'), CODEC_ID_EXR = MKBETAG('0','E','X','R'), CODEC_ID_AVRP = MKBETAG('A','V','R','P'),
  CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'), CODEC_ID_AVUI = MKBETAG('A','V','U','I'), CODEC_ID_AYUV = MKBETAG('A','Y','U','V'), CODEC_ID_V308 = MKBETAG('V','3','0','8'),
  CODEC_ID_V408 = MKBETAG('V','4','0','8'), CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'), CODEC_ID_SANM = MKBETAG('S','A','N','M'), CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'),
  CODEC_ID_SNOW = AV_CODEC_ID_SNOW, CODEC_ID_FIRST_AUDIO = 0x10000, CODEC_ID_PCM_S16LE = 0x10000, CODEC_ID_PCM_S16BE,
  CODEC_ID_PCM_U16LE, CODEC_ID_PCM_U16BE, CODEC_ID_PCM_S8, CODEC_ID_PCM_U8,
  CODEC_ID_PCM_MULAW, CODEC_ID_PCM_ALAW, CODEC_ID_PCM_S32LE, CODEC_ID_PCM_S32BE,
  CODEC_ID_PCM_U32LE, CODEC_ID_PCM_U32BE, CODEC_ID_PCM_S24LE, CODEC_ID_PCM_S24BE,
  CODEC_ID_PCM_U24LE, CODEC_ID_PCM_U24BE, CODEC_ID_PCM_S24DAUD, CODEC_ID_PCM_ZORK,
  CODEC_ID_PCM_S16LE_PLANAR, CODEC_ID_PCM_DVD, CODEC_ID_PCM_F32BE, CODEC_ID_PCM_F32LE,
  CODEC_ID_PCM_F64BE, CODEC_ID_PCM_F64LE, CODEC_ID_PCM_BLURAY, CODEC_ID_PCM_LXF,
  CODEC_ID_S302M, CODEC_ID_PCM_S8_PLANAR, CODEC_ID_ADPCM_IMA_QT = 0x11000, CODEC_ID_ADPCM_IMA_WAV,
  CODEC_ID_ADPCM_IMA_DK3, CODEC_ID_ADPCM_IMA_DK4, CODEC_ID_ADPCM_IMA_WS, CODEC_ID_ADPCM_IMA_SMJPEG,
  CODEC_ID_ADPCM_MS, CODEC_ID_ADPCM_4XM, CODEC_ID_ADPCM_XA, CODEC_ID_ADPCM_ADX,
  CODEC_ID_ADPCM_EA, CODEC_ID_ADPCM_G726, CODEC_ID_ADPCM_CT, CODEC_ID_ADPCM_SWF,
  CODEC_ID_ADPCM_YAMAHA, CODEC_ID_ADPCM_SBPRO_4, CODEC_ID_ADPCM_SBPRO_3, CODEC_ID_ADPCM_SBPRO_2,
  CODEC_ID_ADPCM_THP, CODEC_ID_ADPCM_IMA_AMV, CODEC_ID_ADPCM_EA_R1, CODEC_ID_ADPCM_EA_R3,
  CODEC_ID_ADPCM_EA_R2, CODEC_ID_ADPCM_IMA_EA_SEAD, CODEC_ID_ADPCM_IMA_EA_EACS, CODEC_ID_ADPCM_EA_XAS,
  CODEC_ID_ADPCM_EA_MAXIS_XA, CODEC_ID_ADPCM_IMA_ISS, CODEC_ID_ADPCM_G722, CODEC_ID_ADPCM_IMA_APC,
  CODEC_ID_VIMA = MKBETAG('V','I','M','A'), CODEC_ID_AMR_NB = 0x12000, CODEC_ID_AMR_WB, CODEC_ID_RA_144 = 0x13000,
  CODEC_ID_RA_288, CODEC_ID_ROQ_DPCM = 0x14000, CODEC_ID_INTERPLAY_DPCM, CODEC_ID_XAN_DPCM,
  CODEC_ID_SOL_DPCM, CODEC_ID_MP2 = 0x15000, CODEC_ID_MP3, CODEC_ID_AAC,
  CODEC_ID_AC3, CODEC_ID_DTS, CODEC_ID_VORBIS, CODEC_ID_DVAUDIO,
  CODEC_ID_WMAV1, CODEC_ID_WMAV2, CODEC_ID_MACE3, CODEC_ID_MACE6,
  CODEC_ID_VMDAUDIO, CODEC_ID_FLAC, CODEC_ID_MP3ADU, CODEC_ID_MP3ON4,
  CODEC_ID_SHORTEN, CODEC_ID_ALAC, CODEC_ID_WESTWOOD_SND1, CODEC_ID_GSM,
  CODEC_ID_QDM2, CODEC_ID_COOK, CODEC_ID_TRUESPEECH, CODEC_ID_TTA,
  CODEC_ID_SMACKAUDIO, CODEC_ID_QCELP, CODEC_ID_WAVPACK, CODEC_ID_DSICINAUDIO,
  CODEC_ID_IMC, CODEC_ID_MUSEPACK7, CODEC_ID_MLP, CODEC_ID_GSM_MS,
  CODEC_ID_ATRAC3, CODEC_ID_VOXWARE, CODEC_ID_APE, CODEC_ID_NELLYMOSER,
  CODEC_ID_MUSEPACK8, CODEC_ID_SPEEX, CODEC_ID_WMAVOICE, CODEC_ID_WMAPRO,
  CODEC_ID_WMALOSSLESS, CODEC_ID_ATRAC3P, CODEC_ID_EAC3, CODEC_ID_SIPR,
  CODEC_ID_MP1, CODEC_ID_TWINVQ, CODEC_ID_TRUEHD, CODEC_ID_MP4ALS,
  CODEC_ID_ATRAC1, CODEC_ID_BINKAUDIO_RDFT, CODEC_ID_BINKAUDIO_DCT, CODEC_ID_AAC_LATM,
  CODEC_ID_QDMC, CODEC_ID_CELT, CODEC_ID_G723_1, CODEC_ID_G729,
  CODEC_ID_8SVX_EXP, CODEC_ID_8SVX_FIB, CODEC_ID_BMV_AUDIO, CODEC_ID_RALF,
  CODEC_ID_IAC, CODEC_ID_ILBC, CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'), CODEC_ID_SONIC = MKBETAG('S','O','N','C'),
  CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'), CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'), CODEC_ID_OPUS = MKBETAG('O','P','U','S'), CODEC_ID_FIRST_SUBTITLE = 0x17000,
  CODEC_ID_DVD_SUBTITLE = 0x17000, CODEC_ID_DVB_SUBTITLE, CODEC_ID_TEXT, CODEC_ID_XSUB,
  CODEC_ID_SSA, CODEC_ID_MOV_TEXT, CODEC_ID_HDMV_PGS_SUBTITLE, CODEC_ID_DVB_TELETEXT,
  CODEC_ID_SRT, CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'), CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'), CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'),
  CODEC_ID_SAMI = MKBETAG('S','A','M','I'), CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'), CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'), CODEC_ID_FIRST_UNKNOWN = 0x18000,
  CODEC_ID_TTF = 0x18000, CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'), CODEC_ID_XBIN = MKBETAG('X','B','I','N'), CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
  CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'), CODEC_ID_PROBE = 0x19000, CODEC_ID_MPEG2TS = 0x20000, CODEC_ID_MPEG4SYSTEMS = 0x20001,
  CODEC_ID_FFMETADATA = 0x21000
}
 Identify the syntax and semantics of the bitstream. More...
 
enum  AVColorPrimaries {
  AVCOL_PRI_BT709 = 1, AVCOL_PRI_UNSPECIFIED = 2, 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_NB
}
 
enum  AVColorTransferCharacteristic {
  AVCOL_TRC_BT709 = 1, AVCOL_TRC_UNSPECIFIED = 2, 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_NB
}
 
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
}
 X X 3 4 X X are luma samples, 1 2 1-6 are possible chroma positions X X 5 6 X 0 is undefined/unknown position. More...
 
enum  AVAudioServiceType {
  AV_AUDIO_SERVICE_TYPE_MAIN = 0, AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2, AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3,
  AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4, AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5, AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6, AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7,
  AV_AUDIO_SERVICE_TYPE_KARAOKE = 8, AV_AUDIO_SERVICE_TYPE_NB
}
 
enum  AVFieldOrder {
  AV_FIELD_UNKNOWN, AV_FIELD_PROGRESSIVE, AV_FIELD_TT, AV_FIELD_BB,
  AV_FIELD_TB, AV_FIELD_BT
}
 
enum  AVSubtitleType { SUBTITLE_NONE, SUBTITLE_BITMAP, SUBTITLE_TEXT, SUBTITLE_ASS }
 

Functions

AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx)
 
void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val)
 
const AVCodecDescriptorav_codec_get_codec_descriptor (const AVCodecContext *avctx)
 
void av_codec_set_codec_descriptor (AVCodecContext *avctx, const AVCodecDescriptor *desc)
 
int av_codec_get_lowres (const AVCodecContext *avctx)
 
void av_codec_set_lowres (AVCodecContext *avctx, int val)
 
int av_codec_get_seek_preroll (const AVCodecContext *avctx)
 
void av_codec_set_seek_preroll (AVCodecContext *avctx, int val)
 
uint16_t * av_codec_get_chroma_intra_matrix (const AVCodecContext *avctx)
 
void av_codec_set_chroma_intra_matrix (AVCodecContext *avctx, uint16_t *val)
 
int av_codec_get_max_lowres (const AVCodec *codec)
 
AVCodecav_codec_next (const AVCodec *c)
 If c is NULL, returns the first registered codec, if c is non-NULL, returns the next registered codec after c, or NULL if c is the last one.
 
unsigned avcodec_version (void)
 Return the LIBAVCODEC_VERSION_INT constant.
 
const char * avcodec_configuration (void)
 Return the libavcodec build-time configuration.
 
const char * avcodec_license (void)
 Return the libavcodec license.
 
void avcodec_register (AVCodec *codec)
 Register the codec codec and initialize libavcodec.
 
void avcodec_register_all (void)
 Register all the codecs, parsers and bitstream filters which were enabled at configuration time.
 
AVCodecContextavcodec_alloc_context3 (const AVCodec *codec)
 Allocate an AVCodecContext and set its fields to default values.
 
int avcodec_get_context_defaults3 (AVCodecContext *s, const AVCodec *codec)
 Set the fields of the given AVCodecContext to default values corresponding to the given codec (defaults may be codec-dependent).
 
const AVClassavcodec_get_class (void)
 Get the AVClass for AVCodecContext.
 
const AVClassavcodec_get_frame_class (void)
 Get the AVClass for AVFrame.
 
const AVClassavcodec_get_subtitle_rect_class (void)
 Get the AVClass for AVSubtitleRect.
 
int avcodec_copy_context (AVCodecContext *dest, const AVCodecContext *src)
 Copy the settings of the source AVCodecContext into the destination AVCodecContext.
 
attribute_deprecated AVFrameavcodec_alloc_frame (void)
 
attribute_deprecated void avcodec_get_frame_defaults (AVFrame *frame)
 Set the fields of the given AVFrame to default values.
 
attribute_deprecated void avcodec_free_frame (AVFrame **frame)
 Free the frame and any dynamically allocated objects in it, e.g.
 
int avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
 Initialize the AVCodecContext to use the given AVCodec.
 
int avcodec_close (AVCodecContext *avctx)
 Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself).
 
void avsubtitle_free (AVSubtitle *sub)
 Free all allocated data in the given subtitle struct.
 

Detailed Description

Basic definitions, functions for querying libavcodec capabilities, allocating core structures, etc.

Macro Definition Documentation

#define AV_CODEC_PROP_INTRA_ONLY   (1 << 0)

Codec uses only intra compression.

Video codecs only.

Definition at line 561 of file avcodec.h.

Referenced by is_intra_only(), and show_codecs().

#define AV_CODEC_PROP_LOSSY   (1 << 1)

Codec supports lossy compression.

Audio and video codecs only.

Note
a codec may support both lossy and lossless compression modes

Definition at line 567 of file avcodec.h.

Referenced by show_codecs().

#define AV_CODEC_PROP_LOSSLESS   (1 << 2)

Codec supports lossless compression.

Audio and video codecs only.

Definition at line 571 of file avcodec.h.

Referenced by show_codecs().

#define AV_CODEC_PROP_BITMAP_SUB   (1 << 16)

Subtitle codec is bitmap based Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field.

Definition at line 576 of file avcodec.h.

Referenced by avcodec_decode_subtitle2(), and avcodec_open2().

#define AV_CODEC_PROP_TEXT_SUB   (1 << 17)

Subtitle codec is text based.

Decoded AVSubtitle data can be read from the AVSubtitleRect->ass field.

Definition at line 581 of file avcodec.h.

Referenced by avcodec_decode_subtitle2().

#define FF_MAX_B_FRAMES   16
Deprecated:
there is no libavcodec-wide limit on the number of B-frames

Definition at line 705 of file avcodec.h.

#define CODEC_FLAG_UNALIGNED   0x0001

Allow decoders to produce frames with data planes that are not aligned to CPU requirements (e.g.

due to cropping).

Definition at line 717 of file avcodec.h.

Referenced by ff_h264_decode_seq_parameter_set(), and ff_hevc_decode_nal_sps().

#define CODEC_FLAG_QSCALE   0x0002
#define CODEC_FLAG_4MV   0x0004

4 MV per MB allowed / advanced prediction for H.263.

Definition at line 719 of file avcodec.h.

Referenced by config_props(), encode_init(), ff_estimate_p_frame_motion(), ff_fix_long_p_mvs(), ff_MPV_encode_init(), parse_ffconfig(), and xvid_encode_init().

#define CODEC_FLAG_OUTPUT_CORRUPT   0x0008

Output even those frames that might be corrupted.

Definition at line 720 of file avcodec.h.

Referenced by decode_nal_units().

#define CODEC_FLAG_QPEL   0x0010
#define CODEC_FLAG_GMC   0x0020

Use GMC.

Definition at line 722 of file avcodec.h.

Referenced by xvid_encode_init().

#define CODEC_FLAG_MV0   0x0040

Always try a MB with MV=<0,0>.

Definition at line 723 of file avcodec.h.

Referenced by epzs_motion_search_internal(), ff_estimate_b_frame_motion(), and ff_estimate_p_frame_motion().

#define CODEC_FLAG_INPUT_PRESERVED   0x0100

The parent program guarantees that the input for B-frames containing streams is not written to for at least s->max_b_frames+1 frames, if this is not set the input will be copied.

Definition at line 729 of file avcodec.h.

Referenced by estimate_best_b_count(), and ff_thread_video_encode_frame().

#define CODEC_FLAG_PASS1   0x0200
#define CODEC_FLAG_PASS2   0x0400
#define CODEC_FLAG_GRAY   0x2000
#define CODEC_FLAG_EMU_EDGE   0x4000
Deprecated:
edges are not used/required anymore. I.e. this flag is now always set.

Definition at line 738 of file avcodec.h.

Referenced by add_input_streams(), amv_encode_picture(), ff_snow_frame_start(), load_input_picture(), stream_component_open(), update_frame_pool(), video_get_buffer(), and wmv2_decode_init().

#define CODEC_FLAG_PSNR   0x8000

error[?] variables will be set during encoding.

Definition at line 740 of file avcodec.h.

Referenced by do_video_stats(), encode_frame(), encode_thread(), estimate_best_b_count(), MPV_decode_mb_internal(), new_video_stream(), print_report(), vpx_init(), X264_init(), and XAVS_init().

#define CODEC_FLAG_TRUNCATED
Value:
0x00010000 /** Input bitstream might be truncated at a random
location instead of only at frame boundaries. */
Examples:
avcodec.c.

Definition at line 741 of file avcodec.h.

Referenced by ff_h263_decode_frame(), get_consumed_bytes(), mpeg_decode_frame(), validate_thread_parameters(), and video_decode_example().

#define CODEC_FLAG_NORMALIZE_AQP   0x00020000

Normalize adaptive quantization.

Definition at line 742 of file avcodec.h.

Referenced by adaptive_quantization().

#define CODEC_FLAG_INTERLACED_DCT   0x00040000
#define CODEC_FLAG_LOW_DELAY   0x00080000
#define CODEC_FLAG_GLOBAL_HEADER   0x00400000
#define CODEC_FLAG_BITEXACT   0x00800000
#define CODEC_FLAG_AC_PRED   0x01000000

H.263 advanced intra coding / MPEG-4 AC prediction.

Definition at line 748 of file avcodec.h.

Referenced by ff_mpeg4_encode_mb(), ff_MPV_encode_init(), and xvid_encode_init().

#define CODEC_FLAG_LOOP_FILTER   0x00000800

loop filter

Definition at line 749 of file avcodec.h.

Referenced by ff_MPV_encode_init(), and X264_init().

#define CODEC_FLAG_INTERLACED_ME   0x20000000
#define CODEC_FLAG_CLOSED_GOP   0x80000000
#define CODEC_FLAG2_FAST   0x00000001

Allow non spec compliant speedup tricks.

Definition at line 752 of file avcodec.h.

Referenced by decode_slice_header(), ff_h264_decode_nal(), mpeg_decode_mb(), and stream_component_open().

#define CODEC_FLAG2_NO_OUTPUT   0x00000004
#define CODEC_FLAG2_LOCAL_HEADER   0x00000008

Place global headers at every keyframe instead of in extradata.

Definition at line 754 of file avcodec.h.

Referenced by av_parser_change(), dump_extradata(), and remove_extradata().

#define CODEC_FLAG2_DROP_FRAME_TIMECODE   0x00002000

timecode is in drop frame format. DEPRECATED!!!!

Definition at line 755 of file avcodec.h.

Referenced by encode_init(), and mov_parse_stsd_data().

#define CODEC_FLAG2_IGNORE_CROP   0x00010000

Discard cropping information from SPS.

Definition at line 756 of file avcodec.h.

Referenced by decode_vui(), ff_h264_decode_seq_parameter_set(), and ff_hevc_decode_nal_sps().

#define CODEC_FLAG2_CHUNKS   0x00008000

Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries.

Definition at line 758 of file avcodec.h.

Referenced by decode_nal_units(), h264_decode_frame(), and validate_thread_parameters().

#define CODEC_FLAG2_SHOW_ALL   0x00400000

Show all frames before the first keyframe.

Definition at line 759 of file avcodec.h.

Referenced by decode_chunks(), decode_frame(), and decode_nal_units().

#define CODEC_CAP_DRAW_HORIZ_BAND   0x0001

Decoder can use draw_horiz_band callback.

Definition at line 768 of file avcodec.h.

Referenced by print_codecs().

#define CODEC_CAP_DR1   0x0002

Codec uses get_buffer() for allocating buffers and supports custom allocators.

If not set, it might not use get_buffer() at all or use operations that assume the buffer was allocated by avcodec_default_get_buffer.

Definition at line 774 of file avcodec.h.

Referenced by avcodec_decode_video2(), print_codecs(), and stream_component_open().

#define CODEC_CAP_TRUNCATED   0x0008
Examples:
avcodec.c.

Definition at line 775 of file avcodec.h.

Referenced by video_decode_example().

#define CODEC_CAP_HWACCEL   0x0010

Definition at line 784 of file avcodec.h.

#define CODEC_CAP_DELAY   0x0020

Encoder or decoder requires flushing with NULL input at the end in order to give the complete and correct output.

NOTE: If this flag is not set, the codec is guaranteed to never be fed with with NULL data. The user can still send NULL data to the public encode or decode function, but libavcodec will not pass it along to the codec unless this flag is set.

Decoders: The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, avpkt->size=0 at the end to get the delayed data until the decoder no longer returns frames.

Encoders: The encoder needs to be fed with NULL data at the end of encoding until the encoder no longer returns data.

NOTE: For encoders implementing the AVCodec.encode2() function, setting this flag also means that the encoder must set the pts and duration for each output packet. If this flag is not set, the pts and duration will be determined by libavcodec from the input frame.

Definition at line 809 of file avcodec.h.

Referenced by avcodec_decode_audio4(), avcodec_decode_subtitle2(), avcodec_decode_video2(), avcodec_encode_audio2(), avcodec_encode_video2(), do_video_out(), mpeg12_class(), and submit_packet().

#define CODEC_CAP_SMALL_LAST_FRAME   0x0040

Codec can be fed a final frame with a smaller size.

This can be used to prevent truncation of the last audio samples.

Definition at line 814 of file avcodec.h.

Referenced by avcodec_encode_audio2().

#define CODEC_CAP_HWACCEL_VDPAU   0x0080
#define CODEC_CAP_SUBFRAMES   0x0100

Codec can output multiple frames per AVPacket Normally demuxers return one frame at a time, demuxers which do not do are connected to a parser to split what they return into proper frames.

This flag is reserved to the very rare category of codecs which have a bitstream that cannot be split into frames without timeconsuming operations like full decoding. Demuxers carring such bitstreams thus may return multiple frames in a packet. This has many disadvantages like prohibiting stream copy in many cases thus it should only be considered as a last resort.

Definition at line 832 of file avcodec.h.

#define CODEC_CAP_EXPERIMENTAL   0x0200

Codec is experimental and is thus avoided in favor of non experimental encoders.

Definition at line 837 of file avcodec.h.

Referenced by avcodec_open2(), ff_vp9_init_static(), find_encdec(), and print_codecs().

#define CODEC_CAP_CHANNEL_CONF   0x0400

Codec should fill in channel configuration and samplerate instead of container.

Definition at line 841 of file avcodec.h.

Referenced by try_decode_frame().

#define CODEC_CAP_NEG_LINESIZES   0x0800
Deprecated:
no codecs use this capability

Definition at line 846 of file avcodec.h.

#define CODEC_CAP_FRAME_THREADS   0x1000

Codec supports frame-level multithreading.

Definition at line 851 of file avcodec.h.

Referenced by print_codec(), print_codecs(), and validate_thread_parameters().

#define CODEC_CAP_SLICE_THREADS   0x2000

Codec supports slice-based (or partition-based) multithreading.

Definition at line 855 of file avcodec.h.

Referenced by mpeg12_class(), print_codec(), print_codecs(), and validate_thread_parameters().

#define CODEC_CAP_PARAM_CHANGE   0x4000

Codec supports changed parameters at any point.

Definition at line 859 of file avcodec.h.

Referenced by apply_param_change(), and reap_filters().

#define CODEC_CAP_AUTO_THREADS   0x8000

Codec supports avctx->thread_count == 0 (auto).

Definition at line 863 of file avcodec.h.

Referenced by avcodec_open2(), and validate_thread_parameters().

#define CODEC_CAP_VARIABLE_FRAME_SIZE   0x10000

Audio encoder supports receiving a different number of samples in each call.

Examples:
muxing.c.

Definition at line 867 of file avcodec.h.

Referenced by avcodec_encode_audio2(), decode_audio(), and open_audio().

#define CODEC_CAP_INTRA_ONLY   0x40000000

Codec is intra only.

Definition at line 871 of file avcodec.h.

Referenced by ff_frame_thread_encoder_init().

#define CODEC_CAP_LOSSLESS   0x80000000

Codec is lossless.

Definition at line 875 of file avcodec.h.

Referenced by choose_sample_fmt().

#define MB_TYPE_INTRA4x4   0x0001

Definition at line 879 of file avcodec.h.

Referenced by ff_er_frame_end(), and svq3_decode_mb().

#define MB_TYPE_INTRA16x16   0x0002
#define MB_TYPE_INTRA_PCM   0x0004

Definition at line 881 of file avcodec.h.

Referenced by decode_cabac_intra_mb_type().

#define MB_TYPE_16x16   0x0008
#define MB_TYPE_16x8   0x0010
#define MB_TYPE_8x16   0x0020
#define MB_TYPE_8x8   0x0040
#define MB_TYPE_INTERLACED   0x0080
#define MB_TYPE_DIRECT2   0x0100
#define MB_TYPE_ACPRED   0x0200

Definition at line 888 of file avcodec.h.

Referenced by ff_h263_decode_mb(), mpeg4_decode_mb(), and mpeg4_decode_partition_b().

#define MB_TYPE_GMC   0x0400

Definition at line 889 of file avcodec.h.

Referenced by mpeg4_decode_mb(), and mpeg4_decode_partition_a().

#define MB_TYPE_SKIP   0x0800
#define MB_TYPE_P0L0   0x1000

Definition at line 891 of file avcodec.h.

Referenced by decode_mb_skip(), and pred_temp_direct_motion().

#define MB_TYPE_P1L0   0x2000

Definition at line 892 of file avcodec.h.

Referenced by decode_mb_skip(), and pred_spatial_direct_motion().

#define MB_TYPE_P0L1   0x4000

Definition at line 893 of file avcodec.h.

Referenced by pred_temp_direct_motion().

#define MB_TYPE_P1L1   0x8000

Definition at line 894 of file avcodec.h.

Referenced by pred_spatial_direct_motion().

#define MB_TYPE_L0   (MB_TYPE_P0L0 | MB_TYPE_P1L0)
#define MB_TYPE_L1   (MB_TYPE_P0L1 | MB_TYPE_P1L1)

Definition at line 896 of file avcodec.h.

Referenced by rv34_pred_mv_b().

#define MB_TYPE_L0L1   (MB_TYPE_L0 | MB_TYPE_L1)
#define MB_TYPE_QUANT   0x00010000

Definition at line 898 of file avcodec.h.

Referenced by mpeg_decode_mb().

#define MB_TYPE_CBP   0x00020000

Definition at line 899 of file avcodec.h.

Referenced by mpeg_decode_mb().

#define FF_QSCALE_TYPE_MPEG1   0
#define FF_QSCALE_TYPE_MPEG2   1

Definition at line 934 of file avcodec.h.

Referenced by norm_qscale(), and slice_end().

#define FF_QSCALE_TYPE_H264   2

Definition at line 935 of file avcodec.h.

Referenced by norm_qscale().

#define FF_QSCALE_TYPE_VP56   3

Definition at line 936 of file avcodec.h.

Referenced by norm_qscale().

#define FF_BUFFER_TYPE_INTERNAL   1

Definition at line 940 of file avcodec.h.

Referenced by avcodec_default_get_buffer2().

#define FF_BUFFER_TYPE_USER   2

direct rendering buffers (image is (de)allocated by user)

Definition at line 941 of file avcodec.h.

#define FF_BUFFER_TYPE_SHARED   4

Buffer from somewhere else; don't deallocate image (data/base), all other tables are not shared.

Definition at line 942 of file avcodec.h.

#define FF_BUFFER_TYPE_COPY   8

Just a (modified) copy of some other buffer, don't deallocate anything.

Definition at line 943 of file avcodec.h.

#define FF_BUFFER_HINTS_VALID   0x01

Definition at line 945 of file avcodec.h.

#define FF_BUFFER_HINTS_READABLE   0x02

Definition at line 946 of file avcodec.h.

#define FF_BUFFER_HINTS_PRESERVE   0x04

Definition at line 947 of file avcodec.h.

#define FF_BUFFER_HINTS_REUSABLE   0x08

Definition at line 948 of file avcodec.h.

#define AV_GET_BUFFER_FLAG_REF   (1 << 0)
#define AV_SUBTITLE_FLAG_FORCED   0x00000001

Definition at line 3270 of file avcodec.h.

Referenced by decode_dvd_subtitles(), and display_end_segment().

Enumeration Type Documentation

enum AVCodecID

Identify the syntax and semantics of the bitstream.

The principle is roughly: Two decoders with the same ID can decode the same streams. Two encoders with the same ID can encode compatible streams. There may be slight deviations from the principle due to implementation details.

If you add a codec ID to this list, add it so that

  1. no value of a existing codec ID changes (that would break ABI),
  2. Give it a value which when taken as ASCII is recognized uniquely by a human as this specific codec. This ensures that 2 forks can independently add AVCodecIDs without producing conflicts.

After adding new codec IDs, do not forget to add an entry to the codec descriptor list and bump libavcodec minor version.

Enumerator:
AV_CODEC_ID_NONE 
AV_CODEC_ID_MPEG1VIDEO 
AV_CODEC_ID_MPEG2VIDEO 

preferred ID for MPEG-1/2 video decoding

AV_CODEC_ID_H261 
AV_CODEC_ID_H263 
AV_CODEC_ID_RV10 
AV_CODEC_ID_RV20 
AV_CODEC_ID_MJPEG 
AV_CODEC_ID_MJPEGB 
AV_CODEC_ID_LJPEG 
AV_CODEC_ID_SP5X 
AV_CODEC_ID_JPEGLS 
AV_CODEC_ID_MPEG4 
AV_CODEC_ID_RAWVIDEO 
AV_CODEC_ID_MSMPEG4V1 
AV_CODEC_ID_MSMPEG4V2 
AV_CODEC_ID_MSMPEG4V3 
AV_CODEC_ID_WMV1 
AV_CODEC_ID_WMV2 
AV_CODEC_ID_H263P 
AV_CODEC_ID_H263I 
AV_CODEC_ID_FLV1 
AV_CODEC_ID_SVQ1 
AV_CODEC_ID_SVQ3 
AV_CODEC_ID_DVVIDEO 
AV_CODEC_ID_HUFFYUV 
AV_CODEC_ID_CYUV 
AV_CODEC_ID_H264 
AV_CODEC_ID_INDEO3 
AV_CODEC_ID_VP3 
AV_CODEC_ID_THEORA 
AV_CODEC_ID_ASV1 
AV_CODEC_ID_ASV2 
AV_CODEC_ID_FFV1 
AV_CODEC_ID_4XM 
AV_CODEC_ID_VCR1 
AV_CODEC_ID_CLJR 
AV_CODEC_ID_MDEC 
AV_CODEC_ID_ROQ 
AV_CODEC_ID_INTERPLAY_VIDEO 
AV_CODEC_ID_XAN_WC3 
AV_CODEC_ID_XAN_WC4 
AV_CODEC_ID_RPZA 
AV_CODEC_ID_CINEPAK 
AV_CODEC_ID_WS_VQA 
AV_CODEC_ID_MSRLE 
AV_CODEC_ID_MSVIDEO1 
AV_CODEC_ID_IDCIN 
AV_CODEC_ID_8BPS 
AV_CODEC_ID_SMC 
AV_CODEC_ID_FLIC 
AV_CODEC_ID_TRUEMOTION1 
AV_CODEC_ID_VMDVIDEO 
AV_CODEC_ID_MSZH 
AV_CODEC_ID_ZLIB 
AV_CODEC_ID_QTRLE 
AV_CODEC_ID_TSCC 
AV_CODEC_ID_ULTI 
AV_CODEC_ID_QDRAW 
AV_CODEC_ID_VIXL 
AV_CODEC_ID_QPEG 
AV_CODEC_ID_PNG 
AV_CODEC_ID_PPM 
AV_CODEC_ID_PBM 
AV_CODEC_ID_PGM 
AV_CODEC_ID_PGMYUV 
AV_CODEC_ID_PAM 
AV_CODEC_ID_FFVHUFF 
AV_CODEC_ID_RV30 
AV_CODEC_ID_RV40 
AV_CODEC_ID_VC1 
AV_CODEC_ID_WMV3 
AV_CODEC_ID_LOCO 
AV_CODEC_ID_WNV1 
AV_CODEC_ID_AASC 
AV_CODEC_ID_INDEO2 
AV_CODEC_ID_FRAPS 
AV_CODEC_ID_TRUEMOTION2 
AV_CODEC_ID_BMP 
AV_CODEC_ID_CSCD 
AV_CODEC_ID_MMVIDEO 
AV_CODEC_ID_ZMBV 
AV_CODEC_ID_AVS 
AV_CODEC_ID_SMACKVIDEO 
AV_CODEC_ID_NUV 
AV_CODEC_ID_KMVC 
AV_CODEC_ID_FLASHSV 
AV_CODEC_ID_CAVS 
AV_CODEC_ID_JPEG2000 
AV_CODEC_ID_VMNC 
AV_CODEC_ID_VP5 
AV_CODEC_ID_VP6 
AV_CODEC_ID_VP6F 
AV_CODEC_ID_TARGA 
AV_CODEC_ID_DSICINVIDEO 
AV_CODEC_ID_TIERTEXSEQVIDEO 
AV_CODEC_ID_TIFF 
AV_CODEC_ID_GIF 
AV_CODEC_ID_DXA 
AV_CODEC_ID_DNXHD 
AV_CODEC_ID_THP 
AV_CODEC_ID_SGI 
AV_CODEC_ID_C93 
AV_CODEC_ID_BETHSOFTVID 
AV_CODEC_ID_PTX 
AV_CODEC_ID_TXD 
AV_CODEC_ID_VP6A 
AV_CODEC_ID_AMV 
AV_CODEC_ID_VB 
AV_CODEC_ID_PCX 
AV_CODEC_ID_SUNRAST 
AV_CODEC_ID_INDEO4 
AV_CODEC_ID_INDEO5 
AV_CODEC_ID_MIMIC 
AV_CODEC_ID_RL2 
AV_CODEC_ID_ESCAPE124 
AV_CODEC_ID_DIRAC 
AV_CODEC_ID_BFI 
AV_CODEC_ID_CMV 
AV_CODEC_ID_MOTIONPIXELS 
AV_CODEC_ID_TGV 
AV_CODEC_ID_TGQ 
AV_CODEC_ID_TQI 
AV_CODEC_ID_AURA 
AV_CODEC_ID_AURA2 
AV_CODEC_ID_V210X 
AV_CODEC_ID_TMV 
AV_CODEC_ID_V210 
AV_CODEC_ID_DPX 
AV_CODEC_ID_MAD 
AV_CODEC_ID_FRWU 
AV_CODEC_ID_FLASHSV2 
AV_CODEC_ID_CDGRAPHICS 
AV_CODEC_ID_R210 
AV_CODEC_ID_ANM 
AV_CODEC_ID_BINKVIDEO 
AV_CODEC_ID_IFF_ILBM 
AV_CODEC_ID_IFF_BYTERUN1 
AV_CODEC_ID_KGV1 
AV_CODEC_ID_YOP 
AV_CODEC_ID_VP8 
AV_CODEC_ID_PICTOR 
AV_CODEC_ID_ANSI 
AV_CODEC_ID_A64_MULTI 
AV_CODEC_ID_A64_MULTI5 
AV_CODEC_ID_R10K 
AV_CODEC_ID_MXPEG 
AV_CODEC_ID_LAGARITH 
AV_CODEC_ID_PRORES 
AV_CODEC_ID_JV 
AV_CODEC_ID_DFA 
AV_CODEC_ID_WMV3IMAGE 
AV_CODEC_ID_VC1IMAGE 
AV_CODEC_ID_UTVIDEO 
AV_CODEC_ID_BMV_VIDEO 
AV_CODEC_ID_VBLE 
AV_CODEC_ID_DXTORY 
AV_CODEC_ID_V410 
AV_CODEC_ID_XWD 
AV_CODEC_ID_CDXL 
AV_CODEC_ID_XBM 
AV_CODEC_ID_ZEROCODEC 
AV_CODEC_ID_MSS1 
AV_CODEC_ID_MSA1 
AV_CODEC_ID_TSCC2 
AV_CODEC_ID_MTS2 
AV_CODEC_ID_CLLC 
AV_CODEC_ID_MSS2 
AV_CODEC_ID_VP9 
AV_CODEC_ID_AIC 
AV_CODEC_ID_ESCAPE130_DEPRECATED 
AV_CODEC_ID_G2M_DEPRECATED 
AV_CODEC_ID_WEBP_DEPRECATED 
AV_CODEC_ID_HNM4_VIDEO 
AV_CODEC_ID_HEVC_DEPRECATED 
AV_CODEC_ID_FIC 
AV_CODEC_ID_BRENDER_PIX 
AV_CODEC_ID_Y41P 
AV_CODEC_ID_ESCAPE130 
AV_CODEC_ID_EXR 
AV_CODEC_ID_AVRP 
AV_CODEC_ID_012V 
AV_CODEC_ID_G2M 
AV_CODEC_ID_AVUI 
AV_CODEC_ID_AYUV 
AV_CODEC_ID_TARGA_Y216 
AV_CODEC_ID_V308 
AV_CODEC_ID_V408 
AV_CODEC_ID_YUV4 
AV_CODEC_ID_SANM 
AV_CODEC_ID_PAF_VIDEO 
AV_CODEC_ID_AVRN 
AV_CODEC_ID_CPIA 
AV_CODEC_ID_XFACE 
AV_CODEC_ID_SGIRLE 
AV_CODEC_ID_MVC1 
AV_CODEC_ID_MVC2 
AV_CODEC_ID_SNOW 
AV_CODEC_ID_WEBP 
AV_CODEC_ID_SMVJPEG 
AV_CODEC_ID_HEVC 
AV_CODEC_ID_FIRST_AUDIO 

A dummy id pointing at the start of audio codecs.

AV_CODEC_ID_PCM_S16LE 
AV_CODEC_ID_PCM_S16BE 
AV_CODEC_ID_PCM_U16LE 
AV_CODEC_ID_PCM_U16BE 
AV_CODEC_ID_PCM_S8 
AV_CODEC_ID_PCM_U8 
AV_CODEC_ID_PCM_MULAW 
AV_CODEC_ID_PCM_ALAW 
AV_CODEC_ID_PCM_S32LE 
AV_CODEC_ID_PCM_S32BE 
AV_CODEC_ID_PCM_U32LE 
AV_CODEC_ID_PCM_U32BE 
AV_CODEC_ID_PCM_S24LE 
AV_CODEC_ID_PCM_S24BE 
AV_CODEC_ID_PCM_U24LE 
AV_CODEC_ID_PCM_U24BE 
AV_CODEC_ID_PCM_S24DAUD 
AV_CODEC_ID_PCM_ZORK 
AV_CODEC_ID_PCM_S16LE_PLANAR 
AV_CODEC_ID_PCM_DVD 
AV_CODEC_ID_PCM_F32BE 
AV_CODEC_ID_PCM_F32LE 
AV_CODEC_ID_PCM_F64BE 
AV_CODEC_ID_PCM_F64LE 
AV_CODEC_ID_PCM_BLURAY 
AV_CODEC_ID_PCM_LXF 
AV_CODEC_ID_S302M 
AV_CODEC_ID_PCM_S8_PLANAR 
AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED 
AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED 
AV_CODEC_ID_PCM_S24LE_PLANAR 
AV_CODEC_ID_PCM_S32LE_PLANAR 
AV_CODEC_ID_PCM_S16BE_PLANAR 
AV_CODEC_ID_ADPCM_IMA_QT 
AV_CODEC_ID_ADPCM_IMA_WAV 
AV_CODEC_ID_ADPCM_IMA_DK3 
AV_CODEC_ID_ADPCM_IMA_DK4 
AV_CODEC_ID_ADPCM_IMA_WS 
AV_CODEC_ID_ADPCM_IMA_SMJPEG 
AV_CODEC_ID_ADPCM_MS 
AV_CODEC_ID_ADPCM_4XM 
AV_CODEC_ID_ADPCM_XA 
AV_CODEC_ID_ADPCM_ADX 
AV_CODEC_ID_ADPCM_EA 
AV_CODEC_ID_ADPCM_G726 
AV_CODEC_ID_ADPCM_CT 
AV_CODEC_ID_ADPCM_SWF 
AV_CODEC_ID_ADPCM_YAMAHA 
AV_CODEC_ID_ADPCM_SBPRO_4 
AV_CODEC_ID_ADPCM_SBPRO_3 
AV_CODEC_ID_ADPCM_SBPRO_2 
AV_CODEC_ID_ADPCM_THP 
AV_CODEC_ID_ADPCM_IMA_AMV 
AV_CODEC_ID_ADPCM_EA_R1 
AV_CODEC_ID_ADPCM_EA_R3 
AV_CODEC_ID_ADPCM_EA_R2 
AV_CODEC_ID_ADPCM_IMA_EA_SEAD 
AV_CODEC_ID_ADPCM_IMA_EA_EACS 
AV_CODEC_ID_ADPCM_EA_XAS 
AV_CODEC_ID_ADPCM_EA_MAXIS_XA 
AV_CODEC_ID_ADPCM_IMA_ISS 
AV_CODEC_ID_ADPCM_G722 
AV_CODEC_ID_ADPCM_IMA_APC 
AV_CODEC_ID_VIMA 
AV_CODEC_ID_ADPCM_AFC 
AV_CODEC_ID_ADPCM_IMA_OKI 
AV_CODEC_ID_ADPCM_DTK 
AV_CODEC_ID_ADPCM_IMA_RAD 
AV_CODEC_ID_ADPCM_G726LE 
AV_CODEC_ID_AMR_NB 
AV_CODEC_ID_AMR_WB 
AV_CODEC_ID_RA_144 
AV_CODEC_ID_RA_288 
AV_CODEC_ID_ROQ_DPCM 
AV_CODEC_ID_INTERPLAY_DPCM 
AV_CODEC_ID_XAN_DPCM 
AV_CODEC_ID_SOL_DPCM 
AV_CODEC_ID_MP2 
AV_CODEC_ID_MP3 

preferred ID for decoding MPEG audio layer 1, 2 or 3

AV_CODEC_ID_AAC 
AV_CODEC_ID_AC3 
AV_CODEC_ID_DTS 
AV_CODEC_ID_VORBIS 
AV_CODEC_ID_DVAUDIO 
AV_CODEC_ID_WMAV1 
AV_CODEC_ID_WMAV2 
AV_CODEC_ID_MACE3 
AV_CODEC_ID_MACE6 
AV_CODEC_ID_VMDAUDIO 
AV_CODEC_ID_FLAC 
AV_CODEC_ID_MP3ADU 
AV_CODEC_ID_MP3ON4 
AV_CODEC_ID_SHORTEN 
AV_CODEC_ID_ALAC 
AV_CODEC_ID_WESTWOOD_SND1 
AV_CODEC_ID_GSM 

as in Berlin toast format

AV_CODEC_ID_QDM2 
AV_CODEC_ID_COOK 
AV_CODEC_ID_TRUESPEECH 
AV_CODEC_ID_TTA 
AV_CODEC_ID_SMACKAUDIO 
AV_CODEC_ID_QCELP 
AV_CODEC_ID_WAVPACK 
AV_CODEC_ID_DSICINAUDIO 
AV_CODEC_ID_IMC 
AV_CODEC_ID_MUSEPACK7 
AV_CODEC_ID_MLP 
AV_CODEC_ID_GSM_MS 
AV_CODEC_ID_ATRAC3 
AV_CODEC_ID_VOXWARE 
AV_CODEC_ID_APE 
AV_CODEC_ID_NELLYMOSER 
AV_CODEC_ID_MUSEPACK8 
AV_CODEC_ID_SPEEX 
AV_CODEC_ID_WMAVOICE 
AV_CODEC_ID_WMAPRO 
AV_CODEC_ID_WMALOSSLESS 
AV_CODEC_ID_ATRAC3P 
AV_CODEC_ID_EAC3 
AV_CODEC_ID_SIPR 
AV_CODEC_ID_MP1 
AV_CODEC_ID_TWINVQ 
AV_CODEC_ID_TRUEHD 
AV_CODEC_ID_MP4ALS 
AV_CODEC_ID_ATRAC1 
AV_CODEC_ID_BINKAUDIO_RDFT 
AV_CODEC_ID_BINKAUDIO_DCT 
AV_CODEC_ID_AAC_LATM 
AV_CODEC_ID_QDMC 
AV_CODEC_ID_CELT 
AV_CODEC_ID_G723_1 
AV_CODEC_ID_G729 
AV_CODEC_ID_8SVX_EXP 
AV_CODEC_ID_8SVX_FIB 
AV_CODEC_ID_BMV_AUDIO 
AV_CODEC_ID_RALF 
AV_CODEC_ID_IAC 
AV_CODEC_ID_ILBC 
AV_CODEC_ID_OPUS_DEPRECATED 
AV_CODEC_ID_COMFORT_NOISE 
AV_CODEC_ID_TAK_DEPRECATED 
AV_CODEC_ID_METASOUND 
AV_CODEC_ID_FFWAVESYNTH 
AV_CODEC_ID_SONIC 
AV_CODEC_ID_SONIC_LS 
AV_CODEC_ID_PAF_AUDIO 
AV_CODEC_ID_OPUS 
AV_CODEC_ID_TAK 
AV_CODEC_ID_EVRC 
AV_CODEC_ID_SMV 
AV_CODEC_ID_FIRST_SUBTITLE 

A dummy ID pointing at the start of subtitle codecs.

AV_CODEC_ID_DVD_SUBTITLE 
AV_CODEC_ID_DVB_SUBTITLE 
AV_CODEC_ID_TEXT 

raw UTF-8 text

AV_CODEC_ID_XSUB 
AV_CODEC_ID_SSA 
AV_CODEC_ID_MOV_TEXT 
AV_CODEC_ID_HDMV_PGS_SUBTITLE 
AV_CODEC_ID_DVB_TELETEXT 
AV_CODEC_ID_SRT 
AV_CODEC_ID_MICRODVD 
AV_CODEC_ID_EIA_608 
AV_CODEC_ID_JACOSUB 
AV_CODEC_ID_SAMI 
AV_CODEC_ID_REALTEXT 
AV_CODEC_ID_SUBVIEWER1 
AV_CODEC_ID_SUBVIEWER 
AV_CODEC_ID_SUBRIP 
AV_CODEC_ID_WEBVTT 
AV_CODEC_ID_MPL2 
AV_CODEC_ID_VPLAYER 
AV_CODEC_ID_PJS 
AV_CODEC_ID_ASS 

ASS as defined in Matroska.

AV_CODEC_ID_FIRST_UNKNOWN 

A dummy ID pointing at the start of various fake codecs.

AV_CODEC_ID_TTF 
AV_CODEC_ID_BINTEXT 
AV_CODEC_ID_XBIN 
AV_CODEC_ID_IDF 
AV_CODEC_ID_OTF 
AV_CODEC_ID_SMPTE_KLV 
AV_CODEC_ID_DVD_NAV 
AV_CODEC_ID_TIMED_ID3 
AV_CODEC_ID_PROBE 

codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it

AV_CODEC_ID_MPEG2TS 

FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)

AV_CODEC_ID_MPEG4SYSTEMS 

FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)

AV_CODEC_ID_FFMETADATA 

Dummy codec for streams containing only metadata information.

AVMEDIA_TYPE_UNKNOWN 

Usually treated as AVMEDIA_TYPE_DATA.

AVMEDIA_TYPE_VIDEO 
AVMEDIA_TYPE_AUDIO 
AVMEDIA_TYPE_DATA 

Opaque data information usually continuous.

AVMEDIA_TYPE_SUBTITLE 
AVMEDIA_TYPE_ATTACHMENT 

Opaque data information usually sparse.

AV_PICTURE_TYPE_NONE 

Undefined.

AV_PICTURE_TYPE_I 

Intra.

AV_PICTURE_TYPE_P 

Predicted.

AV_PICTURE_TYPE_B 

Bi-dir predicted.

AV_PICTURE_TYPE_S 

S(GMC)-VOP MPEG4.

AV_PICTURE_TYPE_SI 

Switching Intra.

AV_PICTURE_TYPE_SP 

Switching Predicted.

AV_PICTURE_TYPE_BI 

BI type.

AV_CLASS_CATEGORY_NA 
AV_CLASS_CATEGORY_INPUT 
AV_CLASS_CATEGORY_OUTPUT 
AV_CLASS_CATEGORY_MUXER 
AV_CLASS_CATEGORY_DEMUXER 
AV_CLASS_CATEGORY_ENCODER 
AV_CLASS_CATEGORY_DECODER 
AV_CLASS_CATEGORY_FILTER 
AV_CLASS_CATEGORY_BITSTREAM_FILTER 
AV_CLASS_CATEGORY_SWSCALER 
AV_CLASS_CATEGORY_SWRESAMPLER 
AV_CLASS_CATEGORY_NB 

not part of ABI/API

AV_PIX_FMT_NONE 

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.
When the pixel format is palettized RGB (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 RGB 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 8bit 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.
Note
Make sure that all newly added big-endian formats have (pix_fmt & 1) == 1 and that all newly added little-endian formats have (pix_fmt & 1) == 0. This allows simpler detection of big vs little-endian.
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 bit with PIX_FMT_RGB32 palette

AV_PIX_FMT_YUVJ420P 

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

AV_PIX_FMT_YUVJ422P 

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

AV_PIX_FMT_YUVJ444P 

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

AV_PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

AV_PIX_FMT_XVMC_MPEG2_IDCT 
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)2R 3G 3B(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 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_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

AV_PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

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)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

AV_PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

AV_PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

AV_PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

AV_PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

AV_PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

AV_PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

AV_PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

AV_PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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_VDA_VLD 

hardware decoding through VDA

AV_PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

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_LIBAV 

duplicated pixel formats for compatibility with libav.

FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55) Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85)planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)

AV_PIX_FMT_YUVA444P_LIBAV 

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_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

AV_PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

AV_PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

AV_PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

AV_PIX_FMT_YUVA444P 

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

AV_PIX_FMT_YUVA422P 

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

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_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_YUVJ411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of 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_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

PIX_FMT_NONE 
PIX_FMT_YUV420P 

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

PIX_FMT_YUYV422 

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

PIX_FMT_RGB24 

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

PIX_FMT_BGR24 

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

PIX_FMT_YUV422P 

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

PIX_FMT_YUV444P 

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

PIX_FMT_YUV410P 

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

PIX_FMT_YUV411P 

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

PIX_FMT_GRAY8 

Y , 8bpp.

PIX_FMT_MONOWHITE 

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

PIX_FMT_MONOBLACK 

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

PIX_FMT_PAL8 

8 bit with PIX_FMT_RGB32 palette

PIX_FMT_YUVJ420P 

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

PIX_FMT_YUVJ422P 

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

PIX_FMT_YUVJ444P 

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

PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

PIX_FMT_XVMC_MPEG2_IDCT 
PIX_FMT_UYVY422 

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

PIX_FMT_UYYVYY411 

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

PIX_FMT_BGR8 

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

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

PIX_FMT_BGR4_BYTE 

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

PIX_FMT_RGB8 

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

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

PIX_FMT_RGB4_BYTE 

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

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)

PIX_FMT_NV21 

as above, but U and V bytes are swapped

PIX_FMT_ARGB 

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

PIX_FMT_RGBA 

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

PIX_FMT_ABGR 

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

PIX_FMT_BGRA 

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

PIX_FMT_GRAY16BE 

Y , 16bpp, big-endian.

PIX_FMT_GRAY16LE 

Y , 16bpp, little-endian.

PIX_FMT_YUV440P 

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

PIX_FMT_YUVJ440P 

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

PIX_FMT_YUVA420P 

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

PIX_FMT_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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

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

PIX_FMT_RGB565BE 

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

PIX_FMT_RGB565LE 

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

PIX_FMT_RGB555BE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

PIX_FMT_BGR565BE 

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

PIX_FMT_BGR565LE 

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

PIX_FMT_BGR555BE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_YUV420P16LE 

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

PIX_FMT_YUV420P16BE 

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

PIX_FMT_YUV422P16LE 

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

PIX_FMT_YUV422P16BE 

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

PIX_FMT_YUV444P16LE 

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

PIX_FMT_YUV444P16BE 

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

PIX_FMT_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_DXVA2_VLD 

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

PIX_FMT_RGB444LE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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

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

PIX_FMT_YUV420P9BE 

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

PIX_FMT_YUV420P9LE 

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

PIX_FMT_YUV420P10BE 

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

PIX_FMT_YUV420P10LE 

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

PIX_FMT_YUV422P10BE 

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

PIX_FMT_YUV422P10LE 

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

PIX_FMT_YUV444P9BE 

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

PIX_FMT_YUV444P9LE 

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

PIX_FMT_YUV444P10BE 

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

PIX_FMT_YUV444P10LE 

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

PIX_FMT_YUV422P9BE 

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

PIX_FMT_YUV422P9LE 

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

PIX_FMT_VDA_VLD 

hardware decoding through VDA

PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

PIX_FMT_GBRP9BE 

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

PIX_FMT_GBRP9LE 

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

PIX_FMT_GBRP10BE 

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

PIX_FMT_GBRP10LE 

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

PIX_FMT_GBRP16BE 

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

PIX_FMT_GBRP16LE 

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

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

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

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

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

PIX_FMT_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

PIX_FMT_YUVA444P 

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

PIX_FMT_YUVA422P 

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

PIX_FMT_YUV420P12BE 

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

PIX_FMT_YUV420P12LE 

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

PIX_FMT_YUV420P14BE 

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

PIX_FMT_YUV420P14LE 

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

PIX_FMT_YUV422P12BE 

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

PIX_FMT_YUV422P12LE 

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

PIX_FMT_YUV422P14BE 

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

PIX_FMT_YUV422P14LE 

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

PIX_FMT_YUV444P12BE 

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

PIX_FMT_YUV444P12LE 

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

PIX_FMT_YUV444P14BE 

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

PIX_FMT_YUV444P14LE 

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

PIX_FMT_GBRP12BE 

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

PIX_FMT_GBRP12LE 

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

PIX_FMT_GBRP14BE 

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

PIX_FMT_GBRP14LE 

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

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

AVMEDIA_TYPE_UNKNOWN 

Usually treated as AVMEDIA_TYPE_DATA.

AVMEDIA_TYPE_VIDEO 
AVMEDIA_TYPE_AUDIO 
AVMEDIA_TYPE_DATA 

Opaque data information usually continuous.

AVMEDIA_TYPE_SUBTITLE 
AVMEDIA_TYPE_ATTACHMENT 

Opaque data information usually sparse.

AV_PICTURE_TYPE_NONE 

Undefined.

AV_PICTURE_TYPE_I 

Intra.

AV_PICTURE_TYPE_P 

Predicted.

AV_PICTURE_TYPE_B 

Bi-dir predicted.

AV_PICTURE_TYPE_S 

S(GMC)-VOP MPEG4.

AV_PICTURE_TYPE_SI 

Switching Intra.

AV_PICTURE_TYPE_SP 

Switching Predicted.

AV_PICTURE_TYPE_BI 

BI type.

AV_PIX_FMT_NONE 

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.
When the pixel format is palettized RGB (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 RGB 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 8bit 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.
Note
Make sure that all newly added big-endian formats have (pix_fmt & 1) == 1 and that all newly added little-endian formats have (pix_fmt & 1) == 0. This allows simpler detection of big vs little-endian.
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 bit with PIX_FMT_RGB32 palette

AV_PIX_FMT_YUVJ420P 

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

AV_PIX_FMT_YUVJ422P 

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

AV_PIX_FMT_YUVJ444P 

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

AV_PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

AV_PIX_FMT_XVMC_MPEG2_IDCT 
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)2R 3G 3B(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 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_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

AV_PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

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)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

AV_PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

AV_PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

AV_PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

AV_PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

AV_PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

AV_PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

AV_PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

AV_PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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_VDA_VLD 

hardware decoding through VDA

AV_PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

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_LIBAV 

duplicated pixel formats for compatibility with libav.

FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55) Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85)planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)

AV_PIX_FMT_YUVA444P_LIBAV 

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_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

AV_PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

AV_PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

AV_PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

AV_PIX_FMT_YUVA444P 

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

AV_PIX_FMT_YUVA422P 

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

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_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_YUVJ411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of 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_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

PIX_FMT_NONE 
PIX_FMT_YUV420P 

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

PIX_FMT_YUYV422 

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

PIX_FMT_RGB24 

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

PIX_FMT_BGR24 

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

PIX_FMT_YUV422P 

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

PIX_FMT_YUV444P 

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

PIX_FMT_YUV410P 

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

PIX_FMT_YUV411P 

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

PIX_FMT_GRAY8 

Y , 8bpp.

PIX_FMT_MONOWHITE 

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

PIX_FMT_MONOBLACK 

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

PIX_FMT_PAL8 

8 bit with PIX_FMT_RGB32 palette

PIX_FMT_YUVJ420P 

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

PIX_FMT_YUVJ422P 

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

PIX_FMT_YUVJ444P 

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

PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

PIX_FMT_XVMC_MPEG2_IDCT 
PIX_FMT_UYVY422 

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

PIX_FMT_UYYVYY411 

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

PIX_FMT_BGR8 

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

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

PIX_FMT_BGR4_BYTE 

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

PIX_FMT_RGB8 

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

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

PIX_FMT_RGB4_BYTE 

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

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)

PIX_FMT_NV21 

as above, but U and V bytes are swapped

PIX_FMT_ARGB 

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

PIX_FMT_RGBA 

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

PIX_FMT_ABGR 

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

PIX_FMT_BGRA 

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

PIX_FMT_GRAY16BE 

Y , 16bpp, big-endian.

PIX_FMT_GRAY16LE 

Y , 16bpp, little-endian.

PIX_FMT_YUV440P 

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

PIX_FMT_YUVJ440P 

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

PIX_FMT_YUVA420P 

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

PIX_FMT_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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

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

PIX_FMT_RGB565BE 

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

PIX_FMT_RGB565LE 

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

PIX_FMT_RGB555BE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

PIX_FMT_BGR565BE 

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

PIX_FMT_BGR565LE 

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

PIX_FMT_BGR555BE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_YUV420P16LE 

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

PIX_FMT_YUV420P16BE 

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

PIX_FMT_YUV422P16LE 

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

PIX_FMT_YUV422P16BE 

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

PIX_FMT_YUV444P16LE 

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

PIX_FMT_YUV444P16BE 

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

PIX_FMT_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_DXVA2_VLD 

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

PIX_FMT_RGB444LE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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

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

PIX_FMT_YUV420P9BE 

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

PIX_FMT_YUV420P9LE 

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

PIX_FMT_YUV420P10BE 

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

PIX_FMT_YUV420P10LE 

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

PIX_FMT_YUV422P10BE 

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

PIX_FMT_YUV422P10LE 

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

PIX_FMT_YUV444P9BE 

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

PIX_FMT_YUV444P9LE 

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

PIX_FMT_YUV444P10BE 

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

PIX_FMT_YUV444P10LE 

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

PIX_FMT_YUV422P9BE 

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

PIX_FMT_YUV422P9LE 

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

PIX_FMT_VDA_VLD 

hardware decoding through VDA

PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

PIX_FMT_GBRP9BE 

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

PIX_FMT_GBRP9LE 

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

PIX_FMT_GBRP10BE 

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

PIX_FMT_GBRP10LE 

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

PIX_FMT_GBRP16BE 

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

PIX_FMT_GBRP16LE 

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

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

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

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

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

PIX_FMT_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

PIX_FMT_YUVA444P 

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

PIX_FMT_YUVA422P 

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

PIX_FMT_YUV420P12BE 

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

PIX_FMT_YUV420P12LE 

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

PIX_FMT_YUV420P14BE 

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

PIX_FMT_YUV420P14LE 

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

PIX_FMT_YUV422P12BE 

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

PIX_FMT_YUV422P12LE 

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

PIX_FMT_YUV422P14BE 

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

PIX_FMT_YUV422P14LE 

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

PIX_FMT_YUV444P12BE 

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

PIX_FMT_YUV444P12LE 

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

PIX_FMT_YUV444P14BE 

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

PIX_FMT_YUV444P14LE 

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

PIX_FMT_GBRP12BE 

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

PIX_FMT_GBRP12LE 

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

PIX_FMT_GBRP14BE 

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

PIX_FMT_GBRP14LE 

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

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

AV_CLASS_CATEGORY_NA 
AV_CLASS_CATEGORY_INPUT 
AV_CLASS_CATEGORY_OUTPUT 
AV_CLASS_CATEGORY_MUXER 
AV_CLASS_CATEGORY_DEMUXER 
AV_CLASS_CATEGORY_ENCODER 
AV_CLASS_CATEGORY_DECODER 
AV_CLASS_CATEGORY_FILTER 
AV_CLASS_CATEGORY_BITSTREAM_FILTER 
AV_CLASS_CATEGORY_SWSCALER 
AV_CLASS_CATEGORY_SWRESAMPLER 
AV_CLASS_CATEGORY_NB 

not part of ABI/API

AVMEDIA_TYPE_UNKNOWN 

Usually treated as AVMEDIA_TYPE_DATA.

AVMEDIA_TYPE_VIDEO 
AVMEDIA_TYPE_AUDIO 
AVMEDIA_TYPE_DATA 

Opaque data information usually continuous.

AVMEDIA_TYPE_SUBTITLE 
AVMEDIA_TYPE_ATTACHMENT 

Opaque data information usually sparse.

AV_PICTURE_TYPE_NONE 

Undefined.

AV_PICTURE_TYPE_I 

Intra.

AV_PICTURE_TYPE_P 

Predicted.

AV_PICTURE_TYPE_B 

Bi-dir predicted.

AV_PICTURE_TYPE_S 

S(GMC)-VOP MPEG4.

AV_PICTURE_TYPE_SI 

Switching Intra.

AV_PICTURE_TYPE_SP 

Switching Predicted.

AV_PICTURE_TYPE_BI 

BI type.

AV_CLASS_CATEGORY_NA 
AV_CLASS_CATEGORY_INPUT 
AV_CLASS_CATEGORY_OUTPUT 
AV_CLASS_CATEGORY_MUXER 
AV_CLASS_CATEGORY_DEMUXER 
AV_CLASS_CATEGORY_ENCODER 
AV_CLASS_CATEGORY_DECODER 
AV_CLASS_CATEGORY_FILTER 
AV_CLASS_CATEGORY_BITSTREAM_FILTER 
AV_CLASS_CATEGORY_SWSCALER 
AV_CLASS_CATEGORY_SWRESAMPLER 
AV_CLASS_CATEGORY_NB 

not part of ABI/API

AV_PIX_FMT_NONE 

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.
When the pixel format is palettized RGB (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 RGB 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 8bit 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.
Note
Make sure that all newly added big-endian formats have (pix_fmt & 1) == 1 and that all newly added little-endian formats have (pix_fmt & 1) == 0. This allows simpler detection of big vs little-endian.
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 bit with PIX_FMT_RGB32 palette

AV_PIX_FMT_YUVJ420P 

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

AV_PIX_FMT_YUVJ422P 

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

AV_PIX_FMT_YUVJ444P 

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

AV_PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

AV_PIX_FMT_XVMC_MPEG2_IDCT 
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)2R 3G 3B(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 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_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

AV_PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

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)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

AV_PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

AV_PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

AV_PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

AV_PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

AV_PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

AV_PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

AV_PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

AV_PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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_VDA_VLD 

hardware decoding through VDA

AV_PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

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_LIBAV 

duplicated pixel formats for compatibility with libav.

FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55) Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85)planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)

AV_PIX_FMT_YUVA444P_LIBAV 

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_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

AV_PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

AV_PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

AV_PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

AV_PIX_FMT_YUVA444P 

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

AV_PIX_FMT_YUVA422P 

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

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_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_YUVJ411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of 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_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

PIX_FMT_NONE 
PIX_FMT_YUV420P 

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

PIX_FMT_YUYV422 

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

PIX_FMT_RGB24 

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

PIX_FMT_BGR24 

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

PIX_FMT_YUV422P 

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

PIX_FMT_YUV444P 

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

PIX_FMT_YUV410P 

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

PIX_FMT_YUV411P 

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

PIX_FMT_GRAY8 

Y , 8bpp.

PIX_FMT_MONOWHITE 

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

PIX_FMT_MONOBLACK 

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

PIX_FMT_PAL8 

8 bit with PIX_FMT_RGB32 palette

PIX_FMT_YUVJ420P 

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

PIX_FMT_YUVJ422P 

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

PIX_FMT_YUVJ444P 

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

PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

PIX_FMT_XVMC_MPEG2_IDCT 
PIX_FMT_UYVY422 

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

PIX_FMT_UYYVYY411 

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

PIX_FMT_BGR8 

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

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

PIX_FMT_BGR4_BYTE 

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

PIX_FMT_RGB8 

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

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

PIX_FMT_RGB4_BYTE 

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

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)

PIX_FMT_NV21 

as above, but U and V bytes are swapped

PIX_FMT_ARGB 

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

PIX_FMT_RGBA 

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

PIX_FMT_ABGR 

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

PIX_FMT_BGRA 

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

PIX_FMT_GRAY16BE 

Y , 16bpp, big-endian.

PIX_FMT_GRAY16LE 

Y , 16bpp, little-endian.

PIX_FMT_YUV440P 

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

PIX_FMT_YUVJ440P 

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

PIX_FMT_YUVA420P 

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

PIX_FMT_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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

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

PIX_FMT_RGB565BE 

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

PIX_FMT_RGB565LE 

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

PIX_FMT_RGB555BE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

PIX_FMT_BGR565BE 

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

PIX_FMT_BGR565LE 

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

PIX_FMT_BGR555BE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_YUV420P16LE 

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

PIX_FMT_YUV420P16BE 

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

PIX_FMT_YUV422P16LE 

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

PIX_FMT_YUV422P16BE 

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

PIX_FMT_YUV444P16LE 

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

PIX_FMT_YUV444P16BE 

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

PIX_FMT_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_DXVA2_VLD 

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

PIX_FMT_RGB444LE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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

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

PIX_FMT_YUV420P9BE 

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

PIX_FMT_YUV420P9LE 

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

PIX_FMT_YUV420P10BE 

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

PIX_FMT_YUV420P10LE 

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

PIX_FMT_YUV422P10BE 

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

PIX_FMT_YUV422P10LE 

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

PIX_FMT_YUV444P9BE 

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

PIX_FMT_YUV444P9LE 

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

PIX_FMT_YUV444P10BE 

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

PIX_FMT_YUV444P10LE 

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

PIX_FMT_YUV422P9BE 

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

PIX_FMT_YUV422P9LE 

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

PIX_FMT_VDA_VLD 

hardware decoding through VDA

PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

PIX_FMT_GBRP9BE 

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

PIX_FMT_GBRP9LE 

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

PIX_FMT_GBRP10BE 

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

PIX_FMT_GBRP10LE 

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

PIX_FMT_GBRP16BE 

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

PIX_FMT_GBRP16LE 

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

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

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

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

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

PIX_FMT_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

PIX_FMT_YUVA444P 

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

PIX_FMT_YUVA422P 

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

PIX_FMT_YUV420P12BE 

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

PIX_FMT_YUV420P12LE 

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

PIX_FMT_YUV420P14BE 

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

PIX_FMT_YUV420P14LE 

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

PIX_FMT_YUV422P12BE 

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

PIX_FMT_YUV422P12LE 

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

PIX_FMT_YUV422P14BE 

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

PIX_FMT_YUV422P14LE 

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

PIX_FMT_YUV444P12BE 

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

PIX_FMT_YUV444P12LE 

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

PIX_FMT_YUV444P14BE 

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

PIX_FMT_YUV444P14LE 

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

PIX_FMT_GBRP12BE 

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

PIX_FMT_GBRP12LE 

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

PIX_FMT_GBRP14BE 

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

PIX_FMT_GBRP14LE 

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

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

AVMEDIA_TYPE_UNKNOWN 

Usually treated as AVMEDIA_TYPE_DATA.

AVMEDIA_TYPE_VIDEO 
AVMEDIA_TYPE_AUDIO 
AVMEDIA_TYPE_DATA 

Opaque data information usually continuous.

AVMEDIA_TYPE_SUBTITLE 
AVMEDIA_TYPE_ATTACHMENT 

Opaque data information usually sparse.

AV_PICTURE_TYPE_NONE 

Undefined.

AV_PICTURE_TYPE_I 

Intra.

AV_PICTURE_TYPE_P 

Predicted.

AV_PICTURE_TYPE_B 

Bi-dir predicted.

AV_PICTURE_TYPE_S 

S(GMC)-VOP MPEG4.

AV_PICTURE_TYPE_SI 

Switching Intra.

AV_PICTURE_TYPE_SP 

Switching Predicted.

AV_PICTURE_TYPE_BI 

BI type.

AV_PIX_FMT_NONE 

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.
When the pixel format is palettized RGB (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 RGB 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 8bit 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.
Note
Make sure that all newly added big-endian formats have (pix_fmt & 1) == 1 and that all newly added little-endian formats have (pix_fmt & 1) == 0. This allows simpler detection of big vs little-endian.
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 bit with PIX_FMT_RGB32 palette

AV_PIX_FMT_YUVJ420P 

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

AV_PIX_FMT_YUVJ422P 

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

AV_PIX_FMT_YUVJ444P 

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

AV_PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

AV_PIX_FMT_XVMC_MPEG2_IDCT 
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)2R 3G 3B(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 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_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

AV_PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

AV_PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

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)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

AV_PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

AV_PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

AV_PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

AV_PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

AV_PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

AV_PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

AV_PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

AV_PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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_VDA_VLD 

hardware decoding through VDA

AV_PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

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_LIBAV 

duplicated pixel formats for compatibility with libav.

FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55) Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85)planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)

AV_PIX_FMT_YUVA444P_LIBAV 

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_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

AV_PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

AV_PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

AV_PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

AV_PIX_FMT_YUVA444P 

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

AV_PIX_FMT_YUVA422P 

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

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_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_YUVJ411P 

planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of 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_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

PIX_FMT_NONE 
PIX_FMT_YUV420P 

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

PIX_FMT_YUYV422 

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

PIX_FMT_RGB24 

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

PIX_FMT_BGR24 

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

PIX_FMT_YUV422P 

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

PIX_FMT_YUV444P 

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

PIX_FMT_YUV410P 

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

PIX_FMT_YUV411P 

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

PIX_FMT_GRAY8 

Y , 8bpp.

PIX_FMT_MONOWHITE 

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

PIX_FMT_MONOBLACK 

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

PIX_FMT_PAL8 

8 bit with PIX_FMT_RGB32 palette

PIX_FMT_YUVJ420P 

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

PIX_FMT_YUVJ422P 

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

PIX_FMT_YUVJ444P 

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

PIX_FMT_XVMC_MPEG2_MC 

XVideo Motion Acceleration via common packet passing.

PIX_FMT_XVMC_MPEG2_IDCT 
PIX_FMT_UYVY422 

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

PIX_FMT_UYYVYY411 

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

PIX_FMT_BGR8 

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

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

PIX_FMT_BGR4_BYTE 

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

PIX_FMT_RGB8 

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

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

PIX_FMT_RGB4_BYTE 

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

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)

PIX_FMT_NV21 

as above, but U and V bytes are swapped

PIX_FMT_ARGB 

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

PIX_FMT_RGBA 

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

PIX_FMT_ABGR 

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

PIX_FMT_BGRA 

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

PIX_FMT_GRAY16BE 

Y , 16bpp, big-endian.

PIX_FMT_GRAY16LE 

Y , 16bpp, little-endian.

PIX_FMT_YUV440P 

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

PIX_FMT_YUVJ440P 

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

PIX_FMT_YUVA420P 

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

PIX_FMT_VDPAU_H264 

H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG1 

MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_MPEG2 

MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_WMV3 

WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_VDPAU_VC1 

VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

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

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

PIX_FMT_RGB565BE 

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

PIX_FMT_RGB565LE 

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

PIX_FMT_RGB555BE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0

PIX_FMT_RGB555LE 

packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0

PIX_FMT_BGR565BE 

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

PIX_FMT_BGR565LE 

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

PIX_FMT_BGR555BE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1

PIX_FMT_BGR555LE 

packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1

PIX_FMT_VAAPI_MOCO 

HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers.

PIX_FMT_VAAPI_IDCT 

HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers.

PIX_FMT_VAAPI_VLD 

HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_YUV420P16LE 

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

PIX_FMT_YUV420P16BE 

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

PIX_FMT_YUV422P16LE 

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

PIX_FMT_YUV422P16BE 

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

PIX_FMT_YUV444P16LE 

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

PIX_FMT_YUV444P16BE 

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

PIX_FMT_VDPAU_MPEG4 

MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers.

PIX_FMT_DXVA2_VLD 

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

PIX_FMT_RGB444LE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0

PIX_FMT_RGB444BE 

packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0

PIX_FMT_BGR444LE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1

PIX_FMT_BGR444BE 

packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1

PIX_FMT_GRAY8A 

8bit gray, 8bit alpha

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

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

PIX_FMT_YUV420P9BE 

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

PIX_FMT_YUV420P9LE 

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

PIX_FMT_YUV420P10BE 

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

PIX_FMT_YUV420P10LE 

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

PIX_FMT_YUV422P10BE 

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

PIX_FMT_YUV422P10LE 

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

PIX_FMT_YUV444P9BE 

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

PIX_FMT_YUV444P9LE 

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

PIX_FMT_YUV444P10BE 

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

PIX_FMT_YUV444P10LE 

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

PIX_FMT_YUV422P9BE 

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

PIX_FMT_YUV422P9LE 

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

PIX_FMT_VDA_VLD 

hardware decoding through VDA

PIX_FMT_GBRP 

planar GBR 4:4:4 24bpp

PIX_FMT_GBRP9BE 

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

PIX_FMT_GBRP9LE 

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

PIX_FMT_GBRP10BE 

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

PIX_FMT_GBRP10LE 

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

PIX_FMT_GBRP16BE 

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

PIX_FMT_GBRP16LE 

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

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

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

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

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

PIX_FMT_0RGB 

packed RGB 8:8:8, 32bpp, 0RGB0RGB...

PIX_FMT_RGB0 

packed RGB 8:8:8, 32bpp, RGB0RGB0...

PIX_FMT_0BGR 

packed BGR 8:8:8, 32bpp, 0BGR0BGR...

PIX_FMT_BGR0 

packed BGR 8:8:8, 32bpp, BGR0BGR0...

PIX_FMT_YUVA444P 

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

PIX_FMT_YUVA422P 

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

PIX_FMT_YUV420P12BE 

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

PIX_FMT_YUV420P12LE 

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

PIX_FMT_YUV420P14BE 

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

PIX_FMT_YUV420P14LE 

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

PIX_FMT_YUV422P12BE 

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

PIX_FMT_YUV422P12LE 

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

PIX_FMT_YUV422P14BE 

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

PIX_FMT_YUV422P14LE 

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

PIX_FMT_YUV444P12BE 

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

PIX_FMT_YUV444P12LE 

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

PIX_FMT_YUV444P14BE 

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

PIX_FMT_YUV444P14LE 

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

PIX_FMT_GBRP12BE 

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

PIX_FMT_GBRP12LE 

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

PIX_FMT_GBRP14BE 

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

PIX_FMT_GBRP14LE 

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

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

AV_CLASS_CATEGORY_NA 
AV_CLASS_CATEGORY_INPUT 
AV_CLASS_CATEGORY_OUTPUT 
AV_CLASS_CATEGORY_MUXER 
AV_CLASS_CATEGORY_DEMUXER 
AV_CLASS_CATEGORY_ENCODER 
AV_CLASS_CATEGORY_DECODER 
AV_CLASS_CATEGORY_FILTER 
AV_CLASS_CATEGORY_BITSTREAM_FILTER 
AV_CLASS_CATEGORY_SWSCALER 
AV_CLASS_CATEGORY_SWRESAMPLER 
AV_CLASS_CATEGORY_NB 

not part of ABI/API

CODEC_ID_NONE 

Reinterpret a 32-bit integer as a float.

Log a generic warning message about a missing feature. Additionally request that a sample showcasing the feature be uploaded.

Parameters
[in]avca pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct
[in]msgstring containing the name of the missing feature A wrapper for open() setting O_CLOEXEC.
CODEC_ID_MPEG1VIDEO 
CODEC_ID_MPEG2VIDEO 

preferred ID for MPEG-1/2 video decoding

CODEC_ID_MPEG2VIDEO_XVMC 
CODEC_ID_H261 
CODEC_ID_H263 
CODEC_ID_RV10 
CODEC_ID_RV20 
CODEC_ID_MJPEG 
CODEC_ID_MJPEGB 
CODEC_ID_LJPEG 
CODEC_ID_SP5X 
CODEC_ID_JPEGLS 
CODEC_ID_MPEG4 
CODEC_ID_RAWVIDEO 
CODEC_ID_MSMPEG4V1 
CODEC_ID_MSMPEG4V2 
CODEC_ID_MSMPEG4V3 
CODEC_ID_WMV1 
CODEC_ID_WMV2 
CODEC_ID_H263P 
CODEC_ID_H263I 
CODEC_ID_FLV1 
CODEC_ID_SVQ1 
CODEC_ID_SVQ3 
CODEC_ID_DVVIDEO 
CODEC_ID_HUFFYUV 
CODEC_ID_CYUV 
CODEC_ID_H264 
CODEC_ID_INDEO3 
CODEC_ID_VP3 
CODEC_ID_THEORA 
CODEC_ID_ASV1 
CODEC_ID_ASV2 
CODEC_ID_FFV1 
CODEC_ID_4XM 
CODEC_ID_VCR1 
CODEC_ID_CLJR 
CODEC_ID_MDEC 
CODEC_ID_ROQ 
CODEC_ID_INTERPLAY_VIDEO 
CODEC_ID_XAN_WC3 
CODEC_ID_XAN_WC4 
CODEC_ID_RPZA 
CODEC_ID_CINEPAK 
CODEC_ID_WS_VQA 
CODEC_ID_MSRLE 
CODEC_ID_MSVIDEO1 
CODEC_ID_IDCIN 
CODEC_ID_8BPS 
CODEC_ID_SMC 
CODEC_ID_FLIC 
CODEC_ID_TRUEMOTION1 
CODEC_ID_VMDVIDEO 
CODEC_ID_MSZH 
CODEC_ID_ZLIB 
CODEC_ID_QTRLE 
CODEC_ID_TSCC 
CODEC_ID_ULTI 
CODEC_ID_QDRAW 
CODEC_ID_VIXL 
CODEC_ID_QPEG 
CODEC_ID_PNG 
CODEC_ID_PPM 
CODEC_ID_PBM 
CODEC_ID_PGM 
CODEC_ID_PGMYUV 
CODEC_ID_PAM 
CODEC_ID_FFVHUFF 
CODEC_ID_RV30 
CODEC_ID_RV40 
CODEC_ID_VC1 
CODEC_ID_WMV3 
CODEC_ID_LOCO 
CODEC_ID_WNV1 
CODEC_ID_AASC 
CODEC_ID_INDEO2 
CODEC_ID_FRAPS 
CODEC_ID_TRUEMOTION2 
CODEC_ID_BMP 
CODEC_ID_CSCD 
CODEC_ID_MMVIDEO 
CODEC_ID_ZMBV 
CODEC_ID_AVS 
CODEC_ID_SMACKVIDEO 
CODEC_ID_NUV 
CODEC_ID_KMVC 
CODEC_ID_FLASHSV 
CODEC_ID_CAVS 
CODEC_ID_JPEG2000 
CODEC_ID_VMNC 
CODEC_ID_VP5 
CODEC_ID_VP6 
CODEC_ID_VP6F 
CODEC_ID_TARGA 
CODEC_ID_DSICINVIDEO 
CODEC_ID_TIERTEXSEQVIDEO 
CODEC_ID_TIFF 
CODEC_ID_GIF 
CODEC_ID_DXA 
CODEC_ID_DNXHD 
CODEC_ID_THP 
CODEC_ID_SGI 
CODEC_ID_C93 
CODEC_ID_BETHSOFTVID 
CODEC_ID_PTX 
CODEC_ID_TXD 
CODEC_ID_VP6A 
CODEC_ID_AMV 
CODEC_ID_VB 
CODEC_ID_PCX 
CODEC_ID_SUNRAST 
CODEC_ID_INDEO4 
CODEC_ID_INDEO5 
CODEC_ID_MIMIC 
CODEC_ID_RL2 
CODEC_ID_ESCAPE124 
CODEC_ID_DIRAC 
CODEC_ID_BFI 
CODEC_ID_CMV 
CODEC_ID_MOTIONPIXELS 
CODEC_ID_TGV 
CODEC_ID_TGQ 
CODEC_ID_TQI 
CODEC_ID_AURA 
CODEC_ID_AURA2 
CODEC_ID_V210X 
CODEC_ID_TMV 
CODEC_ID_V210 
CODEC_ID_DPX 
CODEC_ID_MAD 
CODEC_ID_FRWU 
CODEC_ID_FLASHSV2 
CODEC_ID_CDGRAPHICS 
CODEC_ID_R210 
CODEC_ID_ANM 
CODEC_ID_BINKVIDEO 
CODEC_ID_IFF_ILBM 
CODEC_ID_IFF_BYTERUN1 
CODEC_ID_KGV1 
CODEC_ID_YOP 
CODEC_ID_VP8 
CODEC_ID_PICTOR 
CODEC_ID_ANSI 
CODEC_ID_A64_MULTI 
CODEC_ID_A64_MULTI5 
CODEC_ID_R10K 
CODEC_ID_MXPEG 
CODEC_ID_LAGARITH 
CODEC_ID_PRORES 
CODEC_ID_JV 
CODEC_ID_DFA 
CODEC_ID_WMV3IMAGE 
CODEC_ID_VC1IMAGE 
CODEC_ID_UTVIDEO 
CODEC_ID_BMV_VIDEO 
CODEC_ID_VBLE 
CODEC_ID_DXTORY 
CODEC_ID_V410 
CODEC_ID_XWD 
CODEC_ID_CDXL 
CODEC_ID_XBM 
CODEC_ID_ZEROCODEC 
CODEC_ID_MSS1 
CODEC_ID_MSA1 
CODEC_ID_TSCC2 
CODEC_ID_MTS2 
CODEC_ID_CLLC 
CODEC_ID_Y41P 
CODEC_ID_ESCAPE130 
CODEC_ID_EXR 
CODEC_ID_AVRP 
CODEC_ID_G2M 
CODEC_ID_AVUI 
CODEC_ID_AYUV 
CODEC_ID_V308 
CODEC_ID_V408 
CODEC_ID_YUV4 
CODEC_ID_SANM 
CODEC_ID_PAF_VIDEO 
CODEC_ID_SNOW 
CODEC_ID_FIRST_AUDIO 

A dummy id pointing at the start of audio codecs.

CODEC_ID_PCM_S16LE 
CODEC_ID_PCM_S16BE 
CODEC_ID_PCM_U16LE 
CODEC_ID_PCM_U16BE 
CODEC_ID_PCM_S8 
CODEC_ID_PCM_U8 
CODEC_ID_PCM_MULAW 
CODEC_ID_PCM_ALAW 
CODEC_ID_PCM_S32LE 
CODEC_ID_PCM_S32BE 
CODEC_ID_PCM_U32LE 
CODEC_ID_PCM_U32BE 
CODEC_ID_PCM_S24LE 
CODEC_ID_PCM_S24BE 
CODEC_ID_PCM_U24LE 
CODEC_ID_PCM_U24BE 
CODEC_ID_PCM_S24DAUD 
CODEC_ID_PCM_ZORK 
CODEC_ID_PCM_S16LE_PLANAR 
CODEC_ID_PCM_DVD 
CODEC_ID_PCM_F32BE 
CODEC_ID_PCM_F32LE 
CODEC_ID_PCM_F64BE 
CODEC_ID_PCM_F64LE 
CODEC_ID_PCM_BLURAY 
CODEC_ID_PCM_LXF 
CODEC_ID_S302M 
CODEC_ID_PCM_S8_PLANAR 
CODEC_ID_ADPCM_IMA_QT 
CODEC_ID_ADPCM_IMA_WAV 
CODEC_ID_ADPCM_IMA_DK3 
CODEC_ID_ADPCM_IMA_DK4 
CODEC_ID_ADPCM_IMA_WS 
CODEC_ID_ADPCM_IMA_SMJPEG 
CODEC_ID_ADPCM_MS 
CODEC_ID_ADPCM_4XM 
CODEC_ID_ADPCM_XA 
CODEC_ID_ADPCM_ADX 
CODEC_ID_ADPCM_EA 
CODEC_ID_ADPCM_G726 
CODEC_ID_ADPCM_CT 
CODEC_ID_ADPCM_SWF 
CODEC_ID_ADPCM_YAMAHA 
CODEC_ID_ADPCM_SBPRO_4 
CODEC_ID_ADPCM_SBPRO_3 
CODEC_ID_ADPCM_SBPRO_2 
CODEC_ID_ADPCM_THP 
CODEC_ID_ADPCM_IMA_AMV 
CODEC_ID_ADPCM_EA_R1 
CODEC_ID_ADPCM_EA_R3 
CODEC_ID_ADPCM_EA_R2 
CODEC_ID_ADPCM_IMA_EA_SEAD 
CODEC_ID_ADPCM_IMA_EA_EACS 
CODEC_ID_ADPCM_EA_XAS 
CODEC_ID_ADPCM_EA_MAXIS_XA 
CODEC_ID_ADPCM_IMA_ISS 
CODEC_ID_ADPCM_G722 
CODEC_ID_ADPCM_IMA_APC 
CODEC_ID_VIMA 
CODEC_ID_AMR_NB 
CODEC_ID_AMR_WB 
CODEC_ID_RA_144 
CODEC_ID_RA_288 
CODEC_ID_ROQ_DPCM 
CODEC_ID_INTERPLAY_DPCM 
CODEC_ID_XAN_DPCM 
CODEC_ID_SOL_DPCM 
CODEC_ID_MP2 
CODEC_ID_MP3 

preferred ID for decoding MPEG audio layer 1, 2 or 3

CODEC_ID_AAC 
CODEC_ID_AC3 
CODEC_ID_DTS 
CODEC_ID_VORBIS 
CODEC_ID_DVAUDIO 
CODEC_ID_WMAV1 
CODEC_ID_WMAV2 
CODEC_ID_MACE3 
CODEC_ID_MACE6 
CODEC_ID_VMDAUDIO 
CODEC_ID_FLAC 
CODEC_ID_MP3ADU 
CODEC_ID_MP3ON4 
CODEC_ID_SHORTEN 
CODEC_ID_ALAC 
CODEC_ID_WESTWOOD_SND1 
CODEC_ID_GSM 

as in Berlin toast format

CODEC_ID_QDM2 
CODEC_ID_COOK 
CODEC_ID_TRUESPEECH 
CODEC_ID_TTA 
CODEC_ID_SMACKAUDIO 
CODEC_ID_QCELP 
CODEC_ID_WAVPACK 
CODEC_ID_DSICINAUDIO 
CODEC_ID_IMC 
CODEC_ID_MUSEPACK7 
CODEC_ID_MLP 
CODEC_ID_GSM_MS 
CODEC_ID_ATRAC3 
CODEC_ID_VOXWARE 
CODEC_ID_APE 
CODEC_ID_NELLYMOSER 
CODEC_ID_MUSEPACK8 
CODEC_ID_SPEEX 
CODEC_ID_WMAVOICE 
CODEC_ID_WMAPRO 
CODEC_ID_WMALOSSLESS 
CODEC_ID_ATRAC3P 
CODEC_ID_EAC3 
CODEC_ID_SIPR 
CODEC_ID_MP1 
CODEC_ID_TWINVQ 
CODEC_ID_TRUEHD 
CODEC_ID_MP4ALS 
CODEC_ID_ATRAC1 
CODEC_ID_BINKAUDIO_RDFT 
CODEC_ID_BINKAUDIO_DCT 
CODEC_ID_AAC_LATM 
CODEC_ID_QDMC 
CODEC_ID_CELT 
CODEC_ID_G723_1 
CODEC_ID_G729 
CODEC_ID_8SVX_EXP 
CODEC_ID_8SVX_FIB 
CODEC_ID_BMV_AUDIO 
CODEC_ID_RALF 
CODEC_ID_IAC 
CODEC_ID_ILBC 
CODEC_ID_FFWAVESYNTH 
CODEC_ID_SONIC 
CODEC_ID_SONIC_LS 
CODEC_ID_PAF_AUDIO 
CODEC_ID_OPUS 
CODEC_ID_FIRST_SUBTITLE 

A dummy ID pointing at the start of subtitle codecs.

CODEC_ID_DVD_SUBTITLE 
CODEC_ID_DVB_SUBTITLE 
CODEC_ID_TEXT 

raw UTF-8 text

CODEC_ID_XSUB 
CODEC_ID_SSA 
CODEC_ID_MOV_TEXT 
CODEC_ID_HDMV_PGS_SUBTITLE 
CODEC_ID_DVB_TELETEXT 
CODEC_ID_SRT 
CODEC_ID_MICRODVD 
CODEC_ID_EIA_608 
CODEC_ID_JACOSUB 
CODEC_ID_SAMI 
CODEC_ID_REALTEXT 
CODEC_ID_SUBVIEWER 
CODEC_ID_FIRST_UNKNOWN 

A dummy ID pointing at the start of various fake codecs.

CODEC_ID_TTF 
CODEC_ID_BINTEXT 
CODEC_ID_XBIN 
CODEC_ID_IDF 
CODEC_ID_OTF 
CODEC_ID_PROBE 

codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it

CODEC_ID_MPEG2TS 

FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)

CODEC_ID_MPEG4SYSTEMS 

FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)

CODEC_ID_FFMETADATA 

Dummy codec for streams containing only metadata information.

Definition at line 107 of file avcodec.h.

Enumerator:
AVCOL_PRI_BT709 

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

AVCOL_PRI_UNSPECIFIED 
AVCOL_PRI_BT470M 
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 

functionally identical to above

AVCOL_PRI_FILM 
AVCOL_PRI_BT2020 

ITU-R BT2020.

AVCOL_PRI_NB 

Not part of ABI.

Definition at line 632 of file avcodec.h.

Enumerator:
AVCOL_TRC_BT709 

also ITU-R BT1361

AVCOL_TRC_UNSPECIFIED 
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_NB 

Not part of ABI.

Definition at line 644 of file avcodec.h.

X X 3 4 X X are luma samples, 1 2 1-6 are possible chroma positions X X 5 6 X 0 is undefined/unknown position.

Enumerator:
AVCHROMA_LOC_UNSPECIFIED 
AVCHROMA_LOC_LEFT 

mpeg2/4, h264 default

AVCHROMA_LOC_CENTER 

mpeg1, jpeg, h263

AVCHROMA_LOC_TOPLEFT 

DV.

AVCHROMA_LOC_TOP 
AVCHROMA_LOC_BOTTOMLEFT 
AVCHROMA_LOC_BOTTOM 
AVCHROMA_LOC_NB 

Not part of ABI.

Definition at line 667 of file avcodec.h.

Enumerator:
AV_AUDIO_SERVICE_TYPE_MAIN 
AV_AUDIO_SERVICE_TYPE_EFFECTS 
AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED 
AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED 
AV_AUDIO_SERVICE_TYPE_DIALOGUE 
AV_AUDIO_SERVICE_TYPE_COMMENTARY 
AV_AUDIO_SERVICE_TYPE_EMERGENCY 
AV_AUDIO_SERVICE_TYPE_VOICE_OVER 
AV_AUDIO_SERVICE_TYPE_KARAOKE 
AV_AUDIO_SERVICE_TYPE_NB 

Not part of ABI.

Definition at line 678 of file avcodec.h.

Enumerator:
AV_FIELD_UNKNOWN 
AV_FIELD_PROGRESSIVE 
AV_FIELD_TT 
AV_FIELD_BB 
AV_FIELD_TB 
AV_FIELD_BT 

Definition at line 1179 of file avcodec.h.

Enumerator:
SUBTITLE_NONE 
SUBTITLE_BITMAP 

A bitmap, pict will be set.

SUBTITLE_TEXT 

Plain text, the text field must be set by the decoder and is authoritative.

ass and pict fields may contain approximations.

SUBTITLE_ASS 

Formatted text, the ass field must be set by the decoder and is authoritative.

pict and text fields may contain approximations.

Definition at line 3252 of file avcodec.h.

Function Documentation

AVRational av_codec_get_pkt_timebase ( const AVCodecContext avctx)
void av_codec_set_pkt_timebase ( AVCodecContext avctx,
AVRational  val 
)

Referenced by avpriv_set_pts_info().

const AVCodecDescriptor* av_codec_get_codec_descriptor ( const AVCodecContext avctx)

Referenced by is_intra_only().

void av_codec_set_codec_descriptor ( AVCodecContext avctx,
const AVCodecDescriptor desc 
)

Referenced by is_intra_only().

int av_codec_get_lowres ( const AVCodecContext avctx)

Referenced by add_input_streams().

void av_codec_set_lowres ( AVCodecContext avctx,
int  val 
)

Referenced by stream_component_open().

int av_codec_get_seek_preroll ( const AVCodecContext avctx)
void av_codec_set_seek_preroll ( AVCodecContext avctx,
int  val 
)
uint16_t* av_codec_get_chroma_intra_matrix ( const AVCodecContext avctx)
void av_codec_set_chroma_intra_matrix ( AVCodecContext avctx,
uint16_t *  val 
)

Referenced by new_video_stream().

int av_codec_get_max_lowres ( const AVCodec codec)

Definition at line 1130 of file utils.c.

Referenced by stream_component_open().

AVCodec* av_codec_next ( const AVCodec c)

If c is NULL, returns the first registered codec, if c is non-NULL, returns the next registered codec after c, or NULL if c is the last one.

Definition at line 181 of file utils.c.

Referenced by codec_child_class_next(), next_codec_for_id(), and show_codec_opts().

unsigned avcodec_version ( void  )

Return the LIBAVCODEC_VERSION_INT constant.

Definition at line 2906 of file utils.c.

const char* avcodec_configuration ( void  )

Return the libavcodec build-time configuration.

Definition at line 2923 of file utils.c.

const char* avcodec_license ( void  )

Return the libavcodec license.

Definition at line 2928 of file utils.c.

void avcodec_register ( AVCodec codec)

Register the codec codec and initialize libavcodec.

Warning
either this function or avcodec_register_all() must be called before any other libavcodec functions.
See Also
avcodec_register_all()

Definition at line 211 of file utils.c.

void avcodec_register_all ( void  )

Register all the codecs, parsers and bitstream filters which were enabled at configuration time.

If you do not call this function you can select exactly which formats you want to support, by using the individual registration functions.

See Also
avcodec_register
av_register_codec_parser
av_register_bitstream_filter

Definition at line 68 of file allcodecs.c.

Referenced by av_register_all(), and main().

AVCodecContext* avcodec_alloc_context3 ( const AVCodec codec)

Allocate an AVCodecContext and set its fields to default values.

The resulting struct can be deallocated by calling avcodec_close() on it followed by av_free().

Parameters
codecif non-NULL, allocate private data and initialize defaults for the given codec. It is illegal to then call avcodec_open2() with a different codec. If NULL, then the codec-specific defaults won't be initialized, which may result in suboptimal default settings (this is important mainly for encoders, e.g. libx264).
Returns
An AVCodecContext filled with default values or NULL on failure.
See Also
avcodec_get_context_defaults
Examples:
avcodec.c.

Definition at line 143 of file options.c.

Referenced by add_av_stream1(), add_codec(), audio_decode_example(), audio_encode_example(), avformat_new_stream(), config(), config_input(), config_props(), estimate_best_b_count(), ff_frame_thread_encoder_init(), ff_mov_init_hinting(), init(), main(), mov_create_chapter_track(), mov_create_timecode_track(), smvjpeg_decode_init(), video_decode_example(), and video_encode_example().

int avcodec_get_context_defaults3 ( AVCodecContext s,
const AVCodec codec 
)

Set the fields of the given AVCodecContext to default values corresponding to the given codec (defaults may be codec-dependent).

Do not call this function if a non-NULL codec has been passed to avcodec_alloc_context3() that allocated this AVCodecContext. If codec is non-NULL, it is illegal to call avcodec_open2() with a different codec on this AVCodecContext.

Definition at line 89 of file options.c.

Referenced by avcodec_alloc_context3(), new_output_stream(), and parse_ffconfig().

const AVClass* avcodec_get_class ( void  )

Get the AVClass for AVCodecContext.

It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

See Also
av_opt_find().

Definition at line 218 of file options.c.

Referenced by filter_codec_opts(), open_input_file(), open_output_file(), opt_default(), show_codec_opts(), and show_help_default().

const AVClass* avcodec_get_frame_class ( void  )

Get the AVClass for AVFrame.

It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

See Also
av_opt_find().

Definition at line 245 of file options.c.

Referenced by decode_video().

const AVClass* avcodec_get_subtitle_rect_class ( void  )

Get the AVClass for AVSubtitleRect.

It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

See Also
av_opt_find().

Definition at line 270 of file options.c.

int avcodec_copy_context ( AVCodecContext dest,
const AVCodecContext src 
)

Copy the settings of the source AVCodecContext into the destination AVCodecContext.

The resulting destination codec context will be unopened, i.e. you are required to call avcodec_open2() before you can use this AVCodecContext to decode/encode video/audio data.

Parameters
desttarget codec context, should be initialized with avcodec_alloc_context3(NULL), but otherwise uninitialized
srcsource codec context
Returns
AVERROR() on error (e.g. memory allocation error), 0 on success
Examples:
remuxing.c.

Definition at line 157 of file options.c.

Referenced by concat_read_header(), ff_rtp_chain_mux_open(), hds_write_header(), hls_mux_init(), hls_read_header(), http_receive_data(), ism_write_header(), libquvi_read_header(), main(), mpegts_write_header(), open_slave(), read_ffserver_streams(), sap_fetch_packet(), sap_read_header(), segment_mux_init(), and write_packet().

attribute_deprecated AVFrame* avcodec_alloc_frame ( void  )
attribute_deprecated void avcodec_get_frame_defaults ( AVFrame frame)

Set the fields of the given AVFrame to default values.

Parameters
frameThe AVFrame of which the fields should be set to default values.
Deprecated:
use av_frame_unref()

Referenced by raw_encode_init().

attribute_deprecated void avcodec_free_frame ( AVFrame **  frame)

Free the frame and any dynamically allocated objects in it, e.g.

extended_data.

Parameters
frameframe to be freed. The pointer will be set to NULL.
Warning
this function does NOT free the data buffers themselves (it does not know how, since they might have been allocated with a custom get_buffer()).
Deprecated:
use av_frame_free()
Examples:
demuxing_decoding.c.

Referenced by main().

int avcodec_open2 ( AVCodecContext avctx,
const AVCodec codec,
AVDictionary **  options 
)

Initialize the AVCodecContext to use the given AVCodec.

Prior to using this function the context has to be allocated with avcodec_alloc_context3().

The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for retrieving a codec.

Warning
This function is not thread safe!
av_dict_set(&opts, "b", "2.5M", 0);
if (!codec)
exit(1);
context = avcodec_alloc_context3(codec);
if (avcodec_open2(context, codec, opts) < 0)
exit(1);
Parameters
avctxThe context to initialize.
codecThe codec to open this context for. If a non-NULL codec has been previously passed to avcodec_alloc_context3() or avcodec_get_context_defaults3() for this context, then this parameter MUST be either NULL or equal to the previously passed codec.
optionsA dictionary filled with AVCodecContext and codec-private options. On return this object will be filled with options that were not found.
Returns
zero on success, a negative value on error
See Also
avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(), av_dict_set(), av_opt_find().
Examples:
avcodec.c, demuxing_decoding.c, filtering_audio.c, filtering_video.c, muxing.c, and transcode_aac.c.

Definition at line 1176 of file utils.c.

Referenced by audio_decode_example(), audio_encode_example(), avformat_find_stream_info(), config(), config_props(), estimate_best_b_count(), ff_codec_open2_recursive(), ff_frame_thread_encoder_init(), ff_load_image(), init_input_stream(), open_audio(), open_codec_context(), open_input_file(), open_output_file(), open_stream(), open_video(), stream_component_open(), try_decode_frame(), video_decode_example(), video_encode_example(), and wrap().

int avcodec_close ( AVCodecContext avctx)

Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself).

Calling this function on an AVCodecContext that hasn't been opened will free the codec-specific data allocated in avcodec_alloc_context3() / avcodec_get_context_defaults3() with a non-NULL codec. Subsequent calls will do nothing.

Examples:
avcodec.c, demuxing_decoding.c, filtering_audio.c, filtering_video.c, muxing.c, and transcode_aac.c.

Definition at line 2596 of file utils.c.

Referenced by audio_decode_example(), audio_encode_example(), avformat_find_stream_info(), close_audio(), close_connection(), close_input_file(), close_video(), estimate_best_b_count(), ff_codec_close_recursive(), ff_load_image(), main(), movie_uninit(), stream_component_close(), transcode(), uninit(), video_decode_example(), video_encode_example(), and worker().

void avsubtitle_free ( AVSubtitle sub)

Free all allocated data in the given subtitle struct.

Parameters
subAVSubtitle to free.

Definition at line 2565 of file utils.c.

Referenced by avcodec_decode_subtitle2(), ffmpeg_cleanup(), free_subpicture(), process_frame(), subtitle_thread(), and transcode_subtitles().