FFmpeg
Modules | Data Structures | Macros | Enumerations | Functions
Core functions/structures.

Modules

 AVHWAccel
 
 AVPicture
 Functions for working with AVPicture.
 

Data Structures

struct  RcOverride
 
struct  AVPanScan
 Pan Scan area. More...
 
struct  AVCPBProperties
 This structure describes the bitrate properties of an encoded bitstream. More...
 
struct  AVProducerReferenceTime
 This structure supplies correlation between a packet timestamp and a wall clock production time. More...
 
struct  AVCodecContext
 main external API structure. More...
 
struct  AVSubtitleRect
 
struct  AVSubtitle
 
struct  AVBSFContext
 The bitstream filter state. More...
 
struct  AVBitStreamFilter
 
struct  AVProfile
 AVProfile. More...
 
struct  AVCodec
 AVCodec. More...
 
struct  AVCodecHWConfig
 
struct  AVCodecDescriptor
 This struct describes the properties of a single codec described by an AVCodecID. More...
 

Macros

#define AV_CODEC_FLAG_UNALIGNED   (1 << 0)
 Allow decoders to produce frames with data planes that are not aligned to CPU requirements (e.g. More...
 
#define AV_CODEC_FLAG_QSCALE   (1 << 1)
 Use fixed qscale. More...
 
#define AV_CODEC_FLAG_4MV   (1 << 2)
 4 MV per MB allowed / advanced prediction for H.263. More...
 
#define AV_CODEC_FLAG_OUTPUT_CORRUPT   (1 << 3)
 Output even those frames that might be corrupted. More...
 
#define AV_CODEC_FLAG_QPEL   (1 << 4)
 Use qpel MC. More...
 
#define AV_CODEC_FLAG_DROPCHANGED   (1 << 5)
 Don't output frames whose parameters differ from first decoded frame in stream. More...
 
#define AV_CODEC_FLAG_PASS1   (1 << 9)
 Use internal 2pass ratecontrol in first pass mode. More...
 
#define AV_CODEC_FLAG_PASS2   (1 << 10)
 Use internal 2pass ratecontrol in second pass mode. More...
 
#define AV_CODEC_FLAG_LOOP_FILTER   (1 << 11)
 loop filter. More...
 
#define AV_CODEC_FLAG_GRAY   (1 << 13)
 Only decode/encode grayscale. More...
 
#define AV_CODEC_FLAG_PSNR   (1 << 15)
 error[?] variables will be set during encoding. More...
 
#define AV_CODEC_FLAG_TRUNCATED   (1 << 16)
 Input bitstream might be truncated at a random location instead of only at frame boundaries. More...
 
#define AV_CODEC_FLAG_INTERLACED_DCT   (1 << 18)
 Use interlaced DCT. More...
 
#define AV_CODEC_FLAG_LOW_DELAY   (1 << 19)
 Force low delay. More...
 
#define AV_CODEC_FLAG_GLOBAL_HEADER   (1 << 22)
 Place global headers in extradata instead of every keyframe. More...
 
#define AV_CODEC_FLAG_BITEXACT   (1 << 23)
 Use only bitexact stuff (except (I)DCT). More...
 
#define AV_CODEC_FLAG_AC_PRED   (1 << 24)
 H.263 advanced intra coding / MPEG-4 AC prediction. More...
 
#define AV_CODEC_FLAG_INTERLACED_ME   (1 << 29)
 interlaced motion estimation More...
 
#define AV_CODEC_FLAG_CLOSED_GOP   (1U << 31)
 
#define AV_CODEC_FLAG2_FAST   (1 << 0)
 Allow non spec compliant speedup tricks. More...
 
#define AV_CODEC_FLAG2_NO_OUTPUT   (1 << 2)
 Skip bitstream encoding. More...
 
#define AV_CODEC_FLAG2_LOCAL_HEADER   (1 << 3)
 Place global headers at every keyframe instead of in extradata. More...
 
#define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE   (1 << 13)
 timecode is in drop frame format. More...
 
#define AV_CODEC_FLAG2_CHUNKS   (1 << 15)
 Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries. More...
 
#define AV_CODEC_FLAG2_IGNORE_CROP   (1 << 16)
 Discard cropping information from SPS. More...
 
#define AV_CODEC_FLAG2_SHOW_ALL   (1 << 22)
 Show all frames before the first keyframe. More...
 
#define AV_CODEC_FLAG2_EXPORT_MVS   (1 << 28)
 Export motion vectors through frame side data. More...
 
#define AV_CODEC_FLAG2_SKIP_MANUAL   (1 << 29)
 Do not skip samples and export skip information as frame side data. More...
 
#define AV_CODEC_FLAG2_RO_FLUSH_NOOP   (1 << 30)
 Do not reset ASS ReadOrder field on flush (subtitles decoding) More...
 
#define AV_CODEC_EXPORT_DATA_MVS   (1 << 0)
 Export motion vectors through frame side data. More...
 
#define AV_CODEC_EXPORT_DATA_PRFT   (1 << 1)
 Export encoder Producer Reference Time through packet side data. More...
 
#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS   (1 << 2)
 Decoding only. More...
 
#define AV_GET_BUFFER_FLAG_REF   (1 << 0)
 The decoder will keep a reference to the frame and may reuse it later. More...
 
#define AV_SUBTITLE_FLAG_FORCED   0x00000001
 
#define AV_CODEC_CAP_DRAW_HORIZ_BAND   (1 << 0)
 Decoder can use draw_horiz_band callback. More...
 
#define AV_CODEC_CAP_DR1   (1 << 1)
 Codec uses get_buffer() for allocating buffers and supports custom allocators. More...
 
#define AV_CODEC_CAP_TRUNCATED   (1 << 3)
 
#define AV_CODEC_CAP_DELAY   (1 << 5)
 Encoder or decoder requires flushing with NULL input at the end in order to give the complete and correct output. More...
 
#define AV_CODEC_CAP_SMALL_LAST_FRAME   (1 << 6)
 Codec can be fed a final frame with a smaller size. More...
 
#define AV_CODEC_CAP_SUBFRAMES   (1 << 8)
 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. More...
 
#define AV_CODEC_CAP_EXPERIMENTAL   (1 << 9)
 Codec is experimental and is thus avoided in favor of non experimental encoders. More...
 
#define AV_CODEC_CAP_CHANNEL_CONF   (1 << 10)
 Codec should fill in channel configuration and samplerate instead of container. More...
 
#define AV_CODEC_CAP_FRAME_THREADS   (1 << 12)
 Codec supports frame-level multithreading. More...
 
#define AV_CODEC_CAP_SLICE_THREADS   (1 << 13)
 Codec supports slice-based (or partition-based) multithreading. More...
 
#define AV_CODEC_CAP_PARAM_CHANGE   (1 << 14)
 Codec supports changed parameters at any point. More...
 
#define AV_CODEC_CAP_AUTO_THREADS   (1 << 15)
 Codec supports avctx->thread_count == 0 (auto). More...
 
#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE   (1 << 16)
 Audio encoder supports receiving a different number of samples in each call. More...
 
#define AV_CODEC_CAP_AVOID_PROBING   (1 << 17)
 Decoder is not a preferred choice for probing. More...
 
#define AV_CODEC_CAP_HARDWARE   (1 << 18)
 Codec is backed by a hardware implementation. More...
 
#define AV_CODEC_CAP_HYBRID   (1 << 19)
 Codec is potentially backed by a hardware implementation, but not necessarily. More...
 
#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE   (1 << 20)
 This codec takes the reordered_opaque field from input AVFrames and returns it in the corresponding field in AVCodecContext after encoding. More...
 
#define AV_CODEC_CAP_ENCODER_FLUSH   (1 << 21)
 This encoder can be flushed using avcodec_flush_buffers(). More...
 
#define AV_CODEC_PROP_INTRA_ONLY   (1 << 0)
 Codec uses only intra compression. More...
 
#define AV_CODEC_PROP_LOSSY   (1 << 1)
 Codec supports lossy compression. More...
 
#define AV_CODEC_PROP_LOSSLESS   (1 << 2)
 Codec supports lossless compression. More...
 
#define AV_CODEC_PROP_REORDER   (1 << 3)
 Codec supports frame reordering. More...
 
#define AV_CODEC_PROP_BITMAP_SUB   (1 << 16)
 Subtitle codec is bitmap based Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field. More...
 
#define AV_CODEC_PROP_TEXT_SUB   (1 << 17)
 Subtitle codec is text based. More...
 

Enumerations

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  AVSubtitleType { SUBTITLE_NONE, SUBTITLE_BITMAP, SUBTITLE_TEXT, SUBTITLE_ASS }
 
enum  { AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 0x01, AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 0x02, AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 0x04, AV_CODEC_HW_CONFIG_METHOD_AD_HOC = 0x08 }
 
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_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, AV_CODEC_ID_G2M, AV_CODEC_ID_WEBP,
  AV_CODEC_ID_HNM4_VIDEO, AV_CODEC_ID_HEVC, AV_CODEC_ID_FIC, AV_CODEC_ID_ALIAS_PIX,
  AV_CODEC_ID_BRENDER_PIX, AV_CODEC_ID_PAF_VIDEO, AV_CODEC_ID_EXR, AV_CODEC_ID_VP7,
  AV_CODEC_ID_SANM, AV_CODEC_ID_SGIRLE, AV_CODEC_ID_MVC1, AV_CODEC_ID_MVC2,
  AV_CODEC_ID_HQX, AV_CODEC_ID_TDSC, AV_CODEC_ID_HQ_HQA, AV_CODEC_ID_HAP,
  AV_CODEC_ID_DDS, AV_CODEC_ID_DXV, AV_CODEC_ID_SCREENPRESSO, AV_CODEC_ID_RSCC,
  AV_CODEC_ID_AVS2, AV_CODEC_ID_Y41P = 0x8000, AV_CODEC_ID_AVRP, AV_CODEC_ID_012V,
  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_AVRN, AV_CODEC_ID_CPIA,
  AV_CODEC_ID_XFACE, AV_CODEC_ID_SNOW, AV_CODEC_ID_SMVJPEG, AV_CODEC_ID_APNG,
  AV_CODEC_ID_DAALA, AV_CODEC_ID_CFHD, AV_CODEC_ID_TRUEMOTION2RT, AV_CODEC_ID_M101,
  AV_CODEC_ID_MAGICYUV, AV_CODEC_ID_SHEERVIDEO, AV_CODEC_ID_YLC, AV_CODEC_ID_PSD,
  AV_CODEC_ID_PIXLET, AV_CODEC_ID_SPEEDHQ, AV_CODEC_ID_FMVC, AV_CODEC_ID_SCPR,
  AV_CODEC_ID_CLEARVIDEO, AV_CODEC_ID_XPM, AV_CODEC_ID_AV1, AV_CODEC_ID_BITPACKED,
  AV_CODEC_ID_MSCC, AV_CODEC_ID_SRGC, AV_CODEC_ID_SVG, AV_CODEC_ID_GDV,
  AV_CODEC_ID_FITS, AV_CODEC_ID_IMM4, AV_CODEC_ID_PROSUMER, AV_CODEC_ID_MWSC,
  AV_CODEC_ID_WCMV, AV_CODEC_ID_RASC, AV_CODEC_ID_HYMT, AV_CODEC_ID_ARBC,
  AV_CODEC_ID_AGM, AV_CODEC_ID_LSCR, AV_CODEC_ID_VP4, AV_CODEC_ID_IMM5,
  AV_CODEC_ID_MVDV, AV_CODEC_ID_MVHA, AV_CODEC_ID_CDTOONS, AV_CODEC_ID_MV30,
  AV_CODEC_ID_NOTCHLC, AV_CODEC_ID_PFM, 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,
  AV_CODEC_ID_PCM_S32LE_PLANAR, AV_CODEC_ID_PCM_S16BE_PLANAR, AV_CODEC_ID_PCM_S64LE = 0x10800, AV_CODEC_ID_PCM_S64BE,
  AV_CODEC_ID_PCM_F16LE, AV_CODEC_ID_PCM_F24LE, AV_CODEC_ID_PCM_VIDC, 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_ADPCM_VIMA, AV_CODEC_ID_ADPCM_AFC = 0x11800, 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_ADPCM_THP_LE,
  AV_CODEC_ID_ADPCM_PSX, AV_CODEC_ID_ADPCM_AICA, AV_CODEC_ID_ADPCM_IMA_DAT4, AV_CODEC_ID_ADPCM_MTAF,
  AV_CODEC_ID_ADPCM_AGM, AV_CODEC_ID_ADPCM_ARGO, AV_CODEC_ID_ADPCM_IMA_SSI, AV_CODEC_ID_ADPCM_ZORK,
  AV_CODEC_ID_ADPCM_IMA_APM, AV_CODEC_ID_ADPCM_IMA_ALP, AV_CODEC_ID_ADPCM_IMA_MTF, AV_CODEC_ID_ADPCM_IMA_CUNNING,
  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_SDX2_DPCM = 0x14800, AV_CODEC_ID_GREMLIN_DPCM, AV_CODEC_ID_DERF_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_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,
  AV_CODEC_ID_COMFORT_NOISE, AV_CODEC_ID_TAK, AV_CODEC_ID_METASOUND, AV_CODEC_ID_PAF_AUDIO,
  AV_CODEC_ID_ON2AVC, AV_CODEC_ID_DSS_SP, AV_CODEC_ID_CODEC2, AV_CODEC_ID_FFWAVESYNTH = 0x15800,
  AV_CODEC_ID_SONIC, AV_CODEC_ID_SONIC_LS, AV_CODEC_ID_EVRC, AV_CODEC_ID_SMV,
  AV_CODEC_ID_DSD_LSBF, AV_CODEC_ID_DSD_MSBF, AV_CODEC_ID_DSD_LSBF_PLANAR, AV_CODEC_ID_DSD_MSBF_PLANAR,
  AV_CODEC_ID_4GV, AV_CODEC_ID_INTERPLAY_ACM, AV_CODEC_ID_XMA1, AV_CODEC_ID_XMA2,
  AV_CODEC_ID_DST, AV_CODEC_ID_ATRAC3AL, AV_CODEC_ID_ATRAC3PAL, AV_CODEC_ID_DOLBY_E,
  AV_CODEC_ID_APTX, AV_CODEC_ID_APTX_HD, AV_CODEC_ID_SBC, AV_CODEC_ID_ATRAC9,
  AV_CODEC_ID_HCOM, AV_CODEC_ID_ACELP_KELVIN, AV_CODEC_ID_MPEGH_3D_AUDIO, AV_CODEC_ID_SIREN,
  AV_CODEC_ID_HCA, 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 = 0x17800,
  AV_CODEC_ID_EIA_608, AV_CODEC_ID_JACOSUB, AV_CODEC_ID_SAMI, AV_CODEC_ID_REALTEXT,
  AV_CODEC_ID_STL, 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, AV_CODEC_ID_HDMV_TEXT_SUBTITLE, AV_CODEC_ID_TTML, AV_CODEC_ID_ARIB_CAPTION,
  AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, AV_CODEC_ID_TTF = 0x18000, AV_CODEC_ID_SCTE_35, AV_CODEC_ID_EPG,
  AV_CODEC_ID_BINTEXT = 0x18800, 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_BIN_DATA,
  AV_CODEC_ID_PROBE = 0x19000, AV_CODEC_ID_MPEG2TS = 0x20000, AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, AV_CODEC_ID_FFMETADATA = 0x21000,
  AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001
}
 Identify the syntax and semantics of the bitstream. More...
 

