libavutil
libavutil is a core library within the FFmpeg project that provides a collection of utility functions and data structures used by other FFmpeg components such as libavcodec, libavformat, and libavdevice. It offers common facilities that support multimedia processing, including memory management, error handling, logging, timing, and miscellaneous helpers.
Key features and components include:
- Memory management and buffers: wrappers such as av_malloc, av_free, av_mallocz, and reference-counted buffers (AVBuffer, AVBufferRef) used
- Error handling and reporting: standardized error codes and the av_strerror function for translating errors into human-readable
- Logging and debugging: the av_log function with configurable log levels to enable consistent messaging across libraries.
- Data types and formats: fundamental types like AVRational for representing fractions, and enumerations for pixel formats
- Utilities and string operations: portable helpers such as av_strdup, av_strlcpy, and various time-related functions (av_gettime, av_gettime_relative,
- Configuration and options: runtime configuration support through AVClass and AVOption to reveal and manage options for
Usage and role: libavutil is intended to be a stable foundation used by virtually all FFmpeg libraries.
See also: FFmpeg project, libavcodec, libavformat, libavdevice, libavfilter.