Loading...
Searching...
No Matches
Core functions/structures.
libavcodec

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

## Topics

| AVHWAccel

## Data Structures

struct | RcOverride
struct | AVCodecContext
| main external API structure. More...
struct | AVSubtitleRect
struct | AVSubtitle
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...
struct | AVCodecParameters
| This struct describes the properties of an encoded stream. 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.
#define | AV_CODEC_FLAG_QSCALE (1 << 1)
| Use fixed qscale.
#define | AV_CODEC_FLAG_4MV (1 << 2)
| 4 MV per MB allowed / advanced prediction for H.263.
#define | AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3)
| Output even those frames that might be corrupted.
#define | AV_CODEC_FLAG_QPEL (1 << 4)
| Use qpel MC.
#define | AV_CODEC_FLAG_RECON_FRAME (1 << 6)
| Request the encoder to output reconstructed frames, i.e. frames that would be produced by decoding the encoded bitstream.
#define | AV_CODEC_FLAG_COPY_OPAQUE (1 << 7)
#define | AV_CODEC_FLAG_FRAME_DURATION (1 << 8)
| Signal to the encoder that the values of AVFrame.duration are valid and should be used (typically for transferring them to output packets).
#define | AV_CODEC_FLAG_PASS1 (1 << 9)
| Use internal 2pass ratecontrol in first pass mode.
#define | AV_CODEC_FLAG_PASS2 (1 << 10)
| Use internal 2pass ratecontrol in second pass mode.
#define | AV_CODEC_FLAG_LOOP_FILTER (1 << 11)
| loop filter.
#define | AV_CODEC_FLAG_GRAY (1 << 13)
| Only decode/encode grayscale.
#define | AV_CODEC_FLAG_PSNR (1 << 15)
| error[?
#define | AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)
| Use interlaced DCT.
#define | AV_CODEC_FLAG_LOW_DELAY (1 << 19)
| Force low delay.
#define | AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
| Place global headers in extradata instead of every keyframe.
#define | AV_CODEC_FLAG_BITEXACT (1 << 23)
| Use only bitexact stuff (except (I)DCT).
#define | AV_CODEC_FLAG_AC_PRED (1 << 24)
| H.263 advanced intra coding / MPEG-4 AC prediction.
#define | AV_CODEC_FLAG_INTERLACED_ME (1 << 29)
| interlaced motion estimation
#define | AV_CODEC_FLAG_CLOSED_GOP (1U << 31)
#define | AV_CODEC_FLAG2_FAST (1 << 0)
| Allow non spec compliant speedup tricks.
#define | AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)
| Skip bitstream encoding.
#define | AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3)
| Place global headers at every keyframe instead of in extradata.
#define | AV_CODEC_FLAG2_CHUNKS (1 << 15)
| Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries.
#define | AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
| Discard cropping information from SPS.
#define | AV_CODEC_FLAG2_SHOW_ALL (1 << 22)
| Show all frames before the first keyframe.
#define | AV_CODEC_FLAG2_EXPORT_MVS (1 << 28)
| Export motion vectors through frame side data.
#define | AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29)
| Do not skip samples and export skip information as frame side data.
#define | AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30)
| Do not reset ASS ReadOrder field on flush (subtitles decoding).
#define | AV_CODEC_FLAG2_ICC_PROFILES (1U << 31)
| Generate/parse ICC profiles on encode/decode, as appropriate for the type of file.
#define | AV_CODEC_EXPORT_DATA_MVS (1 << 0)
| Export motion vectors through frame side data.
#define | AV_CODEC_EXPORT_DATA_PRFT (1 << 1)
| Export encoder Producer Reference Time through packet side data.
#define | AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
| Decoding only.
#define | AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3)
| Decoding only.
#define | AV_CODEC_EXPORT_DATA_ENHANCEMENTS (1 << 4)
| Decoding only.
#define | AV_GET_BUFFER_FLAG_REF (1 << 0)
| The decoder will keep a reference to the frame and may reuse it later.
#define | AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0)
| The encoder will keep a reference to the packet and may reuse it later.
#define | AV_SUBTITLE_FLAG_FORCED 0x00000001
#define | AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
| Decoder can use draw_horiz_band callback.
#define | AV_CODEC_CAP_DR1 (1 << 1)
| Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
#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.
#define | AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
| Codec can be fed a final frame with a smaller size.
#define | AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
| Codec is experimental and is thus avoided in favor of non experimental encoders.
#define | AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
| Codec should fill in channel configuration and samplerate instead of container.
#define | AV_CODEC_CAP_FRAME_THREADS (1 << 12)
| Codec supports frame-level multithreading.
#define | AV_CODEC_CAP_SLICE_THREADS (1 << 13)
| Codec supports slice-based (or partition-based) multithreading.
#define | AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
| Codec supports changed parameters at any point.
#define | AV_CODEC_CAP_OTHER_THREADS (1 << 15)
| Codec supports multithreading through a method other than slice- or frame-level multithreading.
#define | AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
| Audio encoder supports receiving a different number of samples in each call.
#define | AV_CODEC_CAP_AVOID_PROBING (1 << 17)
| Decoder is not a preferred choice for probing.
#define | AV_CODEC_CAP_HARDWARE (1 << 18)
| Codec is backed by a hardware implementation.
#define | AV_CODEC_CAP_HYBRID (1 << 19)
| Codec is potentially backed by a hardware implementation, but not necessarily.
#define | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)
| This encoder can reorder user opaque values from input AVFrames and return them with corresponding output packets.
#define | AV_CODEC_CAP_ENCODER_FLUSH (1 << 21)
| This encoder can be flushed using avcodec_flush_buffers().
#define | AV_CODEC_CAP_ENCODER_RECON_FRAME (1 << 22)
| The encoder is able to output reconstructed frame data, i.e.
#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_REORDER (1 << 3)
| Codec supports frame reordering.
#define | AV_CODEC_PROP_FIELDS (1 << 4)
| Video codec supports separate coding of fields in interlaced frames.
#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.

## Enumerations

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_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_PGX , AV_CODEC_ID_AVS3 , AV_CODEC_ID_MSP2 , AV_CODEC_ID_VVC ,
AV_CODEC_ID_Y41P , AV_CODEC_ID_AVRP , AV_CODEC_ID_012V , AV_CODEC_ID_AVUI ,
AV_CODEC_ID_TARGA_Y216 , 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_MOBICLIP , AV_CODEC_ID_PHOTOCD ,
AV_CODEC_ID_IPU , AV_CODEC_ID_ARGO , AV_CODEC_ID_CRI , AV_CODEC_ID_SIMBIOSIS_IMX ,
AV_CODEC_ID_SGA_VIDEO , AV_CODEC_ID_GEM , AV_CODEC_ID_VBN , AV_CODEC_ID_JPEGXL ,
AV_CODEC_ID_QOI , AV_CODEC_ID_PHM , AV_CODEC_ID_RADIANCE_HDR , AV_CODEC_ID_WBMP ,
AV_CODEC_ID_MEDIA100 , AV_CODEC_ID_VQC , AV_CODEC_ID_PDV , AV_CODEC_ID_EVC ,
AV_CODEC_ID_RTV1 , AV_CODEC_ID_VMIX , AV_CODEC_ID_LEAD , AV_CODEC_ID_DNXUC ,
AV_CODEC_ID_RV60 , AV_CODEC_ID_JPEGXL_ANIM , AV_CODEC_ID_APV , AV_CODEC_ID_PRORES_RAW ,
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 , AV_CODEC_ID_PCM_S64BE , AV_CODEC_ID_PCM_F16LE , AV_CODEC_ID_PCM_F24LE ,
AV_CODEC_ID_PCM_VIDC , AV_CODEC_ID_PCM_SGA , 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 , 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_ADPCM_IMA_MOFLEX ,
AV_CODEC_ID_ADPCM_IMA_ACORN , AV_CODEC_ID_ADPCM_XMD , AV_CODEC_ID_ADPCM_IMA_XBOX , AV_CODEC_ID_ADPCM_SANYO ,
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 , AV_CODEC_ID_GREMLIN_DPCM , AV_CODEC_ID_DERF_DPCM , AV_CODEC_ID_WADY_DPCM ,
AV_CODEC_ID_CBD2_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 , 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_FASTAUDIO ,
AV_CODEC_ID_MSNSIREN , AV_CODEC_ID_DFPWM , AV_CODEC_ID_BONK , AV_CODEC_ID_MISC4 ,
AV_CODEC_ID_APAC , AV_CODEC_ID_FTR , AV_CODEC_ID_WAVARC , AV_CODEC_ID_RKA ,
AV_CODEC_ID_AC4 , AV_CODEC_ID_OSQ , AV_CODEC_ID_QOA , AV_CODEC_ID_LC3 ,
AV_CODEC_ID_G728 , 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 ,
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_IVTV_VBI , AV_CODEC_ID_FIRST_UNKNOWN = 0x18000 , AV_CODEC_ID_TTF = 0x18000 , AV_CODEC_ID_SCTE_35 ,
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_SMPTE_2038 , AV_CODEC_ID_LCEVC , AV_CODEC_ID_SMPTE_436M_ANC ,
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 , AV_CODEC_ID_VNULL , AV_CODEC_ID_ANULL
}

