Name Description Size
allintra_vis.c 43295
allintra_vis.h 1866
aq_complexity.c 6823
aq_complexity.h 1204
aq_cyclicrefresh.c 29510
aq_cyclicrefresh.h ! \brief The stucture of CYCLIC_REFRESH. \ingroup cyclic_refresh 10737
aq_variance.c 10807
aq_variance.h 1529
arm
av1_fwd_txfm1d.c 63521
av1_fwd_txfm1d.h 2194
av1_fwd_txfm1d_cfg.h 894
av1_fwd_txfm2d.c 17737
av1_ml_partition_models.h 6454
av1_noise_estimate.c 11362
av1_noise_estimate.h 1360
av1_quantize.c 44424
av1_quantize.h 8753
av1_temporal_denoiser.c 28975
av1_temporal_denoiser.h 4736
bitstream.c 171032
bitstream.h !\cond 5622
block.h ! \file Declares various structs used to encode the current partition block. 53541
blockiness.c 4505
blockiness.h 838
cnn.c 49057
cnn.h 7976
compound_type.c 73249
compound_type.h 2135
context_tree.c 10803
context_tree.h 4679
cost.c 1907
cost.h 1817
deltaq4_model.c Embedded file: model.tflite 621871
dwt.c 4202
dwt.h 918
enc_enums.h 5758
encode_strategy.c 68406
encode_strategy.h !\file \brief Declares frame encoding functions. 5642
encodeframe.c !\cond 100377
encodeframe.h 1826
encodeframe_utils.c 71401
encodeframe_utils.h 21558
encodemb.c 35947
encodemb.h 7808
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
encodemv.h 4088
encoder.c 207574
encoder.h !\file \brief Declares top-level encoder structures and functions. 134828
encoder_alloc.h 19068
encoder_utils.c 66983
encoder_utils.h 46866
encodetxb.c 35842
encodetxb.h !\cond 11074
ethread.c 132880
ethread.h 4451
extend.c 6282
extend.h 905
external_partition.c 3770
external_partition.h !\cond 2022
firstpass.c 64145
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. 19198
global_motion.c 21042
global_motion.h 4443
global_motion_facade.c 19011
global_motion_facade.h 2173
gop_structure.c 39249
gop_structure.h !\cond 2206
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. 4520
hash.h Table for a quadword-at-a-time software crc. 1579
hash_motion.c 17304
hash_motion.h 4101
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
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 34775
interp_search.h !\cond 6607
intra_mode_search.c !\cond 74150
intra_mode_search.h !\file \brief Declares high level functions to search through intra modes. 15336
intra_mode_search_utils.h !\file \brief Defines utility functions used in intra mode search. This includes rdcost estimations, histogram based pruning, etc. 28672
k_means_template.h 5030
level.c 51157
level.h 6981
lookahead.c Return the buffer at the given absolute index and increment the index 7587
lookahead.h !\file \brief Describes look ahead buffer operations. 4889
mcomp.c 160222
mcomp.h 15152
mcomp_structs.h 4012
misc_model_weights.h 48312
ml.c 6423
ml.h 3138
mode_prune_model_weights.h 8867
model_rd.h 10004
motion_search_facade.c 44474
motion_search_facade.h 6104
mv_prec.c 16531
mv_prec.h 2163
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. 39399
nonrd_opt.h !\cond 27999
nonrd_pickmode.c 154580
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. 43317
palette.h !\file \brief Declares functions used in palette search. 8722
partition_cnn_weights.h 135777
partition_model_weights.h 335118
partition_search.c 265511
partition_search.h 4050
partition_strategy.c 103712
partition_strategy.h 11847
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. @{ 179771
pass2_strategy.h ! \brief accumulated stats and features in a gf group 3846
pickcdef.c Search for the best strength to add as an option, knowing we already selected nb_strengths options. 40811
pickcdef.h !\enum CDEF_CONTROL \brief This enum controls to which frames CDEF is applied. 8846
picklpf.c 14472
picklpf.h 7161
pickrst.c 89048
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
pustats.h 9079
random.h 2853
ratectrl.c 169097
ratectrl.h !\cond 23302
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
rd.c 63475
rd.h 14053
rdopt.c 269067
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
rdopt_data_defs.h clang-format off 13308
rdopt_utils.h 33867
reconinter_enc.c build_for_obmc= 29092
reconinter_enc.h 4614
saliency_map.c 46890
saliency_map.h 1031
segmentation.c 1633
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
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 113744
speed_features.h ! @file 80745
superres_scale.c 17233
superres_scale.h 889
svc_layercontext.c 30971
svc_layercontext.h ! \brief The stucture of quantities related to each spatial and temporal layer. \ingroup SVC 9410
temporal_filter.c !\cond 69072
temporal_filter.h !\cond 17553
thirdpass.c 31162
thirdpass.h --- Input and decoding related members --- 7198
tokenize.c 15225
tokenize.h 5967
tpl_model.c 101457
tpl_model.h !\cond 27435
tune_butteraugli.c 12657
tune_butteraugli.h 1741
tune_vmaf.c fine_search_interval= 47556
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 154649
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. 9599
txb_rdopt.c 27016
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
var_based_part.c 81989
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
x86