Functions

attribute_deprecated AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx)
 Accessors for some AVCodecContext fields. More...
 
attribute_deprecated void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val)
 
const attribute_deprecated AVCodecDescriptorav_codec_get_codec_descriptor (const AVCodecContext *avctx)
 
attribute_deprecated void av_codec_set_codec_descriptor (AVCodecContext *avctx, const AVCodecDescriptor *desc)
 
attribute_deprecated unsigned av_codec_get_codec_properties (const AVCodecContext *avctx)
 
attribute_deprecated int av_codec_get_lowres (const AVCodecContext *avctx)
 
attribute_deprecated void av_codec_set_lowres (AVCodecContext *avctx, int val)
 
attribute_deprecated int av_codec_get_seek_preroll (const AVCodecContext *avctx)
 
attribute_deprecated void av_codec_set_seek_preroll (AVCodecContext *avctx, int val)
 
attribute_deprecated uint16_t * av_codec_get_chroma_intra_matrix (const AVCodecContext *avctx)
 
attribute_deprecated void av_codec_set_chroma_intra_matrix (AVCodecContext *avctx, uint16_t *val)
 
attribute_deprecated int av_codec_get_max_lowres (const AVCodec *codec)
 
attribute_deprecated 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. More...
 
unsigned avcodec_version (void)
 Return the LIBAVCODEC_VERSION_INT constant. More...
 