| Identify the syntax and semantics of the bitstream. More...

## Functions

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.
AVCodecContext * | avcodec_alloc_context3 (const AVCodec *codec)
| Allocate an AVCodecContext and set its fields to default values.
void | avcodec_free_context (AVCodecContext **avctx)
| Free the codec context and everything associated with it and write NULL to the provided pointer.
const AVClass * | avcodec_get_class (void)
| Get the AVClass for AVCodecContext.
const AVClass * | avcodec_get_subtitle_rect_class (void)
| Get the AVClass for AVSubtitleRect.
int | avcodec_parameters_from_context (struct AVCodecParameters *par, const AVCodecContext *codec)
| Fill the parameters struct based on the values from the supplied codec context.
int | avcodec_parameters_to_context (AVCodecContext *codec, const struct AVCodecParameters *par)
| Fill the codec context based on the values from the supplied codec parameters.
int | avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
| Initialize the AVCodecContext to use the given AVCodec.
void | avsubtitle_free (AVSubtitle *sub)
| Free all allocated data in the given subtitle struct.
const AVCodec * | av_codec_iterate (void **opaque)
| Iterate over all registered codecs.
const AVCodec * | avcodec_find_decoder (enum AVCodecID id)
| Find a registered decoder with a matching codec ID.
const AVCodec * | avcodec_find_decoder_by_name (const char *name)
| Find a registered decoder with the specified name.
const AVCodec * | avcodec_find_encoder (enum AVCodecID id)
| Find a registered encoder with a matching codec ID.
const AVCodec * | avcodec_find_encoder_by_name (const char *name)
| Find a registered encoder with the specified name.
int | av_codec_is_encoder (const AVCodec *codec)
int | av_codec_is_decoder (const AVCodec *codec)
const char * | av_get_profile_name (const AVCodec *codec, int profile)
| Return a name for the specified profile, if available.
const AVCodecHWConfig * | avcodec_get_hw_config (const AVCodec *codec, int index)
| Retrieve supported hardware configurations for a codec.
const AVCodecDescriptor * | avcodec_descriptor_get (enum AVCodecID id)
const AVCodecDescriptor * | avcodec_descriptor_next (const AVCodecDescriptor *prev)
| Iterate over all codec descriptors known to libavcodec.
const AVCodecDescriptor * | avcodec_descriptor_get_by_name (const char *name)
enum AVMediaType | avcodec_get_type (enum AVCodecID codec_id)
| Get the type of the given codec.
const char * | avcodec_get_name (enum AVCodecID id)
| Get the name of a codec.
int | av_get_bits_per_sample (enum AVCodecID codec_id)
| Return codec bits per sample.
int | av_get_exact_bits_per_sample (enum AVCodecID codec_id)
| Return codec bits per sample.
const char * | avcodec_profile_name (enum AVCodecID codec_id, int profile)
| Return a name for the specified profile, if available.
enum AVCodecID | av_get_pcm_codec (enum AVSampleFormat fmt, int be)
| Return the PCM codec associated with a sample format.
AVCodecParameters * | avcodec_parameters_alloc (void)
| Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0).
void | avcodec_parameters_free (AVCodecParameters **par)
| Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied pointer.
int | avcodec_parameters_copy (AVCodecParameters *dst, const AVCodecParameters *src)
| Copy the contents of src to dst.
int | av_get_audio_frame_duration2 (AVCodecParameters *par, int frame_bytes)
| This function is the same as av_get_audio_frame_duration(), except it works with AVCodecParameters instead of an AVCodecContext.

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

