Name Description Size Coverage
allintra_vis.c 43471 1 %
allintra_vis.h 1866 -
aq_complexity.c 6823 0 %
aq_complexity.h 1204 -
aq_cyclicrefresh.c 29800 81 %
aq_cyclicrefresh.h ! \brief The stucture of CYCLIC_REFRESH. \ingroup cyclic_refresh 10737 100 %
aq_variance.c 11525 0 %
aq_variance.h 1529 -
arm -
av1_ext_ratectrl.c 7593 7 %
av1_ext_ratectrl.h 2501 -
av1_fwd_txfm1d.c 63521 0 %
av1_fwd_txfm1d.h 2194 -
av1_fwd_txfm1d_cfg.h 894 -
av1_fwd_txfm2d.c 17737 0 %
av1_fwd_txfm2d_hwy.h txw_idx 120844 -
av1_ml_partition_models.h 6454 -
av1_noise_estimate.c 11362 27 %
av1_noise_estimate.h 1360 -
av1_quantize.c 46798 38 %
av1_quantize.h 8794 -
av1_temporal_denoiser.c 28975 -
av1_temporal_denoiser.h 4736 -
bitstream.c 171177 66 %
bitstream.h !\cond 5681 -
block.h ! \file Declares various structs used to encode the current partition block. 53945 46 %
blockiness.c 4505 -
blockiness.h 838 -
cnn.c 49059 23 %
cnn.h 7968 -
compound_type.c 72855 43 %
compound_type.h 2135 -
context_tree.c 10491 94 %
context_tree.h 4658 100 %
cost.c 1936 100 %
cost.h 1817 100 %
deltaq4_model.c Embedded file: model.tflite 621871 -
dwt.c 4202 0 %
dwt.h 918 -
enc_enums.h 5758 -
encode_strategy.c 70068 77 %
encode_strategy.h !\file \brief Declares frame encoding functions. 5642 100 %
encodeframe.c !\cond 110383 70 %
encodeframe.h 1826 -
encodeframe_utils.c 72125 69 %
encodeframe_utils.h 21558 82 %
encodemb.c 33153 76 %
encodemb.h 7808 91 %
encodemv.c TODO(siekyleb@amazon.com): This function writes MV_VALS ints or 128 KiB. This is more than most L1D caches and is a significant chunk of L2. Write SIMD that uses streaming writes to avoid loading all of that into L1, or just don't update the larger component costs every time this called (or both). 12779 94 %
encodemv.h 4088 84 %
encoder.c 230769 56 %
encoder.h !\file \brief Declares top-level encoder structures and functions. 136987 91 %
encoder_alloc.h 19035 85 %
encoder_utils.c 73040 37 %
encoder_utils.h 47013 25 %
encodetxb.c 35842 91 %
encodetxb.h !\cond 11074 100 %
ethread.c 133486 74 %
ethread.h 4451 -
extend.c 6335 58 %
extend.h 905 -
external_partition.c 3822 21 %
external_partition.h !\cond 2022 -
firstpass.c 66193 84 %
firstpass.h ! \brief The stucture of acummulated frame stats in the first pass. Errors (coded_error, intra_error, etc.) and counters (new_mv_count) are normalized to each MB. MV related stats (MVc, MVr, etc.) are normalized to the frame width and height. See function normalize_firstpass_stats. 19612 100 %
global_motion.c 21139 49 %
global_motion.h 4538 -
global_motion_facade.c 19228 91 %
global_motion_facade.h 2173 100 %
gop_structure.c 43259 36 %
gop_structure.h !\cond 2349 -
grain_test_vectors.h Test vectors for emulation of different film grain types. Note that bit depth would be derived from the bitstream and not signaled in film grain metadata. The parameters are valid for any bit depth. 21401 -
hash.c CRC-32C (iSCSI) polynomial in reversed bit order. 2541 51 %
hash.h Table for a quadword-at-a-time software crc. 1270 -
hash_motion.c 18662 57 %
hash_motion.h 3751 -
hybrid_fwd_txfm.c 4-point reversible, orthonormal Walsh-Hadamard in 3.5 adds, 0.5 shifts per pixel. Shared for both high and low bit depth. 13490 18 %
hybrid_fwd_txfm.h !\brief Apply Hadamard or DCT transform \callergraph DCT and Hadamard transforms are commonly used for quick RD score estimation. The coeff buffer's size should be equal to the number of pixels corresponding to tx_size. 1437 -
interp_search.c 35032 57 %
interp_search.h !\cond 6595 -
intra_mode_search.c !\cond 73109 79 %
intra_mode_search.h !\file \brief Declares high level functions to search through intra modes. 16102 100 %
intra_mode_search_utils.h !\file \brief Defines utility functions used in intra mode search. This includes rdcost estimations, histogram based pruning, etc. 28672 81 %
k_means_template.h 5030 59 %
level.c 51124 2 %
level.h 6981 60 %
lookahead.c Return the buffer at the given absolute index and increment the index 7474 81 %
lookahead.h !\file \brief Describes look ahead buffer operations. 4792 -
mcomp.c 162074 68 %
mcomp.h 15152 90 %
mcomp_structs.h 4012 -
misc_model_weights.h 48312 -
ml.c 6423 31 %
ml.h 3138 -
mode_prune_model_weights.h 8867 -
model_rd.h 10004 95 %
motion_search_facade.c 45409 73 %
motion_search_facade.h 6341 52 %
mv_prec.c 16531 3 %
mv_prec.h 2163 63 %
nonrd_opt.c When is_tx_8x8_dual_applicable is true, we compute the txfm for the \ entire bsize and write macroblock_plane::coeff. So low_coeff is kept \ as a non-const so we can reassign it to macroblock_plane::coeff. 39382 89 %
nonrd_opt.h !\cond 30322 95 %
nonrd_pickmode.c 159470 81 %
optical_flow.c 44384 -
optical_flow.h 2068 -
palette.c !\brief Removes duplicated centroid indices. \ingroup palette_mode_search \param[in] centroids A list of centroids index. \param[in] num_centroids Number of centroids. \return Returns the number of unique centroids and saves the unique centroids in beginning of the centroids array. \attention The centroids should be rounded to integers before calling this method. 42921 84 %
palette.h !\file \brief Declares functions used in palette search. 8698 100 %
partition_cnn_weights.h 135783 -
partition_model_weights.h 470650 -
partition_search.c 268883 66 %
partition_search.h 4050 100 %
partition_strategy.c 107233 45 %
partition_strategy.h 11847 72 %
pass2_strategy.c !\defgroup gf_group_algo Golden Frame Group \ingroup high_level_algo Algorithms regarding determining the length of GF groups and defining GF group structures. @{ 188394 73 %
pass2_strategy.h ! \brief accumulated stats and features in a gf group 4096 -
pickcdef.c Search for the best strength to add as an option, knowing we already selected nb_strengths options. 44963 73 %
pickcdef.h !\enum CDEF_CONTROL \brief This enum controls to which frames CDEF is applied. 8952 96 %
picklpf.c 18322 64 %
picklpf.h 7161 -
pickrst.c 89618 61 %
pickrst.h !\brief Algorithm for AV1 loop restoration search and estimation. \ingroup in_loop_restoration This function determines proper restoration filter types and associated parameters for each restoration unit in a frame. \param[in] sd Source frame buffer \param[in,out] cpi Top-level encoder structure \remark Nothing is returned. Instead, chosen restoration filter types and parameters are stored per plane in the \c rst_info structure of type \ref RestorationInfo inside \c cpi->common: \arg \c rst_info[ \c 0 ]: Chosen parameters for Y plane \arg \c rst_info[ \c 1 ]: Chosen parameters for U plane if it exists \arg \c rst_info[ \c 2 ]: Chosen parameters for V plane if it exists \par The following fields in each \c rst_info[ \c p], \c p = 0, 1, 2 are populated: \arg \c rst_info[ \c p ].\c frame_restoration_type \arg \c rst_info[ \c p ].\c unit_info[ \c u ], for each \c u in 0, 1, ..., \c n( \c p ) - 1, where \c n( \c p ) is the number of restoration units in plane \c p. \par The following fields in each \c rst_info[ \c p ].\c unit_info[ \c u ], \c p = 0, 1, 2 and \c u = 0, 1, ..., \c n( \c p ) - 1, of type \ref RestorationUnitInfo are populated: \arg \c rst_info[ \c p ].\c unit_info[ \c u ].\c restoration_type \arg \c rst_info[ \c p ].\c unit_info[ \c u ].\c wiener_info OR \c rst_info[ \c p ].\c unit_info[ \c u ].\c sgrproj_info OR neither, depending on \c rst_info[ \c p ].\c unit_info[ \c u ].\c restoration_type 4871 0 %
pustats.h 9079 -
random.h 2853 100 %
ratectrl.c 175939 65 %
ratectrl.h !\cond 24719 -
rc_utils.h !\brief Function to test for conditions that indicate we should loop back and recode a frame. \ingroup rate_control \param[in] cpi Top-level encoder structure \param[in] high_limit Upper rate threshold \param[in] low_limit Lower rate threshold \param[in] q Current q index \param[in] maxq Maximum allowed q index \param[in] minq Minimum allowed q index \return Indicates if a recode is required. \retval 1 Recode Required \retval 0 No Recode required 18629 39 %
rd.c 63170 95 %
rd.h 14053 97 %
rdopt.c 277980 75 %
rdopt.h !\brief AV1 intra mode selection for intra frames. \ingroup intra_mode_search \callgraph Top level function for rd-based intra mode selection during intra frame encoding. This function will first search for the best luma prediction by calling av1_rd_pick_intra_sby_mode, then it searches for chroma prediction with av1_rd_pick_intra_sbuv_mode. If applicable, this function ends the search with an evaluation for intrabc. \param[in] cpi Top-level encoder structure. \param[in] x Pointer to structure holding all the data for the current macroblock. \param[in] rd_cost Struct to keep track of the RD information. \param[in] bsize Current block size. \param[in] ctx Structure to hold snapshot of coding context during the mode picking process. \param[in] best_rd Best RD seen for this block so far. \remark Nothing is returned. Instead, the MB_MODE_INFO struct inside x is modified to store information about the best mode computed in this function. The rd_cost struct is also updated with the RD stats corresponding to the best mode found. 14077 80 %
rdopt_data_defs.h clang-format off 13308 -
rdopt_utils.h 34102 80 %
reconinter_enc.c build_for_obmc= 29092 52 %
reconinter_enc.h 4614 -
saliency_map.c 46890 -
saliency_map.h 1031 -
segmentation.c 1633 88 %
segmentation.h 1287 -
sorting_network.h ! \file This file contains several utility functions used to sort small arrays with sorting networks. Sorting network is a (potentially branch-less) way to quickly sort small arrays with known size. For more details, consult (https://en.wikipedia.org/wiki/Sorting_network). 3456 100 %
sparse_linear_solver.c Input: rows: array of row positions cols: array of column positions values: array of element values num_elem: total number of elements in the matrix num_rows: number of rows in the matrix num_cols: number of columns in the matrix Output: sm: pointer to the sparse matrix to be initialized Return: 0 - success -1 - failed 12591 -
sparse_linear_solver.h AOM_AV1_ENCODER_SPARSE_LINEAR_SOLVER_H_ 2587 -
speed_features.c 124833 69 %
speed_features.h ! @file 85229 -
superres_scale.c 17233 27 %
superres_scale.h 889 -
svc_layercontext.c 31208 68 %
svc_layercontext.h ! \brief The stucture of quantities related to each spatial and temporal layer. \ingroup SVC 9445 -
temporal_filter.c !\cond 77200 85 %
temporal_filter.h !\cond 17553 93 %
thirdpass.c 31162 -
thirdpass.h --- Input and decoding related members --- 7198 -
tokenize.c 15225 98 %
tokenize.h 5967 100 %
tpl_model.c 109965 71 %
tpl_model.h !\cond 28068 83 %
tune_butteraugli.c 12687 -
tune_butteraugli.h 1741 -
tune_vmaf.c fine_search_interval= 47498 -
tune_vmaf.h 2189 -
tx_prune_model_weights.h ! \file Contains the details of the ML models used for pruning transform size. This file is only included by av1/encoder/tx_search.c. 160555 -
tx_search.c 152735 72 %
tx_search.h !\brief Compute the pixel domain distortion. \ingroup transform_search Compute the pixel domain distortion from diff on all visible 4x4s in the transform block. \param[in] x Pointer to structure holding the data for the current encoding macroblock \param[in] plane Plane index \param[in] blk_row Block row index \param[in] blk_col Block col index \param[in] plane_bsize Current plane block size \param[in] tx_bsize Transform size \param[in] block_mse_q8 Block mse \return An int64_t value that is the block sse. 9426 100 %
txb_rdopt.c 28729 88 %
txb_rdopt.h !\brief Adjust the magnitude of quantized coefficients to achieve better rate-distortion (RD) trade-off. \ingroup coefficient_coding This function goes through each coefficient and greedily choose to lower the coefficient magnitude by 1 or not based on the RD score. The coefficients are processing in reversed scan order. Note that, the end of block position (eob) may change if the original last coefficient is lowered to zero. \param[in] cpi Top-level encoder structure \param[in] x Pointer to structure holding the data for the current encoding macroblock \param[in] plane The index of the current plane \param[in] block The index of the current transform block in the \param[in] tx_size The transform size \param[in] tx_type The transform type \param[in] txb_ctx Context info for entropy coding transform block skip flag (tx_skip) and the sign of DC coefficient (dc_sign). \param[out] rate_cost The entropy cost of coding the transform block after adjustment of coefficients. \param[in] sharpness When sharpness > 0, the function will be less aggressive towards lowering the magnitude of coefficients. In this way, the transform block will contain more high-frequency coefficients and therefore will preserve the sharpness of the reconstructed block. 5596 -
txb_rdopt_utils.h 9031 82 %
var_based_part.c 83658 78 %
var_based_part.h !\brief Set the thresholds for variance based partition. Set the variance split thresholds for following the block sizes: 0 - threshold_128x128, 1 - threshold_64x64, 2 - threshold_32x32, 3 - vbp_threshold_16x16. 4 - vbp_threshold_8x8 (to split to 4x4 partition) is currently only used on key frame. The thresholds are based om Q, resolution, noise level, and content state. \ingroup variance_partition \callgraph \callergraph \param[in] cpi Top level encoder structure \param[in] q q index \param[in] content_lowsumdiff Low sumdiff flag for superblock \remark Returns the set of thresholds in \c cpi->vbp_info.thresholds. 4276 -
wedge_utils.c Computes SSE of a compound predictor constructed from 2 fundamental predictors p0 and p1 using blending with mask. r1: Residuals of p1. (source - p1) d: Difference of p1 and p0. (p1 - p0) m: The blending mask N: Number of pixels 'r1', 'd', and 'm' are contiguous. Computes: Sum((MAX_MASK_VALUE*r1 + mask*d)**2), which is equivalent to: Sum((mask*r0 + (MAX_MASK_VALUE-mask)*r1)**2), where r0 is (source - p0), and r1 is (source - p1), which is in turn is equivalent to: Sum((source*MAX_MASK_VALUE - (mask*p0 + (MAX_MASK_VALUE-mask)*p1))**2), which is the SSE of the residuals of the compound predictor scaled up by MAX_MASK_VALUE**2. Note that we clamp the partial term in the loop to 16 bits signed. This is to facilitate equivalent SIMD implementation. It should have no effect if residuals are within 16 - WEDGE_WEIGHT_BITS (=10) signed, which always holds for 8 bit input, and on real input, it should hold practically always, as residuals are expected to be small. 4102 0 %
x86 30 %