const char * avcodec_configuration (void)
 Return the libavcodec build-time configuration. More...
 
const char * avcodec_license (void)
 Return the libavcodec license. More...
 
attribute_deprecated void avcodec_register (AVCodec *codec)
 Register the codec codec and initialize libavcodec. More...
 
attribute_deprecated void avcodec_register_all (void)
 Register all the codecs, parsers and bitstream filters which were enabled at configuration time. More...
 
AVCodecContextavcodec_alloc_context3 (const AVCodec *codec)
 Allocate an AVCodecContext and set its fields to default values. More...
 
void avcodec_free_context (AVCodecContext **avctx)
 Free the codec context and everything associated with it and write NULL to the provided pointer. More...
 
int avcodec_get_context_defaults3 (AVCodecContext *s, const AVCodec *codec)
 
const AVClassavcodec_get_class (void)
 Get the AVClass for AVCodecContext. More...
 
const AVClassavcodec_get_frame_class (void)
 Get the AVClass for AVFrame. More...
 
const AVClassavcodec_get_subtitle_rect_class (void)
 Get the AVClass for AVSubtitleRect. More...
 
attribute_deprecated int avcodec_copy_context (AVCodecContext *dest, const AVCodecContext *src)
 Copy the settings of the source AVCodecContext into the destination AVCodecContext. More...
 
int avcodec_parameters_from_context (AVCodecParameters *par, const AVCodecContext *codec)
 Fill the parameters struct based on the values from the supplied codec context. More...
 
int avcodec_parameters_to_context (AVCodecContext *codec, const AVCodecParameters *par)
 Fill the codec context based on the values from the supplied codec parameters. More...
 
int avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
 Initialize the AVCodecContext to use the given AVCodec. More...
 
int avcodec_close (AVCodecContext *avctx)
 Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself). More...
 
void avsubtitle_free (AVSubtitle *sub)
 Free all allocated data in the given subtitle struct. More...
 
const AVBitStreamFilterav_bsf_get_by_name (const char *name)
 
const AVBitStreamFilterav_bsf_iterate (void **opaque)
 Iterate over all registered bitstream filters. More...
 
int av_bsf_alloc (const AVBitStreamFilter *filter, AVBSFContext **ctx)
 Allocate a context for a given bitstream filter. More...
 
int av_bsf_init (AVBSFContext *ctx)
 Prepare the filter for use, after all the parameters and options have been set. More...
 
int av_bsf_send_packet (AVBSFContext *ctx, AVPacket *pkt)
 Submit a packet for filtering. More...
 
int av_bsf_receive_packet (AVBSFContext *ctx, AVPacket *pkt)
 Retrieve a filtered packet. More...
 
void av_bsf_flush (AVBSFContext *ctx)
 Reset the internal bitstream filter state / flush internal buffers. More...
 
void av_bsf_free (AVBSFContext **ctx)
 Free a bitstream filter context and everything associated with it; write NULL into the supplied pointer. More...
 
const AVClassav_bsf_get_class (void)
 Get the AVClass for AVBSFContext. More...
 
AVBSFListav_bsf_list_alloc (void)
 Allocate empty list of bitstream filters. More...
 
void av_bsf_list_free (AVBSFList **lst)
 Free list of bitstream filters. More...
 
int av_bsf_list_append (AVBSFList *lst, AVBSFContext *bsf)
 Append bitstream filter to the list of bitstream filters. More...
 
int av_bsf_list_append2 (AVBSFList *lst, const char *bsf_name, AVDictionary **options)
 Construct new bitstream filter context given it's name and options and append it to the list of bitstream filters. More...
 
int av_bsf_list_finalize (AVBSFList **lst, AVBSFContext **bsf)
 Finalize list of bitstream filters. More...
 
int av_bsf_list_parse_str (const char *str, AVBSFContext **bsf)
 Parse string describing list of bitstream filters and create single AVBSFContext describing the whole chain of bitstream filters. More...
 
int av_bsf_get_null_filter (AVBSFContext **bsf)
 Get null/pass-through bitstream filter. More...
 
const AVCodecav_codec_iterate (void **opaque)
 Iterate over all registered codecs. More...
 
AVCodecavcodec_find_decoder (enum AVCodecID id)
 Find a registered decoder with a matching codec ID. More...
 
AVCodecavcodec_find_decoder_by_name (const char *name)
 Find a registered decoder with the specified name. More...
 
AVCodecavcodec_find_encoder (enum AVCodecID id)
 Find a registered encoder with a matching codec ID. More...
 
AVCodecavcodec_find_encoder_by_name (const char *name)
 Find a registered encoder with the specified name. More...
 
int av_codec_is_encoder (const AVCodec *codec)
 
int av_codec_is_decoder (const AVCodec *codec)
 
const AVCodecHWConfigavcodec_get_hw_config (const AVCodec *codec, int index)
 Retrieve supported hardware configurations for a codec. More...
 
const AVCodecDescriptoravcodec_descriptor_get (enum AVCodecID id)
 
const AVCodecDescriptoravcodec_descriptor_next (const AVCodecDescriptor *prev)
 Iterate over all codec descriptors known to libavcodec. More...
 
const AVCodecDescriptoravcodec_descriptor_get_by_name (const char *name)
 
enum AVMediaType avcodec_get_type (enum AVCodecID codec_id)
 Get the type of the given codec. More...
 
const char * avcodec_get_name (enum AVCodecID id)
 Get the name of a codec. More...
 

Detailed Description

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

Macro Definition Documentation

◆ AV_CODEC_FLAG_UNALIGNED

#define AV_CODEC_FLAG_UNALIGNED   (1 << 0)

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

due to cropping).

Definition at line 271 of file avcodec.h.

◆ AV_CODEC_FLAG_QSCALE

#define AV_CODEC_FLAG_QSCALE   (1 << 1)

Use fixed qscale.

Definition at line 275 of file avcodec.h.

◆ AV_CODEC_FLAG_4MV

#define AV_CODEC_FLAG_4MV   (1 << 2)

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

Definition at line 279 of file avcodec.h.

◆ AV_CODEC_FLAG_OUTPUT_CORRUPT

#define AV_CODEC_FLAG_OUTPUT_CORRUPT   (1 << 3)

Output even those frames that might be corrupted.

Definition at line 283 of file avcodec.h.

◆ AV_CODEC_FLAG_QPEL

#define AV_CODEC_FLAG_QPEL   (1 << 4)

Use qpel MC.

Definition at line 287 of file avcodec.h.

◆ AV_CODEC_FLAG_DROPCHANGED

#define AV_CODEC_FLAG_DROPCHANGED   (1 << 5)

Don't output frames whose parameters differ from first decoded frame in stream.

Definition at line 292 of file avcodec.h.

◆ AV_CODEC_FLAG_PASS1

#define AV_CODEC_FLAG_PASS1   (1 << 9)

Use internal 2pass ratecontrol in first pass mode.

Definition at line 296 of file avcodec.h.

◆ AV_CODEC_FLAG_PASS2

#define AV_CODEC_FLAG_PASS2   (1 << 10)

Use internal 2pass ratecontrol in second pass mode.

Definition at line 300 of file avcodec.h.

◆ AV_CODEC_FLAG_LOOP_FILTER