## AV_CODEC_FLAG_QSCALE

#define AV_CODEC_FLAG_QSCALE (1 << 1)

Use fixed qscale.

Definition at line 213 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 217 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 221 of file avcodec.h.

## AV_CODEC_FLAG_QPEL

#define AV_CODEC_FLAG_QPEL (1 << 4)

Use qpel MC.

Definition at line 225 of file avcodec.h.

## AV_CODEC_FLAG_RECON_FRAME

#define AV_CODEC_FLAG_RECON_FRAME (1 << 6)

Request the encoder to output reconstructed frames, i.e. frames that would be produced by decoding the encoded bitstream.

These frames may be retrieved by calling avcodec_receive_frame() immediately after a successful call to avcodec_receive_packet().

Should only be used with encoders flagged with the AV_CODEC_CAP_ENCODER_RECON_FRAME capability.

Note
  Each reconstructed frame returned by the encoder corresponds to the last encoded packet, i.e. the frames are returned in coded order rather than presentation order.
  Frame parameters (like pixel format or dimensions) do not have to match the AVCodecContext values. Make sure to use the values from the returned frame.

Definition at line 244 of file avcodec.h.

## AV_CODEC_FLAG_COPY_OPAQUE

#define AV_CODEC_FLAG_COPY_OPAQUE (1 << 7)

