Name Description Size Coverage
aarch64 -
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 -
arm -
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 <michaelni@gmx.at> 2408 -
avconfig.h Generated by ffmpeg configure 180 -
avsscanf.c If lim is nonzero, rend must be a valid pointer. 25363 -
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. 9547 -
avutil.symbols 6321 -
avutilres.rc 2010 -
base64.c @file @brief Base64 encode/decode @author Ryan Martell <rdm4@martellventures.com> (with lots of Michael) 5558 -
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 2766 -
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. 10042 -
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 35054 -
channel_layout.h @file @ingroup lavu_audio_channels Public libavutil channel layout APIs header. 34089 -
colorspace.h @file Various defines for YUV<->RGB conversion 5409 -
common.h @file common internal and external API header 17563 -
container_fifo.c 5592 -
container_fifo.h AVContainerFifo is a FIFO for "containers" - dynamically allocated reusable structs (e.g. AVFrame or AVPacket). AVContainerFifo uses an internal pool of such containers to avoid allocating and freeing them repeatedly. 4855 -
cpu.c 13852 -
cpu.h force usage of selected flags (OR) 6769 -
cpu_internal.h AVUTIL_CPU_INTERNAL_H 2620 -
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 <rsbultje@gmail.com> @author Leo Izen <leo.izen@gmail.com> @author Kevin Wheatley <kevin.j.wheatley@gmail.com> 6669 -
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 6907 -
error.h @file error code definitions 5555 -
eval.c @file simple arithmetic expression evaluator. see http://joe.hotchkiss.com/programming/eval/eval.html 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 version.sh, 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 4780 -
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 8902 -
frame.c 37241 -
frame.h @file @ingroup lavu_frame reference-counted frame API 42572 -
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_d3d11va.c The public AVD3D11VAFramesContext. See hwcontext_d3d11va.h for it. 25174 -
hwcontext_d3d11va.h @file An API-specific header for AV_HWDEVICE_TYPE_D3D11VA. The default pool implementation will be fixed-size if initial_pool_size is set (and allocate elements from an array texture). Otherwise it will allocate individual textures. Be aware that decoding requires a single array texture. Using sw_format==AV_PIX_FMT_YUV420P has special semantics, and maps to DXGI_FORMAT_420_OPAQUE. av_hwframe_transfer_data() is not supported for this format. Refer to MSDN for details. av_hwdevice_ctx_create() for this device type supports a key named "debug" for the AVDictionary entry. If this is set to any value, the device creation code will try to load various supported D3D debugging layers. 6669 -
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_mediacodec.c 3553 -
hwcontext_mediacodec.h MediaCodec details. Allocated as AVHWDeviceContext.hwctx 1988 -
hwcontext_vaapi.c The public AVVAAPIDeviceContext. See hwcontext_vaapi.h for it. 71054 -
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 23329 -
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 <michaelni@gmx.at> 3950 -
integer.h @file arbitrary precision integers @author Michael Niedermayer <michaelni@gmx.at> 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 3897 -
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. 19426 -
libm.h @file Replacements for frequently missing libm functions 14273 -
lls.c @file linear least squares model 3300 -
lls.h Linear least squares model. 2247 -
log.c @file logging functions 15177 -
log.h Object initialization has finished and it is now in the 'runtime' stage. This affects e.g. what options can be set on the object (only AV_OPT_FLAG_RUNTIME_PARAM options can be set on initialized objects). 13891 -
log2_tab.c 1473 -
macros.h @file @ingroup lavu Utility Preprocessor macros 2304 -
mastering_display_metadata.c 3073 -
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. 4284 -
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 4301 -
moz.build 2591 -
opt.c @file AVOptions @author Michael Niedermayer <michaelni@gmx.at> 88061 -
opt.h @file AVOptions 47239 -
parseutils.c @file misc parsing utilities 25565 -
parseutils.h @file misc parsing utilities 7888 -
pixdesc.c 112906 -
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 43952 -
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 -
random_seed.c 4265 -
random_seed.h @addtogroup lavu_crypto @{ 1889 -
rational.c @file rational numbers @author Michael Niedermayer <michaelni@gmx.at> 5332 -
rational.h @file @ingroup lavu_math_rational Utilties for rational number calculation. @author Michael Niedermayer <michaelni@gmx.at> 6286 -
refstruct.c An uintptr_t is big enough to hold the address of every reference, so no overflow can happen when incrementing the refcount as long as the user does not throw away references. 11345 -
refstruct.h RefStruct is an API for creating reference-counted objects with minimal overhead. The API is designed for objects, not buffers like the AVBuffer API. The main differences to the AVBuffer API are as follows: - It uses void* instead of uint8_t* as its base type due to its focus on objects. - There are no equivalents of AVBuffer and AVBufferRef. E.g. there is no way to get the usable size of the object: The user is supposed to know what is at the other end of the pointer. It also avoids one level of indirection. - Custom allocators are not supported. This allows to simplify the implementation and reduce the amount of allocations. - It also has the advantage that the user's free callback need only free the resources owned by the object, but not the object itself. - Because referencing (and replacing) an object managed by the RefStruct API does not involve allocations, they can not fail and therefore need not be checked. @note Referencing and unreferencing the buffers is thread-safe and thus may be done from multiple threads simultaneously without any need for additional locking. 12171 -
replaygain.h ReplayGain information (see http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification). 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 8225 -
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 -
stereo3d.c 4188 -
stereo3d.h @file @ingroup lavu_video_stereo3d Stereoscopic video 7446 -
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 https://en.wikipedia.org/wiki/SMPTE_time_code @see http://www.dropframetimecode.org 8328 -
timecode.h @file Timecode helpers header 7843 -
timer.h @file high precision timer, useful to profile code 6820 -
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 3265 -
version.h @file @ingroup lavu Libavutil version macros 4690 -
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 -
wchar_filename.h Checks for extended path prefixes for which normalization needs to be skipped. see .NET6: PathInternal.IsExtended() https://github.com/dotnet/runtime/blob/9260c249140ef90b4299d0fe1aa3037e25228518/src/libraries/Common/src/System/IO/PathInternal.Windows.cs#L165 8939 -
x86 -