#define AV_CODEC_FLAG_LOOP_FILTER   (1 << 11)

loop filter.

Definition at line 304 of file avcodec.h.

◆ AV_CODEC_FLAG_GRAY

#define AV_CODEC_FLAG_GRAY   (1 << 13)

Only decode/encode grayscale.

Definition at line 308 of file avcodec.h.

◆ AV_CODEC_FLAG_PSNR

#define AV_CODEC_FLAG_PSNR   (1 << 15)

error[?] variables will be set during encoding.

Definition at line 312 of file avcodec.h.

◆ AV_CODEC_FLAG_TRUNCATED

#define AV_CODEC_FLAG_TRUNCATED   (1 << 16)

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

Definition at line 317 of file avcodec.h.

◆ AV_CODEC_FLAG_INTERLACED_DCT

#define AV_CODEC_FLAG_INTERLACED_DCT   (1 << 18)

Use interlaced DCT.

Definition at line 321 of file avcodec.h.

◆ AV_CODEC_FLAG_LOW_DELAY

#define AV_CODEC_FLAG_LOW_DELAY   (1 << 19)

Force low delay.

Definition at line 325 of file avcodec.h.

◆ AV_CODEC_FLAG_GLOBAL_HEADER

#define AV_CODEC_FLAG_GLOBAL_HEADER   (1 << 22)

Place global headers in extradata instead of every keyframe.

Examples
muxing.c, transcode_aac.c, and transcoding.c.

Definition at line 329 of file avcodec.h.

◆ AV_CODEC_FLAG_BITEXACT

#define AV_CODEC_FLAG_BITEXACT   (1 << 23)

Use only bitexact stuff (except (I)DCT).

Definition at line 333 of file avcodec.h.

◆ AV_CODEC_FLAG_AC_PRED

#define AV_CODEC_FLAG_AC_PRED   (1 << 24)

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

Definition at line 338 of file avcodec.h.

◆ AV_CODEC_FLAG_INTERLACED_ME

#define AV_CODEC_FLAG_INTERLACED_ME   (1 << 29)

interlaced motion estimation

Definition at line 342 of file avcodec.h.

◆ AV_CODEC_FLAG_CLOSED_GOP

#define AV_CODEC_FLAG_CLOSED_GOP   (1U << 31)

Definition at line 343 of file avcodec.h.

◆ AV_CODEC_FLAG2_FAST

#define AV_CODEC_FLAG2_FAST   (1 << 0)

Allow non spec compliant speedup tricks.

Definition at line 348 of file avcodec.h.

◆ AV_CODEC_FLAG2_NO_OUTPUT

#define AV_CODEC_FLAG2_NO_OUTPUT   (1 << 2)

Skip bitstream encoding.

Definition at line 352 of file avcodec.h.

◆ AV_CODEC_FLAG2_LOCAL_HEADER

#define AV_CODEC_FLAG2_LOCAL_HEADER   (1 << 3)

Place global headers at every keyframe instead of in extradata.

Definition at line 356 of file avcodec.h.

◆ AV_CODEC_FLAG2_DROP_FRAME_TIMECODE

#define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE   (1 << 13)

timecode is in drop frame format.

DEPRECATED!!!!

Definition at line 361 of file avcodec.h.

◆ AV_CODEC_FLAG2_CHUNKS

#define AV_CODEC_FLAG2_CHUNKS   (1 << 15)

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

Definition at line 367 of file avcodec.h.

◆ AV_CODEC_FLAG2_IGNORE_CROP

#define AV_CODEC_FLAG2_IGNORE_CROP   (1 << 16)

Discard cropping information from SPS.

Definition at line 371 of file avcodec.h.

◆ AV_CODEC_FLAG2_SHOW_ALL

#define AV_CODEC_FLAG2_SHOW_ALL   (1 << 22)

Show all frames before the first keyframe.

Definition at line 376 of file avcodec.h.

◆ AV_CODEC_FLAG2_EXPORT_MVS

#define AV_CODEC_FLAG2_EXPORT_MVS   (1 << 28)

Export motion vectors through frame side data.

Definition at line 380 of file avcodec.h.

◆ AV_CODEC_FLAG2_SKIP_MANUAL

#define AV_CODEC_FLAG2_SKIP_MANUAL   (1 << 29)

Do not skip samples and export skip information as frame side data.

Definition at line 384 of file avcodec.h.

◆ AV_CODEC_FLAG2_RO_FLUSH_NOOP

#define AV_CODEC_FLAG2_RO_FLUSH_NOOP   (1 << 30)

Do not reset ASS ReadOrder field on flush (subtitles decoding)

Definition at line 388 of file avcodec.h.

◆ AV_CODEC_EXPORT_DATA_MVS

#define AV_CODEC_EXPORT_DATA_MVS   (1 << 0)

Export motion vectors through frame side data.

Definition at line 403 of file avcodec.h.

◆ AV_CODEC_EXPORT_DATA_PRFT

#define AV_CODEC_EXPORT_DATA_PRFT   (1 << 1)

Export encoder Producer Reference Time through packet side data.

Definition at line 407 of file avcodec.h.

◆ AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS

#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS   (1 << 2)

Decoding only.

Export the AVVideoEncParams structure through frame side data.

Definition at line 412 of file avcodec.h.

◆ AV_GET_BUFFER_FLAG_REF

#define AV_GET_BUFFER_FLAG_REF   (1 << 0)

The decoder will keep a reference to the frame and may reuse it later.

Definition at line 509 of file avcodec.h.

◆ AV_SUBTITLE_FLAG_FORCED

#define AV_SUBTITLE_FLAG_FORCED   0x00000001

Definition at line 2657 of file avcodec.h.

◆ AV_CODEC_CAP_DRAW_HORIZ_BAND

#define AV_CODEC_CAP_DRAW_HORIZ_BAND   (1 << 0)

Decoder can use draw_horiz_band callback.

Definition at line 44 of file codec.h.

◆ AV_CODEC_CAP_DR1

#define AV_CODEC_CAP_DR1   (1 << 1)

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 50 of file codec.h.

◆ AV_CODEC_CAP_TRUNCATED

#define AV_CODEC_CAP_TRUNCATED   (1 << 3)

Definition at line 51 of file codec.h.

◆ AV_CODEC_CAP_DELAY

#define AV_CODEC_CAP_DELAY   (1 << 5)

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.

Examples
transcoding.c.

Definition at line 75 of file codec.h.

◆ AV_CODEC_CAP_SMALL_LAST_FRAME

#define AV_CODEC_CAP_SMALL_LAST_FRAME   (1 << 6)

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 80 of file codec.h.

◆ AV_CODEC_CAP_SUBFRAMES

#define AV_CODEC_CAP_SUBFRAMES   (1 << 8)

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 carrying 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 93 of file codec.h.

◆ AV_CODEC_CAP_EXPERIMENTAL

#define AV_CODEC_CAP_EXPERIMENTAL   (1 << 9)

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

Definition at line 98 of file codec.h.

◆ AV_CODEC_CAP_CHANNEL_CONF

#define AV_CODEC_CAP_CHANNEL_CONF   (1 << 10)

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

Definition at line 102 of file codec.h.

◆ AV_CODEC_CAP_FRAME_THREADS

#define AV_CODEC_CAP_FRAME_THREADS   (1 << 12)

Codec supports frame-level multithreading.

Definition at line 106 of file codec.h.

◆ AV_CODEC_CAP_SLICE_THREADS

#define AV_CODEC_CAP_SLICE_THREADS   (1 << 13)

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

Definition at line 110 of file codec.h.

◆ AV_CODEC_CAP_PARAM_CHANGE

#define AV_CODEC_CAP_PARAM_CHANGE   (1 << 14)

Codec supports changed parameters at any point.

Definition at line 114 of file codec.h.

◆ AV_CODEC_CAP_AUTO_THREADS

#define AV_CODEC_CAP_AUTO_THREADS   (1 << 15)

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

Definition at line 118 of file codec.h.

◆ AV_CODEC_CAP_VARIABLE_FRAME_SIZE

#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE   (1 << 16)

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

Examples
muxing.c.

Definition at line 122 of file codec.h.

