Name Description Size
allintra_vis.c 40493
allintra_vis.h 1705
aq_complexity.c 6822
aq_complexity.h 1203
aq_cyclicrefresh.c 29466
aq_cyclicrefresh.h ! \brief The stucture of CYCLIC_REFRESH. \ingroup cyclic_refresh 10803
aq_variance.c 8128
aq_variance.h 1273
arm
av1_fwd_txfm1d.c 63520
av1_fwd_txfm1d.h 2193
av1_fwd_txfm1d_cfg.h 893
av1_fwd_txfm2d.c 17559
av1_ml_partition_models.h 6453
av1_noise_estimate.c 11361
av1_noise_estimate.h 1359
av1_quantize.c 40099
av1_quantize.h 9673
av1_temporal_denoiser.c 28974
av1_temporal_denoiser.h 4735
bitstream.c 165054
bitstream.h !\cond 5204
block.h ! \file Declares various structs used to encode the current partition block. 53279
blockiness.c 4671
cnn.c 49056
cnn.h 7975
compound_type.c 73256
compound_type.h 2134
context_tree.c 10802
context_tree.h 4686
cost.c 1906
cost.h 1816
deltaq4_model.c Embedded file: model.tflite 621871
dwt.c 4203
dwt.h 1044
enc_enums.h 5757
encode_strategy.c 68327
encode_strategy.h !\file \brief Declares frame encoding functions. 5542
encodeframe.c !\cond 98403
encodeframe.h 1825
encodeframe_utils.c 74914
encodeframe_utils.h 21872
encodemb.c 35809
encodemb.h 7965
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). 12778
encodemv.h 4087
encoder.c 207484
encoder.h !\file \brief Declares top-level encoder structures and functions. 134270
encoder_alloc.h 18923
encoder_utils.c 66560
encoder_utils.h 51038
encodetxb.c 34998
encodetxb.h !\cond 11073
ethread.c 133042
ethread.h 4490
extend.c 6281
extend.h 904
external_partition.c 3664
external_partition.h !\cond 1991
firstpass.c 64455
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. 19837
global_motion.c 20836
global_motion.h 5014
global_motion_facade.c 19030
global_motion_facade.h 2180
gop_structure.c 39328
gop_structure.h !\cond 3228
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. 21340
hash.c CRC-32C (iSCSI) polynomial in reversed bit order. 4463
hash.h Table for a quadword-at-a-time software crc. 1578
hash_motion.c 17937
hash_motion.h 4284
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. 13489
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. 1436
interp_search.c 34775
interp_search.h !\cond 6846
intra_mode_search.c !\cond 73471
intra_mode_search.h !\file \brief Declares high level functions to search through intra modes. 16228
intra_mode_search_utils.h !\file \brief Defines utility functions used in intra mode search. This includes rdcost estimations, histogram based pruning, etc. 28839
k_means_template.h 5029
level.c 51047
level.h 7478
lookahead.c Return the buffer at the given absolute index and increment the index 7586
lookahead.h !\file \brief Describes look ahead buffer operations. 4888
mcomp.c 162028
mcomp.h 16442
mcomp_structs.h 4011
misc_model_weights.h 46025
ml.c 6422
ml.h 3137
mode_prune_model_weights.h 8866
model_rd.h 9866
motion_search_facade.c 44541
motion_search_facade.h 6305
mv_prec.c 16640
mv_prec.h 2089
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. 39422
nonrd_opt.h !\cond 27998
nonrd_pickmode.c 151106
optical_flow.c 44383
optical_flow.h 2067
palette.c 42993
palette.h !\file \brief Declares functions used in palette search. 9210
partition_cnn_weights.h 135776
partition_model_weights.h 335117
partition_search.c 265166
partition_search.h 4041
partition_strategy.c 103085
partition_strategy.h 13235
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. @{ 177643
pass2_strategy.h ! \brief accumulated stats and features in a gf group 5258
pickcdef.c Search for the best strength to add as an option, knowing we already selected nb_strengths options. 40538
pickcdef.h !\enum CDEF_CONTROL \brief This enum controls to which frames CDEF is applied. 8784
picklpf.c 14263
picklpf.h 7211
pickrst.c 88725
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 4870
pustats.h 9078
random.h 2852
ratectrl.c 153786
ratectrl.h !\cond 24724
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 18781
rd.c 64681
rd.h 13945
rdopt.c 268983
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. 14076
rdopt_data_defs.h clang-format off 13307
rdopt_utils.h 34023
reconinter_enc.c build_for_obmc= 31096
reconinter_enc.h 4613
saliency_map.c 46889
saliency_map.h 1030
segmentation.c 1632
segmentation.h 1286
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). 3463
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 12590
sparse_linear_solver.h AOM_AV1_ENCODER_SPARSE_LINEAR_SOLVER_H_ 2586
speed_features.c 112398
speed_features.h ! @file 79674
superres_scale.c 17232
superres_scale.h 888
svc_layercontext.c 30031
svc_layercontext.h ! \brief The stucture of quantities related to each spatial and temporal layer. \ingroup SVC 9291
temporal_filter.c !\cond 68461
temporal_filter.h !\cond 17720
thirdpass.c 31165
thirdpass.h --- Input and decoding related members --- 7197
tokenize.c 15127
tokenize.h 5982
tpl_model.c 101685
tpl_model.h !\cond 28176
tune_butteraugli.c 12589
tune_butteraugli.h 1740
tune_vmaf.c fine_search_interval= 47667
tune_vmaf.h 2188
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. 160554
tx_search.c 153707
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. 10956
txb_rdopt.c 25265
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. 7037
txb_rdopt_utils.h 9030
var_based_part.c 81812
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. 4275
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. 4101
x86