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 <> 2408
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 10819
avstring.h @addtogroup lavu_string @{ 14940
avutil.h @file @ingroup lavu Convenience header that includes @ref lavu "libavutil"'s core. 9495
avutil.symbols 5969
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 10265
bprint.h @file @ingroup lavu_avbprint AVBPrint public header 8818
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 34343
channel_layout.h @file @ingroup lavu_audio_channels Public libavutil channel layout APIs header. 32445
colorspace.h @file Various defines for YUV<->RGB conversion 5409
common.h @file common internal and external API header 17139
cpu.c 12816
cpu.h force usage of selected flags (OR) 6320
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
csp.h @file Colorspace value utility functions for libavutil. @ingroup lavu_math_csp @author Ronald S. Bultje <> @author Leo Izen <> @author Kevin Wheatley <> 4927
dict.c 7873
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. 9374
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
emms.h Empty mmx state. this must be called between any dsp function and float/double code. for example sin(); dsp->idct_put(); emms_c(); cos() Note, *alloc() and *free() also use float code in some libc implementations thus this also applies to them or any function using them. 1959
error.c XSI-compliant version of strerror_r 6818
error.h @file error code definitions 5489
eval.c @file simple arithmetic expression evaluator. see 27444
eval.h @file simple arithmetic expression evaluator 6600
ffmath.h @file internal math functions header 2073
fftime.h Get the current time in microseconds. 1800
ffversion.h Automatically generated by, do not manually edit! 199
fifo.c 7669
fifo.h @file @ingroup lavu_fifo A generic FIFO API 8487
film_grain_params.c There are no YUV formats with different bit depth per component, so just check both against the first component for simplicity 3975
film_grain_params.h The union is valid when interpreted as AVFilmGrainAOMParams (codec.aom) 10259
fixed_dsp.c p is initialized with 0x40000000 so that the proper rounding will occur at the end 5704
fixed_dsp.h Assume len is a multiple of 16, and arrays are 32-byte aligned 7829
float_dsp.c 4500
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 8050
frame.c unknown 32920
frame.h @file @ingroup lavu_frame reference-counted frame API 39098
hdr_dynamic_metadata.c 15755
hdr_dynamic_metadata.h Option for overlapping elliptical pixel selectors in an image. 14385
hwcontext.c The public AVHWDeviceContext. See hwcontext.h for it. 26406
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. 24079
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. 6154
hwcontext_vaapi.c The public AVVAAPIDeviceContext. See hwcontext_vaapi.h for it. 69180
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 23310
imgutils.h @file misc image utilities @addtogroup lavu_picture @{ 16326
imgutils_internal.h AVUTIL_IMGUTILS_INTERNAL_H 1249
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 5125
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. 18627
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 15177
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 10002
mathematics.h @file @addtogroup lavu_math Mathematical utilities for working with timestamp and time base. 9563
mem.c @file default memory allocator for libavutil 13099
mem.h @file @ingroup lavu_mem Memory handling functions 20457
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 5528 2138
opt.c @file AVOptions @author Michael Niedermayer <> 76772
opt.h @file AVOptions 39585
parseutils.c @file misc parsing utilities 25441
parseutils.h @file misc parsing utilities 7888
pixdesc.c 106518
pixdesc.h Which of the 4 planes contains the component. 16165
pixelutils.c CONFIG_PIXELUTILS 2827
pixelutils.h Sum of abs(src1[x] - src2[x]) 2051
pixfmt.h @file pixel format definitions 41991
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 <> 6286
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 9383
samplefmt.h @addtogroup lavu_audio @{ @defgroup lavu_sampfmts Audio sample formats Audio sample format enumeration and related convenience functions. @{ 10301
sfc64.h @file simple Pseudo Random Number Generator This is a implementation of SFC64, a 64-bit PRNG by Chris Doty-Humphrey. This Generator is much faster (0m1.872s) than 64bit KISS (0m3.823s) and PCG-XSH-RR-64/32 (0m2.700s) And passes testu01 and practrand test suits. 2546
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 7758
threadmessage.c HAVE_THREADS 6682
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 8283
timecode.h @file Timecode helpers header 7843
timer.h @file high precision timer, useful to profile code 6469
timestamp.h @file timestamp utils, mostly useful for debugging/logging purposes 2726
tx.c Calculates the modular multiplicative inverse 29491
tx.h Standard complex to complex FFT with sample data type of AVComplexFloat, AVComplexDouble or AVComplexInt32, for each respective variant. Output is not 1/len normalized. Scaling currently unsupported. The stride parameter must be set to the size of a single sample in bytes. 7140
tx_double.c 828
tx_float.c 827
tx_int32.c 827
tx_priv.h Properly rounds the result 17874
tx_template.c Power of two tables 91045
utils.c @file various utility functions 3234
version.h @file @ingroup lavu Libavutil version macros 4335
video_enc_params.c 2336
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. 5991