◆ AV_CODEC_CAP_AVOID_PROBING

#define AV_CODEC_CAP_AVOID_PROBING   (1 << 17)

Decoder is not a preferred choice for probing.

This indicates that the decoder is not a good choice for probing. It could for example be an expensive to spin up hardware decoder, or it could simply not provide a lot of useful information about the stream. A decoder marked with this flag should only be used as last resort choice for probing.

Definition at line 132 of file codec.h.

◆ AV_CODEC_CAP_HARDWARE

#define AV_CODEC_CAP_HARDWARE   (1 << 18)

Codec is backed by a hardware implementation.

Typically used to identify a non-hwaccel hardware decoder. For information about hwaccels, use avcodec_get_hw_config() instead.

Definition at line 150 of file codec.h.

◆ AV_CODEC_CAP_HYBRID

#define AV_CODEC_CAP_HYBRID   (1 << 19)

Codec is potentially backed by a hardware implementation, but not necessarily.

This is used instead of AV_CODEC_CAP_HARDWARE, if the implementation provides some sort of internal fallback.

Definition at line 157 of file codec.h.

◆ AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE

#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE   (1 << 20)

This codec takes the reordered_opaque field from input AVFrames and returns it in the corresponding field in AVCodecContext after encoding.

Definition at line 164 of file codec.h.

◆ AV_CODEC_CAP_ENCODER_FLUSH

#define AV_CODEC_CAP_ENCODER_FLUSH   (1 << 21)

This encoder can be flushed using avcodec_flush_buffers().

If this flag is not set, the encoder must be closed and reopened to ensure that no frames remain pending.

Definition at line 171 of file codec.h.

◆ AV_CODEC_PROP_INTRA_ONLY

#define AV_CODEC_PROP_INTRA_ONLY   (1 << 0)

Codec uses only intra compression.

Video and audio codecs only.

Definition at line 72 of file codec_desc.h.

◆ AV_CODEC_PROP_LOSSY

#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 78 of file codec_desc.h.

◆ AV_CODEC_PROP_LOSSLESS

#define AV_CODEC_PROP_LOSSLESS   (1 << 2)

Codec supports lossless compression.

Audio and video codecs only.

Definition at line 82 of file codec_desc.h.

◆ AV_CODEC_PROP_REORDER

#define AV_CODEC_PROP_REORDER   (1 << 3)

Codec supports frame reordering.

That is, the coded order (the order in which the encoded packets are output by the encoders / stored / input to the decoders) may be different from the presentation order of the corresponding frames.

For codecs that do not have this property set, PTS and DTS should always be equal.

Definition at line 92 of file codec_desc.h.

◆ AV_CODEC_PROP_BITMAP_SUB

#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 97 of file codec_desc.h.

◆ AV_CODEC_PROP_TEXT_SUB

#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 102 of file codec_desc.h.

Enumeration Type Documentation

◆ AVAudioServiceType

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 239 of file avcodec.h.

◆ AVSubtitleType

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 2639 of file avcodec.h.

◆ anonymous enum

anonymous enum
Enumerator
AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX 

The codec supports this format via the hw_device_ctx interface.

When selecting this format, AVCodecContext.hw_device_ctx should have been set to a device of the specified type before calling avcodec_open2().

AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX 

The codec supports this format via the hw_frames_ctx interface.

When selecting this format for a decoder, AVCodecContext.hw_frames_ctx should be set to a suitable frames context inside the get_format() callback. The frames context must have been created on a device of the specified type.

When selecting this format for an encoder, AVCodecContext.hw_frames_ctx should be set to the context which will be used for the input frames before calling avcodec_open2().

AV_CODEC_HW_CONFIG_METHOD_INTERNAL 

The codec supports this format by some internal method.

This format can be selected without any additional configuration - no device or frames context is required.

AV_CODEC_HW_CONFIG_METHOD_AD_HOC 

The codec supports this format by some ad-hoc method.

Additional settings and/or function calls are required. See the codec-specific documentation for details. (Methods requiring this sort of configuration are deprecated and others should be used in preference.)

Definition at line 385 of file codec.h.

◆ AVCodecID

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 an existing codec ID changes (that would break ABI),
  2. it is as close as possible to similar codecs

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_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 
AV_CODEC_ID_G2M 
AV_CODEC_ID_WEBP 
AV_CODEC_ID_HNM4_VIDEO 
AV_CODEC_ID_HEVC 
AV_CODEC_ID_FIC 
AV_CODEC_ID_ALIAS_PIX 
AV_CODEC_ID_BRENDER_PIX 
AV_CODEC_ID_PAF_VIDEO 
AV_CODEC_ID_EXR 
AV_CODEC_ID_VP7 
AV_CODEC_ID_SANM 
AV_CODEC_ID_SGIRLE 
AV_CODEC_ID_MVC1 
AV_CODEC_ID_MVC2 
AV_CODEC_ID_HQX 
AV_CODEC_ID_TDSC 
AV_CODEC_ID_HQ_HQA 
AV_CODEC_ID_HAP 
AV_CODEC_ID_DDS 
AV_CODEC_ID_DXV 
AV_CODEC_ID_SCREENPRESSO 
AV_CODEC_ID_RSCC 
AV_CODEC_ID_AVS2 
AV_CODEC_ID_Y41P 
AV_CODEC_ID_AVRP 
AV_CODEC_ID_012V 
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_AVRN 
AV_CODEC_ID_CPIA 
AV_CODEC_ID_XFACE 
AV_CODEC_ID_SNOW 
AV_CODEC_ID_SMVJPEG 
AV_CODEC_ID_APNG 
AV_CODEC_ID_DAALA 
AV_CODEC_ID_CFHD 
AV_CODEC_ID_TRUEMOTION2RT 
AV_CODEC_ID_M101 
AV_CODEC_ID_MAGICYUV 
AV_CODEC_ID_SHEERVIDEO 
AV_CODEC_ID_YLC 
AV_CODEC_ID_PSD 
AV_CODEC_ID_PIXLET 
AV_CODEC_ID_SPEEDHQ 
AV_CODEC_ID_FMVC 
AV_CODEC_ID_SCPR 
AV_CODEC_ID_CLEARVIDEO 
AV_CODEC_ID_XPM 
AV_CODEC_ID_AV1 
AV_CODEC_ID_BITPACKED 
AV_CODEC_ID_MSCC 
AV_CODEC_ID_SRGC 
AV_CODEC_ID_SVG 
AV_CODEC_ID_GDV 
AV_CODEC_ID_FITS 
AV_CODEC_ID_IMM4 
AV_CODEC_ID_PROSUMER 
AV_CODEC_ID_MWSC 
AV_CODEC_ID_WCMV 
AV_CODEC_ID_RASC 
AV_CODEC_ID_HYMT 
AV_CODEC_ID_ARBC 
AV_CODEC_ID_AGM 
AV_CODEC_ID_LSCR 
AV_CODEC_ID_VP4 
AV_CODEC_ID_IMM5 
AV_CODEC_ID_MVDV 
AV_CODEC_ID_MVHA 
AV_CODEC_ID_CDTOONS 
AV_CODEC_ID_MV30 
AV_CODEC_ID_NOTCHLC 
AV_CODEC_ID_PFM 
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 
AV_CODEC_ID_PCM_S32LE_PLANAR 
AV_CODEC_ID_PCM_S16BE_PLANAR 
AV_CODEC_ID_PCM_S64LE 
AV_CODEC_ID_PCM_S64BE 
AV_CODEC_ID_PCM_F16LE 
AV_CODEC_ID_PCM_F24LE 
AV_CODEC_ID_PCM_VIDC 
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_ADPCM_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_ADPCM_THP_LE 
AV_CODEC_ID_ADPCM_PSX 
AV_CODEC_ID_ADPCM_AICA 
AV_CODEC_ID_ADPCM_IMA_DAT4 
AV_CODEC_ID_ADPCM_MTAF 
AV_CODEC_ID_ADPCM_AGM 
AV_CODEC_ID_ADPCM_ARGO 
AV_CODEC_ID_ADPCM_IMA_SSI 
AV_CODEC_ID_ADPCM_ZORK 
AV_CODEC_ID_ADPCM_IMA_APM 
AV_CODEC_ID_ADPCM_IMA_ALP 
AV_CODEC_ID_ADPCM_IMA_MTF 
AV_CODEC_ID_ADPCM_IMA_CUNNING 
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_SDX2_DPCM 
AV_CODEC_ID_GREMLIN_DPCM 
AV_CODEC_ID_DERF_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_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 
AV_CODEC_ID_COMFORT_NOISE 
AV_CODEC_ID_TAK 
AV_CODEC_ID_METASOUND 
AV_CODEC_ID_PAF_AUDIO 
AV_CODEC_ID_ON2AVC 
AV_CODEC_ID_DSS_SP 
AV_CODEC_ID_CODEC2 
AV_CODEC_ID_FFWAVESYNTH 
AV_CODEC_ID_SONIC 
AV_CODEC_ID_SONIC_LS 
AV_CODEC_ID_EVRC 
AV_CODEC_ID_SMV 
AV_CODEC_ID_DSD_LSBF 
AV_CODEC_ID_DSD_MSBF 
AV_CODEC_ID_DSD_LSBF_PLANAR 
AV_CODEC_ID_DSD_MSBF_PLANAR 
AV_CODEC_ID_4GV 
AV_CODEC_ID_INTERPLAY_ACM 
AV_CODEC_ID_XMA1 
AV_CODEC_ID_XMA2 
AV_CODEC_ID_DST 
AV_CODEC_ID_ATRAC3AL 
AV_CODEC_ID_ATRAC3PAL 
AV_CODEC_ID_DOLBY_E 
AV_CODEC_ID_APTX 
AV_CODEC_ID_APTX_HD 
AV_CODEC_ID_SBC 
AV_CODEC_ID_ATRAC9 
AV_CODEC_ID_HCOM 
AV_CODEC_ID_ACELP_KELVIN 
AV_CODEC_ID_MPEGH_3D_AUDIO 
AV_CODEC_ID_SIREN 
AV_CODEC_ID_HCA 
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_STL 
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 
AV_CODEC_ID_HDMV_TEXT_SUBTITLE 
AV_CODEC_ID_TTML 
AV_CODEC_ID_ARIB_CAPTION 
AV_CODEC_ID_FIRST_UNKNOWN 

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

