| libavdevice | Special devices muxing/demuxing library |
| ▼libavfilter | Graph-based frame editing library |
| ▼Buffer sink API | The buffersink and abuffersink filters are there to connect filter graphs to applications |
| Buffer sink accessors | Get the properties of the stream |
| Buffer source API | |
| ▼libavformat | I/O and Muxing/Demuxing Library |
| Demuxing | Demuxers read a media file and split it into chunks of data (packets) |
| Muxing | Muxers take encoded data in the form of AVPackets and write it into files or other output bytestreams in the specified container format |
| I/O Read/Write | |
| ▼Demuxers | |
| Native Demuxers | |
| External library wrappers | |
| I/O Protocols | |
| Internal | |
| Public Metadata API | The metadata API allows libavformat to export metadata tags to a client application when demuxing |
| Core functions | Functions for querying libavformat capabilities, allocating core structures, etc |
| ▼Utility functions | Miscellaneous utility functions related to both muxing and demuxing (or neither) |
| RIFF FourCCs | Get the tables mapping RIFF FourCCs to libavcodec AVCodecIDs |
| ▼libavcodec | Encoding/Decoding Library |
| ▼Decoding | |
| Frame parsing | |
| Encoding | |
| ▼Codecs | |
| Native Codecs | |
| External library wrappers | |
| ►Hardware Accelerators bridge | |
| Direct3D11 | |
| DXVA2 | |
| VDPAU Decoder and Renderer | VDPAU hardware acceleration has two modules |
| VideoToolbox Decoder | Hardware accelerated decoding using VideoToolbox on Apple Platforms |
| Internal | |
| send/receive encoding and decoding API overview | The avcodec_send_packet()/avcodec_receive_frame()/avcodec_send_frame()/ avcodec_receive_packet() functions provide an encode/decode API, which decouples input and output |
| ▼Core functions/structures. | Basic definitions, functions for querying libavcodec capabilities, allocating core structures, etc |
| AVHWAccel | |
| ▼Utility functions | Miscellaneous utility functions related to both encoding and decoding (or neither) |
| Pixel formats | Functions for working with pixel formats |
| Bitstream filters | Bitstream filters transform encoded media data without decoding it |
| AVPacketSideData | Types and functions for working with AVPacketSideData |
| AVPacket | Types and functions for working with AVPacket |
| libpostproc | Video postprocessing library |
| libswresample | Audio resampling, sample format conversion and mixing library |
| libswscale | Color conversion and scaling library |
| ▼libavutil | Common code shared across all FFmpeg libraries |
| ▼Crypto and Hashing | |
| AES | |
| AES-CTR | |
| Base64 | |
| Blowfish | |
| CAST5 | |
| CAMELLIA | |
| DES | |
| ►Hash Functions | Hash functions useful in multimedia |
| Adler-32 | Adler-32 hash function implementation |
| CRC | CRC (Cyclic Redundancy Check) hash function implementation |
| Generic Hashing API | An abstraction layer for all hash functions supported by libavutil |
| MD5 | MD5 hash function implementation |
| Murmur3 | MurmurHash3 hash function implementation |
| RIPEMD | RIPEMD hash function implementation |
| SHA | SHA-1 and SHA-256 (Secure Hash Algorithm) hash function implementations |
| SHA-512 | SHA-512 (Secure Hash Algorithm) hash function implementations |
| HMAC | |
| LZO | |
| RC4 | |
| TWOFISH | |
| XTEA | |
| TEA | |
| ▼Mathematics | Mathematical utilities for working with timestamp and time base |
| Colorspace Utility | |
| AVRational | Rational number calculation |
| String Manipulation | |
| ▼Memory Management | Utilities for manipulating memory |
| Function Attributes | Function attributes applicable to memory handling functions |
| Heap Management | Functions responsible for allocating, freeing, and copying memory |
| Dynamic Array | Utilities to make an array grow when needed |
| Miscellaneous Functions | Other functions related to memory allocation |
| ▼Data Structures | |
| AVBPrint | A buffer to print data progressively |
| AVBuffer | AVBuffer is an API for reference-counted data buffers |
| AVBufferPool | AVBufferPool is an API for a lock-free thread-safe pool of AVBuffers |
| AVFifo | A generic FIFO API |
| ►AVFrame | AVFrame is an abstraction for reference-counted raw multimedia data |
| AV_FRAME_FLAGS | Flags describing additional frame properties |
| ►AVOptions | AVOptions provide a generic system to declare options on arbitrary structs ("objects") |
| AVOption (un)initialization and inspection. | |
| ►Setting and modifying option values | |
| Option setting functions | Those functions set the field of obj with the given name to value |
| ►Reading option values | |
| Option getting functions | Those functions get a value of the option with the given name from an object |
| Evaluating option strings | This group of functions can be used to evaluate option strings and get numbers out of them |
| AVDictionary | Simple key:value store |
| AVTree | Low-complexity tree container |
| ▼Video related | |
| Display transformation matrix functions | The display transformation matrix specifies an affine transformation that should be applied to video frames for correct presentation |
| Spherical video mapping | A spherical video file contains surfaces that need to be mapped onto a sphere |
| Stereo3D types and functions | A stereoscopic video file consists in multiple views embedded in a single frame, usually describing two views of a scene |
| ▼Audio related | |
| Audio FIFO Buffer | |
| ►Audio channels | Audio channel layout utility functions |
| Audio channel masks | A channel layout is a 64-bits integer with a bit set for every channel |
| Audio channel layouts | |
| Audio downmix metadata | |
| ►Immersive Audio Model and Formats | Immersive Audio Model and Formats related functions and defines |
| Parameter Definition | Parameters as defined in section 3.6.1 and 3.8 of IAMF |
| Audio Element | Audio Elements as defined in section 3.6 of IAMF |
| Mix Presentation | Mix Presentations as defined in section 3.7 of IAMF |
| Audio sample formats | Audio sample format enumeration and related convenience functions |
| Samples manipulation | Functions that manipulate audio samples |
| Error Codes | |
| ▼Logging Facility | |
| Logging Constants | |
| ▼Other | |
| Preprocessor String Macros | String manipulation macros |
| Library Version Macros | Useful to check and match library version in order to maintain backward compatibility |
| ►Constants | |
| Encoding specific | |
| Timestamp specific | FFmpeg internal timebase and timestamp definitions |
| Image related | AVPicture types, pixel formats and basic image planes manipulation |
| ►Version and Build diagnostics | Macros and function useful to check at compiletime and at runtime which version of libavutil is in use |
| Deprecation Guards | FF_API_* defines may be placed below to indicate public API that will be dropped at a future version bump |
| Media Type | Media Type |
| Device context creation flags | AVHWFramesContext.hwctx is currently not used |