Home

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.

to
manage
media
data
efficiently.
strings.
(AVPixelFormat)
and
sample
formats
defined
by
the
library.
av_usleep)
for
synchronization
and
timing.
FFmpeg
components.
By
centralizing
common
utilities,
it
reduces
duplication
and
facilitates
cross-library
compatibility.
It
supports
platform
portability
and
provides
essential
building
blocks
for
memory
management,
error
handling,
and
basic
data
representations
required
during
media
encoding,
decoding,
and
processing.