Name Description Size
adler32.c Compute the Adler-32 checksum of a data stream. This is a modified version based on adler32.c from the zlib library. Copyright (C) 1995 Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. 3290
adler32.h @file @ingroup lavu_adler32 Public header for Adler-32 hash function implementation. 1696
attributes.h @file Macro definitions for various function/variable attributes 4850
attributes_internal.h AVUTIL_ATTRIBUTES_INTERNAL_H 1362
avassert.h @file simple assert() macros that are a bit more flexible than ISO C assert(). @author Michael Niedermayer <> 2354
avconfig.h Generated by ffmpeg configure 180
avsscanf.c If lim is nonzero, rend must be a valid pointer. 25383
avstring.c skip leading delimiters 10987
avstring.h @addtogroup lavu_string @{ 15155
avutil.h @file @ingroup lavu Convenience header that includes @ref lavu "libavutil"'s core. 9855
avutil.symbols 6228
avutilres.rc 2010
base64.c @file @brief Base64 encode/decode @author Ryan Martell <> (with lots of Michael) 5512
base64.h @defgroup lavu_base64 Base64 @ingroup lavu_crypto @{ 2285
bprint.c it is already truncated anyway 10139
bprint.h @file @ingroup lavu_avbprint AVBPrint public header 8656
bswap.h @file byte swapping routines 2903
buffer.c b->free below might already free the structure containing *b, so we have to read the flag now to avoid use-after-free. 9930
buffer.h @file @ingroup lavu_buffer refcounted data buffer API 11998
buffer_internal.h The buffer was av_realloc()ed, so it is reallocatable. 3044
channel_layout.c @file audio channel layout utility functions 34271
channel_layout.h @file @ingroup lavu_audio_channels Public libavutil channel layout APIs header. 32375
color_utils.c these share a segmented TRC, but gamma 1.961 is a close approximation, and also more correct for decoding content 6356
color_utils.h Determine a suitable 'gamma' value to match the supplied AVColorTransferCharacteristic. See Apple Technical Note TN2257 ( @return Will return an approximation to the simple gamma function matching the supplied Transfer Characteristic, Will return 0.0 for any we cannot reasonably match against. 2002
colorspace.h @file Various defines for YUV<->RGB conversion 5409
common.h @file common internal and external API header 17147
cpu.c 12552
cpu.h force usage of selected flags (OR) 6163
cpu_internal.h AVUTIL_CPU_INTERNAL_H 2498
crc.c 25150
crc.h @file @ingroup lavu_crc32 Public header for CRC hash function implementation. 3259
dict.c 7608
dict.h @file Public dictionary API. @deprecated AVDictionary is provided for compatibility with libav. It is both in implementation as well as API inefficient. It does not scale and is extremely slow with large dictionaries. It is recommended that new code uses our tree container from tree.c/h where applicable, which uses AVL trees to achieve O(log n) performance. 8253
dict_internal.h Set a dictionary value to an ISO-8601 compliant timestamp string. @param dict pointer to a pointer to a dictionary struct. If *dict is NULL a dictionary struct is allocated and put in *dict. @param key metadata key @param timestamp unix timestamp in microseconds @return <0 on error 1316
dynarray.h Add an element to a dynamic array. The array is reallocated when its number of elements reaches powers of 2. Therefore, the amortized cost of adding an element is constant. In case of success, the pointer to the array is updated in order to point to the new grown array, and the size is incremented. @param av_size_max maximum size of the array, usually the MAX macro of the type of the size @param av_elt_size size of the elements in the array, in bytes @param av_array pointer to the array, must be a lvalue @param av_size size of the array, must be an integer lvalue @param av_success statement to execute on success; at this point, the size variable is not yet incremented @param av_failure statement to execute on failure; if this happens, the array and size are not changed; the statement can end with a return or a goto 2720
error.c XSI-compliant version of strerror_r 6818
error.h @file error code definitions 5489
eval.c @file simple arithmetic expression evaluator. see 26186
eval.h @file simple arithmetic expression evaluator 6599
ffmath.h @file internal math functions header 2073
fftime.h Get the current time in microseconds. 1818
ffversion.h Automatically generated by, do not manually edit! 199
fifo.c 12930
fifo.h @file @ingroup lavu_fifo A generic FIFO API 15440
film_grain_params.c 1465
film_grain_params.h The union is valid when interpreted as AVFilmGrainAOMParams (codec.aom) 8499
fixed_dsp.c p is initialized with 0x40000000 so that the proper rounding will occur at the end 5693
fixed_dsp.h Assume len is a multiple of 16, and arrays are 32-byte aligned 7855
float_dsp.c 4506
float_dsp.h Calculate the entry wise product of two vectors of floats and store the result in a vector of floats. @param dst output vector constraints: 32-byte aligned @param src0 first input vector constraints: 32-byte aligned @param src1 second input vector constraints: 32-byte aligned @param len number of elements in the input constraints: multiple of 16 8077
frame.c unknown 29263
frame.h @file @ingroup lavu_frame reference-counted frame API 32111
hwcontext.c uninit might still want access the hw context and the user free() callback might destroy it, so uninit has to be called first 27301
hwcontext.h This struct aggregates all the (hardware/vendor-specific) "high-level" state, i.e. state that is not tied to a concrete processing configuration. E.g., in an API that supports hardware-accelerated encoding and decoding, this struct will (if possible) wrap the state that is common to both encoding and decoding and from which specific instances of encoders or decoders can be derived. This struct is reference-counted with the AVBuffer mechanism. The av_hwdevice_ctx_alloc() constructor yields a reference, whose data field points to the actual AVHWDeviceContext. Further objects derived from AVHWDeviceContext (such as AVHWFramesContext, describing a frame pool with specific properties) will hold an internal reference to it. After all the references are released, the AVHWDeviceContext itself will be freed, optionally invoking a user-specified callback for uninitializing the hardware state. 24341
hwcontext_drm.h @file API-specific header for AV_HWDEVICE_TYPE_DRM. Internal frame allocation is not currently supported - all frames must be allocated by the user. Thus AVHWFramesContext is always NULL, though this may change if support for frame allocation is added in future. 4673
hwcontext_internal.h An array of pixel formats supported by the AVHWFramesContext instances Terminated by AV_PIX_FMT_NONE. 6389
hwcontext_vaapi.c 64646
hwcontext_vaapi.h @file API-specific header for AV_HWDEVICE_TYPE_VAAPI. Dynamic frame pools are supported, but note that any pool used as a render target is required to be of fixed size in order to be be usable as an argument to vaCreateContext(). For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs with the data pointer set to a VASurfaceID. 3787
imgutils.c @file misc image utilities 21993
imgutils.h @file misc image utilities @addtogroup lavu_picture @{ 14172
imgutils_internal.h AVUTIL_IMGUTILS_INTERNAL_H 1148
integer.c @file arbitrary precision integers @author Michael Niedermayer <> 3950
integer.h @file arbitrary precision integers @author Michael Niedermayer <> 2385
internal.h @file common internal API header 5622
intfloat.h Reinterpret a 32-bit integer as a float. 1726
intmath.c undef these to get the function prototypes from common.h 1021
intmath.h ff_log2 3877
intreadwrite.h Arch-specific headers can provide any combination of AV_[RW][BLN](16|24|32|48|64) and AV_(COPY|SWAP|ZERO)(64|128) macros. Preprocessor symbols must be defined, even if these are implemented as inline functions. R/W means read/write, B/L/N means big/little/native endianness. The following macros require aligned access, compared to their unaligned variants: AV_(COPY|SWAP|ZERO)(64|128), AV_[RW]N[8-64]A. Incorrect usage may range from abysmal performance to crash depending on the platform. The unaligned variants are AV_[RW][BLN][8-64] and AV_COPY*U. 18763
libm.h @file Replacements for frequently missing libm functions 14277
lls.c @file linear least squares model 3289
lls.h Linear least squares model. 2210
log.c @file logging functions 15007
log.h Describe the class of an AVClass context structure. That is an arbitrary struct of which the first field is a pointer to an AVClass struct (e.g. AVCodecContext, AVFormatContext etc.). 12766
log2_tab.c 1473
macros.h @file @ingroup lavu Utility Preprocessor macros 2304
mastering_display_metadata.c 2303
mastering_display_metadata.h Mastering display metadata capable of representing the color volume of the display used to master the content (SMPTE 2086:2014). To be used as payload of a AVFrameSideData or AVPacketSideData with the appropriate type. @note The struct should be allocated with av_mastering_display_metadata_alloc() and its size is not a part of the public ABI. 3944
mathematics.c @file miscellaneous math routines and tables 6128
mathematics.h @file @addtogroup lavu_math Mathematical utilities for working with timestamp and time base. 8045
mem.c @file default memory allocator for libavutil 13274
mem.h @file @ingroup lavu_mem Memory handling functions 23327
mem_internal.h @def DECLARE_ALIGNED(n,t,v) Declare a variable that is aligned in memory. @code{.c} DECLARE_ALIGNED(16, uint16_t, aligned_int) = 42; DECLARE_ALIGNED(32, uint8_t, aligned_array)[128]; // The default-alignment equivalent would be uint16_t aligned_int = 42; uint8_t aligned_array[128]; @endcode @param n Minimum alignment in bytes @param t Type of the variable (or array element) @param v Name of the variable 4848 1915
opt.c @file AVOptions @author Michael Niedermayer <> 73171
opt.h @file AVOptions 37201
parseutils.c @file misc parsing utilities 25441
parseutils.h @file misc parsing utilities 7888
pixdesc.c 102758
pixdesc.h Which of the 4 planes contains the component. 16031
pixelutils.c CONFIG_PIXELUTILS 2827
pixelutils.h Sum of abs(src1[x] - src2[x]) 2051
pixfmt.h @file pixel format definitions 39782
qsort.h Quicksort This sort is fast, and fully inplace but not stable and it is possible to construct input that requires O(n^2) time but this is very unlikely to happen with non constructed input. 4315
rational.c @file rational numbers @author Michael Niedermayer <> 5460
rational.h @file @ingroup lavu_math_rational Utilties for rational number calculation. @author Michael Niedermayer <> 6100
replaygain.h ReplayGain information (see The size of this struct is a part of the public ABI. 1607
reverse.c 2187
reverse.h AVUTIL_REVERSE_H 974
samplefmt.c this table gives more information about formats 9369
samplefmt.h @addtogroup lavu_audio @{ @defgroup lavu_sampfmts Audio sample formats Audio sample format enumeration and related convenience functions. @{ 10287
slicethread.c 7585
slicethread.h Create slice threading context. @param pctx slice threading context returned here @param priv private pointer to be passed to callback function @param worker_func callback function to be executed @param main_func special callback function, called from main thread, may be NULL @param nb_threads number of threads, 0 for automatic, must be >= 0 @return return number of threads or negative AVERROR on failure 1984
thread.h 6469
threadmessage.c HAVE_THREADS 6642
threadmessage.h Perform non-blocking operation. If this flag is set, send and recv operations are non-blocking and return AVERROR(EAGAIN) immediately if they can not proceed. 3910
time.c Jan 1, 1601 2367
time_internal.h AVUTIL_TIME_INTERNAL_H 1458
timecode.c @file Timecode helpers @see @see 8281
timecode.h @file Timecode helpers header 7843
timer.h @file high precision timer, useful to profile code 6416
timestamp.h @file timestamp utils, mostly useful for debugging/logging purposes 2617
utils.c @file various utility functions 3234
version.h @file @ingroup lavu Libavutil version macros 4548
video_enc_params.c 2323
video_enc_params.h VP9 stores: - per-frame base (luma AC) quantizer index, exported as AVVideoEncParams.qp - deltas for luma DC, chroma AC and chroma DC, exported in the corresponding entries in AVVideoEncParams.delta_qp - per-segment delta, exported as for each block as AVVideoBlockParams.delta_qp To compute the resulting quantizer index for a block: - for luma AC, add the base qp and the per-block delta_qp, saturating to unsigned 8-bit. - for luma DC and chroma AC/DC, add the corresponding AVVideoBlockParams.delta_qp to the luma AC index, again saturating to unsigned 8-bit. 5986