decoding
  Request the decoder to propagate each packet's AVPacket.opaque and AVPacket.opaque_ref to its corresponding output AVFrame.

encoding:
  Request the encoder to propagate each frame's AVFrame.opaque and AVFrame.opaque_ref values to its corresponding output AVPacket.

  May only be set on encoders that have the AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE capability flag.

Note
  While in typical cases one input frame produces exactly one output packet (perhaps after a delay), in general the mapping of frames to packets is M-to-N, so
  - Any number of input frames may be associated with any given output packet. This includes zero - e.g. some encoders may output packets that carry only metadata about the whole stream.
  - A given input frame may be associated with any number of output packets. Again this includes zero - e.g. some encoders may drop frames under certain conditions.
  This implies that when using this flag, the caller must NOT assume that
  - a given input frame's opaques will necessarily appear on some output packet;
  - every output packet will have some non-NULL opaque value.
  When an output packet contains multiple frames, the opaque values will be taken from the first of those.
  The converse holds for decoders, with frames and packets switched.

Definition at line 279 of file avcodec.h.

## AV_CODEC_FLAG_FRAME_DURATION

#define AV_CODEC_FLAG_FRAME_DURATION (1 << 8)

Signal to the encoder that the values of AVFrame.duration are valid and should be used (typically for transferring them to output packets).

If this flag is not set, frame durations are ignored.

Definition at line 286 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 290 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 294 of file avcodec.h.

## AV_CODEC_FLAG_LOOP_FILTER

#define AV_CODEC_FLAG_LOOP_FILTER (1 << 11)

loop filter.

Definition at line 298 of file avcodec.h.

## AV_CODEC_FLAG_GRAY

#define AV_CODEC_FLAG_GRAY (1 << 13)

Only decode/encode grayscale.

Definition at line 302 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 306 of file avcodec.h.

## AV_CODEC_FLAG_INTERLACED_DCT

#define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)

Use interlaced DCT.

Definition at line 310 of file avcodec.h.

## AV_CODEC_FLAG_LOW_DELAY

#define AV_CODEC_FLAG_LOW_DELAY (1 << 19)

Force low delay.

Definition at line 314 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
  mux.c, transcode.c, and transcode_aac.c.

Definition at line 318 of file avcodec.h.

Referenced by add_stream(), open_output_file(), and open_output_file().

## AV_CODEC_FLAG_BITEXACT

#define AV_CODEC_FLAG_BITEXACT (1 << 23)

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

Definition at line 322 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 327 of file avcodec.h.

## AV_CODEC_FLAG_INTERLACED_ME

#define AV_CODEC_FLAG_INTERLACED_ME (1 << 29)

interlaced motion estimation

Definition at line 331 of file avcodec.h.

## AV_CODEC_FLAG_CLOSED_GOP

#define AV_CODEC_FLAG_CLOSED_GOP (1U << 31)

Definition at line 332 of file avcodec.h.