AV_CODEC_ID_TTF 
AV_CODEC_ID_SCTE_35 

Contain timestamp estimated through PCR of program stream.

AV_CODEC_ID_EPG 
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_BIN_DATA 
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.

AV_CODEC_ID_WRAPPED_AVFRAME 

Passthrough codec, AVFrames wrapped in AVPacket.

Definition at line 46 of file codec_id.h.

Function Documentation

◆ av_codec_get_pkt_timebase()

attribute_deprecated AVRational av_codec_get_pkt_timebase ( const AVCodecContext avctx)

Accessors for some AVCodecContext fields.

These used to be provided for ABI compatibility, and do not need to be used anymore.

◆ av_codec_set_pkt_timebase()

attribute_deprecated void av_codec_set_pkt_timebase ( AVCodecContext avctx,
AVRational  val 
)

◆ av_codec_get_codec_descriptor()

const attribute_deprecated AVCodecDescriptor* av_codec_get_codec_descriptor ( const AVCodecContext avctx)

◆ av_codec_set_codec_descriptor()

attribute_deprecated void av_codec_set_codec_descriptor ( AVCodecContext avctx,
const AVCodecDescriptor desc 
)

◆ av_codec_get_codec_properties()

attribute_deprecated unsigned av_codec_get_codec_properties ( const AVCodecContext avctx)

Definition at line 495 of file utils.c.

◆ av_codec_get_lowres()

attribute_deprecated int av_codec_get_lowres ( const AVCodecContext avctx)

◆ av_codec_set_lowres()

attribute_deprecated void av_codec_set_lowres ( AVCodecContext avctx,
int  val 
)

◆ av_codec_get_seek_preroll()

attribute_deprecated int av_codec_get_seek_preroll ( const AVCodecContext avctx)

◆ av_codec_set_seek_preroll()

attribute_deprecated void av_codec_set_seek_preroll ( AVCodecContext avctx,
int  val 
)

◆ av_codec_get_chroma_intra_matrix()

attribute_deprecated uint16_t* av_codec_get_chroma_intra_matrix ( const AVCodecContext avctx)

◆ av_codec_set_chroma_intra_matrix()

attribute_deprecated void av_codec_set_chroma_intra_matrix ( AVCodecContext avctx,
uint16_t *  val 
)

◆ av_codec_get_max_lowres()

attribute_deprecated int av_codec_get_max_lowres ( const AVCodec codec)

Definition at line 500 of file utils.c.

◆ av_codec_next()

attribute_deprecated 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 867 of file allcodecs.c.

◆ avcodec_version()

unsigned avcodec_version ( void  )

Return the LIBAVCODEC_VERSION_INT constant.

Definition at line 1469 of file utils.c.

◆ avcodec_configuration()

const char* avcodec_configuration ( void  )

Return the libavcodec build-time configuration.

Definition at line 1479 of file utils.c.

◆ avcodec_license()

const char* avcodec_license ( void  )

Return the libavcodec license.

Definition at line 1484 of file utils.c.

◆ avcodec_register()

attribute_deprecated 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 862 of file allcodecs.c.

Referenced by LLVMFuzzerTestOneInput(), and main().

◆ avcodec_register_all()

attribute_deprecated 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 877 of file allcodecs.c.

Referenced by LLVMFuzzerTestOneInput().

◆ avcodec_alloc_context3()

AVCodecContext* avcodec_alloc_context3 ( const AVCodec codec)

Allocate an AVCodecContext and set its fields to default values.

The resulting struct should be freed with avcodec_free_context().

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.
Examples
decode_audio.c, decode_video.c, demuxing_decoding.c, encode_audio.c, encode_video.c, filtering_audio.c, filtering_video.c, hw_decode.c, muxing.c, qsvdec.c, transcode_aac.c, transcoding.c, vaapi_encode.c, and vaapi_transcode.c.

Definition at line 157 of file options.c.

Referenced by add_input_streams(), add_stream(), avcodec_dct_init(), avformat_new_stream(), config_input(), config_props(), dash_init(), decoder_init(), dump_stream_format(), estimate_best_b_count(), ff_frame_thread_encoder_init(), ff_load_image(), imm5_init(), init(), init_decoder(), init_encoder(), LLVMFuzzerTestOneInput(), main(), new_output_stream(), old_flac_header(), open_codec_context(), open_input_file(), open_output_file(), open_stream(), remove_extradata_init(), seek_test(), smvjpeg_decode_init(), stream_component_open(), tdsc_init(), test_copy(), tiff_init(), video_decode(), and video_decode_example().

◆ avcodec_free_context()

void avcodec_free_context ( AVCodecContext **  avctx)

◆ avcodec_get_context_defaults3()

int avcodec_get_context_defaults3 ( AVCodecContext s,
const AVCodec codec 
)
Deprecated:
This function should not be used, as closing and opening a codec context multiple time is not supported.

A new codec context should be allocated for each new use.

Definition at line 151 of file options.c.

◆ avcodec_get_class()

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 295 of file options.c.

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

◆ avcodec_get_frame_class()

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 322 of file options.c.

◆ avcodec_get_subtitle_rect_class()

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 347 of file options.c.

◆ avcodec_copy_context()

attribute_deprecated 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
Deprecated:
The semantics of this function are ill-defined and it should not be used. If you need to transfer the stream parameters from one codec context to another, use an intermediate AVCodecParameters instance and the avcodec_parameters_from_context() / avcodec_parameters_to_context() functions.

Definition at line 216 of file options.c.

Referenced by init_output_stream(), and test_copy().

◆ avcodec_parameters_from_context()

int avcodec_parameters_from_context ( AVCodecParameters par,
const AVCodecContext codec 
)

Fill the parameters struct based on the values from the supplied codec context.

Any allocated fields in par are freed and replaced with duplicates of the corresponding fields in codec.

