All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Files
Memory Management

Utilities for manipulating memory. More...


 Alignment Macros
 Helper macros for declaring aligned variables.
 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.


file  mem.h
 Memory handling functions.

Detailed Description

Utilities for manipulating memory.

FFmpeg has several applications of memory that are not required of a typical program. For example, the computing-heavy components like video decoding and encoding can be sped up significantly through the use of aligned memory.

However, for each of FFmpeg's applications of memory, there might not be a recognized or standardized API for that specific use. Memory alignment, for instance, varies wildly depending on operating systems, architectures, and compilers. Hence, this component of libavutil is created to make dealing with memory consistently possible on all platforms.