/work/svt-av1/Source/Lib/Codec/inter_prediction.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright(c) 2019 Intel Corporation |
3 | | * |
4 | | * This source code is subject to the terms of the BSD 2 Clause License and |
5 | | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
6 | | * was not distributed with this source code in the LICENSE file, you can |
7 | | * obtain it at https://www.aomedia.org/license/software-license. If the Alliance for Open |
8 | | * Media Patent License 1.0 was not distributed with this source code in the |
9 | | * PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license. |
10 | | */ |
11 | | |
12 | | #ifndef EbInterPrediction_h |
13 | | #define EbInterPrediction_h |
14 | | |
15 | | #include "block_structures.h" |
16 | | #include "av1_structs.h" |
17 | | #include "object.h" |
18 | | #include "filter.h" |
19 | | #include "convolve.h" |
20 | | #include "cabac_context_model.h" |
21 | | #include "common_utils.h" |
22 | | |
23 | | #ifdef __cplusplus |
24 | | extern "C" { |
25 | | #endif |
26 | | |
27 | 1.94k | #define REF_SCALE_SHIFT 14 |
28 | 1.45k | #define REF_NO_SCALE (1 << REF_SCALE_SHIFT) |
29 | 1.45k | #define REF_INVALID_SCALE -1 |
30 | | |
31 | 0 | #define MV_BORDER (16 << 3) // Allow 16 pels in 1/8th pel units |
32 | | |
33 | | #define NELEMENTS(x) (int)(sizeof(x) / sizeof(x[0])) |
34 | | |
35 | 0 | #define INTRABC_DELAY_PIXELS 256 // Delay of 256 pixels |
36 | 0 | #define INTRABC_DELAY_SB64 (INTRABC_DELAY_PIXELS / 64) |
37 | | |
38 | | // HW does not support < 4x4 prediction. To limit the bandwidth requirement, if |
39 | | // block-size of current plane is smaller than 8x8, always only blend with the |
40 | | // left neighbor(s) (skip blending with the above side). |
41 | | #define DISABLE_CHROMA_U8X8_OBMC 0 // 0: one-sided obmc; 1: disable |
42 | | |
43 | | extern DECLARE_ALIGNED(256, const InterpKernel, sub_pel_filters_8[SUBPEL_SHIFTS]); |
44 | | extern DECLARE_ALIGNED(256, const InterpKernel, sub_pel_filters_4[SUBPEL_SHIFTS]); |
45 | | extern DECLARE_ALIGNED(256, const InterpKernel, sub_pel_filters_8sharp[SUBPEL_SHIFTS]); |
46 | | extern DECLARE_ALIGNED(256, const InterpKernel, sub_pel_filters_8smooth[SUBPEL_SHIFTS]); |
47 | | extern DECLARE_ALIGNED(256, const InterpKernel, bilinear_filters[SUBPEL_SHIFTS]); |
48 | | extern DECLARE_ALIGNED(256, const InterpKernel, sub_pel_filters_4smooth[SUBPEL_SHIFTS]); |
49 | | |
50 | | typedef struct SubpelParams { |
51 | | int32_t xs; |
52 | | int32_t ys; |
53 | | int32_t subpel_x; |
54 | | int32_t subpel_y; |
55 | | } SubpelParams; |
56 | | |
57 | | typedef struct PadBlock { |
58 | | int x0; |
59 | | int x1; |
60 | | int y0; |
61 | | int y1; |
62 | | } PadBlock; |
63 | | |
64 | 0 | #define INTERINTRA_WEDGE_SIGN 0 |
65 | | #define MAX_INTERINTRA_SB_SQUARE 32 * 32 |
66 | | |
67 | | typedef uint8_t* WedgeMasksType[MAX_WEDGE_TYPES]; |
68 | | |
69 | | // Angles are with respect to horizontal anti-clockwise |
70 | | typedef enum WedgeDirectionType { |
71 | | WEDGE_HORIZONTAL = 0, |
72 | | WEDGE_VERTICAL = 1, |
73 | | WEDGE_OBLIQUE27 = 2, |
74 | | WEDGE_OBLIQUE63 = 3, |
75 | | WEDGE_OBLIQUE117 = 4, |
76 | | WEDGE_OBLIQUE153 = 5, |
77 | | WEDGE_DIRECTIONS |
78 | | } WedgeDirectionType; |
79 | | |
80 | | static const InterpFilterParams av1_interp_filter_params_list[SWITCHABLE_FILTERS + 1] = { |
81 | | {(const int16_t*)sub_pel_filters_8, SUBPEL_TAPS, SUBPEL_SHIFTS, EIGHTTAP_REGULAR}, |
82 | | {(const int16_t*)sub_pel_filters_8smooth, SUBPEL_TAPS, SUBPEL_SHIFTS, EIGHTTAP_SMOOTH}, |
83 | | {(const int16_t*)sub_pel_filters_8sharp, SUBPEL_TAPS, SUBPEL_SHIFTS, MULTITAP_SHARP}, |
84 | | {(const int16_t*)bilinear_filters, SUBPEL_TAPS, SUBPEL_SHIFTS, BILINEAR}}; |
85 | | |
86 | | // 3-tuple: {direction, x_offset, y_offset} |
87 | | typedef struct WedgeCodeType { |
88 | | WedgeDirectionType direction; |
89 | | int32_t x_offset; |
90 | | int32_t y_offset; |
91 | | } WedgeCodeType; |
92 | | |
93 | | typedef struct WedgeParamsType { |
94 | | int32_t bits; |
95 | | const WedgeCodeType* codebook; |
96 | | uint8_t* signflip; |
97 | | WedgeMasksType* masks; |
98 | | } WedgeParamsType; |
99 | | |
100 | | void svt_inter_predictor_pd0(const uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t w, |
101 | | int32_t h, SubpelParams* subpel_params, ConvolveParams* conv_params); |
102 | | void svt_inter_predictor_light_pd1(uint8_t* src, uint8_t* src_2b, int32_t src_stride, uint8_t* dst, int32_t dst_stride, |
103 | | int32_t w, int32_t h, InterpFilters interp_filters, SubpelParams* subpel_params, |
104 | | ConvolveParams* conv_params, int32_t bd); |
105 | | void svt_inter_predictor(const uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, |
106 | | const SubpelParams* subpel_params, const ScaleFactors* sf, int32_t w, int32_t h, |
107 | | ConvolveParams* conv_params, InterpFilters interp_filters, int32_t is_intrabc); |
108 | | |
109 | | void svt_highbd_inter_predictor(const uint16_t* src, int32_t src_stride, uint16_t* dst, int32_t dst_stride, |
110 | | const SubpelParams* subpel_params, const ScaleFactors* sf, int32_t w, int32_t h, |
111 | | ConvolveParams* conv_params, InterpFilters interp_filters, int32_t is_intrabc, |
112 | | int32_t bd); |
113 | | |
114 | | void svt_av1_dist_wtd_comp_weight_assign(SeqHeader* seq_header, int cur_frame_index, int bck_frame_index, |
115 | | int fwd_frame_index, int compound_idx, int order_idx, int* fwd_offset, |
116 | | int* bck_offset, int* use_dist_wtd_comp_avg, int is_compound); |
117 | | |
118 | | void svt_aom_build_masked_compound_no_round(uint8_t* dst, int dst_stride, const CONV_BUF_TYPE* src0, int src0_stride, |
119 | | const CONV_BUF_TYPE* src1, int src1_stride, |
120 | | const InterInterCompoundData* const comp_data, uint8_t* seg_mask, |
121 | | BlockSize bsize, int h, int w, ConvolveParams* conv_params, uint8_t bd, |
122 | | bool is_16bit); |
123 | | |
124 | | static const InterpFilterParams av1_interp_4tap[2] = { |
125 | | {(const int16_t*)sub_pel_filters_4, SUBPEL_TAPS, SUBPEL_SHIFTS, EIGHTTAP_REGULAR}, |
126 | | {(const int16_t*)sub_pel_filters_4smooth, SUBPEL_TAPS, SUBPEL_SHIFTS, EIGHTTAP_SMOOTH}}; |
127 | | |
128 | | static INLINE InterpFilterParams av1_get_interp_filter_params_with_block_size(const InterpFilter interp_filter, |
129 | 0 | const int32_t w) { |
130 | 0 | if (w <= 4 && (interp_filter == MULTITAP_SHARP || interp_filter == EIGHTTAP_REGULAR)) { |
131 | 0 | return av1_interp_4tap[0]; |
132 | 0 | } else if (w <= 4 && interp_filter == EIGHTTAP_SMOOTH) { |
133 | 0 | return av1_interp_4tap[1]; |
134 | 0 | } |
135 | | |
136 | 0 | return av1_interp_filter_params_list[interp_filter]; |
137 | 0 | } Unexecuted instantiation: enc_handle.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_settings.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: av1me.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: cdef_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: dlf_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_cdef.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_dec_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_inter_prediction.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_intra_prediction.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: enc_mode_config.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: entropy_coding.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: ec_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: full_loop.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: initial_rc_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: inter_prediction.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: intra_prediction.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: md_rate_estimation.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: mode_decision.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: md_config_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: md_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: motion_estimation.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: me_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: packetization_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: pic_analysis_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: pcs.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: pd_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: pic_manager_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: product_coding_loop.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rc_aq.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rc_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rc_rtc_cbr.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rc_vbr_cbr.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rd_cost.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: reference_object.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: resource_coordination_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rest_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: restoration_pick.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: src_ops_process.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: super_res.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: temporal_filtering.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: transforms.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: encode_txb_ref_c.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: adaptive_mv_pred.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: coding_loop.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: coding_unit.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: deblocking_filter.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: global_me_cost.c:av1_get_interp_filter_params_with_block_size Unexecuted instantiation: rc_crf_cqp.c:av1_get_interp_filter_params_with_block_size |
138 | | |
139 | | static INLINE void av1_get_convolve_filter_params(uint32_t interp_filters, InterpFilterParams* params_x, |
140 | 0 | InterpFilterParams* params_y, int32_t w, int32_t h) { |
141 | 0 | InterpFilter filter_x = av1_extract_interp_filter(interp_filters, 1); |
142 | 0 | InterpFilter filter_y = av1_extract_interp_filter(interp_filters, 0); |
143 | 0 | *params_x = av1_get_interp_filter_params_with_block_size(filter_x, w); |
144 | 0 | *params_y = av1_get_interp_filter_params_with_block_size(filter_y, h); |
145 | 0 | }; Unexecuted instantiation: enc_handle.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_settings.c:av1_get_convolve_filter_params Unexecuted instantiation: av1me.c:av1_get_convolve_filter_params Unexecuted instantiation: cdef_process.c:av1_get_convolve_filter_params Unexecuted instantiation: dlf_process.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_cdef.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_dec_process.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_inter_prediction.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_intra_prediction.c:av1_get_convolve_filter_params Unexecuted instantiation: enc_mode_config.c:av1_get_convolve_filter_params Unexecuted instantiation: entropy_coding.c:av1_get_convolve_filter_params Unexecuted instantiation: ec_process.c:av1_get_convolve_filter_params Unexecuted instantiation: full_loop.c:av1_get_convolve_filter_params Unexecuted instantiation: initial_rc_process.c:av1_get_convolve_filter_params Unexecuted instantiation: inter_prediction.c:av1_get_convolve_filter_params Unexecuted instantiation: intra_prediction.c:av1_get_convolve_filter_params Unexecuted instantiation: md_rate_estimation.c:av1_get_convolve_filter_params Unexecuted instantiation: mode_decision.c:av1_get_convolve_filter_params Unexecuted instantiation: md_config_process.c:av1_get_convolve_filter_params Unexecuted instantiation: md_process.c:av1_get_convolve_filter_params Unexecuted instantiation: motion_estimation.c:av1_get_convolve_filter_params Unexecuted instantiation: me_process.c:av1_get_convolve_filter_params Unexecuted instantiation: packetization_process.c:av1_get_convolve_filter_params Unexecuted instantiation: palette.c:av1_get_convolve_filter_params Unexecuted instantiation: pic_analysis_process.c:av1_get_convolve_filter_params Unexecuted instantiation: pcs.c:av1_get_convolve_filter_params Unexecuted instantiation: pd_process.c:av1_get_convolve_filter_params Unexecuted instantiation: pic_manager_process.c:av1_get_convolve_filter_params Unexecuted instantiation: product_coding_loop.c:av1_get_convolve_filter_params Unexecuted instantiation: rc_aq.c:av1_get_convolve_filter_params Unexecuted instantiation: rc_process.c:av1_get_convolve_filter_params Unexecuted instantiation: rc_rtc_cbr.c:av1_get_convolve_filter_params Unexecuted instantiation: rc_vbr_cbr.c:av1_get_convolve_filter_params Unexecuted instantiation: rd_cost.c:av1_get_convolve_filter_params Unexecuted instantiation: reference_object.c:av1_get_convolve_filter_params Unexecuted instantiation: resize.c:av1_get_convolve_filter_params Unexecuted instantiation: resource_coordination_process.c:av1_get_convolve_filter_params Unexecuted instantiation: rest_process.c:av1_get_convolve_filter_params Unexecuted instantiation: restoration_pick.c:av1_get_convolve_filter_params Unexecuted instantiation: segmentation.c:av1_get_convolve_filter_params Unexecuted instantiation: src_ops_process.c:av1_get_convolve_filter_params Unexecuted instantiation: super_res.c:av1_get_convolve_filter_params Unexecuted instantiation: temporal_filtering.c:av1_get_convolve_filter_params Unexecuted instantiation: transforms.c:av1_get_convolve_filter_params Unexecuted instantiation: encode_txb_ref_c.c:av1_get_convolve_filter_params Unexecuted instantiation: variance.c:av1_get_convolve_filter_params Unexecuted instantiation: adaptive_mv_pred.c:av1_get_convolve_filter_params Unexecuted instantiation: coding_loop.c:av1_get_convolve_filter_params Unexecuted instantiation: coding_unit.c:av1_get_convolve_filter_params Unexecuted instantiation: deblocking_filter.c:av1_get_convolve_filter_params Unexecuted instantiation: firstpass.c:av1_get_convolve_filter_params Unexecuted instantiation: global_me_cost.c:av1_get_convolve_filter_params Unexecuted instantiation: mcomp.c:av1_get_convolve_filter_params Unexecuted instantiation: pass2_strategy.c:av1_get_convolve_filter_params Unexecuted instantiation: rc_crf_cqp.c:av1_get_convolve_filter_params |
146 | | |
147 | | /* Mapping of interintra to intra mode for use in the intra component */ |
148 | | static const PredictionMode interintra_to_intra_mode[INTERINTRA_MODES] = {DC_PRED, V_PRED, H_PRED, SMOOTH_PRED}; |
149 | | |
150 | | void svt_aom_combine_interintra(InterIntraMode mode, int8_t use_wedge_interintra, int wedge_index, int wedge_sign, |
151 | | BlockSize bsize, BlockSize plane_bsize, uint8_t* comppred, int compstride, |
152 | | const uint8_t* interpred, int interstride, const uint8_t* intrapred, int intrastride); |
153 | | |
154 | | void svt_aom_combine_interintra_highbd(InterIntraMode mode, uint8_t use_wedge_interintra, uint8_t wedge_index, |
155 | | uint8_t wedge_sign, BlockSize bsize, BlockSize plane_bsize, uint8_t* comppred8, |
156 | | int compstride, const uint8_t* interpred8, int interstride, |
157 | | const uint8_t* intrapred8, int intrastride, int bd); |
158 | | |
159 | | void svt_av1_setup_scale_factors_for_frame(ScaleFactors* sf, int other_w, int other_h, int this_w, int this_h); |
160 | | |
161 | 485 | static INLINE int av1_is_valid_scale(const struct ScaleFactors* sf) { |
162 | 485 | return sf->x_scale_fp != REF_INVALID_SCALE && sf->y_scale_fp != REF_INVALID_SCALE; |
163 | 485 | } Unexecuted instantiation: enc_handle.c:av1_is_valid_scale Unexecuted instantiation: enc_settings.c:av1_is_valid_scale Unexecuted instantiation: av1me.c:av1_is_valid_scale Unexecuted instantiation: cdef_process.c:av1_is_valid_scale Unexecuted instantiation: dlf_process.c:av1_is_valid_scale Unexecuted instantiation: enc_cdef.c:av1_is_valid_scale Unexecuted instantiation: enc_dec_process.c:av1_is_valid_scale Unexecuted instantiation: enc_inter_prediction.c:av1_is_valid_scale Unexecuted instantiation: enc_intra_prediction.c:av1_is_valid_scale Unexecuted instantiation: enc_mode_config.c:av1_is_valid_scale Unexecuted instantiation: entropy_coding.c:av1_is_valid_scale Unexecuted instantiation: ec_process.c:av1_is_valid_scale Unexecuted instantiation: full_loop.c:av1_is_valid_scale Unexecuted instantiation: initial_rc_process.c:av1_is_valid_scale inter_prediction.c:av1_is_valid_scale Line | Count | Source | 161 | 485 | static INLINE int av1_is_valid_scale(const struct ScaleFactors* sf) { | 162 | 485 | return sf->x_scale_fp != REF_INVALID_SCALE && sf->y_scale_fp != REF_INVALID_SCALE; | 163 | 485 | } |
Unexecuted instantiation: intra_prediction.c:av1_is_valid_scale Unexecuted instantiation: md_rate_estimation.c:av1_is_valid_scale Unexecuted instantiation: mode_decision.c:av1_is_valid_scale Unexecuted instantiation: md_config_process.c:av1_is_valid_scale Unexecuted instantiation: md_process.c:av1_is_valid_scale Unexecuted instantiation: motion_estimation.c:av1_is_valid_scale Unexecuted instantiation: me_process.c:av1_is_valid_scale Unexecuted instantiation: packetization_process.c:av1_is_valid_scale Unexecuted instantiation: pic_analysis_process.c:av1_is_valid_scale Unexecuted instantiation: pcs.c:av1_is_valid_scale Unexecuted instantiation: pd_process.c:av1_is_valid_scale Unexecuted instantiation: pic_manager_process.c:av1_is_valid_scale Unexecuted instantiation: product_coding_loop.c:av1_is_valid_scale Unexecuted instantiation: rc_aq.c:av1_is_valid_scale Unexecuted instantiation: rc_process.c:av1_is_valid_scale Unexecuted instantiation: rc_rtc_cbr.c:av1_is_valid_scale Unexecuted instantiation: rc_vbr_cbr.c:av1_is_valid_scale Unexecuted instantiation: rd_cost.c:av1_is_valid_scale Unexecuted instantiation: reference_object.c:av1_is_valid_scale Unexecuted instantiation: resource_coordination_process.c:av1_is_valid_scale Unexecuted instantiation: rest_process.c:av1_is_valid_scale Unexecuted instantiation: restoration_pick.c:av1_is_valid_scale Unexecuted instantiation: src_ops_process.c:av1_is_valid_scale Unexecuted instantiation: super_res.c:av1_is_valid_scale Unexecuted instantiation: temporal_filtering.c:av1_is_valid_scale Unexecuted instantiation: transforms.c:av1_is_valid_scale Unexecuted instantiation: encode_txb_ref_c.c:av1_is_valid_scale Unexecuted instantiation: adaptive_mv_pred.c:av1_is_valid_scale Unexecuted instantiation: coding_loop.c:av1_is_valid_scale Unexecuted instantiation: coding_unit.c:av1_is_valid_scale Unexecuted instantiation: deblocking_filter.c:av1_is_valid_scale Unexecuted instantiation: global_me_cost.c:av1_is_valid_scale Unexecuted instantiation: rc_crf_cqp.c:av1_is_valid_scale |
164 | | |
165 | 485 | static INLINE int av1_is_scaled(const struct ScaleFactors* sf) { |
166 | 485 | return av1_is_valid_scale(sf) && (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); |
167 | 485 | } Unexecuted instantiation: enc_handle.c:av1_is_scaled Unexecuted instantiation: enc_settings.c:av1_is_scaled Unexecuted instantiation: av1me.c:av1_is_scaled Unexecuted instantiation: cdef_process.c:av1_is_scaled Unexecuted instantiation: dlf_process.c:av1_is_scaled Unexecuted instantiation: enc_cdef.c:av1_is_scaled Unexecuted instantiation: enc_dec_process.c:av1_is_scaled Unexecuted instantiation: enc_inter_prediction.c:av1_is_scaled Unexecuted instantiation: enc_intra_prediction.c:av1_is_scaled Unexecuted instantiation: enc_mode_config.c:av1_is_scaled Unexecuted instantiation: entropy_coding.c:av1_is_scaled Unexecuted instantiation: ec_process.c:av1_is_scaled Unexecuted instantiation: full_loop.c:av1_is_scaled Unexecuted instantiation: initial_rc_process.c:av1_is_scaled inter_prediction.c:av1_is_scaled Line | Count | Source | 165 | 485 | static INLINE int av1_is_scaled(const struct ScaleFactors* sf) { | 166 | 485 | return av1_is_valid_scale(sf) && (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); | 167 | 485 | } |
Unexecuted instantiation: intra_prediction.c:av1_is_scaled Unexecuted instantiation: md_rate_estimation.c:av1_is_scaled Unexecuted instantiation: mode_decision.c:av1_is_scaled Unexecuted instantiation: md_config_process.c:av1_is_scaled Unexecuted instantiation: md_process.c:av1_is_scaled Unexecuted instantiation: motion_estimation.c:av1_is_scaled Unexecuted instantiation: me_process.c:av1_is_scaled Unexecuted instantiation: packetization_process.c:av1_is_scaled Unexecuted instantiation: pic_analysis_process.c:av1_is_scaled Unexecuted instantiation: pcs.c:av1_is_scaled Unexecuted instantiation: pd_process.c:av1_is_scaled Unexecuted instantiation: pic_manager_process.c:av1_is_scaled Unexecuted instantiation: product_coding_loop.c:av1_is_scaled Unexecuted instantiation: rc_aq.c:av1_is_scaled Unexecuted instantiation: rc_process.c:av1_is_scaled Unexecuted instantiation: rc_rtc_cbr.c:av1_is_scaled Unexecuted instantiation: rc_vbr_cbr.c:av1_is_scaled Unexecuted instantiation: rd_cost.c:av1_is_scaled Unexecuted instantiation: reference_object.c:av1_is_scaled Unexecuted instantiation: resource_coordination_process.c:av1_is_scaled Unexecuted instantiation: rest_process.c:av1_is_scaled Unexecuted instantiation: restoration_pick.c:av1_is_scaled Unexecuted instantiation: src_ops_process.c:av1_is_scaled Unexecuted instantiation: super_res.c:av1_is_scaled Unexecuted instantiation: temporal_filtering.c:av1_is_scaled Unexecuted instantiation: transforms.c:av1_is_scaled Unexecuted instantiation: encode_txb_ref_c.c:av1_is_scaled Unexecuted instantiation: adaptive_mv_pred.c:av1_is_scaled Unexecuted instantiation: coding_loop.c:av1_is_scaled Unexecuted instantiation: coding_unit.c:av1_is_scaled Unexecuted instantiation: deblocking_filter.c:av1_is_scaled Unexecuted instantiation: global_me_cost.c:av1_is_scaled Unexecuted instantiation: rc_crf_cqp.c:av1_is_scaled |
168 | | |
169 | 485 | static INLINE int valid_ref_frame_size(int ref_width, int ref_height, int this_width, int this_height) { |
170 | 485 | return 2 * this_width >= ref_width && 2 * this_height >= ref_height && this_width <= 16 * ref_width && |
171 | 485 | this_height <= 16 * ref_height; |
172 | 485 | } Unexecuted instantiation: enc_handle.c:valid_ref_frame_size Unexecuted instantiation: enc_settings.c:valid_ref_frame_size Unexecuted instantiation: av1me.c:valid_ref_frame_size Unexecuted instantiation: cdef_process.c:valid_ref_frame_size Unexecuted instantiation: dlf_process.c:valid_ref_frame_size Unexecuted instantiation: enc_cdef.c:valid_ref_frame_size Unexecuted instantiation: enc_dec_process.c:valid_ref_frame_size Unexecuted instantiation: enc_inter_prediction.c:valid_ref_frame_size Unexecuted instantiation: enc_intra_prediction.c:valid_ref_frame_size Unexecuted instantiation: enc_mode_config.c:valid_ref_frame_size Unexecuted instantiation: entropy_coding.c:valid_ref_frame_size Unexecuted instantiation: ec_process.c:valid_ref_frame_size Unexecuted instantiation: full_loop.c:valid_ref_frame_size Unexecuted instantiation: initial_rc_process.c:valid_ref_frame_size inter_prediction.c:valid_ref_frame_size Line | Count | Source | 169 | 485 | static INLINE int valid_ref_frame_size(int ref_width, int ref_height, int this_width, int this_height) { | 170 | 485 | return 2 * this_width >= ref_width && 2 * this_height >= ref_height && this_width <= 16 * ref_width && | 171 | 485 | this_height <= 16 * ref_height; | 172 | 485 | } |
Unexecuted instantiation: intra_prediction.c:valid_ref_frame_size Unexecuted instantiation: md_rate_estimation.c:valid_ref_frame_size Unexecuted instantiation: mode_decision.c:valid_ref_frame_size Unexecuted instantiation: md_config_process.c:valid_ref_frame_size Unexecuted instantiation: md_process.c:valid_ref_frame_size Unexecuted instantiation: motion_estimation.c:valid_ref_frame_size Unexecuted instantiation: me_process.c:valid_ref_frame_size Unexecuted instantiation: packetization_process.c:valid_ref_frame_size Unexecuted instantiation: pic_analysis_process.c:valid_ref_frame_size Unexecuted instantiation: pcs.c:valid_ref_frame_size Unexecuted instantiation: pd_process.c:valid_ref_frame_size Unexecuted instantiation: pic_manager_process.c:valid_ref_frame_size Unexecuted instantiation: product_coding_loop.c:valid_ref_frame_size Unexecuted instantiation: rc_aq.c:valid_ref_frame_size Unexecuted instantiation: rc_process.c:valid_ref_frame_size Unexecuted instantiation: rc_rtc_cbr.c:valid_ref_frame_size Unexecuted instantiation: rc_vbr_cbr.c:valid_ref_frame_size Unexecuted instantiation: rd_cost.c:valid_ref_frame_size Unexecuted instantiation: reference_object.c:valid_ref_frame_size Unexecuted instantiation: resource_coordination_process.c:valid_ref_frame_size Unexecuted instantiation: rest_process.c:valid_ref_frame_size Unexecuted instantiation: restoration_pick.c:valid_ref_frame_size Unexecuted instantiation: src_ops_process.c:valid_ref_frame_size Unexecuted instantiation: super_res.c:valid_ref_frame_size Unexecuted instantiation: temporal_filtering.c:valid_ref_frame_size Unexecuted instantiation: transforms.c:valid_ref_frame_size Unexecuted instantiation: encode_txb_ref_c.c:valid_ref_frame_size Unexecuted instantiation: adaptive_mv_pred.c:valid_ref_frame_size Unexecuted instantiation: coding_loop.c:valid_ref_frame_size Unexecuted instantiation: coding_unit.c:valid_ref_frame_size Unexecuted instantiation: deblocking_filter.c:valid_ref_frame_size Unexecuted instantiation: global_me_cost.c:valid_ref_frame_size Unexecuted instantiation: rc_crf_cqp.c:valid_ref_frame_size |
173 | | |
174 | | void svt_aom_pack_block(uint8_t* in8_bit_buffer, uint32_t in8_stride, uint8_t* inn_bit_buffer, uint32_t inn_stride, |
175 | | uint16_t* out16_bit_buffer, uint32_t out_stride, uint32_t width, uint32_t height); |
176 | | |
177 | | void highbd_convolve_2d_for_intrabc(const uint16_t* src, int src_stride, uint16_t* dst, int dst_stride, int w, int h, |
178 | | int subpel_x_q4, int subpel_y_q4, ConvolveParams* conv_params, int bd); |
179 | | |
180 | | void convolve_2d_for_intrabc(const uint8_t* src, int src_stride, uint8_t* dst, int dst_stride, int w, int h, |
181 | | int subpel_x_q4, int subpel_y_q4, ConvolveParams* conv_params); |
182 | | |
183 | | extern aom_highbd_convolve_fn_t convolve_hbd[/*sub_x*/ 2][/*sub_y*/ 2][/*bi*/ 2]; |
184 | | |
185 | | extern AomConvolveFn svt_aom_convolve[/*sub_x*/ 2][/*sub_y*/ 2][/*bi*/ 2]; |
186 | | |
187 | | int svt_aom_is_interintra_wedge_used(BlockSize bsize); |
188 | | |
189 | | int32_t svt_aom_get_wedge_bits_lookup(BlockSize bsize); |
190 | | |
191 | | const uint8_t* svt_aom_get_contiguous_soft_mask(int wedge_index, int wedge_sign, BlockSize bsize); |
192 | | |
193 | | int svt_aom_get_wedge_params_bits(BlockSize bsize); |
194 | | |
195 | | int svt_aom_is_masked_compound_type(COMPOUND_TYPE type); |
196 | | |
197 | | // Although we assign 32 bit integers, all the values are strictly under 14 |
198 | | // bits. |
199 | | extern const int div_mult[32]; |
200 | | |
201 | 0 | static INLINE void integer_mv_precision(Mv* mv) { |
202 | | // round to nearest multiple of 8, ties (|rem|==4) toward zero, matching original |
203 | 0 | mv->x = (mv->x + 3 + (mv->x < 0)) & ~7; |
204 | 0 | mv->y = (mv->y + 3 + (mv->y < 0)) & ~7; |
205 | 0 | } Unexecuted instantiation: enc_handle.c:integer_mv_precision Unexecuted instantiation: enc_settings.c:integer_mv_precision Unexecuted instantiation: av1me.c:integer_mv_precision Unexecuted instantiation: cdef_process.c:integer_mv_precision Unexecuted instantiation: dlf_process.c:integer_mv_precision Unexecuted instantiation: enc_cdef.c:integer_mv_precision Unexecuted instantiation: enc_dec_process.c:integer_mv_precision Unexecuted instantiation: enc_inter_prediction.c:integer_mv_precision Unexecuted instantiation: enc_intra_prediction.c:integer_mv_precision Unexecuted instantiation: enc_mode_config.c:integer_mv_precision Unexecuted instantiation: entropy_coding.c:integer_mv_precision Unexecuted instantiation: ec_process.c:integer_mv_precision Unexecuted instantiation: full_loop.c:integer_mv_precision Unexecuted instantiation: initial_rc_process.c:integer_mv_precision Unexecuted instantiation: inter_prediction.c:integer_mv_precision Unexecuted instantiation: intra_prediction.c:integer_mv_precision Unexecuted instantiation: md_rate_estimation.c:integer_mv_precision Unexecuted instantiation: mode_decision.c:integer_mv_precision Unexecuted instantiation: md_config_process.c:integer_mv_precision Unexecuted instantiation: md_process.c:integer_mv_precision Unexecuted instantiation: motion_estimation.c:integer_mv_precision Unexecuted instantiation: me_process.c:integer_mv_precision Unexecuted instantiation: packetization_process.c:integer_mv_precision Unexecuted instantiation: pic_analysis_process.c:integer_mv_precision Unexecuted instantiation: pcs.c:integer_mv_precision Unexecuted instantiation: pd_process.c:integer_mv_precision Unexecuted instantiation: pic_manager_process.c:integer_mv_precision Unexecuted instantiation: product_coding_loop.c:integer_mv_precision Unexecuted instantiation: rc_aq.c:integer_mv_precision Unexecuted instantiation: rc_process.c:integer_mv_precision Unexecuted instantiation: rc_rtc_cbr.c:integer_mv_precision Unexecuted instantiation: rc_vbr_cbr.c:integer_mv_precision Unexecuted instantiation: rd_cost.c:integer_mv_precision Unexecuted instantiation: reference_object.c:integer_mv_precision Unexecuted instantiation: resource_coordination_process.c:integer_mv_precision Unexecuted instantiation: rest_process.c:integer_mv_precision Unexecuted instantiation: restoration_pick.c:integer_mv_precision Unexecuted instantiation: src_ops_process.c:integer_mv_precision Unexecuted instantiation: super_res.c:integer_mv_precision Unexecuted instantiation: temporal_filtering.c:integer_mv_precision Unexecuted instantiation: transforms.c:integer_mv_precision Unexecuted instantiation: encode_txb_ref_c.c:integer_mv_precision Unexecuted instantiation: adaptive_mv_pred.c:integer_mv_precision Unexecuted instantiation: coding_loop.c:integer_mv_precision Unexecuted instantiation: coding_unit.c:integer_mv_precision Unexecuted instantiation: deblocking_filter.c:integer_mv_precision Unexecuted instantiation: global_me_cost.c:integer_mv_precision Unexecuted instantiation: rc_crf_cqp.c:integer_mv_precision |
206 | | |
207 | 0 | static INLINE void lower_mv_precision(Mv* mv, int allow_hp) { |
208 | 0 | if (allow_hp) { |
209 | 0 | return; |
210 | 0 | } |
211 | 0 | mv->x = (mv->x + (mv->x < 0)) & ~1; |
212 | 0 | mv->y = (mv->y + (mv->y < 0)) & ~1; |
213 | 0 | } Unexecuted instantiation: enc_handle.c:lower_mv_precision Unexecuted instantiation: enc_settings.c:lower_mv_precision Unexecuted instantiation: av1me.c:lower_mv_precision Unexecuted instantiation: cdef_process.c:lower_mv_precision Unexecuted instantiation: dlf_process.c:lower_mv_precision Unexecuted instantiation: enc_cdef.c:lower_mv_precision Unexecuted instantiation: enc_dec_process.c:lower_mv_precision Unexecuted instantiation: enc_inter_prediction.c:lower_mv_precision Unexecuted instantiation: enc_intra_prediction.c:lower_mv_precision Unexecuted instantiation: enc_mode_config.c:lower_mv_precision Unexecuted instantiation: entropy_coding.c:lower_mv_precision Unexecuted instantiation: ec_process.c:lower_mv_precision Unexecuted instantiation: full_loop.c:lower_mv_precision Unexecuted instantiation: initial_rc_process.c:lower_mv_precision Unexecuted instantiation: inter_prediction.c:lower_mv_precision Unexecuted instantiation: intra_prediction.c:lower_mv_precision Unexecuted instantiation: md_rate_estimation.c:lower_mv_precision Unexecuted instantiation: mode_decision.c:lower_mv_precision Unexecuted instantiation: md_config_process.c:lower_mv_precision Unexecuted instantiation: md_process.c:lower_mv_precision Unexecuted instantiation: motion_estimation.c:lower_mv_precision Unexecuted instantiation: me_process.c:lower_mv_precision Unexecuted instantiation: packetization_process.c:lower_mv_precision Unexecuted instantiation: pic_analysis_process.c:lower_mv_precision Unexecuted instantiation: pcs.c:lower_mv_precision Unexecuted instantiation: pd_process.c:lower_mv_precision Unexecuted instantiation: pic_manager_process.c:lower_mv_precision Unexecuted instantiation: product_coding_loop.c:lower_mv_precision Unexecuted instantiation: rc_aq.c:lower_mv_precision Unexecuted instantiation: rc_process.c:lower_mv_precision Unexecuted instantiation: rc_rtc_cbr.c:lower_mv_precision Unexecuted instantiation: rc_vbr_cbr.c:lower_mv_precision Unexecuted instantiation: rd_cost.c:lower_mv_precision Unexecuted instantiation: reference_object.c:lower_mv_precision Unexecuted instantiation: resize.c:lower_mv_precision Unexecuted instantiation: resource_coordination_process.c:lower_mv_precision Unexecuted instantiation: rest_process.c:lower_mv_precision Unexecuted instantiation: restoration_pick.c:lower_mv_precision Unexecuted instantiation: src_ops_process.c:lower_mv_precision Unexecuted instantiation: super_res.c:lower_mv_precision Unexecuted instantiation: temporal_filtering.c:lower_mv_precision Unexecuted instantiation: transforms.c:lower_mv_precision Unexecuted instantiation: encode_txb_ref_c.c:lower_mv_precision Unexecuted instantiation: variance.c:lower_mv_precision Unexecuted instantiation: adaptive_mv_pred.c:lower_mv_precision Unexecuted instantiation: coding_loop.c:lower_mv_precision Unexecuted instantiation: coding_unit.c:lower_mv_precision Unexecuted instantiation: deblocking_filter.c:lower_mv_precision Unexecuted instantiation: global_me_cost.c:lower_mv_precision Unexecuted instantiation: rc_crf_cqp.c:lower_mv_precision |
214 | | |
215 | 0 | static INLINE void get_mv_projection(Mv* output, Mv ref, int num, int den) { |
216 | 0 | den = AOMMIN(den, MAX_FRAME_DISTANCE); |
217 | 0 | num = num > 0 ? AOMMIN(num, MAX_FRAME_DISTANCE) : AOMMAX(num, -MAX_FRAME_DISTANCE); |
218 | 0 | const int mv_row = ROUND_POWER_OF_TWO_SIGNED(ref.y * num * div_mult[den], 14); |
219 | 0 | const int mv_col = ROUND_POWER_OF_TWO_SIGNED(ref.x * num * div_mult[den], 14); |
220 | 0 | const int clamp_max = MV_UPP - 1; |
221 | 0 | const int clamp_min = MV_LOW + 1; |
222 | 0 | output->y = (int16_t)clamp(mv_row, clamp_min, clamp_max); |
223 | 0 | output->x = (int16_t)clamp(mv_col, clamp_min, clamp_max); |
224 | 0 | } Unexecuted instantiation: enc_handle.c:get_mv_projection Unexecuted instantiation: enc_settings.c:get_mv_projection Unexecuted instantiation: av1me.c:get_mv_projection Unexecuted instantiation: cdef_process.c:get_mv_projection Unexecuted instantiation: dlf_process.c:get_mv_projection Unexecuted instantiation: enc_cdef.c:get_mv_projection Unexecuted instantiation: enc_dec_process.c:get_mv_projection Unexecuted instantiation: enc_inter_prediction.c:get_mv_projection Unexecuted instantiation: enc_intra_prediction.c:get_mv_projection Unexecuted instantiation: enc_mode_config.c:get_mv_projection Unexecuted instantiation: entropy_coding.c:get_mv_projection Unexecuted instantiation: ec_process.c:get_mv_projection Unexecuted instantiation: full_loop.c:get_mv_projection Unexecuted instantiation: initial_rc_process.c:get_mv_projection Unexecuted instantiation: inter_prediction.c:get_mv_projection Unexecuted instantiation: intra_prediction.c:get_mv_projection Unexecuted instantiation: md_rate_estimation.c:get_mv_projection Unexecuted instantiation: mode_decision.c:get_mv_projection Unexecuted instantiation: md_config_process.c:get_mv_projection Unexecuted instantiation: md_process.c:get_mv_projection Unexecuted instantiation: motion_estimation.c:get_mv_projection Unexecuted instantiation: me_process.c:get_mv_projection Unexecuted instantiation: packetization_process.c:get_mv_projection Unexecuted instantiation: palette.c:get_mv_projection Unexecuted instantiation: pic_analysis_process.c:get_mv_projection Unexecuted instantiation: pcs.c:get_mv_projection Unexecuted instantiation: pd_process.c:get_mv_projection Unexecuted instantiation: pic_manager_process.c:get_mv_projection Unexecuted instantiation: product_coding_loop.c:get_mv_projection Unexecuted instantiation: rc_aq.c:get_mv_projection Unexecuted instantiation: rc_process.c:get_mv_projection Unexecuted instantiation: rc_rtc_cbr.c:get_mv_projection Unexecuted instantiation: rc_vbr_cbr.c:get_mv_projection Unexecuted instantiation: rd_cost.c:get_mv_projection Unexecuted instantiation: reference_object.c:get_mv_projection Unexecuted instantiation: resize.c:get_mv_projection Unexecuted instantiation: resource_coordination_process.c:get_mv_projection Unexecuted instantiation: rest_process.c:get_mv_projection Unexecuted instantiation: restoration_pick.c:get_mv_projection Unexecuted instantiation: segmentation.c:get_mv_projection Unexecuted instantiation: src_ops_process.c:get_mv_projection Unexecuted instantiation: super_res.c:get_mv_projection Unexecuted instantiation: temporal_filtering.c:get_mv_projection Unexecuted instantiation: transforms.c:get_mv_projection Unexecuted instantiation: encode_txb_ref_c.c:get_mv_projection Unexecuted instantiation: variance.c:get_mv_projection Unexecuted instantiation: adaptive_mv_pred.c:get_mv_projection Unexecuted instantiation: coding_loop.c:get_mv_projection Unexecuted instantiation: coding_unit.c:get_mv_projection Unexecuted instantiation: deblocking_filter.c:get_mv_projection Unexecuted instantiation: firstpass.c:get_mv_projection Unexecuted instantiation: global_me_cost.c:get_mv_projection Unexecuted instantiation: mcomp.c:get_mv_projection Unexecuted instantiation: pass2_strategy.c:get_mv_projection Unexecuted instantiation: rc_crf_cqp.c:get_mv_projection |
225 | | |
226 | 0 | static INLINE int check_sb_border(const int mi_row, const int mi_col, const int row_offset, const int col_offset) { |
227 | 0 | const int sb_mi_size = mi_size_wide[BLOCK_64X64]; |
228 | 0 | const int row = mi_row & (sb_mi_size - 1); |
229 | 0 | const int col = mi_col & (sb_mi_size - 1); |
230 | |
|
231 | 0 | if (row + row_offset < 0 || row + row_offset >= sb_mi_size || col + col_offset < 0 || |
232 | 0 | col + col_offset >= sb_mi_size) { |
233 | 0 | return 0; |
234 | 0 | } |
235 | | |
236 | 0 | return 1; |
237 | 0 | } Unexecuted instantiation: enc_handle.c:check_sb_border Unexecuted instantiation: enc_settings.c:check_sb_border Unexecuted instantiation: av1me.c:check_sb_border Unexecuted instantiation: cdef_process.c:check_sb_border Unexecuted instantiation: dlf_process.c:check_sb_border Unexecuted instantiation: enc_cdef.c:check_sb_border Unexecuted instantiation: enc_dec_process.c:check_sb_border Unexecuted instantiation: enc_inter_prediction.c:check_sb_border Unexecuted instantiation: enc_intra_prediction.c:check_sb_border Unexecuted instantiation: enc_mode_config.c:check_sb_border Unexecuted instantiation: entropy_coding.c:check_sb_border Unexecuted instantiation: ec_process.c:check_sb_border Unexecuted instantiation: full_loop.c:check_sb_border Unexecuted instantiation: initial_rc_process.c:check_sb_border Unexecuted instantiation: inter_prediction.c:check_sb_border Unexecuted instantiation: intra_prediction.c:check_sb_border Unexecuted instantiation: md_rate_estimation.c:check_sb_border Unexecuted instantiation: mode_decision.c:check_sb_border Unexecuted instantiation: md_config_process.c:check_sb_border Unexecuted instantiation: md_process.c:check_sb_border Unexecuted instantiation: motion_estimation.c:check_sb_border Unexecuted instantiation: me_process.c:check_sb_border Unexecuted instantiation: packetization_process.c:check_sb_border Unexecuted instantiation: palette.c:check_sb_border Unexecuted instantiation: pic_analysis_process.c:check_sb_border Unexecuted instantiation: pcs.c:check_sb_border Unexecuted instantiation: pd_process.c:check_sb_border Unexecuted instantiation: pic_manager_process.c:check_sb_border Unexecuted instantiation: product_coding_loop.c:check_sb_border Unexecuted instantiation: rc_aq.c:check_sb_border Unexecuted instantiation: rc_process.c:check_sb_border Unexecuted instantiation: rc_rtc_cbr.c:check_sb_border Unexecuted instantiation: rc_vbr_cbr.c:check_sb_border Unexecuted instantiation: rd_cost.c:check_sb_border Unexecuted instantiation: reference_object.c:check_sb_border Unexecuted instantiation: resize.c:check_sb_border Unexecuted instantiation: resource_coordination_process.c:check_sb_border Unexecuted instantiation: rest_process.c:check_sb_border Unexecuted instantiation: restoration_pick.c:check_sb_border Unexecuted instantiation: segmentation.c:check_sb_border Unexecuted instantiation: src_ops_process.c:check_sb_border Unexecuted instantiation: super_res.c:check_sb_border Unexecuted instantiation: temporal_filtering.c:check_sb_border Unexecuted instantiation: transforms.c:check_sb_border Unexecuted instantiation: encode_txb_ref_c.c:check_sb_border Unexecuted instantiation: variance.c:check_sb_border Unexecuted instantiation: adaptive_mv_pred.c:check_sb_border Unexecuted instantiation: coding_loop.c:check_sb_border Unexecuted instantiation: coding_unit.c:check_sb_border Unexecuted instantiation: deblocking_filter.c:check_sb_border Unexecuted instantiation: firstpass.c:check_sb_border Unexecuted instantiation: global_me_cost.c:check_sb_border Unexecuted instantiation: mcomp.c:check_sb_border Unexecuted instantiation: pass2_strategy.c:check_sb_border Unexecuted instantiation: rc_crf_cqp.c:check_sb_border |
238 | | |
239 | | // AV1 spec 7.10.3 |
240 | | // overlappable neighbours not relevant for intra frames (i.e. where intra_bc is allowed) |
241 | | // because no warp/obmc in intra frames. |
242 | 0 | static INLINE int is_neighbor_overlappable(const MbModeInfo* mbmi) { |
243 | 0 | return mbmi->block_mi.ref_frame[0] > INTRA_FRAME; |
244 | 0 | } Unexecuted instantiation: enc_handle.c:is_neighbor_overlappable Unexecuted instantiation: enc_settings.c:is_neighbor_overlappable Unexecuted instantiation: av1me.c:is_neighbor_overlappable Unexecuted instantiation: cdef_process.c:is_neighbor_overlappable Unexecuted instantiation: dlf_process.c:is_neighbor_overlappable Unexecuted instantiation: enc_cdef.c:is_neighbor_overlappable Unexecuted instantiation: enc_dec_process.c:is_neighbor_overlappable Unexecuted instantiation: enc_inter_prediction.c:is_neighbor_overlappable Unexecuted instantiation: enc_intra_prediction.c:is_neighbor_overlappable Unexecuted instantiation: enc_mode_config.c:is_neighbor_overlappable Unexecuted instantiation: entropy_coding.c:is_neighbor_overlappable Unexecuted instantiation: ec_process.c:is_neighbor_overlappable Unexecuted instantiation: full_loop.c:is_neighbor_overlappable Unexecuted instantiation: initial_rc_process.c:is_neighbor_overlappable Unexecuted instantiation: inter_prediction.c:is_neighbor_overlappable Unexecuted instantiation: intra_prediction.c:is_neighbor_overlappable Unexecuted instantiation: md_rate_estimation.c:is_neighbor_overlappable Unexecuted instantiation: mode_decision.c:is_neighbor_overlappable Unexecuted instantiation: md_config_process.c:is_neighbor_overlappable Unexecuted instantiation: md_process.c:is_neighbor_overlappable Unexecuted instantiation: motion_estimation.c:is_neighbor_overlappable Unexecuted instantiation: me_process.c:is_neighbor_overlappable Unexecuted instantiation: packetization_process.c:is_neighbor_overlappable Unexecuted instantiation: pic_analysis_process.c:is_neighbor_overlappable Unexecuted instantiation: pcs.c:is_neighbor_overlappable Unexecuted instantiation: pd_process.c:is_neighbor_overlappable Unexecuted instantiation: pic_manager_process.c:is_neighbor_overlappable Unexecuted instantiation: product_coding_loop.c:is_neighbor_overlappable Unexecuted instantiation: rc_aq.c:is_neighbor_overlappable Unexecuted instantiation: rc_process.c:is_neighbor_overlappable Unexecuted instantiation: rc_rtc_cbr.c:is_neighbor_overlappable Unexecuted instantiation: rc_vbr_cbr.c:is_neighbor_overlappable Unexecuted instantiation: rd_cost.c:is_neighbor_overlappable Unexecuted instantiation: reference_object.c:is_neighbor_overlappable Unexecuted instantiation: resource_coordination_process.c:is_neighbor_overlappable Unexecuted instantiation: rest_process.c:is_neighbor_overlappable Unexecuted instantiation: restoration_pick.c:is_neighbor_overlappable Unexecuted instantiation: src_ops_process.c:is_neighbor_overlappable Unexecuted instantiation: super_res.c:is_neighbor_overlappable Unexecuted instantiation: temporal_filtering.c:is_neighbor_overlappable Unexecuted instantiation: transforms.c:is_neighbor_overlappable Unexecuted instantiation: encode_txb_ref_c.c:is_neighbor_overlappable Unexecuted instantiation: adaptive_mv_pred.c:is_neighbor_overlappable Unexecuted instantiation: coding_loop.c:is_neighbor_overlappable Unexecuted instantiation: coding_unit.c:is_neighbor_overlappable Unexecuted instantiation: deblocking_filter.c:is_neighbor_overlappable Unexecuted instantiation: global_me_cost.c:is_neighbor_overlappable Unexecuted instantiation: rc_crf_cqp.c:is_neighbor_overlappable |
245 | | |
246 | 0 | static INLINE int32_t is_mv_valid(const Mv* mv) { |
247 | 0 | return mv->y > MV_LOW && mv->y < MV_UPP && mv->x > MV_LOW && mv->x < MV_UPP; |
248 | 0 | } Unexecuted instantiation: enc_handle.c:is_mv_valid Unexecuted instantiation: enc_settings.c:is_mv_valid Unexecuted instantiation: av1me.c:is_mv_valid Unexecuted instantiation: cdef_process.c:is_mv_valid Unexecuted instantiation: dlf_process.c:is_mv_valid Unexecuted instantiation: enc_cdef.c:is_mv_valid Unexecuted instantiation: enc_dec_process.c:is_mv_valid Unexecuted instantiation: enc_inter_prediction.c:is_mv_valid Unexecuted instantiation: enc_intra_prediction.c:is_mv_valid Unexecuted instantiation: enc_mode_config.c:is_mv_valid Unexecuted instantiation: entropy_coding.c:is_mv_valid Unexecuted instantiation: ec_process.c:is_mv_valid Unexecuted instantiation: full_loop.c:is_mv_valid Unexecuted instantiation: initial_rc_process.c:is_mv_valid Unexecuted instantiation: inter_prediction.c:is_mv_valid Unexecuted instantiation: intra_prediction.c:is_mv_valid Unexecuted instantiation: md_rate_estimation.c:is_mv_valid Unexecuted instantiation: mode_decision.c:is_mv_valid Unexecuted instantiation: md_config_process.c:is_mv_valid Unexecuted instantiation: md_process.c:is_mv_valid Unexecuted instantiation: motion_estimation.c:is_mv_valid Unexecuted instantiation: me_process.c:is_mv_valid Unexecuted instantiation: packetization_process.c:is_mv_valid Unexecuted instantiation: palette.c:is_mv_valid Unexecuted instantiation: pic_analysis_process.c:is_mv_valid Unexecuted instantiation: pcs.c:is_mv_valid Unexecuted instantiation: pd_process.c:is_mv_valid Unexecuted instantiation: pic_manager_process.c:is_mv_valid Unexecuted instantiation: product_coding_loop.c:is_mv_valid Unexecuted instantiation: rc_aq.c:is_mv_valid Unexecuted instantiation: rc_process.c:is_mv_valid Unexecuted instantiation: rc_rtc_cbr.c:is_mv_valid Unexecuted instantiation: rc_vbr_cbr.c:is_mv_valid Unexecuted instantiation: rd_cost.c:is_mv_valid Unexecuted instantiation: reference_object.c:is_mv_valid Unexecuted instantiation: resize.c:is_mv_valid Unexecuted instantiation: resource_coordination_process.c:is_mv_valid Unexecuted instantiation: rest_process.c:is_mv_valid Unexecuted instantiation: restoration_pick.c:is_mv_valid Unexecuted instantiation: segmentation.c:is_mv_valid Unexecuted instantiation: src_ops_process.c:is_mv_valid Unexecuted instantiation: super_res.c:is_mv_valid Unexecuted instantiation: temporal_filtering.c:is_mv_valid Unexecuted instantiation: transforms.c:is_mv_valid Unexecuted instantiation: encode_txb_ref_c.c:is_mv_valid Unexecuted instantiation: variance.c:is_mv_valid Unexecuted instantiation: adaptive_mv_pred.c:is_mv_valid Unexecuted instantiation: coding_loop.c:is_mv_valid Unexecuted instantiation: coding_unit.c:is_mv_valid Unexecuted instantiation: deblocking_filter.c:is_mv_valid Unexecuted instantiation: firstpass.c:is_mv_valid Unexecuted instantiation: global_me_cost.c:is_mv_valid Unexecuted instantiation: mcomp.c:is_mv_valid Unexecuted instantiation: pass2_strategy.c:is_mv_valid Unexecuted instantiation: rc_crf_cqp.c:is_mv_valid |
249 | | |
250 | 0 | #define CHECK_BACKWARD_REFS(ref_frame) (((ref_frame) >= BWDREF_FRAME) && ((ref_frame) <= ALTREF_FRAME)) |
251 | 0 | #define IS_BACKWARD_REF_FRAME(ref_frame) CHECK_BACKWARD_REFS(ref_frame) |
252 | | |
253 | | void svt_aom_find_ref_dv(Mv* ref_dv, const TileInfo* const tile, int mib_size, int mi_row, int mi_col); |
254 | | |
255 | 0 | static INLINE int32_t is_comp_ref_allowed(BlockSize bsize) { |
256 | 0 | return AOMMIN(block_size_wide[bsize], block_size_high[bsize]) >= 8; |
257 | 0 | } Unexecuted instantiation: enc_handle.c:is_comp_ref_allowed Unexecuted instantiation: enc_settings.c:is_comp_ref_allowed Unexecuted instantiation: av1me.c:is_comp_ref_allowed Unexecuted instantiation: cdef_process.c:is_comp_ref_allowed Unexecuted instantiation: dlf_process.c:is_comp_ref_allowed Unexecuted instantiation: enc_cdef.c:is_comp_ref_allowed Unexecuted instantiation: enc_dec_process.c:is_comp_ref_allowed Unexecuted instantiation: enc_inter_prediction.c:is_comp_ref_allowed Unexecuted instantiation: enc_intra_prediction.c:is_comp_ref_allowed Unexecuted instantiation: enc_mode_config.c:is_comp_ref_allowed Unexecuted instantiation: entropy_coding.c:is_comp_ref_allowed Unexecuted instantiation: ec_process.c:is_comp_ref_allowed Unexecuted instantiation: full_loop.c:is_comp_ref_allowed Unexecuted instantiation: initial_rc_process.c:is_comp_ref_allowed Unexecuted instantiation: inter_prediction.c:is_comp_ref_allowed Unexecuted instantiation: intra_prediction.c:is_comp_ref_allowed Unexecuted instantiation: md_rate_estimation.c:is_comp_ref_allowed Unexecuted instantiation: mode_decision.c:is_comp_ref_allowed Unexecuted instantiation: md_config_process.c:is_comp_ref_allowed Unexecuted instantiation: md_process.c:is_comp_ref_allowed Unexecuted instantiation: motion_estimation.c:is_comp_ref_allowed Unexecuted instantiation: me_process.c:is_comp_ref_allowed Unexecuted instantiation: packetization_process.c:is_comp_ref_allowed Unexecuted instantiation: pic_analysis_process.c:is_comp_ref_allowed Unexecuted instantiation: pcs.c:is_comp_ref_allowed Unexecuted instantiation: pd_process.c:is_comp_ref_allowed Unexecuted instantiation: pic_manager_process.c:is_comp_ref_allowed Unexecuted instantiation: product_coding_loop.c:is_comp_ref_allowed Unexecuted instantiation: rc_aq.c:is_comp_ref_allowed Unexecuted instantiation: rc_process.c:is_comp_ref_allowed Unexecuted instantiation: rc_rtc_cbr.c:is_comp_ref_allowed Unexecuted instantiation: rc_vbr_cbr.c:is_comp_ref_allowed Unexecuted instantiation: rd_cost.c:is_comp_ref_allowed Unexecuted instantiation: reference_object.c:is_comp_ref_allowed Unexecuted instantiation: resource_coordination_process.c:is_comp_ref_allowed Unexecuted instantiation: rest_process.c:is_comp_ref_allowed Unexecuted instantiation: restoration_pick.c:is_comp_ref_allowed Unexecuted instantiation: src_ops_process.c:is_comp_ref_allowed Unexecuted instantiation: super_res.c:is_comp_ref_allowed Unexecuted instantiation: temporal_filtering.c:is_comp_ref_allowed Unexecuted instantiation: transforms.c:is_comp_ref_allowed Unexecuted instantiation: encode_txb_ref_c.c:is_comp_ref_allowed Unexecuted instantiation: adaptive_mv_pred.c:is_comp_ref_allowed Unexecuted instantiation: coding_loop.c:is_comp_ref_allowed Unexecuted instantiation: coding_unit.c:is_comp_ref_allowed Unexecuted instantiation: deblocking_filter.c:is_comp_ref_allowed Unexecuted instantiation: global_me_cost.c:is_comp_ref_allowed Unexecuted instantiation: rc_crf_cqp.c:is_comp_ref_allowed |
258 | | |
259 | 0 | static INLINE int is_interinter_compound_used(CompoundType type, BlockSize bsize) { |
260 | 0 | const int comp_allowed = is_comp_ref_allowed(bsize); |
261 | 0 | switch (type) { |
262 | 0 | case COMPOUND_AVERAGE: |
263 | 0 | case COMPOUND_DISTWTD: |
264 | 0 | case COMPOUND_DIFFWTD: |
265 | 0 | return comp_allowed; |
266 | 0 | case COMPOUND_WEDGE: |
267 | 0 | return comp_allowed && svt_aom_get_wedge_params_bits(bsize) > 0; |
268 | 0 | default: |
269 | 0 | assert(0); |
270 | 0 | return 0; |
271 | 0 | } |
272 | 0 | } Unexecuted instantiation: enc_handle.c:is_interinter_compound_used Unexecuted instantiation: enc_settings.c:is_interinter_compound_used Unexecuted instantiation: av1me.c:is_interinter_compound_used Unexecuted instantiation: cdef_process.c:is_interinter_compound_used Unexecuted instantiation: dlf_process.c:is_interinter_compound_used Unexecuted instantiation: enc_cdef.c:is_interinter_compound_used Unexecuted instantiation: enc_dec_process.c:is_interinter_compound_used Unexecuted instantiation: enc_inter_prediction.c:is_interinter_compound_used Unexecuted instantiation: enc_intra_prediction.c:is_interinter_compound_used Unexecuted instantiation: enc_mode_config.c:is_interinter_compound_used Unexecuted instantiation: entropy_coding.c:is_interinter_compound_used Unexecuted instantiation: ec_process.c:is_interinter_compound_used Unexecuted instantiation: full_loop.c:is_interinter_compound_used Unexecuted instantiation: initial_rc_process.c:is_interinter_compound_used Unexecuted instantiation: inter_prediction.c:is_interinter_compound_used Unexecuted instantiation: intra_prediction.c:is_interinter_compound_used Unexecuted instantiation: md_rate_estimation.c:is_interinter_compound_used Unexecuted instantiation: mode_decision.c:is_interinter_compound_used Unexecuted instantiation: md_config_process.c:is_interinter_compound_used Unexecuted instantiation: md_process.c:is_interinter_compound_used Unexecuted instantiation: motion_estimation.c:is_interinter_compound_used Unexecuted instantiation: me_process.c:is_interinter_compound_used Unexecuted instantiation: packetization_process.c:is_interinter_compound_used Unexecuted instantiation: palette.c:is_interinter_compound_used Unexecuted instantiation: pic_analysis_process.c:is_interinter_compound_used Unexecuted instantiation: pcs.c:is_interinter_compound_used Unexecuted instantiation: pd_process.c:is_interinter_compound_used Unexecuted instantiation: pic_manager_process.c:is_interinter_compound_used Unexecuted instantiation: product_coding_loop.c:is_interinter_compound_used Unexecuted instantiation: rc_aq.c:is_interinter_compound_used Unexecuted instantiation: rc_process.c:is_interinter_compound_used Unexecuted instantiation: rc_rtc_cbr.c:is_interinter_compound_used Unexecuted instantiation: rc_vbr_cbr.c:is_interinter_compound_used Unexecuted instantiation: rd_cost.c:is_interinter_compound_used Unexecuted instantiation: reference_object.c:is_interinter_compound_used Unexecuted instantiation: resize.c:is_interinter_compound_used Unexecuted instantiation: resource_coordination_process.c:is_interinter_compound_used Unexecuted instantiation: rest_process.c:is_interinter_compound_used Unexecuted instantiation: restoration_pick.c:is_interinter_compound_used Unexecuted instantiation: segmentation.c:is_interinter_compound_used Unexecuted instantiation: src_ops_process.c:is_interinter_compound_used Unexecuted instantiation: super_res.c:is_interinter_compound_used Unexecuted instantiation: temporal_filtering.c:is_interinter_compound_used Unexecuted instantiation: transforms.c:is_interinter_compound_used Unexecuted instantiation: encode_txb_ref_c.c:is_interinter_compound_used Unexecuted instantiation: adaptive_mv_pred.c:is_interinter_compound_used Unexecuted instantiation: coding_loop.c:is_interinter_compound_used Unexecuted instantiation: coding_unit.c:is_interinter_compound_used Unexecuted instantiation: deblocking_filter.c:is_interinter_compound_used Unexecuted instantiation: global_me_cost.c:is_interinter_compound_used Unexecuted instantiation: pass2_strategy.c:is_interinter_compound_used Unexecuted instantiation: rc_crf_cqp.c:is_interinter_compound_used |
273 | | |
274 | 0 | static INLINE int is_any_masked_compound_used(BlockSize bsize) { |
275 | 0 | CompoundType comp_type; |
276 | 0 | int i; |
277 | 0 | if (!is_comp_ref_allowed(bsize)) { |
278 | 0 | return 0; |
279 | 0 | } |
280 | 0 | for (i = 0; i < COMPOUND_TYPES; i++) { |
281 | 0 | comp_type = (CompoundType)i; |
282 | 0 | if (svt_aom_is_masked_compound_type(comp_type) && is_interinter_compound_used(comp_type, bsize)) { |
283 | 0 | return 1; |
284 | 0 | } |
285 | 0 | } |
286 | 0 | return 0; |
287 | 0 | } Unexecuted instantiation: enc_handle.c:is_any_masked_compound_used Unexecuted instantiation: enc_settings.c:is_any_masked_compound_used Unexecuted instantiation: av1me.c:is_any_masked_compound_used Unexecuted instantiation: cdef_process.c:is_any_masked_compound_used Unexecuted instantiation: dlf_process.c:is_any_masked_compound_used Unexecuted instantiation: enc_cdef.c:is_any_masked_compound_used Unexecuted instantiation: enc_dec_process.c:is_any_masked_compound_used Unexecuted instantiation: enc_inter_prediction.c:is_any_masked_compound_used Unexecuted instantiation: enc_intra_prediction.c:is_any_masked_compound_used Unexecuted instantiation: enc_mode_config.c:is_any_masked_compound_used Unexecuted instantiation: entropy_coding.c:is_any_masked_compound_used Unexecuted instantiation: ec_process.c:is_any_masked_compound_used Unexecuted instantiation: full_loop.c:is_any_masked_compound_used Unexecuted instantiation: initial_rc_process.c:is_any_masked_compound_used Unexecuted instantiation: inter_prediction.c:is_any_masked_compound_used Unexecuted instantiation: intra_prediction.c:is_any_masked_compound_used Unexecuted instantiation: md_rate_estimation.c:is_any_masked_compound_used Unexecuted instantiation: mode_decision.c:is_any_masked_compound_used Unexecuted instantiation: md_config_process.c:is_any_masked_compound_used Unexecuted instantiation: md_process.c:is_any_masked_compound_used Unexecuted instantiation: motion_estimation.c:is_any_masked_compound_used Unexecuted instantiation: me_process.c:is_any_masked_compound_used Unexecuted instantiation: packetization_process.c:is_any_masked_compound_used Unexecuted instantiation: palette.c:is_any_masked_compound_used Unexecuted instantiation: pic_analysis_process.c:is_any_masked_compound_used Unexecuted instantiation: pcs.c:is_any_masked_compound_used Unexecuted instantiation: pd_process.c:is_any_masked_compound_used Unexecuted instantiation: pic_manager_process.c:is_any_masked_compound_used Unexecuted instantiation: product_coding_loop.c:is_any_masked_compound_used Unexecuted instantiation: rc_aq.c:is_any_masked_compound_used Unexecuted instantiation: rc_process.c:is_any_masked_compound_used Unexecuted instantiation: rc_rtc_cbr.c:is_any_masked_compound_used Unexecuted instantiation: rc_vbr_cbr.c:is_any_masked_compound_used Unexecuted instantiation: rd_cost.c:is_any_masked_compound_used Unexecuted instantiation: reference_object.c:is_any_masked_compound_used Unexecuted instantiation: resize.c:is_any_masked_compound_used Unexecuted instantiation: resource_coordination_process.c:is_any_masked_compound_used Unexecuted instantiation: rest_process.c:is_any_masked_compound_used Unexecuted instantiation: restoration_pick.c:is_any_masked_compound_used Unexecuted instantiation: segmentation.c:is_any_masked_compound_used Unexecuted instantiation: src_ops_process.c:is_any_masked_compound_used Unexecuted instantiation: super_res.c:is_any_masked_compound_used Unexecuted instantiation: temporal_filtering.c:is_any_masked_compound_used Unexecuted instantiation: transforms.c:is_any_masked_compound_used Unexecuted instantiation: encode_txb_ref_c.c:is_any_masked_compound_used Unexecuted instantiation: adaptive_mv_pred.c:is_any_masked_compound_used Unexecuted instantiation: coding_loop.c:is_any_masked_compound_used Unexecuted instantiation: coding_unit.c:is_any_masked_compound_used Unexecuted instantiation: deblocking_filter.c:is_any_masked_compound_used Unexecuted instantiation: global_me_cost.c:is_any_masked_compound_used Unexecuted instantiation: pass2_strategy.c:is_any_masked_compound_used Unexecuted instantiation: rc_crf_cqp.c:is_any_masked_compound_used |
288 | | |
289 | 19.5k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { |
290 | 19.5k | TxSize tx_size = blocksize_to_txsize[bsize]; |
291 | 19.5k | assert(tx_size != TX_4X4); |
292 | 19.5k | int depth = 0; |
293 | 71.2k | while (tx_size != TX_4X4) { |
294 | 51.6k | depth++; |
295 | 51.6k | tx_size = eb_sub_tx_size_map[tx_size]; |
296 | 51.6k | assert(depth < 10); |
297 | 51.6k | } |
298 | 19.5k | assert(depth <= MAX_TX_CATS); |
299 | 19.5k | return depth - 1; |
300 | 19.5k | } Unexecuted instantiation: enc_handle.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_settings.c:bsize_to_tx_size_cat Unexecuted instantiation: av1me.c:bsize_to_tx_size_cat Unexecuted instantiation: cdef_process.c:bsize_to_tx_size_cat Unexecuted instantiation: dlf_process.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_cdef.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_dec_process.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_inter_prediction.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_intra_prediction.c:bsize_to_tx_size_cat Unexecuted instantiation: enc_mode_config.c:bsize_to_tx_size_cat entropy_coding.c:bsize_to_tx_size_cat Line | Count | Source | 289 | 7.75k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { | 290 | 7.75k | TxSize tx_size = blocksize_to_txsize[bsize]; | 291 | 7.75k | assert(tx_size != TX_4X4); | 292 | 7.75k | int depth = 0; | 293 | 26.8k | while (tx_size != TX_4X4) { | 294 | 19.0k | depth++; | 295 | 19.0k | tx_size = eb_sub_tx_size_map[tx_size]; | 296 | 19.0k | assert(depth < 10); | 297 | 19.0k | } | 298 | | assert(depth <= MAX_TX_CATS); | 299 | 7.75k | return depth - 1; | 300 | 7.75k | } |
Unexecuted instantiation: ec_process.c:bsize_to_tx_size_cat Unexecuted instantiation: full_loop.c:bsize_to_tx_size_cat Unexecuted instantiation: initial_rc_process.c:bsize_to_tx_size_cat Unexecuted instantiation: inter_prediction.c:bsize_to_tx_size_cat Unexecuted instantiation: intra_prediction.c:bsize_to_tx_size_cat Unexecuted instantiation: md_rate_estimation.c:bsize_to_tx_size_cat Unexecuted instantiation: mode_decision.c:bsize_to_tx_size_cat Unexecuted instantiation: md_config_process.c:bsize_to_tx_size_cat Unexecuted instantiation: md_process.c:bsize_to_tx_size_cat Unexecuted instantiation: motion_estimation.c:bsize_to_tx_size_cat Unexecuted instantiation: me_process.c:bsize_to_tx_size_cat Unexecuted instantiation: packetization_process.c:bsize_to_tx_size_cat Unexecuted instantiation: pic_analysis_process.c:bsize_to_tx_size_cat Unexecuted instantiation: pcs.c:bsize_to_tx_size_cat Unexecuted instantiation: pd_process.c:bsize_to_tx_size_cat Unexecuted instantiation: pic_manager_process.c:bsize_to_tx_size_cat Unexecuted instantiation: product_coding_loop.c:bsize_to_tx_size_cat Unexecuted instantiation: rc_aq.c:bsize_to_tx_size_cat Unexecuted instantiation: rc_process.c:bsize_to_tx_size_cat Unexecuted instantiation: rc_rtc_cbr.c:bsize_to_tx_size_cat Unexecuted instantiation: rc_vbr_cbr.c:bsize_to_tx_size_cat rd_cost.c:bsize_to_tx_size_cat Line | Count | Source | 289 | 11.8k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { | 290 | 11.8k | TxSize tx_size = blocksize_to_txsize[bsize]; | 291 | 11.8k | assert(tx_size != TX_4X4); | 292 | 11.8k | int depth = 0; | 293 | 44.4k | while (tx_size != TX_4X4) { | 294 | 32.5k | depth++; | 295 | 32.5k | tx_size = eb_sub_tx_size_map[tx_size]; | 296 | 32.5k | assert(depth < 10); | 297 | 32.5k | } | 298 | | assert(depth <= MAX_TX_CATS); | 299 | 11.8k | return depth - 1; | 300 | 11.8k | } |
Unexecuted instantiation: reference_object.c:bsize_to_tx_size_cat Unexecuted instantiation: resource_coordination_process.c:bsize_to_tx_size_cat Unexecuted instantiation: rest_process.c:bsize_to_tx_size_cat Unexecuted instantiation: restoration_pick.c:bsize_to_tx_size_cat Unexecuted instantiation: src_ops_process.c:bsize_to_tx_size_cat Unexecuted instantiation: super_res.c:bsize_to_tx_size_cat Unexecuted instantiation: temporal_filtering.c:bsize_to_tx_size_cat Unexecuted instantiation: transforms.c:bsize_to_tx_size_cat Unexecuted instantiation: encode_txb_ref_c.c:bsize_to_tx_size_cat Unexecuted instantiation: adaptive_mv_pred.c:bsize_to_tx_size_cat Unexecuted instantiation: coding_loop.c:bsize_to_tx_size_cat Unexecuted instantiation: coding_unit.c:bsize_to_tx_size_cat Unexecuted instantiation: deblocking_filter.c:bsize_to_tx_size_cat Unexecuted instantiation: global_me_cost.c:bsize_to_tx_size_cat Unexecuted instantiation: rc_crf_cqp.c:bsize_to_tx_size_cat |
301 | | |
302 | 7.75k | static INLINE int bsize_to_max_depth(BlockSize bsize) { |
303 | 7.75k | TxSize tx_size = blocksize_to_txsize[bsize]; |
304 | 7.75k | int depth = 0; |
305 | 20.3k | while (depth < MAX_TX_DEPTH && tx_size != TX_4X4) { |
306 | 12.6k | depth++; |
307 | 12.6k | tx_size = eb_sub_tx_size_map[tx_size]; |
308 | 12.6k | } |
309 | 7.75k | return depth; |
310 | 7.75k | } Unexecuted instantiation: enc_handle.c:bsize_to_max_depth Unexecuted instantiation: enc_settings.c:bsize_to_max_depth Unexecuted instantiation: av1me.c:bsize_to_max_depth Unexecuted instantiation: cdef_process.c:bsize_to_max_depth Unexecuted instantiation: dlf_process.c:bsize_to_max_depth Unexecuted instantiation: enc_cdef.c:bsize_to_max_depth Unexecuted instantiation: enc_dec_process.c:bsize_to_max_depth Unexecuted instantiation: enc_inter_prediction.c:bsize_to_max_depth Unexecuted instantiation: enc_intra_prediction.c:bsize_to_max_depth Unexecuted instantiation: enc_mode_config.c:bsize_to_max_depth entropy_coding.c:bsize_to_max_depth Line | Count | Source | 302 | 7.75k | static INLINE int bsize_to_max_depth(BlockSize bsize) { | 303 | 7.75k | TxSize tx_size = blocksize_to_txsize[bsize]; | 304 | 7.75k | int depth = 0; | 305 | 20.3k | while (depth < MAX_TX_DEPTH && tx_size != TX_4X4) { | 306 | 12.6k | depth++; | 307 | 12.6k | tx_size = eb_sub_tx_size_map[tx_size]; | 308 | 12.6k | } | 309 | 7.75k | return depth; | 310 | 7.75k | } |
Unexecuted instantiation: ec_process.c:bsize_to_max_depth Unexecuted instantiation: full_loop.c:bsize_to_max_depth Unexecuted instantiation: initial_rc_process.c:bsize_to_max_depth Unexecuted instantiation: inter_prediction.c:bsize_to_max_depth Unexecuted instantiation: intra_prediction.c:bsize_to_max_depth Unexecuted instantiation: md_rate_estimation.c:bsize_to_max_depth Unexecuted instantiation: mode_decision.c:bsize_to_max_depth Unexecuted instantiation: md_config_process.c:bsize_to_max_depth Unexecuted instantiation: md_process.c:bsize_to_max_depth Unexecuted instantiation: motion_estimation.c:bsize_to_max_depth Unexecuted instantiation: me_process.c:bsize_to_max_depth Unexecuted instantiation: packetization_process.c:bsize_to_max_depth Unexecuted instantiation: pic_analysis_process.c:bsize_to_max_depth Unexecuted instantiation: pcs.c:bsize_to_max_depth Unexecuted instantiation: pd_process.c:bsize_to_max_depth Unexecuted instantiation: pic_manager_process.c:bsize_to_max_depth Unexecuted instantiation: product_coding_loop.c:bsize_to_max_depth Unexecuted instantiation: rc_aq.c:bsize_to_max_depth Unexecuted instantiation: rc_process.c:bsize_to_max_depth Unexecuted instantiation: rc_rtc_cbr.c:bsize_to_max_depth Unexecuted instantiation: rc_vbr_cbr.c:bsize_to_max_depth Unexecuted instantiation: rd_cost.c:bsize_to_max_depth Unexecuted instantiation: reference_object.c:bsize_to_max_depth Unexecuted instantiation: resource_coordination_process.c:bsize_to_max_depth Unexecuted instantiation: rest_process.c:bsize_to_max_depth Unexecuted instantiation: restoration_pick.c:bsize_to_max_depth Unexecuted instantiation: src_ops_process.c:bsize_to_max_depth Unexecuted instantiation: super_res.c:bsize_to_max_depth Unexecuted instantiation: temporal_filtering.c:bsize_to_max_depth Unexecuted instantiation: transforms.c:bsize_to_max_depth Unexecuted instantiation: encode_txb_ref_c.c:bsize_to_max_depth Unexecuted instantiation: adaptive_mv_pred.c:bsize_to_max_depth Unexecuted instantiation: coding_loop.c:bsize_to_max_depth Unexecuted instantiation: coding_unit.c:bsize_to_max_depth Unexecuted instantiation: deblocking_filter.c:bsize_to_max_depth Unexecuted instantiation: global_me_cost.c:bsize_to_max_depth Unexecuted instantiation: rc_crf_cqp.c:bsize_to_max_depth |
311 | | |
312 | 0 | static INLINE PredictionMode compound_ref0_mode(PredictionMode mode) { |
313 | 0 | static PredictionMode lut[] = { |
314 | 0 | MB_MODE_COUNT, // DC_PRED |
315 | 0 | MB_MODE_COUNT, // V_PRED |
316 | 0 | MB_MODE_COUNT, // H_PRED |
317 | 0 | MB_MODE_COUNT, // D45_PRED |
318 | 0 | MB_MODE_COUNT, // D135_PRED |
319 | 0 | MB_MODE_COUNT, // D113_PRED |
320 | 0 | MB_MODE_COUNT, // D157_PRED |
321 | 0 | MB_MODE_COUNT, // D203_PRED |
322 | 0 | MB_MODE_COUNT, // D67_PRED |
323 | 0 | MB_MODE_COUNT, // SMOOTH_PRED |
324 | 0 | MB_MODE_COUNT, // SMOOTH_V_PRED |
325 | 0 | MB_MODE_COUNT, // SMOOTH_H_PRED |
326 | 0 | MB_MODE_COUNT, // PAETH_PRED |
327 | 0 | MB_MODE_COUNT, // NEARESTMV |
328 | 0 | MB_MODE_COUNT, // NEARMV |
329 | 0 | MB_MODE_COUNT, // GLOBALMV |
330 | 0 | MB_MODE_COUNT, // NEWMV |
331 | 0 | NEARESTMV, // NEAREST_NEARESTMV |
332 | 0 | NEARMV, // NEAR_NEARMV |
333 | 0 | NEARESTMV, // NEAREST_NEWMV |
334 | 0 | NEWMV, // NEW_NEARESTMV |
335 | 0 | NEARMV, // NEAR_NEWMV |
336 | 0 | NEWMV, // NEW_NEARMV |
337 | 0 | GLOBALMV, // GLOBAL_GLOBALMV |
338 | 0 | NEWMV, // NEW_NEWMV |
339 | 0 | }; |
340 | 0 | assert(NELEMENTS(lut) == MB_MODE_COUNT); |
341 | 0 | assert(is_inter_compound_mode(mode)); |
342 | 0 | return lut[mode]; |
343 | 0 | } Unexecuted instantiation: enc_handle.c:compound_ref0_mode Unexecuted instantiation: enc_settings.c:compound_ref0_mode Unexecuted instantiation: av1me.c:compound_ref0_mode Unexecuted instantiation: cdef_process.c:compound_ref0_mode Unexecuted instantiation: dlf_process.c:compound_ref0_mode Unexecuted instantiation: enc_cdef.c:compound_ref0_mode Unexecuted instantiation: enc_dec_process.c:compound_ref0_mode Unexecuted instantiation: enc_inter_prediction.c:compound_ref0_mode Unexecuted instantiation: enc_intra_prediction.c:compound_ref0_mode Unexecuted instantiation: enc_mode_config.c:compound_ref0_mode Unexecuted instantiation: entropy_coding.c:compound_ref0_mode Unexecuted instantiation: ec_process.c:compound_ref0_mode Unexecuted instantiation: full_loop.c:compound_ref0_mode Unexecuted instantiation: initial_rc_process.c:compound_ref0_mode Unexecuted instantiation: inter_prediction.c:compound_ref0_mode Unexecuted instantiation: intra_prediction.c:compound_ref0_mode Unexecuted instantiation: md_rate_estimation.c:compound_ref0_mode Unexecuted instantiation: mode_decision.c:compound_ref0_mode Unexecuted instantiation: md_config_process.c:compound_ref0_mode Unexecuted instantiation: md_process.c:compound_ref0_mode Unexecuted instantiation: motion_estimation.c:compound_ref0_mode Unexecuted instantiation: me_process.c:compound_ref0_mode Unexecuted instantiation: packetization_process.c:compound_ref0_mode Unexecuted instantiation: pic_analysis_process.c:compound_ref0_mode Unexecuted instantiation: pcs.c:compound_ref0_mode Unexecuted instantiation: pd_process.c:compound_ref0_mode Unexecuted instantiation: pic_manager_process.c:compound_ref0_mode Unexecuted instantiation: product_coding_loop.c:compound_ref0_mode Unexecuted instantiation: rc_aq.c:compound_ref0_mode Unexecuted instantiation: rc_process.c:compound_ref0_mode Unexecuted instantiation: rc_rtc_cbr.c:compound_ref0_mode Unexecuted instantiation: rc_vbr_cbr.c:compound_ref0_mode Unexecuted instantiation: rd_cost.c:compound_ref0_mode Unexecuted instantiation: reference_object.c:compound_ref0_mode Unexecuted instantiation: resource_coordination_process.c:compound_ref0_mode Unexecuted instantiation: rest_process.c:compound_ref0_mode Unexecuted instantiation: restoration_pick.c:compound_ref0_mode Unexecuted instantiation: src_ops_process.c:compound_ref0_mode Unexecuted instantiation: super_res.c:compound_ref0_mode Unexecuted instantiation: temporal_filtering.c:compound_ref0_mode Unexecuted instantiation: transforms.c:compound_ref0_mode Unexecuted instantiation: encode_txb_ref_c.c:compound_ref0_mode Unexecuted instantiation: adaptive_mv_pred.c:compound_ref0_mode Unexecuted instantiation: coding_loop.c:compound_ref0_mode Unexecuted instantiation: coding_unit.c:compound_ref0_mode Unexecuted instantiation: deblocking_filter.c:compound_ref0_mode Unexecuted instantiation: global_me_cost.c:compound_ref0_mode Unexecuted instantiation: rc_crf_cqp.c:compound_ref0_mode |
344 | | |
345 | 0 | static INLINE PredictionMode compound_ref1_mode(PredictionMode mode) { |
346 | 0 | static PredictionMode lut[] = { |
347 | 0 | MB_MODE_COUNT, // DC_PRED |
348 | 0 | MB_MODE_COUNT, // V_PRED |
349 | 0 | MB_MODE_COUNT, // H_PRED |
350 | 0 | MB_MODE_COUNT, // D45_PRED |
351 | 0 | MB_MODE_COUNT, // D135_PRED |
352 | 0 | MB_MODE_COUNT, // D113_PRED |
353 | 0 | MB_MODE_COUNT, // D157_PRED |
354 | 0 | MB_MODE_COUNT, // D203_PRED |
355 | 0 | MB_MODE_COUNT, // D67_PRED |
356 | 0 | MB_MODE_COUNT, // SMOOTH_PRED |
357 | 0 | MB_MODE_COUNT, // SMOOTH_V_PRED |
358 | 0 | MB_MODE_COUNT, // SMOOTH_H_PRED |
359 | 0 | MB_MODE_COUNT, // PAETH_PRED |
360 | 0 | MB_MODE_COUNT, // NEARESTMV |
361 | 0 | MB_MODE_COUNT, // NEARMV |
362 | 0 | MB_MODE_COUNT, // GLOBALMV |
363 | 0 | MB_MODE_COUNT, // NEWMV |
364 | 0 | NEARESTMV, // NEAREST_NEARESTMV |
365 | 0 | NEARMV, // NEAR_NEARMV |
366 | 0 | NEWMV, // NEAREST_NEWMV |
367 | 0 | NEARESTMV, // NEW_NEARESTMV |
368 | 0 | NEWMV, // NEAR_NEWMV |
369 | 0 | NEARMV, // NEW_NEARMV |
370 | 0 | GLOBALMV, // GLOBAL_GLOBALMV |
371 | 0 | NEWMV, // NEW_NEWMV |
372 | 0 | }; |
373 | 0 | assert(NELEMENTS(lut) == MB_MODE_COUNT); |
374 | 0 | assert(is_inter_compound_mode(mode)); |
375 | 0 | return lut[mode]; |
376 | 0 | } Unexecuted instantiation: enc_handle.c:compound_ref1_mode Unexecuted instantiation: enc_settings.c:compound_ref1_mode Unexecuted instantiation: av1me.c:compound_ref1_mode Unexecuted instantiation: cdef_process.c:compound_ref1_mode Unexecuted instantiation: dlf_process.c:compound_ref1_mode Unexecuted instantiation: enc_cdef.c:compound_ref1_mode Unexecuted instantiation: enc_dec_process.c:compound_ref1_mode Unexecuted instantiation: enc_inter_prediction.c:compound_ref1_mode Unexecuted instantiation: enc_intra_prediction.c:compound_ref1_mode Unexecuted instantiation: enc_mode_config.c:compound_ref1_mode Unexecuted instantiation: entropy_coding.c:compound_ref1_mode Unexecuted instantiation: ec_process.c:compound_ref1_mode Unexecuted instantiation: full_loop.c:compound_ref1_mode Unexecuted instantiation: initial_rc_process.c:compound_ref1_mode Unexecuted instantiation: inter_prediction.c:compound_ref1_mode Unexecuted instantiation: intra_prediction.c:compound_ref1_mode Unexecuted instantiation: md_rate_estimation.c:compound_ref1_mode Unexecuted instantiation: mode_decision.c:compound_ref1_mode Unexecuted instantiation: md_config_process.c:compound_ref1_mode Unexecuted instantiation: md_process.c:compound_ref1_mode Unexecuted instantiation: motion_estimation.c:compound_ref1_mode Unexecuted instantiation: me_process.c:compound_ref1_mode Unexecuted instantiation: packetization_process.c:compound_ref1_mode Unexecuted instantiation: pic_analysis_process.c:compound_ref1_mode Unexecuted instantiation: pcs.c:compound_ref1_mode Unexecuted instantiation: pd_process.c:compound_ref1_mode Unexecuted instantiation: pic_manager_process.c:compound_ref1_mode Unexecuted instantiation: product_coding_loop.c:compound_ref1_mode Unexecuted instantiation: rc_aq.c:compound_ref1_mode Unexecuted instantiation: rc_process.c:compound_ref1_mode Unexecuted instantiation: rc_rtc_cbr.c:compound_ref1_mode Unexecuted instantiation: rc_vbr_cbr.c:compound_ref1_mode Unexecuted instantiation: rd_cost.c:compound_ref1_mode Unexecuted instantiation: reference_object.c:compound_ref1_mode Unexecuted instantiation: resource_coordination_process.c:compound_ref1_mode Unexecuted instantiation: rest_process.c:compound_ref1_mode Unexecuted instantiation: restoration_pick.c:compound_ref1_mode Unexecuted instantiation: src_ops_process.c:compound_ref1_mode Unexecuted instantiation: super_res.c:compound_ref1_mode Unexecuted instantiation: temporal_filtering.c:compound_ref1_mode Unexecuted instantiation: transforms.c:compound_ref1_mode Unexecuted instantiation: encode_txb_ref_c.c:compound_ref1_mode Unexecuted instantiation: adaptive_mv_pred.c:compound_ref1_mode Unexecuted instantiation: coding_loop.c:compound_ref1_mode Unexecuted instantiation: coding_unit.c:compound_ref1_mode Unexecuted instantiation: deblocking_filter.c:compound_ref1_mode Unexecuted instantiation: global_me_cost.c:compound_ref1_mode Unexecuted instantiation: rc_crf_cqp.c:compound_ref1_mode |
377 | | |
378 | 0 | static INLINE bool is_motion_variation_allowed_bsize(const BlockSize bsize) { |
379 | 0 | return (block_size_wide[bsize] >= 8 && block_size_high[bsize] >= 8); |
380 | 0 | } Unexecuted instantiation: enc_handle.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_settings.c:is_motion_variation_allowed_bsize Unexecuted instantiation: av1me.c:is_motion_variation_allowed_bsize Unexecuted instantiation: cdef_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: dlf_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_cdef.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_dec_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_inter_prediction.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_intra_prediction.c:is_motion_variation_allowed_bsize Unexecuted instantiation: enc_mode_config.c:is_motion_variation_allowed_bsize Unexecuted instantiation: entropy_coding.c:is_motion_variation_allowed_bsize Unexecuted instantiation: ec_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: full_loop.c:is_motion_variation_allowed_bsize Unexecuted instantiation: initial_rc_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: inter_prediction.c:is_motion_variation_allowed_bsize Unexecuted instantiation: intra_prediction.c:is_motion_variation_allowed_bsize Unexecuted instantiation: md_rate_estimation.c:is_motion_variation_allowed_bsize Unexecuted instantiation: mode_decision.c:is_motion_variation_allowed_bsize Unexecuted instantiation: md_config_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: md_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: motion_estimation.c:is_motion_variation_allowed_bsize Unexecuted instantiation: me_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: packetization_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: pic_analysis_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: pcs.c:is_motion_variation_allowed_bsize Unexecuted instantiation: pd_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: pic_manager_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: product_coding_loop.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rc_aq.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rc_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rc_rtc_cbr.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rc_vbr_cbr.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rd_cost.c:is_motion_variation_allowed_bsize Unexecuted instantiation: reference_object.c:is_motion_variation_allowed_bsize Unexecuted instantiation: resource_coordination_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rest_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: restoration_pick.c:is_motion_variation_allowed_bsize Unexecuted instantiation: src_ops_process.c:is_motion_variation_allowed_bsize Unexecuted instantiation: super_res.c:is_motion_variation_allowed_bsize Unexecuted instantiation: temporal_filtering.c:is_motion_variation_allowed_bsize Unexecuted instantiation: transforms.c:is_motion_variation_allowed_bsize Unexecuted instantiation: encode_txb_ref_c.c:is_motion_variation_allowed_bsize Unexecuted instantiation: adaptive_mv_pred.c:is_motion_variation_allowed_bsize Unexecuted instantiation: coding_loop.c:is_motion_variation_allowed_bsize Unexecuted instantiation: coding_unit.c:is_motion_variation_allowed_bsize Unexecuted instantiation: deblocking_filter.c:is_motion_variation_allowed_bsize Unexecuted instantiation: global_me_cost.c:is_motion_variation_allowed_bsize Unexecuted instantiation: rc_crf_cqp.c:is_motion_variation_allowed_bsize |
381 | | |
382 | 0 | static INLINE int is_global_mv_block(const PredictionMode mode, const BlockSize bsize, TransformationType type) { |
383 | 0 | if (!CONFIG_ENABLE_GLOBAL_MOTION) { |
384 | 0 | return 0; // global motion off in RTC -> const-folds, cascades DCE |
385 | 0 | } |
386 | 0 | return (mode == GLOBALMV || mode == GLOBAL_GLOBALMV) && type > TRANSLATION && |
387 | 0 | is_motion_variation_allowed_bsize(bsize); |
388 | 0 | } Unexecuted instantiation: enc_handle.c:is_global_mv_block Unexecuted instantiation: enc_settings.c:is_global_mv_block Unexecuted instantiation: av1me.c:is_global_mv_block Unexecuted instantiation: cdef_process.c:is_global_mv_block Unexecuted instantiation: dlf_process.c:is_global_mv_block Unexecuted instantiation: enc_cdef.c:is_global_mv_block Unexecuted instantiation: enc_dec_process.c:is_global_mv_block Unexecuted instantiation: enc_inter_prediction.c:is_global_mv_block Unexecuted instantiation: enc_intra_prediction.c:is_global_mv_block Unexecuted instantiation: enc_mode_config.c:is_global_mv_block Unexecuted instantiation: entropy_coding.c:is_global_mv_block Unexecuted instantiation: ec_process.c:is_global_mv_block Unexecuted instantiation: full_loop.c:is_global_mv_block Unexecuted instantiation: initial_rc_process.c:is_global_mv_block Unexecuted instantiation: inter_prediction.c:is_global_mv_block Unexecuted instantiation: intra_prediction.c:is_global_mv_block Unexecuted instantiation: md_rate_estimation.c:is_global_mv_block Unexecuted instantiation: mode_decision.c:is_global_mv_block Unexecuted instantiation: md_config_process.c:is_global_mv_block Unexecuted instantiation: md_process.c:is_global_mv_block Unexecuted instantiation: motion_estimation.c:is_global_mv_block Unexecuted instantiation: me_process.c:is_global_mv_block Unexecuted instantiation: packetization_process.c:is_global_mv_block Unexecuted instantiation: pic_analysis_process.c:is_global_mv_block Unexecuted instantiation: pcs.c:is_global_mv_block Unexecuted instantiation: pd_process.c:is_global_mv_block Unexecuted instantiation: pic_manager_process.c:is_global_mv_block Unexecuted instantiation: product_coding_loop.c:is_global_mv_block Unexecuted instantiation: rc_aq.c:is_global_mv_block Unexecuted instantiation: rc_process.c:is_global_mv_block Unexecuted instantiation: rc_rtc_cbr.c:is_global_mv_block Unexecuted instantiation: rc_vbr_cbr.c:is_global_mv_block Unexecuted instantiation: rd_cost.c:is_global_mv_block Unexecuted instantiation: reference_object.c:is_global_mv_block Unexecuted instantiation: resource_coordination_process.c:is_global_mv_block Unexecuted instantiation: rest_process.c:is_global_mv_block Unexecuted instantiation: restoration_pick.c:is_global_mv_block Unexecuted instantiation: src_ops_process.c:is_global_mv_block Unexecuted instantiation: super_res.c:is_global_mv_block Unexecuted instantiation: temporal_filtering.c:is_global_mv_block Unexecuted instantiation: transforms.c:is_global_mv_block Unexecuted instantiation: encode_txb_ref_c.c:is_global_mv_block Unexecuted instantiation: adaptive_mv_pred.c:is_global_mv_block Unexecuted instantiation: coding_loop.c:is_global_mv_block Unexecuted instantiation: coding_unit.c:is_global_mv_block Unexecuted instantiation: deblocking_filter.c:is_global_mv_block Unexecuted instantiation: global_me_cost.c:is_global_mv_block Unexecuted instantiation: rc_crf_cqp.c:is_global_mv_block |
389 | | |
390 | 0 | static INLINE uint32_t have_nearmv_in_inter_mode(PredictionMode mode) { |
391 | 0 | return (mode == NEARMV || mode == NEAR_NEARMV || mode == NEAR_NEWMV || mode == NEW_NEARMV); |
392 | 0 | } Unexecuted instantiation: enc_handle.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_settings.c:have_nearmv_in_inter_mode Unexecuted instantiation: av1me.c:have_nearmv_in_inter_mode Unexecuted instantiation: cdef_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: dlf_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_cdef.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_dec_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_inter_prediction.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_intra_prediction.c:have_nearmv_in_inter_mode Unexecuted instantiation: enc_mode_config.c:have_nearmv_in_inter_mode Unexecuted instantiation: entropy_coding.c:have_nearmv_in_inter_mode Unexecuted instantiation: ec_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: full_loop.c:have_nearmv_in_inter_mode Unexecuted instantiation: initial_rc_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: inter_prediction.c:have_nearmv_in_inter_mode Unexecuted instantiation: intra_prediction.c:have_nearmv_in_inter_mode Unexecuted instantiation: md_rate_estimation.c:have_nearmv_in_inter_mode Unexecuted instantiation: mode_decision.c:have_nearmv_in_inter_mode Unexecuted instantiation: md_config_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: md_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: motion_estimation.c:have_nearmv_in_inter_mode Unexecuted instantiation: me_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: packetization_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: pic_analysis_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: pcs.c:have_nearmv_in_inter_mode Unexecuted instantiation: pd_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: pic_manager_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: product_coding_loop.c:have_nearmv_in_inter_mode Unexecuted instantiation: rc_aq.c:have_nearmv_in_inter_mode Unexecuted instantiation: rc_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: rc_rtc_cbr.c:have_nearmv_in_inter_mode Unexecuted instantiation: rc_vbr_cbr.c:have_nearmv_in_inter_mode Unexecuted instantiation: rd_cost.c:have_nearmv_in_inter_mode Unexecuted instantiation: reference_object.c:have_nearmv_in_inter_mode Unexecuted instantiation: resource_coordination_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: rest_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: restoration_pick.c:have_nearmv_in_inter_mode Unexecuted instantiation: src_ops_process.c:have_nearmv_in_inter_mode Unexecuted instantiation: super_res.c:have_nearmv_in_inter_mode Unexecuted instantiation: temporal_filtering.c:have_nearmv_in_inter_mode Unexecuted instantiation: transforms.c:have_nearmv_in_inter_mode Unexecuted instantiation: encode_txb_ref_c.c:have_nearmv_in_inter_mode Unexecuted instantiation: adaptive_mv_pred.c:have_nearmv_in_inter_mode Unexecuted instantiation: coding_loop.c:have_nearmv_in_inter_mode Unexecuted instantiation: coding_unit.c:have_nearmv_in_inter_mode Unexecuted instantiation: deblocking_filter.c:have_nearmv_in_inter_mode Unexecuted instantiation: global_me_cost.c:have_nearmv_in_inter_mode Unexecuted instantiation: rc_crf_cqp.c:have_nearmv_in_inter_mode |
393 | | |
394 | | #define n_elements(x) (int32_t)(sizeof(x) / sizeof(x[0])) |
395 | | |
396 | 0 | static INLINE MvReferenceFrame comp_ref0(int32_t ref_idx) { |
397 | 0 | static const MvReferenceFrame lut[] = { |
398 | 0 | LAST_FRAME, // LAST_LAST2_FRAMES, |
399 | 0 | LAST_FRAME, // LAST_LAST3_FRAMES, |
400 | 0 | LAST_FRAME, // LAST_GOLDEN_FRAMES, |
401 | 0 | BWDREF_FRAME, // BWDREF_ALTREF_FRAMES, |
402 | 0 | LAST2_FRAME, // LAST2_LAST3_FRAMES |
403 | 0 | LAST2_FRAME, // LAST2_GOLDEN_FRAMES, |
404 | 0 | LAST3_FRAME, // LAST3_GOLDEN_FRAMES, |
405 | 0 | BWDREF_FRAME, // BWDREF_ALTREF2_FRAMES, |
406 | 0 | ALTREF2_FRAME, // ALTREF2_ALTREF_FRAMES, |
407 | 0 | }; |
408 | 0 | assert(n_elements(lut) == TOTAL_UNIDIR_COMP_REFS); |
409 | 0 | return lut[ref_idx]; |
410 | 0 | } Unexecuted instantiation: enc_handle.c:comp_ref0 Unexecuted instantiation: enc_settings.c:comp_ref0 Unexecuted instantiation: av1me.c:comp_ref0 Unexecuted instantiation: cdef_process.c:comp_ref0 Unexecuted instantiation: dlf_process.c:comp_ref0 Unexecuted instantiation: enc_cdef.c:comp_ref0 Unexecuted instantiation: enc_dec_process.c:comp_ref0 Unexecuted instantiation: enc_inter_prediction.c:comp_ref0 Unexecuted instantiation: enc_intra_prediction.c:comp_ref0 Unexecuted instantiation: enc_mode_config.c:comp_ref0 Unexecuted instantiation: entropy_coding.c:comp_ref0 Unexecuted instantiation: ec_process.c:comp_ref0 Unexecuted instantiation: full_loop.c:comp_ref0 Unexecuted instantiation: initial_rc_process.c:comp_ref0 Unexecuted instantiation: inter_prediction.c:comp_ref0 Unexecuted instantiation: intra_prediction.c:comp_ref0 Unexecuted instantiation: md_rate_estimation.c:comp_ref0 Unexecuted instantiation: mode_decision.c:comp_ref0 Unexecuted instantiation: md_config_process.c:comp_ref0 Unexecuted instantiation: md_process.c:comp_ref0 Unexecuted instantiation: motion_estimation.c:comp_ref0 Unexecuted instantiation: me_process.c:comp_ref0 Unexecuted instantiation: packetization_process.c:comp_ref0 Unexecuted instantiation: pic_analysis_process.c:comp_ref0 Unexecuted instantiation: pcs.c:comp_ref0 Unexecuted instantiation: pd_process.c:comp_ref0 Unexecuted instantiation: pic_manager_process.c:comp_ref0 Unexecuted instantiation: product_coding_loop.c:comp_ref0 Unexecuted instantiation: rc_aq.c:comp_ref0 Unexecuted instantiation: rc_process.c:comp_ref0 Unexecuted instantiation: rc_rtc_cbr.c:comp_ref0 Unexecuted instantiation: rc_vbr_cbr.c:comp_ref0 Unexecuted instantiation: rd_cost.c:comp_ref0 Unexecuted instantiation: reference_object.c:comp_ref0 Unexecuted instantiation: resource_coordination_process.c:comp_ref0 Unexecuted instantiation: rest_process.c:comp_ref0 Unexecuted instantiation: restoration_pick.c:comp_ref0 Unexecuted instantiation: src_ops_process.c:comp_ref0 Unexecuted instantiation: super_res.c:comp_ref0 Unexecuted instantiation: temporal_filtering.c:comp_ref0 Unexecuted instantiation: transforms.c:comp_ref0 Unexecuted instantiation: encode_txb_ref_c.c:comp_ref0 Unexecuted instantiation: adaptive_mv_pred.c:comp_ref0 Unexecuted instantiation: coding_loop.c:comp_ref0 Unexecuted instantiation: coding_unit.c:comp_ref0 Unexecuted instantiation: deblocking_filter.c:comp_ref0 Unexecuted instantiation: global_me_cost.c:comp_ref0 Unexecuted instantiation: rc_crf_cqp.c:comp_ref0 |
411 | | |
412 | 0 | static INLINE MvReferenceFrame comp_ref1(int32_t ref_idx) { |
413 | 0 | static const MvReferenceFrame lut[] = { |
414 | 0 | LAST2_FRAME, // LAST_LAST2_FRAMES, |
415 | 0 | LAST3_FRAME, // LAST_LAST3_FRAMES, |
416 | 0 | GOLDEN_FRAME, // LAST_GOLDEN_FRAMES, |
417 | 0 | ALTREF_FRAME, // BWDREF_ALTREF_FRAMES, |
418 | 0 | LAST3_FRAME, // LAST2_LAST3_FRAMES |
419 | 0 | GOLDEN_FRAME, // LAST2_GOLDEN_FRAMES, |
420 | 0 | GOLDEN_FRAME, // LAST3_GOLDEN_FRAMES, |
421 | 0 | ALTREF2_FRAME, // BWDREF_ALTREF2_FRAMES, |
422 | 0 | ALTREF_FRAME, // ALTREF2_ALTREF_FRAMES, |
423 | 0 | }; |
424 | 0 | assert(n_elements(lut) == TOTAL_UNIDIR_COMP_REFS); |
425 | 0 | return lut[ref_idx]; |
426 | 0 | } Unexecuted instantiation: enc_handle.c:comp_ref1 Unexecuted instantiation: enc_settings.c:comp_ref1 Unexecuted instantiation: av1me.c:comp_ref1 Unexecuted instantiation: cdef_process.c:comp_ref1 Unexecuted instantiation: dlf_process.c:comp_ref1 Unexecuted instantiation: enc_cdef.c:comp_ref1 Unexecuted instantiation: enc_dec_process.c:comp_ref1 Unexecuted instantiation: enc_inter_prediction.c:comp_ref1 Unexecuted instantiation: enc_intra_prediction.c:comp_ref1 Unexecuted instantiation: enc_mode_config.c:comp_ref1 Unexecuted instantiation: entropy_coding.c:comp_ref1 Unexecuted instantiation: ec_process.c:comp_ref1 Unexecuted instantiation: full_loop.c:comp_ref1 Unexecuted instantiation: initial_rc_process.c:comp_ref1 Unexecuted instantiation: inter_prediction.c:comp_ref1 Unexecuted instantiation: intra_prediction.c:comp_ref1 Unexecuted instantiation: md_rate_estimation.c:comp_ref1 Unexecuted instantiation: mode_decision.c:comp_ref1 Unexecuted instantiation: md_config_process.c:comp_ref1 Unexecuted instantiation: md_process.c:comp_ref1 Unexecuted instantiation: motion_estimation.c:comp_ref1 Unexecuted instantiation: me_process.c:comp_ref1 Unexecuted instantiation: packetization_process.c:comp_ref1 Unexecuted instantiation: pic_analysis_process.c:comp_ref1 Unexecuted instantiation: pcs.c:comp_ref1 Unexecuted instantiation: pd_process.c:comp_ref1 Unexecuted instantiation: pic_manager_process.c:comp_ref1 Unexecuted instantiation: product_coding_loop.c:comp_ref1 Unexecuted instantiation: rc_aq.c:comp_ref1 Unexecuted instantiation: rc_process.c:comp_ref1 Unexecuted instantiation: rc_rtc_cbr.c:comp_ref1 Unexecuted instantiation: rc_vbr_cbr.c:comp_ref1 Unexecuted instantiation: rd_cost.c:comp_ref1 Unexecuted instantiation: reference_object.c:comp_ref1 Unexecuted instantiation: resource_coordination_process.c:comp_ref1 Unexecuted instantiation: rest_process.c:comp_ref1 Unexecuted instantiation: restoration_pick.c:comp_ref1 Unexecuted instantiation: src_ops_process.c:comp_ref1 Unexecuted instantiation: super_res.c:comp_ref1 Unexecuted instantiation: temporal_filtering.c:comp_ref1 Unexecuted instantiation: transforms.c:comp_ref1 Unexecuted instantiation: encode_txb_ref_c.c:comp_ref1 Unexecuted instantiation: adaptive_mv_pred.c:comp_ref1 Unexecuted instantiation: coding_loop.c:comp_ref1 Unexecuted instantiation: coding_unit.c:comp_ref1 Unexecuted instantiation: deblocking_filter.c:comp_ref1 Unexecuted instantiation: global_me_cost.c:comp_ref1 Unexecuted instantiation: rc_crf_cqp.c:comp_ref1 |
427 | | |
428 | 0 | static INLINE int8_t get_uni_comp_ref_idx(const MvReferenceFrame* const rf) { |
429 | | // Single ref pred |
430 | 0 | if (rf[1] <= INTRA_FRAME) { |
431 | 0 | return -1; |
432 | 0 | } |
433 | | |
434 | | // Bi-directional comp ref pred |
435 | 0 | if ((rf[0] < BWDREF_FRAME) && (rf[1] >= BWDREF_FRAME)) { |
436 | 0 | return -1; |
437 | 0 | } |
438 | | |
439 | 0 | for (int8_t ref_idx = 0; ref_idx < TOTAL_UNIDIR_COMP_REFS; ++ref_idx) { |
440 | 0 | if (rf[0] == comp_ref0(ref_idx) && rf[1] == comp_ref1(ref_idx)) { |
441 | 0 | return ref_idx; |
442 | 0 | } |
443 | 0 | } |
444 | 0 | return -1; |
445 | 0 | } Unexecuted instantiation: enc_handle.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_settings.c:get_uni_comp_ref_idx Unexecuted instantiation: av1me.c:get_uni_comp_ref_idx Unexecuted instantiation: cdef_process.c:get_uni_comp_ref_idx Unexecuted instantiation: dlf_process.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_cdef.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_dec_process.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_inter_prediction.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_intra_prediction.c:get_uni_comp_ref_idx Unexecuted instantiation: enc_mode_config.c:get_uni_comp_ref_idx Unexecuted instantiation: entropy_coding.c:get_uni_comp_ref_idx Unexecuted instantiation: ec_process.c:get_uni_comp_ref_idx Unexecuted instantiation: full_loop.c:get_uni_comp_ref_idx Unexecuted instantiation: initial_rc_process.c:get_uni_comp_ref_idx Unexecuted instantiation: inter_prediction.c:get_uni_comp_ref_idx Unexecuted instantiation: intra_prediction.c:get_uni_comp_ref_idx Unexecuted instantiation: md_rate_estimation.c:get_uni_comp_ref_idx Unexecuted instantiation: mode_decision.c:get_uni_comp_ref_idx Unexecuted instantiation: md_config_process.c:get_uni_comp_ref_idx Unexecuted instantiation: md_process.c:get_uni_comp_ref_idx Unexecuted instantiation: motion_estimation.c:get_uni_comp_ref_idx Unexecuted instantiation: me_process.c:get_uni_comp_ref_idx Unexecuted instantiation: packetization_process.c:get_uni_comp_ref_idx Unexecuted instantiation: pic_analysis_process.c:get_uni_comp_ref_idx Unexecuted instantiation: pcs.c:get_uni_comp_ref_idx Unexecuted instantiation: pd_process.c:get_uni_comp_ref_idx Unexecuted instantiation: pic_manager_process.c:get_uni_comp_ref_idx Unexecuted instantiation: product_coding_loop.c:get_uni_comp_ref_idx Unexecuted instantiation: rc_aq.c:get_uni_comp_ref_idx Unexecuted instantiation: rc_process.c:get_uni_comp_ref_idx Unexecuted instantiation: rc_rtc_cbr.c:get_uni_comp_ref_idx Unexecuted instantiation: rc_vbr_cbr.c:get_uni_comp_ref_idx Unexecuted instantiation: rd_cost.c:get_uni_comp_ref_idx Unexecuted instantiation: reference_object.c:get_uni_comp_ref_idx Unexecuted instantiation: resize.c:get_uni_comp_ref_idx Unexecuted instantiation: resource_coordination_process.c:get_uni_comp_ref_idx Unexecuted instantiation: rest_process.c:get_uni_comp_ref_idx Unexecuted instantiation: restoration_pick.c:get_uni_comp_ref_idx Unexecuted instantiation: src_ops_process.c:get_uni_comp_ref_idx Unexecuted instantiation: super_res.c:get_uni_comp_ref_idx Unexecuted instantiation: temporal_filtering.c:get_uni_comp_ref_idx Unexecuted instantiation: transforms.c:get_uni_comp_ref_idx Unexecuted instantiation: encode_txb_ref_c.c:get_uni_comp_ref_idx Unexecuted instantiation: variance.c:get_uni_comp_ref_idx Unexecuted instantiation: adaptive_mv_pred.c:get_uni_comp_ref_idx Unexecuted instantiation: coding_loop.c:get_uni_comp_ref_idx Unexecuted instantiation: coding_unit.c:get_uni_comp_ref_idx Unexecuted instantiation: deblocking_filter.c:get_uni_comp_ref_idx Unexecuted instantiation: global_me_cost.c:get_uni_comp_ref_idx Unexecuted instantiation: rc_crf_cqp.c:get_uni_comp_ref_idx |
446 | | |
447 | 0 | static INLINE int8_t av1_ref_frame_type(const MvReferenceFrame* const rf) { |
448 | 0 | if (rf[1] > INTRA_FRAME) { |
449 | 0 | const int8_t uni_comp_ref_idx = get_uni_comp_ref_idx(rf); |
450 | 0 | if (uni_comp_ref_idx >= 0) { |
451 | 0 | assert((TOTAL_REFS_PER_FRAME + FWD_REFS * BWD_REFS + uni_comp_ref_idx) < MODE_CTX_REF_FRAMES); |
452 | 0 | return TOTAL_REFS_PER_FRAME + FWD_REFS * BWD_REFS + uni_comp_ref_idx; |
453 | 0 | } else { |
454 | 0 | return TOTAL_REFS_PER_FRAME + FWD_RF_OFFSET(rf[0]) + BWD_RF_OFFSET(rf[1]) * FWD_REFS; |
455 | 0 | } |
456 | 0 | } |
457 | | |
458 | 0 | return rf[0]; |
459 | 0 | } Unexecuted instantiation: enc_handle.c:av1_ref_frame_type Unexecuted instantiation: enc_settings.c:av1_ref_frame_type Unexecuted instantiation: av1me.c:av1_ref_frame_type Unexecuted instantiation: cdef_process.c:av1_ref_frame_type Unexecuted instantiation: dlf_process.c:av1_ref_frame_type Unexecuted instantiation: enc_cdef.c:av1_ref_frame_type Unexecuted instantiation: enc_dec_process.c:av1_ref_frame_type Unexecuted instantiation: enc_inter_prediction.c:av1_ref_frame_type Unexecuted instantiation: enc_intra_prediction.c:av1_ref_frame_type Unexecuted instantiation: enc_mode_config.c:av1_ref_frame_type Unexecuted instantiation: entropy_coding.c:av1_ref_frame_type Unexecuted instantiation: ec_process.c:av1_ref_frame_type Unexecuted instantiation: full_loop.c:av1_ref_frame_type Unexecuted instantiation: initial_rc_process.c:av1_ref_frame_type Unexecuted instantiation: inter_prediction.c:av1_ref_frame_type Unexecuted instantiation: intra_prediction.c:av1_ref_frame_type Unexecuted instantiation: md_rate_estimation.c:av1_ref_frame_type Unexecuted instantiation: mode_decision.c:av1_ref_frame_type Unexecuted instantiation: md_config_process.c:av1_ref_frame_type Unexecuted instantiation: md_process.c:av1_ref_frame_type Unexecuted instantiation: motion_estimation.c:av1_ref_frame_type Unexecuted instantiation: me_process.c:av1_ref_frame_type Unexecuted instantiation: packetization_process.c:av1_ref_frame_type Unexecuted instantiation: pic_analysis_process.c:av1_ref_frame_type Unexecuted instantiation: pcs.c:av1_ref_frame_type Unexecuted instantiation: pd_process.c:av1_ref_frame_type Unexecuted instantiation: pic_manager_process.c:av1_ref_frame_type Unexecuted instantiation: product_coding_loop.c:av1_ref_frame_type Unexecuted instantiation: rc_aq.c:av1_ref_frame_type Unexecuted instantiation: rc_process.c:av1_ref_frame_type Unexecuted instantiation: rc_rtc_cbr.c:av1_ref_frame_type Unexecuted instantiation: rc_vbr_cbr.c:av1_ref_frame_type Unexecuted instantiation: rd_cost.c:av1_ref_frame_type Unexecuted instantiation: reference_object.c:av1_ref_frame_type Unexecuted instantiation: resize.c:av1_ref_frame_type Unexecuted instantiation: resource_coordination_process.c:av1_ref_frame_type Unexecuted instantiation: rest_process.c:av1_ref_frame_type Unexecuted instantiation: restoration_pick.c:av1_ref_frame_type Unexecuted instantiation: src_ops_process.c:av1_ref_frame_type Unexecuted instantiation: super_res.c:av1_ref_frame_type Unexecuted instantiation: temporal_filtering.c:av1_ref_frame_type Unexecuted instantiation: transforms.c:av1_ref_frame_type Unexecuted instantiation: encode_txb_ref_c.c:av1_ref_frame_type Unexecuted instantiation: variance.c:av1_ref_frame_type Unexecuted instantiation: adaptive_mv_pred.c:av1_ref_frame_type Unexecuted instantiation: coding_loop.c:av1_ref_frame_type Unexecuted instantiation: coding_unit.c:av1_ref_frame_type Unexecuted instantiation: deblocking_filter.c:av1_ref_frame_type Unexecuted instantiation: global_me_cost.c:av1_ref_frame_type Unexecuted instantiation: rc_crf_cqp.c:av1_ref_frame_type |
460 | | |
461 | | static const MvReferenceFrame ref_frame_map[TOTAL_COMP_REFS][2] = { |
462 | | {LAST_FRAME, BWDREF_FRAME}, |
463 | | {LAST2_FRAME, BWDREF_FRAME}, |
464 | | {LAST3_FRAME, BWDREF_FRAME}, |
465 | | {GOLDEN_FRAME, BWDREF_FRAME}, |
466 | | {LAST_FRAME, ALTREF2_FRAME}, |
467 | | {LAST2_FRAME, ALTREF2_FRAME}, |
468 | | {LAST3_FRAME, ALTREF2_FRAME}, |
469 | | {GOLDEN_FRAME, ALTREF2_FRAME}, |
470 | | {LAST_FRAME, ALTREF_FRAME}, |
471 | | {LAST2_FRAME, ALTREF_FRAME}, |
472 | | {LAST3_FRAME, ALTREF_FRAME}, |
473 | | {GOLDEN_FRAME, ALTREF_FRAME}, |
474 | | {LAST_FRAME, LAST2_FRAME}, |
475 | | {LAST_FRAME, LAST3_FRAME}, |
476 | | {LAST_FRAME, GOLDEN_FRAME}, |
477 | | {BWDREF_FRAME, ALTREF_FRAME}, |
478 | | // NOTE: Following reference frame pairs are not supported to be explicitly |
479 | | // signalled, but they are possibly chosen by the use of skip_mode, |
480 | | // which may use the most recent one-sided reference frame pair. |
481 | | {LAST2_FRAME, LAST3_FRAME}, |
482 | | {LAST2_FRAME, GOLDEN_FRAME}, |
483 | | {LAST3_FRAME, GOLDEN_FRAME}, |
484 | | {BWDREF_FRAME, ALTREF2_FRAME}, |
485 | | {ALTREF2_FRAME, ALTREF_FRAME}}; |
486 | | |
487 | 0 | static INLINE void av1_set_ref_frame(MvReferenceFrame* rf, int8_t ref_frame_type) { |
488 | 0 | if (ref_frame_type >= TOTAL_REFS_PER_FRAME) { |
489 | 0 | rf[0] = ref_frame_map[ref_frame_type - TOTAL_REFS_PER_FRAME][0]; |
490 | 0 | rf[1] = ref_frame_map[ref_frame_type - TOTAL_REFS_PER_FRAME][1]; |
491 | 0 | } else { |
492 | 0 | rf[0] = ref_frame_type; |
493 | 0 | rf[1] = NONE_FRAME; |
494 | | // assert(ref_frame_type > NONE_FRAME); AMIR |
495 | 0 | } |
496 | 0 | } Unexecuted instantiation: enc_handle.c:av1_set_ref_frame Unexecuted instantiation: enc_settings.c:av1_set_ref_frame Unexecuted instantiation: av1me.c:av1_set_ref_frame Unexecuted instantiation: cdef_process.c:av1_set_ref_frame Unexecuted instantiation: dlf_process.c:av1_set_ref_frame Unexecuted instantiation: enc_cdef.c:av1_set_ref_frame Unexecuted instantiation: enc_dec_process.c:av1_set_ref_frame Unexecuted instantiation: enc_inter_prediction.c:av1_set_ref_frame Unexecuted instantiation: enc_intra_prediction.c:av1_set_ref_frame Unexecuted instantiation: enc_mode_config.c:av1_set_ref_frame Unexecuted instantiation: entropy_coding.c:av1_set_ref_frame Unexecuted instantiation: ec_process.c:av1_set_ref_frame Unexecuted instantiation: full_loop.c:av1_set_ref_frame Unexecuted instantiation: initial_rc_process.c:av1_set_ref_frame Unexecuted instantiation: inter_prediction.c:av1_set_ref_frame Unexecuted instantiation: intra_prediction.c:av1_set_ref_frame Unexecuted instantiation: md_rate_estimation.c:av1_set_ref_frame Unexecuted instantiation: mode_decision.c:av1_set_ref_frame Unexecuted instantiation: md_config_process.c:av1_set_ref_frame Unexecuted instantiation: md_process.c:av1_set_ref_frame Unexecuted instantiation: motion_estimation.c:av1_set_ref_frame Unexecuted instantiation: me_process.c:av1_set_ref_frame Unexecuted instantiation: packetization_process.c:av1_set_ref_frame Unexecuted instantiation: pic_analysis_process.c:av1_set_ref_frame Unexecuted instantiation: pcs.c:av1_set_ref_frame Unexecuted instantiation: pd_process.c:av1_set_ref_frame Unexecuted instantiation: pic_manager_process.c:av1_set_ref_frame Unexecuted instantiation: product_coding_loop.c:av1_set_ref_frame Unexecuted instantiation: rc_aq.c:av1_set_ref_frame Unexecuted instantiation: rc_process.c:av1_set_ref_frame Unexecuted instantiation: rc_rtc_cbr.c:av1_set_ref_frame Unexecuted instantiation: rc_vbr_cbr.c:av1_set_ref_frame Unexecuted instantiation: rd_cost.c:av1_set_ref_frame Unexecuted instantiation: reference_object.c:av1_set_ref_frame Unexecuted instantiation: resize.c:av1_set_ref_frame Unexecuted instantiation: resource_coordination_process.c:av1_set_ref_frame Unexecuted instantiation: rest_process.c:av1_set_ref_frame Unexecuted instantiation: restoration_pick.c:av1_set_ref_frame Unexecuted instantiation: src_ops_process.c:av1_set_ref_frame Unexecuted instantiation: super_res.c:av1_set_ref_frame Unexecuted instantiation: temporal_filtering.c:av1_set_ref_frame Unexecuted instantiation: transforms.c:av1_set_ref_frame Unexecuted instantiation: encode_txb_ref_c.c:av1_set_ref_frame Unexecuted instantiation: variance.c:av1_set_ref_frame Unexecuted instantiation: adaptive_mv_pred.c:av1_set_ref_frame Unexecuted instantiation: coding_loop.c:av1_set_ref_frame Unexecuted instantiation: coding_unit.c:av1_set_ref_frame Unexecuted instantiation: deblocking_filter.c:av1_set_ref_frame Unexecuted instantiation: global_me_cost.c:av1_set_ref_frame Unexecuted instantiation: rc_crf_cqp.c:av1_set_ref_frame |
497 | | |
498 | | /* |
499 | | |----------------------------------------------------------------| |
500 | | | ref_idx 0 1 2 3 | |
501 | | | List0 LAST LAST2 LAST3 GOLD | |
502 | | | List1 BWD ALT2 ALT | |
503 | | |----------------------------------------------------------------| |
504 | | */ |
505 | | static const uint8_t ref_type_to_list_idx[REFS_PER_FRAME + 1] = {0, 0, 0, 0, 0, 1, 1, 1}; |
506 | | |
507 | 7.27k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { |
508 | 7.27k | return ref_type_to_list_idx[ref_type]; |
509 | 7.27k | } Unexecuted instantiation: enc_handle.c:get_list_idx Unexecuted instantiation: enc_settings.c:get_list_idx Unexecuted instantiation: av1me.c:get_list_idx Unexecuted instantiation: cdef_process.c:get_list_idx Unexecuted instantiation: dlf_process.c:get_list_idx Unexecuted instantiation: enc_cdef.c:get_list_idx Unexecuted instantiation: enc_dec_process.c:get_list_idx Unexecuted instantiation: enc_inter_prediction.c:get_list_idx Unexecuted instantiation: enc_intra_prediction.c:get_list_idx Unexecuted instantiation: enc_mode_config.c:get_list_idx Unexecuted instantiation: entropy_coding.c:get_list_idx ec_process.c:get_list_idx Line | Count | Source | 507 | 3.39k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { | 508 | 3.39k | return ref_type_to_list_idx[ref_type]; | 509 | 3.39k | } |
Unexecuted instantiation: full_loop.c:get_list_idx Unexecuted instantiation: initial_rc_process.c:get_list_idx Unexecuted instantiation: inter_prediction.c:get_list_idx Unexecuted instantiation: intra_prediction.c:get_list_idx Unexecuted instantiation: md_rate_estimation.c:get_list_idx Unexecuted instantiation: mode_decision.c:get_list_idx md_config_process.c:get_list_idx Line | Count | Source | 507 | 3.88k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { | 508 | 3.88k | return ref_type_to_list_idx[ref_type]; | 509 | 3.88k | } |
Unexecuted instantiation: md_process.c:get_list_idx Unexecuted instantiation: motion_estimation.c:get_list_idx Unexecuted instantiation: me_process.c:get_list_idx Unexecuted instantiation: packetization_process.c:get_list_idx Unexecuted instantiation: palette.c:get_list_idx Unexecuted instantiation: pic_analysis_process.c:get_list_idx Unexecuted instantiation: pcs.c:get_list_idx Unexecuted instantiation: pd_process.c:get_list_idx Unexecuted instantiation: pic_manager_process.c:get_list_idx Unexecuted instantiation: product_coding_loop.c:get_list_idx Unexecuted instantiation: rc_aq.c:get_list_idx Unexecuted instantiation: rc_process.c:get_list_idx Unexecuted instantiation: rc_rtc_cbr.c:get_list_idx Unexecuted instantiation: rc_vbr_cbr.c:get_list_idx Unexecuted instantiation: rd_cost.c:get_list_idx Unexecuted instantiation: reference_object.c:get_list_idx Unexecuted instantiation: resize.c:get_list_idx Unexecuted instantiation: resource_coordination_process.c:get_list_idx Unexecuted instantiation: rest_process.c:get_list_idx Unexecuted instantiation: restoration_pick.c:get_list_idx Unexecuted instantiation: segmentation.c:get_list_idx Unexecuted instantiation: src_ops_process.c:get_list_idx Unexecuted instantiation: super_res.c:get_list_idx Unexecuted instantiation: temporal_filtering.c:get_list_idx Unexecuted instantiation: transforms.c:get_list_idx Unexecuted instantiation: encode_txb_ref_c.c:get_list_idx Unexecuted instantiation: variance.c:get_list_idx Unexecuted instantiation: adaptive_mv_pred.c:get_list_idx Unexecuted instantiation: coding_loop.c:get_list_idx Unexecuted instantiation: coding_unit.c:get_list_idx Unexecuted instantiation: deblocking_filter.c:get_list_idx Unexecuted instantiation: firstpass.c:get_list_idx Unexecuted instantiation: global_me_cost.c:get_list_idx Unexecuted instantiation: mcomp.c:get_list_idx Unexecuted instantiation: pass2_strategy.c:get_list_idx Unexecuted instantiation: rc_crf_cqp.c:get_list_idx |
510 | | |
511 | | static const uint8_t ref_type_to_ref_idx[REFS_PER_FRAME + 1] = {0, 0, 1, 2, 3, 0, 1, 2}; |
512 | | |
513 | 7.27k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { |
514 | 7.27k | return ref_type_to_ref_idx[ref_type]; |
515 | 7.27k | }; Unexecuted instantiation: enc_handle.c:get_ref_frame_idx Unexecuted instantiation: enc_settings.c:get_ref_frame_idx Unexecuted instantiation: av1me.c:get_ref_frame_idx Unexecuted instantiation: cdef_process.c:get_ref_frame_idx Unexecuted instantiation: dlf_process.c:get_ref_frame_idx Unexecuted instantiation: enc_cdef.c:get_ref_frame_idx Unexecuted instantiation: enc_dec_process.c:get_ref_frame_idx Unexecuted instantiation: enc_inter_prediction.c:get_ref_frame_idx Unexecuted instantiation: enc_intra_prediction.c:get_ref_frame_idx Unexecuted instantiation: enc_mode_config.c:get_ref_frame_idx Unexecuted instantiation: entropy_coding.c:get_ref_frame_idx ec_process.c:get_ref_frame_idx Line | Count | Source | 513 | 3.39k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { | 514 | 3.39k | return ref_type_to_ref_idx[ref_type]; | 515 | 3.39k | }; |
Unexecuted instantiation: full_loop.c:get_ref_frame_idx Unexecuted instantiation: initial_rc_process.c:get_ref_frame_idx Unexecuted instantiation: inter_prediction.c:get_ref_frame_idx Unexecuted instantiation: intra_prediction.c:get_ref_frame_idx Unexecuted instantiation: md_rate_estimation.c:get_ref_frame_idx Unexecuted instantiation: mode_decision.c:get_ref_frame_idx md_config_process.c:get_ref_frame_idx Line | Count | Source | 513 | 3.88k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { | 514 | 3.88k | return ref_type_to_ref_idx[ref_type]; | 515 | 3.88k | }; |
Unexecuted instantiation: md_process.c:get_ref_frame_idx Unexecuted instantiation: motion_estimation.c:get_ref_frame_idx Unexecuted instantiation: me_process.c:get_ref_frame_idx Unexecuted instantiation: packetization_process.c:get_ref_frame_idx Unexecuted instantiation: palette.c:get_ref_frame_idx Unexecuted instantiation: pic_analysis_process.c:get_ref_frame_idx Unexecuted instantiation: pcs.c:get_ref_frame_idx Unexecuted instantiation: pd_process.c:get_ref_frame_idx Unexecuted instantiation: pic_manager_process.c:get_ref_frame_idx Unexecuted instantiation: product_coding_loop.c:get_ref_frame_idx Unexecuted instantiation: rc_aq.c:get_ref_frame_idx Unexecuted instantiation: rc_process.c:get_ref_frame_idx Unexecuted instantiation: rc_rtc_cbr.c:get_ref_frame_idx Unexecuted instantiation: rc_vbr_cbr.c:get_ref_frame_idx Unexecuted instantiation: rd_cost.c:get_ref_frame_idx Unexecuted instantiation: reference_object.c:get_ref_frame_idx Unexecuted instantiation: resize.c:get_ref_frame_idx Unexecuted instantiation: resource_coordination_process.c:get_ref_frame_idx Unexecuted instantiation: rest_process.c:get_ref_frame_idx Unexecuted instantiation: restoration_pick.c:get_ref_frame_idx Unexecuted instantiation: segmentation.c:get_ref_frame_idx Unexecuted instantiation: src_ops_process.c:get_ref_frame_idx Unexecuted instantiation: super_res.c:get_ref_frame_idx Unexecuted instantiation: temporal_filtering.c:get_ref_frame_idx Unexecuted instantiation: transforms.c:get_ref_frame_idx Unexecuted instantiation: encode_txb_ref_c.c:get_ref_frame_idx Unexecuted instantiation: variance.c:get_ref_frame_idx Unexecuted instantiation: adaptive_mv_pred.c:get_ref_frame_idx Unexecuted instantiation: coding_loop.c:get_ref_frame_idx Unexecuted instantiation: coding_unit.c:get_ref_frame_idx Unexecuted instantiation: deblocking_filter.c:get_ref_frame_idx Unexecuted instantiation: firstpass.c:get_ref_frame_idx Unexecuted instantiation: global_me_cost.c:get_ref_frame_idx Unexecuted instantiation: mcomp.c:get_ref_frame_idx Unexecuted instantiation: pass2_strategy.c:get_ref_frame_idx Unexecuted instantiation: rc_crf_cqp.c:get_ref_frame_idx |
516 | | #if CONFIG_ENABLE_OBMC |
517 | | int svt_av1_skip_u4x4_pred_in_obmc(BlockSize bsize, int dir, int subsampling_x, int subsampling_y); |
518 | | #endif |
519 | | int svt_aom_get_relative_dist_enc(SeqHeader* seq_header, int ref_hint, int order_hint); |
520 | | int16_t svt_aom_mode_context_analyzer(int16_t mode_context, const MvReferenceFrame* const rf); |
521 | | |
522 | | #ifdef __cplusplus |
523 | | } |
524 | | #endif |
525 | | #endif //EbInterPrediction_h |