Returns
>= 0 on success, a negative AVERROR code on failure
Examples
muxing.c, transcode_aac.c, transcoding.c, and vaapi_transcode.c.

Definition at line 2127 of file utils.c.

Referenced by add_input_streams(), aom_init(), av_bitstream_filter_filter(), avformat_find_stream_info(), dec_enc(), ff_decode_bsfs_init(), init_muxer(), init_output_stream(), init_output_stream_streamcopy(), librav1e_encode_init(), open_audio(), open_output_file(), and open_video().

◆ avcodec_parameters_to_context()

int avcodec_parameters_to_context ( AVCodecContext codec,
const AVCodecParameters par 
)

Fill the codec context based on the values from the supplied codec parameters.

Any allocated fields in codec that have a corresponding field in par are freed and replaced with duplicates of the corresponding field in par. Fields in codec that do not have a counterpart in par are not touched.

Returns
>= 0 on success, a negative AVERROR code on failure.
Examples
demuxing_decoding.c, filtering_audio.c, filtering_video.c, hw_decode.c, transcode_aac.c, transcoding.c, and vaapi_transcode.c.

Definition at line 2184 of file utils.c.

Referenced by add_input_streams(), avformat_find_stream_info(), dash_init(), dump_stream_format(), ff_load_image(), init_output_stream_streamcopy(), main(), old_flac_header(), open_codec_context(), open_input_file(), open_stream(), read_frame_internal(), remove_extradata_init(), seek_test(), stream_component_open(), update_stream_avctx(), video_decode(), and video_decode_example().

◆ avcodec_open2()

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!
Note
Always call this function before using decoding routines (such as avcodec_receive_frame()).
av_dict_set(&opts, "b", "2.5M", 0);
if (!codec)
exit(1);
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 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
decode_audio.c, decode_video.c, demuxing_decoding.c, encode_audio.c, encode_video.c, filtering_audio.c, filtering_video.c, hw_decode.c, muxing.c, qsvdec.c, transcode_aac.c, transcoding.c, vaapi_encode.c, and vaapi_transcode.c.

Definition at line 565 of file utils.c.

Referenced by avformat_find_stream_info(), config_input(), config_props(), dec_enc(), decoder_init(), estimate_best_b_count(), ff_codec_open2_recursive(), ff_frame_thread_encoder_init(), ff_load_image(), init_decoder(), init_encoder(), init_input_stream(), init_output_stream(), LLVMFuzzerTestOneInput(), main(), open_audio(), open_codec_context(), open_input_file(), open_output_file(), open_stream(), open_video(), seek_test(), stream_component_open(), test_copy(), try_decode_frame(), try_decode_video_frame(), video_decode(), video_decode_example(), and wrap().

◆ avcodec_close()

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() with a non-NULL codec. Subsequent calls will do nothing.

Note
Do not use this function. Use avcodec_free_context() to destroy a codec context (either open or closed). Opening and closing a codec context multiple times is not supported anymore – use multiple codec contexts instead.

Definition at line 1143 of file utils.c.

Referenced by avcodec_free_context(), avformat_find_stream_info(), close_decoder(), close_encoder(), end(), ff_frame_thread_encoder_init(), find_video_stream_info(), read_frame_internal(), seek_test(), smvjpeg_decode_end(), test_copy(), transcode(), transcode_init(), uninit(), video_decode(), video_decode_example(), and worker().

◆ avsubtitle_free()

void avsubtitle_free ( AVSubtitle sub)

◆ av_bsf_get_by_name()

const AVBitStreamFilter* av_bsf_get_by_name ( const char *  name)

◆ av_bsf_iterate()

const AVBitStreamFilter* av_bsf_iterate ( void **  opaque)

Iterate over all registered bitstream filters.

Parameters
opaquea pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
Returns
the next registered bitstream filter or NULL when the iteration is finished

Definition at line 66 of file bitstream_filters.c.

Referenced by av_bitstream_filter_next(), av_bsf_get_by_name(), av_bsf_next(), ff_bsf_child_class_next(), and show_bsfs().

◆ av_bsf_alloc()

int av_bsf_alloc ( const AVBitStreamFilter filter,
AVBSFContext **  ctx 
)

Allocate a context for a given bitstream filter.

The caller must fill in the context parameters as described in the documentation and then call av_bsf_init() before sending any data to the filter.

Parameters
filterthe filter for which to allocate an instance.
ctxa pointer into which the pointer to the newly-allocated context will be written. It must be freed with av_bsf_free() after the filtering is done.
Returns
0 on success, a negative AVERROR code on failure

Definition at line 91 of file bsf.c.

Referenced by annexb_read_header(), aom_init(), av_bitstream_filter_filter(), av_bsf_get_null_filter(), av_bsf_list_finalize(), bsf_list_append_internal(), detect_stream_specific(), extract_extradata_init(), ff_stream_add_bitstream_filter(), librav1e_encode_init(), and LLVMFuzzerTestOneInput().

◆ av_bsf_init()

int av_bsf_init ( AVBSFContext ctx)

◆ av_bsf_send_packet()

int av_bsf_send_packet ( AVBSFContext ctx,
AVPacket pkt 
)

Submit a packet for filtering.

After sending each packet, the filter must be completely drained by calling av_bsf_receive_packet() repeatedly until it returns AVERROR(EAGAIN) or AVERROR_EOF.

Parameters
pktthe packet to filter. The bitstream filter will take ownership of the packet and reset the contents of pkt. pkt is not touched if an error occurs. If pkt is empty (i.e. NULL, or pkt->data is NULL and pkt->side_data_elems zero), it signals the end of the stream (i.e. no more non-empty packets will be sent; sending more empty packets does nothing) and will cause the filter to output any packets it may have buffered internally.
Returns
0 on success. AVERROR(EAGAIN) if packets need to be retrieved from the filter (using av_bsf_receive_packet()) before new input can be consumed. Another negative AVERROR value if an error occurs.

Definition at line 197 of file bsf.c.

Referenced by annexb_read_packet(), av_bitstream_filter_filter(), avcodec_send_packet(), bsf_list_filter(), extract_extradata(), filter_packet(), librav1e_receive_packet(), LLVMFuzzerTestOneInput(), output_packet(), storeframe(), tee_write_packet(), and write_packets_from_bsfs().

◆ av_bsf_receive_packet()

int av_bsf_receive_packet ( AVBSFContext ctx,
AVPacket pkt 
)

Retrieve a filtered packet.

Parameters
[out]pktthis struct will be filled with the contents of the filtered packet. It is owned by the caller and must be freed using av_packet_unref() when it is no longer needed. This parameter should be "clean" (i.e. freshly allocated with av_packet_alloc() or unreffed with av_packet_unref()) when this function is called. If this function returns successfully, the contents of pkt will be completely overwritten by the returned data. On failure, pkt is not touched.
Returns
0 on success. AVERROR(EAGAIN) if more packets need to be sent to the filter (using av_bsf_send_packet()) to get more output. AVERROR_EOF if there will be no further output from the filter. Another negative AVERROR value if an error occurs.
Note
one input packet may result in several output packets, so after sending a packet with av_bsf_send_packet(), this function needs to be called repeatedly until it stops returning 0. It is also possible for a filter to output fewer packets than were sent to it, so this function may return AVERROR(EAGAIN) immediately after a successful av_bsf_send_packet() call.

Definition at line 223 of file bsf.c.

Referenced by annexb_read_packet(), av_bitstream_filter_filter(), bsf_list_filter(), extract_extradata(), ff_decode_get_packet(), filter_packet(), librav1e_receive_packet(), LLVMFuzzerTestOneInput(), output_packet(), storeframe(), tee_write_packet(), and write_packets_from_bsfs().

◆ av_bsf_flush()

void av_bsf_flush ( AVBSFContext ctx)

Reset the internal bitstream filter state / flush internal buffers.

Definition at line 185 of file bsf.c.

Referenced by avcodec_flush_buffers(), and bsf_list_flush().

◆ av_bsf_free()

void av_bsf_free ( AVBSFContext **  ctx)

◆ av_bsf_get_class()

const AVClass* av_bsf_get_class ( void  )