## AV_CODEC_FLAG2_FAST

#define AV_CODEC_FLAG2_FAST (1 << 0)

Allow non spec compliant speedup tricks.

Definition at line 337 of file avcodec.h.

## AV_CODEC_FLAG2_NO_OUTPUT

#define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)

Skip bitstream encoding.

Definition at line 341 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 345 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 351 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 355 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 360 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 364 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 368 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 372 of file avcodec.h.

## AV_CODEC_FLAG2_ICC_PROFILES

#define AV_CODEC_FLAG2_ICC_PROFILES (1U << 31)

Generate/parse ICC profiles on encode/decode, as appropriate for the type of file.

No effect on codecs which cannot contain embedded ICC profiles, or when compiled without support for lcms2.

Definition at line 378 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 386 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 390 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 395 of file avcodec.h.

## AV_CODEC_EXPORT_DATA_FILM_GRAIN

#define AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3)

Decoding only.

Do not apply film grain, export it instead.

Definition at line 400 of file avcodec.h.

## AV_CODEC_EXPORT_DATA_ENHANCEMENTS

#define AV_CODEC_EXPORT_DATA_ENHANCEMENTS (1 << 4)

Decoding only.

Do not apply picture enhancement layers, export them instead.

Definition at line 406 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 411 of file avcodec.h.

## AV_GET_ENCODE_BUFFER_FLAG_REF

#define AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0)

The encoder will keep a reference to the packet and may reuse it later.

Definition at line 416 of file avcodec.h.

## AV_SUBTITLE_FLAG_FORCED

#define AV_SUBTITLE_FLAG_FORCED 0x00000001

Definition at line 2046 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() or get_encode_buffer() for allocating buffers and supports custom allocators.

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

Definition at line 52 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
  transcode.c.

Definition at line 76 of file codec.h.

Referenced by flush_encoder().

## 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 81 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 87 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 91 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 95 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 99 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 103 of file codec.h.

## AV_CODEC_CAP_OTHER_THREADS

#define AV_CODEC_CAP_OTHER_THREADS (1 << 15)

Codec supports multithreading through a method other than slice- or frame-level multithreading.

Typically this marks wrappers around multithreading-capable external libraries.

Definition at line 109 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
  mux.c.

Definition at line 113 of file codec.h.

Referenced by open_audio().

## 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 123 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 130 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 137 of file codec.h.

## AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE

#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)

This encoder can reorder user opaque values from input AVFrames and return them with corresponding output packets.

See also
  AV_CODEC_FLAG_COPY_OPAQUE

Definition at line 144 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 151 of file codec.h.

## AV_CODEC_CAP_ENCODER_RECON_FRAME

#define AV_CODEC_CAP_ENCODER_RECON_FRAME (1 << 22)

The encoder is able to output reconstructed frame data, i.e.

raw frames that would be produced by decoding the encoded bitstream.

Reconstructed frame output is enabled by the AV_CODEC_FLAG_RECON_FRAME flag.

Definition at line 159 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_FIELDS

#define AV_CODEC_PROP_FIELDS (1 << 4)

Video codec supports separate coding of fields in interlaced frames.

Definition at line 97 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 103 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 108 of file codec_desc.h.

## Enumeration Type Documentation

## AVSubtitleType

