/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.89k | #define REF_SCALE_SHIFT 14 |
28 | 1.42k | #define REF_NO_SCALE (1 << REF_SCALE_SHIFT) |
29 | 1.42k | #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_light_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 | 474 | static INLINE int av1_is_valid_scale(const struct ScaleFactors* sf) { |
162 | 474 | return sf->x_scale_fp != REF_INVALID_SCALE && sf->y_scale_fp != REF_INVALID_SCALE; |
163 | 474 | } 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 | 474 | static INLINE int av1_is_valid_scale(const struct ScaleFactors* sf) { | 162 | 474 | return sf->x_scale_fp != REF_INVALID_SCALE && sf->y_scale_fp != REF_INVALID_SCALE; | 163 | 474 | } |
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 | 474 | static INLINE int av1_is_scaled(const struct ScaleFactors* sf) { |
166 | 474 | return av1_is_valid_scale(sf) && (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); |
167 | 474 | } 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 | 474 | static INLINE int av1_is_scaled(const struct ScaleFactors* sf) { | 166 | 474 | return av1_is_valid_scale(sf) && (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); | 167 | 474 | } |
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 | 474 | static INLINE int valid_ref_frame_size(int ref_width, int ref_height, int this_width, int this_height) { |
170 | 474 | return 2 * this_width >= ref_width && 2 * this_height >= ref_height && this_width <= 16 * ref_width && |
171 | 474 | this_height <= 16 * ref_height; |
172 | 474 | } 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 | 474 | static INLINE int valid_ref_frame_size(int ref_width, int ref_height, int this_width, int this_height) { | 170 | 474 | return 2 * this_width >= ref_width && 2 * this_height >= ref_height && this_width <= 16 * ref_width && | 171 | 474 | this_height <= 16 * ref_height; | 172 | 474 | } |
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 | | static int div_mult[32] = {0, 16384, 8192, 5461, 4096, 3276, 2730, 2340, 2048, 1820, 1638, |
200 | | 1489, 1365, 1260, 1170, 1092, 1024, 963, 910, 862, 819, 780, |
201 | | 744, 712, 682, 655, 630, 606, 585, 564, 546, 528}; |
202 | | |
203 | 0 | static INLINE void integer_mv_precision(Mv* mv) { |
204 | 0 | int mod = (mv->y % 8); |
205 | 0 | if (mod != 0) { |
206 | 0 | mv->y -= mod; |
207 | 0 | if (abs(mod) > 4) { |
208 | 0 | if (mod > 0) { |
209 | 0 | mv->y += 8; |
210 | 0 | } else { |
211 | 0 | mv->y -= 8; |
212 | 0 | } |
213 | 0 | } |
214 | 0 | } |
215 | |
|
216 | 0 | mod = (mv->x % 8); |
217 | 0 | if (mod != 0) { |
218 | 0 | mv->x -= mod; |
219 | 0 | if (abs(mod) > 4) { |
220 | 0 | if (mod > 0) { |
221 | 0 | mv->x += 8; |
222 | 0 | } else { |
223 | 0 | mv->x -= 8; |
224 | 0 | } |
225 | 0 | } |
226 | 0 | } |
227 | 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 |
228 | | |
229 | 0 | static INLINE void lower_mv_precision(Mv* mv, int allow_hp, int is_integer) { |
230 | 0 | if (is_integer) { |
231 | 0 | integer_mv_precision(mv); |
232 | 0 | } else { |
233 | 0 | if (!allow_hp) { |
234 | 0 | if (mv->y & 1) { |
235 | 0 | mv->y += (mv->y > 0 ? -1 : 1); |
236 | 0 | } |
237 | 0 | if (mv->x & 1) { |
238 | 0 | mv->x += (mv->x > 0 ? -1 : 1); |
239 | 0 | } |
240 | 0 | } |
241 | 0 | } |
242 | 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 |
243 | | |
244 | 0 | static INLINE void get_mv_projection(Mv* output, Mv ref, int num, int den) { |
245 | 0 | den = AOMMIN(den, MAX_FRAME_DISTANCE); |
246 | 0 | num = num > 0 ? AOMMIN(num, MAX_FRAME_DISTANCE) : AOMMAX(num, -MAX_FRAME_DISTANCE); |
247 | 0 | const int mv_row = ROUND_POWER_OF_TWO_SIGNED(ref.y * num * div_mult[den], 14); |
248 | 0 | const int mv_col = ROUND_POWER_OF_TWO_SIGNED(ref.x * num * div_mult[den], 14); |
249 | 0 | const int clamp_max = MV_UPP - 1; |
250 | 0 | const int clamp_min = MV_LOW + 1; |
251 | 0 | output->y = (int16_t)clamp(mv_row, clamp_min, clamp_max); |
252 | 0 | output->x = (int16_t)clamp(mv_col, clamp_min, clamp_max); |
253 | 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 |
254 | | |
255 | 0 | static INLINE int check_sb_border(const int mi_row, const int mi_col, const int row_offset, const int col_offset) { |
256 | 0 | const int sb_mi_size = mi_size_wide[BLOCK_64X64]; |
257 | 0 | const int row = mi_row & (sb_mi_size - 1); |
258 | 0 | const int col = mi_col & (sb_mi_size - 1); |
259 | |
|
260 | 0 | if (row + row_offset < 0 || row + row_offset >= sb_mi_size || col + col_offset < 0 || |
261 | 0 | col + col_offset >= sb_mi_size) { |
262 | 0 | return 0; |
263 | 0 | } |
264 | | |
265 | 0 | return 1; |
266 | 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 |
267 | | |
268 | | // AV1 spec 7.10.3 |
269 | | // overlappable neighbours not relevant for intra frames (i.e. where intra_bc is allowed) |
270 | | // because no warp/obmc in intra frames. |
271 | 0 | static INLINE int is_neighbor_overlappable(const MbModeInfo* mbmi) { |
272 | 0 | return mbmi->block_mi.ref_frame[0] > INTRA_FRAME; |
273 | 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 |
274 | | |
275 | 0 | static INLINE int32_t is_mv_valid(const Mv* mv) { |
276 | 0 | return mv->y > MV_LOW && mv->y < MV_UPP && mv->x > MV_LOW && mv->x < MV_UPP; |
277 | 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 |
278 | | |
279 | 0 | #define CHECK_BACKWARD_REFS(ref_frame) (((ref_frame) >= BWDREF_FRAME) && ((ref_frame) <= ALTREF_FRAME)) |
280 | 0 | #define IS_BACKWARD_REF_FRAME(ref_frame) CHECK_BACKWARD_REFS(ref_frame) |
281 | | |
282 | | void svt_aom_find_ref_dv(Mv* ref_dv, const TileInfo* const tile, int mib_size, int mi_row, int mi_col); |
283 | | |
284 | 0 | static INLINE int32_t is_comp_ref_allowed(BlockSize bsize) { |
285 | 0 | return AOMMIN(block_size_wide[bsize], block_size_high[bsize]) >= 8; |
286 | 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 |
287 | | |
288 | 0 | static INLINE int is_interinter_compound_used(CompoundType type, BlockSize bsize) { |
289 | 0 | const int comp_allowed = is_comp_ref_allowed(bsize); |
290 | 0 | switch (type) { |
291 | 0 | case COMPOUND_AVERAGE: |
292 | 0 | case COMPOUND_DISTWTD: |
293 | 0 | case COMPOUND_DIFFWTD: |
294 | 0 | return comp_allowed; |
295 | 0 | case COMPOUND_WEDGE: |
296 | 0 | return comp_allowed && svt_aom_get_wedge_params_bits(bsize) > 0; |
297 | 0 | default: |
298 | 0 | assert(0); |
299 | 0 | return 0; |
300 | 0 | } |
301 | 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 |
302 | | |
303 | 0 | static INLINE int is_any_masked_compound_used(BlockSize bsize) { |
304 | 0 | CompoundType comp_type; |
305 | 0 | int i; |
306 | 0 | if (!is_comp_ref_allowed(bsize)) { |
307 | 0 | return 0; |
308 | 0 | } |
309 | 0 | for (i = 0; i < COMPOUND_TYPES; i++) { |
310 | 0 | comp_type = (CompoundType)i; |
311 | 0 | if (svt_aom_is_masked_compound_type(comp_type) && is_interinter_compound_used(comp_type, bsize)) { |
312 | 0 | return 1; |
313 | 0 | } |
314 | 0 | } |
315 | 0 | return 0; |
316 | 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 |
317 | | |
318 | 18.8k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { |
319 | 18.8k | TxSize tx_size = blocksize_to_txsize[bsize]; |
320 | 18.8k | assert(tx_size != TX_4X4); |
321 | 18.8k | int depth = 0; |
322 | 68.1k | while (tx_size != TX_4X4) { |
323 | 49.2k | depth++; |
324 | 49.2k | tx_size = eb_sub_tx_size_map[tx_size]; |
325 | 49.2k | assert(depth < 10); |
326 | 49.2k | } |
327 | 18.8k | assert(depth <= MAX_TX_CATS); |
328 | 18.8k | return depth - 1; |
329 | 18.8k | } 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 | 318 | 7.54k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { | 319 | 7.54k | TxSize tx_size = blocksize_to_txsize[bsize]; | 320 | 7.54k | assert(tx_size != TX_4X4); | 321 | 7.54k | int depth = 0; | 322 | 25.9k | while (tx_size != TX_4X4) { | 323 | 18.3k | depth++; | 324 | 18.3k | tx_size = eb_sub_tx_size_map[tx_size]; | 325 | 18.3k | assert(depth < 10); | 326 | 18.3k | } | 327 | | assert(depth <= MAX_TX_CATS); | 328 | 7.54k | return depth - 1; | 329 | 7.54k | } |
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 | 318 | 11.3k | static INLINE int bsize_to_tx_size_cat(BlockSize bsize) { | 319 | 11.3k | TxSize tx_size = blocksize_to_txsize[bsize]; | 320 | 11.3k | assert(tx_size != TX_4X4); | 321 | 11.3k | int depth = 0; | 322 | 42.1k | while (tx_size != TX_4X4) { | 323 | 30.8k | depth++; | 324 | 30.8k | tx_size = eb_sub_tx_size_map[tx_size]; | 325 | 30.8k | assert(depth < 10); | 326 | 30.8k | } | 327 | | assert(depth <= MAX_TX_CATS); | 328 | 11.3k | return depth - 1; | 329 | 11.3k | } |
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 |
330 | | |
331 | 7.54k | static INLINE int bsize_to_max_depth(BlockSize bsize) { |
332 | 7.54k | TxSize tx_size = blocksize_to_txsize[bsize]; |
333 | 7.54k | int depth = 0; |
334 | 19.8k | while (depth < MAX_TX_DEPTH && tx_size != TX_4X4) { |
335 | 12.2k | depth++; |
336 | 12.2k | tx_size = eb_sub_tx_size_map[tx_size]; |
337 | 12.2k | } |
338 | 7.54k | return depth; |
339 | 7.54k | } 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 | 331 | 7.54k | static INLINE int bsize_to_max_depth(BlockSize bsize) { | 332 | 7.54k | TxSize tx_size = blocksize_to_txsize[bsize]; | 333 | 7.54k | int depth = 0; | 334 | 19.8k | while (depth < MAX_TX_DEPTH && tx_size != TX_4X4) { | 335 | 12.2k | depth++; | 336 | 12.2k | tx_size = eb_sub_tx_size_map[tx_size]; | 337 | 12.2k | } | 338 | 7.54k | return depth; | 339 | 7.54k | } |
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 |
340 | | |
341 | 0 | static INLINE PredictionMode compound_ref0_mode(PredictionMode mode) { |
342 | 0 | static PredictionMode lut[] = { |
343 | 0 | MB_MODE_COUNT, // DC_PRED |
344 | 0 | MB_MODE_COUNT, // V_PRED |
345 | 0 | MB_MODE_COUNT, // H_PRED |
346 | 0 | MB_MODE_COUNT, // D45_PRED |
347 | 0 | MB_MODE_COUNT, // D135_PRED |
348 | 0 | MB_MODE_COUNT, // D113_PRED |
349 | 0 | MB_MODE_COUNT, // D157_PRED |
350 | 0 | MB_MODE_COUNT, // D203_PRED |
351 | 0 | MB_MODE_COUNT, // D67_PRED |
352 | 0 | MB_MODE_COUNT, // SMOOTH_PRED |
353 | 0 | MB_MODE_COUNT, // SMOOTH_V_PRED |
354 | 0 | MB_MODE_COUNT, // SMOOTH_H_PRED |
355 | 0 | MB_MODE_COUNT, // PAETH_PRED |
356 | 0 | MB_MODE_COUNT, // NEARESTMV |
357 | 0 | MB_MODE_COUNT, // NEARMV |
358 | 0 | MB_MODE_COUNT, // GLOBALMV |
359 | 0 | MB_MODE_COUNT, // NEWMV |
360 | 0 | NEARESTMV, // NEAREST_NEARESTMV |
361 | 0 | NEARMV, // NEAR_NEARMV |
362 | 0 | NEARESTMV, // NEAREST_NEWMV |
363 | 0 | NEWMV, // NEW_NEARESTMV |
364 | 0 | NEARMV, // NEAR_NEWMV |
365 | 0 | NEWMV, // NEW_NEARMV |
366 | 0 | GLOBALMV, // GLOBAL_GLOBALMV |
367 | 0 | NEWMV, // NEW_NEWMV |
368 | 0 | }; |
369 | 0 | assert(NELEMENTS(lut) == MB_MODE_COUNT); |
370 | 0 | assert(is_inter_compound_mode(mode)); |
371 | 0 | return lut[mode]; |
372 | 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 |
373 | | |
374 | 0 | static INLINE PredictionMode compound_ref1_mode(PredictionMode mode) { |
375 | 0 | static PredictionMode lut[] = { |
376 | 0 | MB_MODE_COUNT, // DC_PRED |
377 | 0 | MB_MODE_COUNT, // V_PRED |
378 | 0 | MB_MODE_COUNT, // H_PRED |
379 | 0 | MB_MODE_COUNT, // D45_PRED |
380 | 0 | MB_MODE_COUNT, // D135_PRED |
381 | 0 | MB_MODE_COUNT, // D113_PRED |
382 | 0 | MB_MODE_COUNT, // D157_PRED |
383 | 0 | MB_MODE_COUNT, // D203_PRED |
384 | 0 | MB_MODE_COUNT, // D67_PRED |
385 | 0 | MB_MODE_COUNT, // SMOOTH_PRED |
386 | 0 | MB_MODE_COUNT, // SMOOTH_V_PRED |
387 | 0 | MB_MODE_COUNT, // SMOOTH_H_PRED |
388 | 0 | MB_MODE_COUNT, // PAETH_PRED |
389 | 0 | MB_MODE_COUNT, // NEARESTMV |
390 | 0 | MB_MODE_COUNT, // NEARMV |
391 | 0 | MB_MODE_COUNT, // GLOBALMV |
392 | 0 | MB_MODE_COUNT, // NEWMV |
393 | 0 | NEARESTMV, // NEAREST_NEARESTMV |
394 | 0 | NEARMV, // NEAR_NEARMV |
395 | 0 | NEWMV, // NEAREST_NEWMV |
396 | 0 | NEARESTMV, // NEW_NEARESTMV |
397 | 0 | NEWMV, // NEAR_NEWMV |
398 | 0 | NEARMV, // NEW_NEARMV |
399 | 0 | GLOBALMV, // GLOBAL_GLOBALMV |
400 | 0 | NEWMV, // NEW_NEWMV |
401 | 0 | }; |
402 | 0 | assert(NELEMENTS(lut) == MB_MODE_COUNT); |
403 | 0 | assert(is_inter_compound_mode(mode)); |
404 | 0 | return lut[mode]; |
405 | 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 |
406 | | |
407 | 0 | static INLINE bool is_motion_variation_allowed_bsize(const BlockSize bsize) { |
408 | 0 | return (block_size_wide[bsize] >= 8 && block_size_high[bsize] >= 8); |
409 | 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 |
410 | | |
411 | 0 | static INLINE int is_global_mv_block(const PredictionMode mode, const BlockSize bsize, TransformationType type) { |
412 | 0 | return (mode == GLOBALMV || mode == GLOBAL_GLOBALMV) && type > TRANSLATION && |
413 | 0 | is_motion_variation_allowed_bsize(bsize); |
414 | 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 |
415 | | |
416 | 0 | static INLINE uint32_t have_nearmv_in_inter_mode(PredictionMode mode) { |
417 | 0 | return (mode == NEARMV || mode == NEAR_NEARMV || mode == NEAR_NEWMV || mode == NEW_NEARMV); |
418 | 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 |
419 | | |
420 | | #define n_elements(x) (int32_t)(sizeof(x) / sizeof(x[0])) |
421 | | |
422 | 0 | static INLINE MvReferenceFrame comp_ref0(int32_t ref_idx) { |
423 | 0 | static const MvReferenceFrame lut[] = { |
424 | 0 | LAST_FRAME, // LAST_LAST2_FRAMES, |
425 | 0 | LAST_FRAME, // LAST_LAST3_FRAMES, |
426 | 0 | LAST_FRAME, // LAST_GOLDEN_FRAMES, |
427 | 0 | BWDREF_FRAME, // BWDREF_ALTREF_FRAMES, |
428 | 0 | LAST2_FRAME, // LAST2_LAST3_FRAMES |
429 | 0 | LAST2_FRAME, // LAST2_GOLDEN_FRAMES, |
430 | 0 | LAST3_FRAME, // LAST3_GOLDEN_FRAMES, |
431 | 0 | BWDREF_FRAME, // BWDREF_ALTREF2_FRAMES, |
432 | 0 | ALTREF2_FRAME, // ALTREF2_ALTREF_FRAMES, |
433 | 0 | }; |
434 | 0 | assert(n_elements(lut) == TOTAL_UNIDIR_COMP_REFS); |
435 | 0 | return lut[ref_idx]; |
436 | 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 |
437 | | |
438 | 0 | static INLINE MvReferenceFrame comp_ref1(int32_t ref_idx) { |
439 | 0 | static const MvReferenceFrame lut[] = { |
440 | 0 | LAST2_FRAME, // LAST_LAST2_FRAMES, |
441 | 0 | LAST3_FRAME, // LAST_LAST3_FRAMES, |
442 | 0 | GOLDEN_FRAME, // LAST_GOLDEN_FRAMES, |
443 | 0 | ALTREF_FRAME, // BWDREF_ALTREF_FRAMES, |
444 | 0 | LAST3_FRAME, // LAST2_LAST3_FRAMES |
445 | 0 | GOLDEN_FRAME, // LAST2_GOLDEN_FRAMES, |
446 | 0 | GOLDEN_FRAME, // LAST3_GOLDEN_FRAMES, |
447 | 0 | ALTREF2_FRAME, // BWDREF_ALTREF2_FRAMES, |
448 | 0 | ALTREF_FRAME, // ALTREF2_ALTREF_FRAMES, |
449 | 0 | }; |
450 | 0 | assert(n_elements(lut) == TOTAL_UNIDIR_COMP_REFS); |
451 | 0 | return lut[ref_idx]; |
452 | 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 |
453 | | |
454 | 0 | static INLINE int8_t get_uni_comp_ref_idx(const MvReferenceFrame* const rf) { |
455 | | // Single ref pred |
456 | 0 | if (rf[1] <= INTRA_FRAME) { |
457 | 0 | return -1; |
458 | 0 | } |
459 | | |
460 | | // Bi-directional comp ref pred |
461 | 0 | if ((rf[0] < BWDREF_FRAME) && (rf[1] >= BWDREF_FRAME)) { |
462 | 0 | return -1; |
463 | 0 | } |
464 | | |
465 | 0 | for (int8_t ref_idx = 0; ref_idx < TOTAL_UNIDIR_COMP_REFS; ++ref_idx) { |
466 | 0 | if (rf[0] == comp_ref0(ref_idx) && rf[1] == comp_ref1(ref_idx)) { |
467 | 0 | return ref_idx; |
468 | 0 | } |
469 | 0 | } |
470 | 0 | return -1; |
471 | 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 |
472 | | |
473 | 0 | static INLINE int8_t av1_ref_frame_type(const MvReferenceFrame* const rf) { |
474 | 0 | if (rf[1] > INTRA_FRAME) { |
475 | 0 | const int8_t uni_comp_ref_idx = get_uni_comp_ref_idx(rf); |
476 | 0 | if (uni_comp_ref_idx >= 0) { |
477 | 0 | assert((TOTAL_REFS_PER_FRAME + FWD_REFS * BWD_REFS + uni_comp_ref_idx) < MODE_CTX_REF_FRAMES); |
478 | 0 | return TOTAL_REFS_PER_FRAME + FWD_REFS * BWD_REFS + uni_comp_ref_idx; |
479 | 0 | } else { |
480 | 0 | return TOTAL_REFS_PER_FRAME + FWD_RF_OFFSET(rf[0]) + BWD_RF_OFFSET(rf[1]) * FWD_REFS; |
481 | 0 | } |
482 | 0 | } |
483 | | |
484 | 0 | return rf[0]; |
485 | 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 |
486 | | |
487 | | static MvReferenceFrame ref_frame_map[TOTAL_COMP_REFS][2] = { |
488 | | {LAST_FRAME, BWDREF_FRAME}, |
489 | | {LAST2_FRAME, BWDREF_FRAME}, |
490 | | {LAST3_FRAME, BWDREF_FRAME}, |
491 | | {GOLDEN_FRAME, BWDREF_FRAME}, |
492 | | {LAST_FRAME, ALTREF2_FRAME}, |
493 | | {LAST2_FRAME, ALTREF2_FRAME}, |
494 | | {LAST3_FRAME, ALTREF2_FRAME}, |
495 | | {GOLDEN_FRAME, ALTREF2_FRAME}, |
496 | | {LAST_FRAME, ALTREF_FRAME}, |
497 | | {LAST2_FRAME, ALTREF_FRAME}, |
498 | | {LAST3_FRAME, ALTREF_FRAME}, |
499 | | {GOLDEN_FRAME, ALTREF_FRAME}, |
500 | | {LAST_FRAME, LAST2_FRAME}, |
501 | | {LAST_FRAME, LAST3_FRAME}, |
502 | | {LAST_FRAME, GOLDEN_FRAME}, |
503 | | {BWDREF_FRAME, ALTREF_FRAME}, |
504 | | // NOTE: Following reference frame pairs are not supported to be explicitly |
505 | | // signalled, but they are possibly chosen by the use of skip_mode, |
506 | | // which may use the most recent one-sided reference frame pair. |
507 | | {LAST2_FRAME, LAST3_FRAME}, |
508 | | {LAST2_FRAME, GOLDEN_FRAME}, |
509 | | {LAST3_FRAME, GOLDEN_FRAME}, |
510 | | {BWDREF_FRAME, ALTREF2_FRAME}, |
511 | | {ALTREF2_FRAME, ALTREF_FRAME}}; |
512 | | |
513 | 0 | static INLINE void av1_set_ref_frame(MvReferenceFrame* rf, int8_t ref_frame_type) { |
514 | 0 | if (ref_frame_type >= TOTAL_REFS_PER_FRAME) { |
515 | 0 | rf[0] = ref_frame_map[ref_frame_type - TOTAL_REFS_PER_FRAME][0]; |
516 | 0 | rf[1] = ref_frame_map[ref_frame_type - TOTAL_REFS_PER_FRAME][1]; |
517 | 0 | } else { |
518 | 0 | rf[0] = ref_frame_type; |
519 | 0 | rf[1] = NONE_FRAME; |
520 | | // assert(ref_frame_type > NONE_FRAME); AMIR |
521 | 0 | } |
522 | 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 |
523 | | |
524 | | /* |
525 | | |----------------------------------------------------------------| |
526 | | | ref_idx 0 1 2 3 | |
527 | | | List0 LAST LAST2 LAST3 GOLD | |
528 | | | List1 BWD ALT2 ALT | |
529 | | |----------------------------------------------------------------| |
530 | | */ |
531 | | static uint8_t ref_type_to_list_idx[REFS_PER_FRAME + 1] = {0, 0, 0, 0, 0, 1, 1, 1}; |
532 | | |
533 | 7.11k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { |
534 | 7.11k | return ref_type_to_list_idx[ref_type]; |
535 | 7.11k | } 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 | 533 | 3.31k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { | 534 | 3.31k | return ref_type_to_list_idx[ref_type]; | 535 | 3.31k | } |
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 | 533 | 3.79k | static INLINE uint8_t get_list_idx(uint8_t ref_type) { | 534 | 3.79k | return ref_type_to_list_idx[ref_type]; | 535 | 3.79k | } |
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 |
536 | | |
537 | | static uint8_t ref_type_to_ref_idx[REFS_PER_FRAME + 1] = {0, 0, 1, 2, 3, 0, 1, 2}; |
538 | | |
539 | 7.11k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { |
540 | 7.11k | return ref_type_to_ref_idx[ref_type]; |
541 | 7.11k | }; 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 | 539 | 3.31k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { | 540 | 3.31k | return ref_type_to_ref_idx[ref_type]; | 541 | 3.31k | }; |
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 | 539 | 3.79k | static INLINE uint8_t get_ref_frame_idx(uint8_t ref_type) { | 540 | 3.79k | return ref_type_to_ref_idx[ref_type]; | 541 | 3.79k | }; |
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 |
542 | | #if CONFIG_ENABLE_OBMC |
543 | | int svt_av1_skip_u4x4_pred_in_obmc(BlockSize bsize, int dir, int subsampling_x, int subsampling_y); |
544 | | #endif |
545 | | int svt_aom_get_relative_dist_enc(SeqHeader* seq_header, int ref_hint, int order_hint); |
546 | | int16_t svt_aom_mode_context_analyzer(int16_t mode_context, const MvReferenceFrame* const rf); |
547 | | |
548 | | #ifdef __cplusplus |
549 | | } |
550 | | #endif |
551 | | #endif //EbInterPrediction_h |