Get the AVClass for AVBSFContext.

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

See also
av_opt_find().

Definition at line 86 of file bsf.c.

Referenced by show_help_default().

◆ av_bsf_list_alloc()

AVBSFList* av_bsf_list_alloc ( void  )

Allocate empty list of bitstream filters.

The list must be later freed by av_bsf_list_free() or finalized by av_bsf_list_finalize().

Returns
Pointer to AVBSFList on success, NULL in case of failure

Definition at line 413 of file bsf.c.

Referenced by av_bsf_list_parse_str().

◆ av_bsf_list_free()

void av_bsf_list_free ( AVBSFList **  lst)

Free list of bitstream filters.

Parameters
lstPointer to pointer returned by av_bsf_list_alloc()

Definition at line 418 of file bsf.c.

Referenced by av_bsf_list_parse_str().

◆ av_bsf_list_append()

int av_bsf_list_append ( AVBSFList lst,
AVBSFContext bsf 
)

Append bitstream filter to the list of bitstream filters.

Parameters
lstList to append to
bsfFilter context to be appended
Returns
>=0 on success, negative AVERROR in case of failure

Definition at line 431 of file bsf.c.

Referenced by bsf_list_append_internal().

◆ av_bsf_list_append2()

int av_bsf_list_append2 ( AVBSFList lst,
const char *  bsf_name,
AVDictionary **  options 
)

Construct new bitstream filter context given it's name and options and append it to the list of bitstream filters.

Parameters
lstList to append to
bsf_nameName of the bitstream filter
optionsOptions for the bitstream filter, can be set to NULL
Returns
>=0 on success, negative AVERROR in case of failure

Definition at line 477 of file bsf.c.

◆ av_bsf_list_finalize()

int av_bsf_list_finalize ( AVBSFList **  lst,
AVBSFContext **  bsf 
)

Finalize list of bitstream filters.

This function will transform AVBSFList to single AVBSFContext, so the whole chain of bitstream filters can be treated as single filter freshly allocated by av_bsf_alloc(). If the call is successful, AVBSFList structure is freed and lst will be set to NULL. In case of failure, caller is responsible for freeing the structure by av_bsf_list_free()

Parameters
lstFilter list structure to be transformed
[out]bsfPointer to be set to newly created AVBSFContext structure representing the chain of bitstream filters
Returns
>=0 on success, negative AVERROR in case of failure

Definition at line 482 of file bsf.c.

Referenced by av_bsf_list_parse_str().

◆ av_bsf_list_parse_str()

int av_bsf_list_parse_str ( const char *  str,
AVBSFContext **  bsf 
)

Parse string describing list of bitstream filters and create single AVBSFContext describing the whole chain of bitstream filters.

Resulting AVBSFContext can be treated as any other AVBSFContext freshly allocated by av_bsf_alloc().

Parameters
strString describing chain of bitstream filters in format bsf1[=opt1=val1:opt2=val2][,bsf2]
[out]bsfPointer to be set to newly created AVBSFContext structure representing the chain of bitstream filters
Returns
>=0 on success, negative AVERROR in case of failure

Definition at line 519 of file bsf.c.

Referenced by ff_decode_bsfs_init(), new_output_stream(), and open_slave().

◆ av_bsf_get_null_filter()

int av_bsf_get_null_filter ( AVBSFContext **  bsf)

Get null/pass-through bitstream filter.

Parameters
[out]bsfPointer to be set to new instance of pass-through bitstream filter
Returns

Definition at line 553 of file bsf.c.

Referenced by av_bsf_list_parse_str(), and open_slave().

◆ av_codec_iterate()

const AVCodec* av_codec_iterate ( void **  opaque)

Iterate over all registered codecs.

Parameters
opaquea pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
Returns
the next registered codec or NULL when the iteration is finished

Definition at line 832 of file allcodecs.c.

Referenced by av_codec_init_next(), codec_child_class_next(), find_codec(), find_codec_by_name(), find_probe_decoder(), main(), next_codec_for_id(), and show_codec_opts().

◆ avcodec_find_decoder()

AVCodec* avcodec_find_decoder ( enum AVCodecID  id)

◆ avcodec_find_decoder_by_name()

AVCodec* avcodec_find_decoder_by_name ( const char *  name)

Find a registered decoder with the specified name.

Parameters
namename of the requested decoder
Returns
A decoder if one was found, NULL otherwise.

Definition at line 947 of file allcodecs.c.

Referenced by find_codec_or_die(), find_probe_decoder(), main(), show_help_codec(), and stream_component_open().

◆ avcodec_find_encoder()

AVCodec* avcodec_find_encoder ( enum AVCodecID  id)

Find a registered encoder with a matching codec ID.

Parameters
idAVCodecID of the requested encoder
Returns
An encoder if one was found, NULL otherwise.

Definition at line 914 of file allcodecs.c.

Referenced by add_stream(), avcodec_get_name(), avcodec_open2(), choose_encoder(), config_input(), config_props(), estimate_best_b_count(), filter_codec_opts(), find_codec_or_die(), main(), open_output_file(), and show_codecs().

◆ avcodec_find_encoder_by_name()

AVCodec* avcodec_find_encoder_by_name ( const char *  name)

Find a registered encoder with the specified name.

Parameters
namename of the requested encoder
Returns
An encoder if one was found, NULL otherwise.

Definition at line 942 of file allcodecs.c.

Referenced by find_codec_or_die(), main(), and show_help_codec().

◆ av_codec_is_encoder()

int av_codec_is_encoder ( const AVCodec codec)

◆ av_codec_is_decoder()

int av_codec_is_decoder ( const AVCodec codec)

◆ avcodec_get_hw_config()

const AVCodecHWConfig* avcodec_get_hw_config ( const AVCodec codec,
int  index 
)

Retrieve supported hardware configurations for a codec.

Values of index from zero to some maximum return the indexed configuration descriptor; all other values return NULL. If the codec does not support any hardware configurations then it will always return NULL.

Examples
hw_decode.c.

Definition at line 1848 of file utils.c.

Referenced by avcodec_default_get_format(), get_format(), hw_device_match_by_codec(), hw_device_setup_for_decode(), hw_device_setup_for_encode(), main(), and print_codec().

◆ avcodec_descriptor_get()

const AVCodecDescriptor* avcodec_descriptor_get ( enum AVCodecID  id)

◆ avcodec_descriptor_next()

const AVCodecDescriptor* avcodec_descriptor_next ( const AVCodecDescriptor prev)

Iterate over all codec descriptors known to libavcodec.

Parameters
prevprevious descriptor. NULL to get the first descriptor.
Returns
next descriptor or NULL after the last descriptor

Definition at line 3400 of file codec_desc.c.

Referenced by avcodec_descriptor_get_by_name(), get_codecs_sorted(), and main().

◆ avcodec_descriptor_get_by_name()

const AVCodecDescriptor* avcodec_descriptor_get_by_name ( const char *  name)
Returns
codec descriptor with the given name or NULL if no such descriptor exists.

Definition at line 3409 of file codec_desc.c.

Referenced by find_codec_or_die(), main(), show_help_codec(), and v4l2_read_header().

◆ avcodec_get_type()

enum AVMediaType avcodec_get_type ( enum AVCodecID  codec_id)

Get the type of the given codec.

Definition at line 3419 of file codec_desc.c.

Referenced by m4sl_cb(), mkv_query_codec(), and mxf_parse_structural_metadata().

◆ avcodec_get_name()

const char* avcodec_get_name ( enum AVCodecID  id)
avcodec_register_all
void avcodec_register_all(void)
Register all the codecs, parsers and bitstream filters which were enabled at configuration time.
Definition: allcodecs.c:877
avcodec_alloc_context3
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
Definition: options.c:157
AV_CODEC_ID_H264
@ AV_CODEC_ID_H264
Definition: codec_id.h:76
context
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your context
Definition: writing_filters.txt:91
opts
AVDictionary * opts
Definition: movenc.c:50
avcodec_open2
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
Definition: utils.c:565
avcodec_find_decoder
AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
Definition: allcodecs.c:919
av_dict_set
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry.
Definition: dict.c:70