enum 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 2028 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 290 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_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_PGX |
AV_CODEC_ID_AVS3 |
AV_CODEC_ID_MSP2 |
AV_CODEC_ID_VVC |
AV_CODEC_ID_Y41P |
AV_CODEC_ID_AVRP |
AV_CODEC_ID_012V |
AV_CODEC_ID_AVUI |
AV_CODEC_ID_TARGA_Y216 |
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_MOBICLIP |
AV_CODEC_ID_PHOTOCD |
AV_CODEC_ID_IPU |
AV_CODEC_ID_ARGO |
AV_CODEC_ID_CRI |
AV_CODEC_ID_SIMBIOSIS_IMX |
AV_CODEC_ID_SGA_VIDEO |
AV_CODEC_ID_GEM |
AV_CODEC_ID_VBN |
AV_CODEC_ID_JPEGXL |
AV_CODEC_ID_QOI |
AV_CODEC_ID_PHM |
AV_CODEC_ID_RADIANCE_HDR |
AV_CODEC_ID_WBMP |
AV_CODEC_ID_MEDIA100 |
AV_CODEC_ID_VQC |
AV_CODEC_ID_PDV |
AV_CODEC_ID_EVC |
AV_CODEC_ID_RTV1 |
AV_CODEC_ID_VMIX |
AV_CODEC_ID_LEAD |
AV_CODEC_ID_DNXUC |
AV_CODEC_ID_RV60 |
AV_CODEC_ID_JPEGXL_ANIM |
AV_CODEC_ID_APV |
AV_CODEC_ID_PRORES_RAW |
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_PCM_SGA |
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_ADPCM_IMA_MOFLEX |
AV_CODEC_ID_ADPCM_IMA_ACORN |
AV_CODEC_ID_ADPCM_XMD |
AV_CODEC_ID_ADPCM_IMA_XBOX |
AV_CODEC_ID_ADPCM_SANYO |
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_WADY_DPCM |
AV_CODEC_ID_CBD2_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_FASTAUDIO |
AV_CODEC_ID_MSNSIREN |
AV_CODEC_ID_DFPWM |
AV_CODEC_ID_BONK |
AV_CODEC_ID_MISC4 |
AV_CODEC_ID_APAC |
AV_CODEC_ID_FTR |
AV_CODEC_ID_WAVARC |
AV_CODEC_ID_RKA |
AV_CODEC_ID_AC4 |
AV_CODEC_ID_OSQ |
AV_CODEC_ID_QOA |
AV_CODEC_ID_LC3 |
AV_CODEC_ID_G728 |
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_IVTV_VBI |
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_SMPTE_2038 |
AV_CODEC_ID_LCEVC |
AV_CODEC_ID_SMPTE_436M_ANC |
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.
AV_CODEC_ID_VNULL | Dummy null video codec, useful mainly for development and debugging. Null encoder/decoder discard all input and never return any output.
AV_CODEC_ID_ANULL | Dummy null audio codec, useful mainly for development and debugging. Null encoder/decoder discard all input and never return any output.

Examples
  mux.c.

Definition at line 49 of file codec_id.h.

## Function Documentation

## avcodec_version()

unsigned avcodec_version | ( | void |  | ) |

Return the LIBAVCODEC_VERSION_INT constant.

## avcodec_configuration()

const char * avcodec_configuration | ( | void |  | ) |

Return the libavcodec build-time configuration.

## avcodec_license()

const char * avcodec_license | ( | void |  | ) |

Return the libavcodec license.

## 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

  codec | if 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_filter_audio.c, decode_filter_video.c, decode_video.c, demux_decode.c, encode_audio.c, encode_video.c, extract_mvs.c, hw_decode.c, mux.c, qsv_decode.c, qsv_transcode.c, transcode.c, transcode_aac.c, vaapi_encode.c, and vaapi_transcode.c.

Referenced by add_stream(), main(), main(), open_codec_context(), open_codec_context(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_output_file(), and open_output_file().

## avcodec_free_context()

void avcodec_free_context | ( | AVCodecContext ** | avctx | ) |

Free the codec context and everything associated with it and write NULL to the provided pointer.

Examples
  decode_audio.c, decode_filter_audio.c, decode_filter_video.c, decode_video.c, demux_decode.c, encode_audio.c, encode_video.c, extract_mvs.c, hw_decode.c, mux.c, qsv_decode.c, qsv_transcode.c, transcode.c, transcode_aac.c, vaapi_encode.c, and vaapi_transcode.c.

Referenced by close_stream(), main(), main(), open_input_file(), and open_output_file().

## 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().

## 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().

## avcodec_parameters_from_context()

int avcodec_parameters_from_context | ( | struct 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
  mux.c, qsv_transcode.c, transcode.c, transcode_aac.c, and vaapi_transcode.c.

Referenced by dec_enc(), dec_enc(), open_audio(), open_output_file(), open_output_file(), and open_video().

## avcodec_parameters_to_context()

int avcodec_parameters_to_context | ( | AVCodecContext * | codec,
|  | const struct 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
  decode_filter_audio.c, decode_filter_video.c, demux_decode.c, extract_mvs.c, hw_decode.c, qsv_transcode.c, transcode.c, transcode_aac.c, and vaapi_transcode.c.

Referenced by main(), open_codec_context(), open_codec_context(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), and open_input_file().

## 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.

Depending on the codec, you might need to set options in the codec context also for decoding (e.g. width, height, or the pixel or audio sample format in the case the information is not available in the bitstream, as when decoding raw audio or video).

Options in the codec context can be set either by setting them in the options AVDictionary, or by setting the values in the context itself, directly or by using the av_opt_set() API before calling this function.

Example:

av_dict_set(&opts, "b", "2.5M", 0);
codec = avcodec_find_decoder(AV_CODEC_ID_H264);
if (!codec)
exit(1);
context = avcodec_alloc_context3(codec);
if (avcodec_open2(context, codec, opts) < 0)
exit(1);
avcodec_open2
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
avcodec_alloc_context3
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
avcodec_find_decoder
const AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
AV_CODEC_ID_H264
@ AV_CODEC_ID_H264
Definition codec_id.h:79
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.

In the case AVCodecParameters are available (e.g. when demuxing a stream using libavformat, and accessing the AVStream contained in the demuxer), the codec parameters can be copied to the codec context using avcodec_parameters_to_context(), as in the following example:

AVStream *stream = ...;
context = avcodec_alloc_context3(codec);
if (avcodec_parameters_to_context(context, stream->codecpar) < 0)
exit(1);
if (avcodec_open2(context, codec, NULL) < 0)
exit(1);
avcodec_parameters_to_context
int avcodec_parameters_to_context(AVCodecContext *codec, const struct AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
AVStream
Stream structure.
Definition avformat.h:744

Note
  Always call this function before using decoding routines (such as avcodec_receive_frame()).

Parameters

  avctx | The context to initialize.
  codec | The 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.
  options | A dictionary filled with AVCodecContext and codec-private options, which are set on top of the options already set in avctx, can be NULL. On return this object will be filled with options that were not found in the avctx codec context.

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_set(), av_opt_find(), avcodec_parameters_to_context()

Examples
  decode_audio.c, decode_filter_audio.c, decode_filter_video.c, decode_video.c, demux_decode.c, encode_audio.c, encode_video.c, extract_mvs.c, hw_decode.c, mux.c, qsv_decode.c, qsv_transcode.c, transcode.c, transcode_aac.c, vaapi_encode.c, and vaapi_transcode.c.

Referenced by dec_enc(), dec_enc(), main(), main(), open_audio(), open_codec_context(), open_codec_context(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_input_file(), open_output_file(), open_output_file(), and open_video().

## avsubtitle_free()

void avsubtitle_free | ( | AVSubtitle * | sub | ) |

Free all allocated data in the given subtitle struct.

Parameters

  sub | AVSubtitle to free.

## av_codec_iterate()

const AVCodec * av_codec_iterate | ( | void ** | opaque | ) |

Iterate over all registered codecs.

Parameters

  opaque | a 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

## avcodec_find_decoder()

const AVCodec * avcodec_find_decoder | ( | enum AVCodecID | id | ) |

Find a registered decoder with a matching codec ID.

Parameters

  id | AVCodecID of the requested decoder

Returns
  A decoder if one was found, NULL otherwise.

Examples
  decode_audio.c, decode_video.c, demux_decode.c, transcode.c, and transcode_aac.c.

Referenced by main(), open_codec_context(), open_input_file(), and open_input_file().

## avcodec_find_decoder_by_name()

const AVCodec * avcodec_find_decoder_by_name | ( | const char * | name | ) |

Find a registered decoder with the specified name.

Parameters

  name | name of the requested decoder

Returns
  A decoder if one was found, NULL otherwise.

Examples
  qsv_decode.c, and qsv_transcode.c.

Referenced by main(), and open_input_file().

## avcodec_find_encoder()

const AVCodec * avcodec_find_encoder | ( | enum AVCodecID | id | ) |

Find a registered encoder with a matching codec ID.

Parameters

  id | AVCodecID of the requested encoder

Returns
  An encoder if one was found, NULL otherwise.

Examples
  encode_audio.c, mux.c, transcode.c, and transcode_aac.c.

Referenced by add_stream(), main(), open_output_file(), and open_output_file().

## avcodec_find_encoder_by_name()

const AVCodec * avcodec_find_encoder_by_name | ( | const char * | name | ) |

Find a registered encoder with the specified name.

Parameters

  name | name of the requested encoder

Returns
  An encoder if one was found, NULL otherwise.

Examples
  encode_video.c, qsv_transcode.c, vaapi_encode.c, and vaapi_transcode.c.

Referenced by main(), and main().

## av_codec_is_encoder()

int av_codec_is_encoder | ( | const AVCodec * | codec | ) |

Returns
  a non-zero number if codec is an encoder, zero otherwise

## av_codec_is_decoder()

int av_codec_is_decoder | ( | const AVCodec * | codec | ) |

Returns
  a non-zero number if codec is a decoder, zero otherwise

## av_get_profile_name()

const char * av_get_profile_name | ( | const AVCodec * | codec,
|  | int | profile )

Return a name for the specified profile, if available.

Parameters

  codec | the codec that is searched for the given profile
  profile | the profile value for which a name is requested

Returns
  A name for the profile if found, NULL otherwise.

## 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.

Referenced by main().

## avcodec_descriptor_get()

const AVCodecDescriptor * avcodec_descriptor_get | ( | enum AVCodecID | id | ) |

Returns
  descriptor for given codec ID or NULL if no descriptor exists.

## avcodec_descriptor_next()

const AVCodecDescriptor * avcodec_descriptor_next | ( | const AVCodecDescriptor * | prev | ) |

Iterate over all codec descriptors known to libavcodec.

Parameters

  prev | previous descriptor. NULL to get the first descriptor.

Returns
  next descriptor or NULL after the last descriptor

## 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.

## avcodec_get_type()

enum AVMediaType avcodec_get_type | ( | enum AVCodecID | codec_id | ) |

Get the type of the given codec.

## avcodec_get_name()

const char * avcodec_get_name | ( | enum AVCodecID | id | ) |

Get the name of a codec.

Returns
  a static string identifying the codec; never NULL

Examples
  mux.c.

Referenced by add_stream().

## av_get_bits_per_sample()

int av_get_bits_per_sample | ( | enum AVCodecID | codec_id | ) |

Return codec bits per sample.

Parameters

  [in] | codec_id | the codec

Returns
  Number of bits per sample or zero if unknown for the given codec.

## av_get_exact_bits_per_sample()

int av_get_exact_bits_per_sample | ( | enum AVCodecID | codec_id | ) |

Return codec bits per sample.

Only return non-zero if the bits per sample is exactly correct, not an approximation.

Parameters

  [in] | codec_id | the codec

Returns
  Number of bits per sample or zero if unknown for the given codec.

## avcodec_profile_name()

const char * avcodec_profile_name | ( | enum AVCodecID | codec_id,
|  | int | profile )

Return a name for the specified profile, if available.

Parameters

  codec_id | the ID of the codec to which the requested profile belongs
  profile | the profile value for which a name is requested

Returns
  A name for the profile if found, NULL otherwise.

Note
  unlike av_get_profile_name(), which searches a list of profiles supported by a specific decoder or encoder implementation, this function searches the list of profiles from the AVCodecDescriptor

## av_get_pcm_codec()

enum AVCodecID av_get_pcm_codec | ( | enum AVSampleFormat | fmt,
|  | int | be )

Return the PCM codec associated with a sample format.

Parameters

  be | endianness, 0 for little, 1 for big, -1 (or anything else) for native

Returns
  AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE

## avcodec_parameters_alloc()

AVCodecParameters * avcodec_parameters_alloc | ( | void |  | ) |

Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0).

The returned struct must be freed with avcodec_parameters_free().

## avcodec_parameters_free()

void avcodec_parameters_free | ( | AVCodecParameters ** | par | ) |

Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied pointer.

## avcodec_parameters_copy()

int avcodec_parameters_copy | ( | AVCodecParameters * | dst,
|  | const AVCodecParameters * | src )

Copy the contents of src to dst.

Any allocated fields in dst are freed and replaced with newly allocated duplicates of the corresponding fields in src.

Returns
  >= 0 on success, a negative AVERROR code on failure.

Examples
  remux.c, and transcode.c.

Referenced by main(), and open_output_file().

## av_get_audio_frame_duration2()

int av_get_audio_frame_duration2 | ( | AVCodecParameters * | par,
|  | int | frame_bytes )

This function is the same as av_get_audio_frame_duration(), except it works with AVCodecParameters instead of an AVCodecContext.