/src/aom/av1/common/convolve.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2016, Alliance for Open Media. All rights reserved. |
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 www.aomedia.org/license/software. 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 www.aomedia.org/license/patent. |
10 | | */ |
11 | | |
12 | | #ifndef AOM_AV1_COMMON_CONVOLVE_H_ |
13 | | #define AOM_AV1_COMMON_CONVOLVE_H_ |
14 | | #include "av1/common/filter.h" |
15 | | |
16 | | #ifdef __cplusplus |
17 | | extern "C" { |
18 | | #endif |
19 | | |
20 | | typedef uint16_t CONV_BUF_TYPE; |
21 | | typedef struct ConvolveParams { |
22 | | int do_average; |
23 | | CONV_BUF_TYPE *dst; |
24 | | int dst_stride; |
25 | | int round_0; |
26 | | int round_1; |
27 | | int plane; |
28 | | int is_compound; |
29 | | int use_dist_wtd_comp_avg; |
30 | | int fwd_offset; |
31 | | int bck_offset; |
32 | | } ConvolveParams; |
33 | | |
34 | | typedef struct WienerConvolveParams { |
35 | | int round_0; |
36 | | int round_1; |
37 | | } WienerConvolveParams; |
38 | | |
39 | 513k | #define ROUND0_BITS 3 |
40 | 56.8k | #define COMPOUND_ROUND1_BITS 7 |
41 | 26.2k | #define WIENER_ROUND0_BITS 3 |
42 | | |
43 | 13.8M | #define WIENER_CLAMP_LIMIT(r0, bd) (1 << ((bd) + 1 + FILTER_BITS - r0)) |
44 | | |
45 | | typedef void (*aom_convolve_fn_t)(const uint8_t *src, int src_stride, |
46 | | uint8_t *dst, int dst_stride, int w, int h, |
47 | | const InterpFilterParams *filter_params_x, |
48 | | const InterpFilterParams *filter_params_y, |
49 | | const int subpel_x_qn, const int subpel_y_qn, |
50 | | ConvolveParams *conv_params); |
51 | | |
52 | | typedef void (*aom_highbd_convolve_fn_t)( |
53 | | const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, |
54 | | int h, const InterpFilterParams *filter_params_x, |
55 | | const InterpFilterParams *filter_params_y, const int subpel_x_qn, |
56 | | const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
57 | | |
58 | | struct AV1Common; |
59 | | struct scale_factors; |
60 | | |
61 | | void av1_convolve_2d_facade(const uint8_t *src, int src_stride, uint8_t *dst, |
62 | | int dst_stride, int w, int h, |
63 | | const InterpFilterParams *interp_filters[2], |
64 | | const int subpel_x_qn, int x_step_q4, |
65 | | const int subpel_y_qn, int y_step_q4, int scaled, |
66 | | ConvolveParams *conv_params); |
67 | | |
68 | | static inline ConvolveParams get_conv_params_no_round(int cmp_index, int plane, |
69 | | CONV_BUF_TYPE *dst, |
70 | | int dst_stride, |
71 | 513k | int is_compound, int bd) { |
72 | 513k | ConvolveParams conv_params; |
73 | 513k | assert(IMPLIES(cmp_index, is_compound)); |
74 | | |
75 | 513k | conv_params.is_compound = is_compound; |
76 | 513k | conv_params.use_dist_wtd_comp_avg = 0; |
77 | 513k | conv_params.round_0 = ROUND0_BITS; |
78 | 513k | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS |
79 | 513k | : 2 * FILTER_BITS - conv_params.round_0; |
80 | 513k | #if CONFIG_AV1_HIGHBITDEPTH |
81 | 513k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
82 | 513k | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
83 | 513k | if (intbufrange > 16) { |
84 | 7.33k | conv_params.round_0 += intbufrange - 16; |
85 | 7.33k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; |
86 | 7.33k | } |
87 | | #else |
88 | | (void)bd; |
89 | | #endif // CONFIG_AV1_HIGHBITDEPTH |
90 | | // TODO(yunqing): The following dst should only be valid while |
91 | | // is_compound = 1; |
92 | 513k | conv_params.dst = dst; |
93 | 513k | conv_params.dst_stride = dst_stride; |
94 | 513k | conv_params.plane = plane; |
95 | | |
96 | | // By default, set do average to 1 if this is the second single prediction |
97 | | // in a compound mode. |
98 | 513k | conv_params.do_average = cmp_index; |
99 | 513k | return conv_params; |
100 | 513k | } Unexecuted instantiation: av1_dx_iface.c:get_conv_params_no_round decodeframe.c:get_conv_params_no_round Line | Count | Source | 71 | 513k | int is_compound, int bd) { | 72 | 513k | ConvolveParams conv_params; | 73 | 513k | assert(IMPLIES(cmp_index, is_compound)); | 74 | | | 75 | 513k | conv_params.is_compound = is_compound; | 76 | 513k | conv_params.use_dist_wtd_comp_avg = 0; | 77 | 513k | conv_params.round_0 = ROUND0_BITS; | 78 | 513k | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS | 79 | 513k | : 2 * FILTER_BITS - conv_params.round_0; | 80 | 513k | #if CONFIG_AV1_HIGHBITDEPTH | 81 | 513k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 82 | 513k | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 83 | 513k | if (intbufrange > 16) { | 84 | 7.33k | conv_params.round_0 += intbufrange - 16; | 85 | 7.33k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; | 86 | 7.33k | } | 87 | | #else | 88 | | (void)bd; | 89 | | #endif // CONFIG_AV1_HIGHBITDEPTH | 90 | | // TODO(yunqing): The following dst should only be valid while | 91 | | // is_compound = 1; | 92 | 513k | conv_params.dst = dst; | 93 | 513k | conv_params.dst_stride = dst_stride; | 94 | 513k | conv_params.plane = plane; | 95 | | | 96 | | // By default, set do average to 1 if this is the second single prediction | 97 | | // in a compound mode. | 98 | 513k | conv_params.do_average = cmp_index; | 99 | 513k | return conv_params; | 100 | 513k | } |
Unexecuted instantiation: decodemv.c:get_conv_params_no_round Unexecuted instantiation: decoder.c:get_conv_params_no_round Unexecuted instantiation: decodetxb.c:get_conv_params_no_round Unexecuted instantiation: detokenize.c:get_conv_params_no_round Unexecuted instantiation: obu.c:get_conv_params_no_round Unexecuted instantiation: av1_cx_iface.c:get_conv_params_no_round Unexecuted instantiation: allintra_vis.c:get_conv_params_no_round Unexecuted instantiation: av1_quantize.c:get_conv_params_no_round Unexecuted instantiation: bitstream.c:get_conv_params_no_round Unexecuted instantiation: context_tree.c:get_conv_params_no_round Unexecuted instantiation: encodeframe.c:get_conv_params_no_round Unexecuted instantiation: encodeframe_utils.c:get_conv_params_no_round Unexecuted instantiation: encodemb.c:get_conv_params_no_round Unexecuted instantiation: encodemv.c:get_conv_params_no_round Unexecuted instantiation: encoder.c:get_conv_params_no_round Unexecuted instantiation: encoder_utils.c:get_conv_params_no_round Unexecuted instantiation: encodetxb.c:get_conv_params_no_round Unexecuted instantiation: ethread.c:get_conv_params_no_round Unexecuted instantiation: firstpass.c:get_conv_params_no_round Unexecuted instantiation: global_motion_facade.c:get_conv_params_no_round Unexecuted instantiation: hash.c:get_conv_params_no_round Unexecuted instantiation: hash_motion.c:get_conv_params_no_round Unexecuted instantiation: hybrid_fwd_txfm.c:get_conv_params_no_round Unexecuted instantiation: level.c:get_conv_params_no_round Unexecuted instantiation: lookahead.c:get_conv_params_no_round Unexecuted instantiation: mcomp.c:get_conv_params_no_round Unexecuted instantiation: mv_prec.c:get_conv_params_no_round Unexecuted instantiation: palette.c:get_conv_params_no_round Unexecuted instantiation: partition_search.c:get_conv_params_no_round Unexecuted instantiation: partition_strategy.c:get_conv_params_no_round Unexecuted instantiation: pass2_strategy.c:get_conv_params_no_round Unexecuted instantiation: pickcdef.c:get_conv_params_no_round Unexecuted instantiation: picklpf.c:get_conv_params_no_round Unexecuted instantiation: pickrst.c:get_conv_params_no_round Unexecuted instantiation: ratectrl.c:get_conv_params_no_round Unexecuted instantiation: rd.c:get_conv_params_no_round Unexecuted instantiation: rdopt.c:get_conv_params_no_round Unexecuted instantiation: nonrd_pickmode.c:get_conv_params_no_round Unexecuted instantiation: nonrd_opt.c:get_conv_params_no_round Unexecuted instantiation: reconinter_enc.c:get_conv_params_no_round Unexecuted instantiation: segmentation.c:get_conv_params_no_round Unexecuted instantiation: speed_features.c:get_conv_params_no_round Unexecuted instantiation: superres_scale.c:get_conv_params_no_round Unexecuted instantiation: svc_layercontext.c:get_conv_params_no_round Unexecuted instantiation: temporal_filter.c:get_conv_params_no_round Unexecuted instantiation: tokenize.c:get_conv_params_no_round Unexecuted instantiation: tpl_model.c:get_conv_params_no_round Unexecuted instantiation: tx_search.c:get_conv_params_no_round Unexecuted instantiation: txb_rdopt.c:get_conv_params_no_round Unexecuted instantiation: intra_mode_search.c:get_conv_params_no_round Unexecuted instantiation: var_based_part.c:get_conv_params_no_round Unexecuted instantiation: av1_noise_estimate.c:get_conv_params_no_round Unexecuted instantiation: dwt.c:get_conv_params_no_round Unexecuted instantiation: aom_dsp_rtcd.c:get_conv_params_no_round Unexecuted instantiation: av1_rtcd.c:get_conv_params_no_round Unexecuted instantiation: aom_convolve.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_mask.c:get_conv_params_no_round Unexecuted instantiation: avg.c:get_conv_params_no_round Unexecuted instantiation: blk_sse_sum.c:get_conv_params_no_round Unexecuted instantiation: fwd_txfm.c:get_conv_params_no_round Unexecuted instantiation: psnr.c:get_conv_params_no_round Unexecuted instantiation: quantize.c:get_conv_params_no_round Unexecuted instantiation: sad.c:get_conv_params_no_round Unexecuted instantiation: sad_av1.c:get_conv_params_no_round Unexecuted instantiation: subtract.c:get_conv_params_no_round Unexecuted instantiation: sse.c:get_conv_params_no_round Unexecuted instantiation: sum_squares.c:get_conv_params_no_round Unexecuted instantiation: variance.c:get_conv_params_no_round Unexecuted instantiation: pyramid.c:get_conv_params_no_round Unexecuted instantiation: noise_util.c:get_conv_params_no_round Unexecuted instantiation: alloccommon.c:get_conv_params_no_round Unexecuted instantiation: av1_loopfilter.c:get_conv_params_no_round Unexecuted instantiation: blockd.c:get_conv_params_no_round Unexecuted instantiation: cdef.c:get_conv_params_no_round Unexecuted instantiation: cdef_block.c:get_conv_params_no_round Unexecuted instantiation: cfl.c:get_conv_params_no_round Unexecuted instantiation: debugmodes.c:get_conv_params_no_round Unexecuted instantiation: entropy.c:get_conv_params_no_round Unexecuted instantiation: entropymode.c:get_conv_params_no_round Unexecuted instantiation: entropymv.c:get_conv_params_no_round Unexecuted instantiation: idct.c:get_conv_params_no_round Unexecuted instantiation: mvref_common.c:get_conv_params_no_round Unexecuted instantiation: pred_common.c:get_conv_params_no_round Unexecuted instantiation: quant_common.c:get_conv_params_no_round Unexecuted instantiation: reconinter.c:get_conv_params_no_round Unexecuted instantiation: reconintra.c:get_conv_params_no_round Unexecuted instantiation: resize.c:get_conv_params_no_round Unexecuted instantiation: restoration.c:get_conv_params_no_round Unexecuted instantiation: scale.c:get_conv_params_no_round Unexecuted instantiation: scan.c:get_conv_params_no_round Unexecuted instantiation: seg_common.c:get_conv_params_no_round Unexecuted instantiation: thread_common.c:get_conv_params_no_round Unexecuted instantiation: tile_common.c:get_conv_params_no_round Unexecuted instantiation: txb_common.c:get_conv_params_no_round Unexecuted instantiation: warped_motion.c:get_conv_params_no_round Unexecuted instantiation: aq_complexity.c:get_conv_params_no_round Unexecuted instantiation: aq_cyclicrefresh.c:get_conv_params_no_round Unexecuted instantiation: aq_variance.c:get_conv_params_no_round Unexecuted instantiation: av1_fwd_txfm2d.c:get_conv_params_no_round Unexecuted instantiation: cnn.c:get_conv_params_no_round Unexecuted instantiation: compound_type.c:get_conv_params_no_round Unexecuted instantiation: encode_strategy.c:get_conv_params_no_round Unexecuted instantiation: global_motion.c:get_conv_params_no_round Unexecuted instantiation: gop_structure.c:get_conv_params_no_round Unexecuted instantiation: interp_search.c:get_conv_params_no_round Unexecuted instantiation: ml.c:get_conv_params_no_round Unexecuted instantiation: motion_search_facade.c:get_conv_params_no_round Unexecuted instantiation: wedge_utils.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_hmask.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_vmask.c:get_conv_params_no_round Unexecuted instantiation: intrapred.c:get_conv_params_no_round Unexecuted instantiation: loopfilter.c:get_conv_params_no_round Unexecuted instantiation: fft.c:get_conv_params_no_round Unexecuted instantiation: corner_match.c:get_conv_params_no_round Unexecuted instantiation: disflow.c:get_conv_params_no_round Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params_no_round Unexecuted instantiation: av1_txfm.c:get_conv_params_no_round Unexecuted instantiation: convolve.c:get_conv_params_no_round Unexecuted instantiation: av1_fwd_txfm1d.c:get_conv_params_no_round Unexecuted instantiation: av1_inv_txfm1d.c:get_conv_params_no_round |
101 | | |
102 | | static inline ConvolveParams get_conv_params(int do_average, int plane, |
103 | 0 | int bd) { |
104 | 0 | return get_conv_params_no_round(do_average, plane, NULL, 0, 0, bd); |
105 | 0 | } Unexecuted instantiation: av1_dx_iface.c:get_conv_params Unexecuted instantiation: decodeframe.c:get_conv_params Unexecuted instantiation: decodemv.c:get_conv_params Unexecuted instantiation: decoder.c:get_conv_params Unexecuted instantiation: decodetxb.c:get_conv_params Unexecuted instantiation: detokenize.c:get_conv_params Unexecuted instantiation: obu.c:get_conv_params Unexecuted instantiation: av1_cx_iface.c:get_conv_params Unexecuted instantiation: allintra_vis.c:get_conv_params Unexecuted instantiation: av1_quantize.c:get_conv_params Unexecuted instantiation: bitstream.c:get_conv_params Unexecuted instantiation: context_tree.c:get_conv_params Unexecuted instantiation: encodeframe.c:get_conv_params Unexecuted instantiation: encodeframe_utils.c:get_conv_params Unexecuted instantiation: encodemb.c:get_conv_params Unexecuted instantiation: encodemv.c:get_conv_params Unexecuted instantiation: encoder.c:get_conv_params Unexecuted instantiation: encoder_utils.c:get_conv_params Unexecuted instantiation: encodetxb.c:get_conv_params Unexecuted instantiation: ethread.c:get_conv_params Unexecuted instantiation: firstpass.c:get_conv_params Unexecuted instantiation: global_motion_facade.c:get_conv_params Unexecuted instantiation: hash.c:get_conv_params Unexecuted instantiation: hash_motion.c:get_conv_params Unexecuted instantiation: hybrid_fwd_txfm.c:get_conv_params Unexecuted instantiation: level.c:get_conv_params Unexecuted instantiation: lookahead.c:get_conv_params Unexecuted instantiation: mcomp.c:get_conv_params Unexecuted instantiation: mv_prec.c:get_conv_params Unexecuted instantiation: palette.c:get_conv_params Unexecuted instantiation: partition_search.c:get_conv_params Unexecuted instantiation: partition_strategy.c:get_conv_params Unexecuted instantiation: pass2_strategy.c:get_conv_params Unexecuted instantiation: pickcdef.c:get_conv_params Unexecuted instantiation: picklpf.c:get_conv_params Unexecuted instantiation: pickrst.c:get_conv_params Unexecuted instantiation: ratectrl.c:get_conv_params Unexecuted instantiation: rd.c:get_conv_params Unexecuted instantiation: rdopt.c:get_conv_params Unexecuted instantiation: nonrd_pickmode.c:get_conv_params Unexecuted instantiation: nonrd_opt.c:get_conv_params Unexecuted instantiation: reconinter_enc.c:get_conv_params Unexecuted instantiation: segmentation.c:get_conv_params Unexecuted instantiation: speed_features.c:get_conv_params Unexecuted instantiation: superres_scale.c:get_conv_params Unexecuted instantiation: svc_layercontext.c:get_conv_params Unexecuted instantiation: temporal_filter.c:get_conv_params Unexecuted instantiation: tokenize.c:get_conv_params Unexecuted instantiation: tpl_model.c:get_conv_params Unexecuted instantiation: tx_search.c:get_conv_params Unexecuted instantiation: txb_rdopt.c:get_conv_params Unexecuted instantiation: intra_mode_search.c:get_conv_params Unexecuted instantiation: var_based_part.c:get_conv_params Unexecuted instantiation: av1_noise_estimate.c:get_conv_params Unexecuted instantiation: dwt.c:get_conv_params Unexecuted instantiation: aom_dsp_rtcd.c:get_conv_params Unexecuted instantiation: av1_rtcd.c:get_conv_params Unexecuted instantiation: aom_convolve.c:get_conv_params Unexecuted instantiation: blend_a64_mask.c:get_conv_params Unexecuted instantiation: avg.c:get_conv_params Unexecuted instantiation: blk_sse_sum.c:get_conv_params Unexecuted instantiation: fwd_txfm.c:get_conv_params Unexecuted instantiation: psnr.c:get_conv_params Unexecuted instantiation: quantize.c:get_conv_params Unexecuted instantiation: sad.c:get_conv_params Unexecuted instantiation: sad_av1.c:get_conv_params Unexecuted instantiation: subtract.c:get_conv_params Unexecuted instantiation: sse.c:get_conv_params Unexecuted instantiation: sum_squares.c:get_conv_params Unexecuted instantiation: variance.c:get_conv_params Unexecuted instantiation: pyramid.c:get_conv_params Unexecuted instantiation: noise_util.c:get_conv_params Unexecuted instantiation: alloccommon.c:get_conv_params Unexecuted instantiation: av1_loopfilter.c:get_conv_params Unexecuted instantiation: blockd.c:get_conv_params Unexecuted instantiation: cdef.c:get_conv_params Unexecuted instantiation: cdef_block.c:get_conv_params Unexecuted instantiation: cfl.c:get_conv_params Unexecuted instantiation: debugmodes.c:get_conv_params Unexecuted instantiation: entropy.c:get_conv_params Unexecuted instantiation: entropymode.c:get_conv_params Unexecuted instantiation: entropymv.c:get_conv_params Unexecuted instantiation: idct.c:get_conv_params Unexecuted instantiation: mvref_common.c:get_conv_params Unexecuted instantiation: pred_common.c:get_conv_params Unexecuted instantiation: quant_common.c:get_conv_params Unexecuted instantiation: reconinter.c:get_conv_params Unexecuted instantiation: reconintra.c:get_conv_params Unexecuted instantiation: resize.c:get_conv_params Unexecuted instantiation: restoration.c:get_conv_params Unexecuted instantiation: scale.c:get_conv_params Unexecuted instantiation: scan.c:get_conv_params Unexecuted instantiation: seg_common.c:get_conv_params Unexecuted instantiation: thread_common.c:get_conv_params Unexecuted instantiation: tile_common.c:get_conv_params Unexecuted instantiation: txb_common.c:get_conv_params Unexecuted instantiation: warped_motion.c:get_conv_params Unexecuted instantiation: aq_complexity.c:get_conv_params Unexecuted instantiation: aq_cyclicrefresh.c:get_conv_params Unexecuted instantiation: aq_variance.c:get_conv_params Unexecuted instantiation: av1_fwd_txfm2d.c:get_conv_params Unexecuted instantiation: cnn.c:get_conv_params Unexecuted instantiation: compound_type.c:get_conv_params Unexecuted instantiation: encode_strategy.c:get_conv_params Unexecuted instantiation: global_motion.c:get_conv_params Unexecuted instantiation: gop_structure.c:get_conv_params Unexecuted instantiation: interp_search.c:get_conv_params Unexecuted instantiation: ml.c:get_conv_params Unexecuted instantiation: motion_search_facade.c:get_conv_params Unexecuted instantiation: wedge_utils.c:get_conv_params Unexecuted instantiation: blend_a64_hmask.c:get_conv_params Unexecuted instantiation: blend_a64_vmask.c:get_conv_params Unexecuted instantiation: intrapred.c:get_conv_params Unexecuted instantiation: loopfilter.c:get_conv_params Unexecuted instantiation: fft.c:get_conv_params Unexecuted instantiation: corner_match.c:get_conv_params Unexecuted instantiation: disflow.c:get_conv_params Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params Unexecuted instantiation: av1_txfm.c:get_conv_params Unexecuted instantiation: convolve.c:get_conv_params Unexecuted instantiation: av1_fwd_txfm1d.c:get_conv_params Unexecuted instantiation: av1_inv_txfm1d.c:get_conv_params |
106 | | |
107 | 26.2k | static inline WienerConvolveParams get_conv_params_wiener(int bd) { |
108 | 26.2k | WienerConvolveParams conv_params; |
109 | 26.2k | conv_params.round_0 = WIENER_ROUND0_BITS; |
110 | 26.2k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; |
111 | 26.2k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
112 | 26.2k | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
113 | 26.2k | if (intbufrange > 16) { |
114 | 12.8k | conv_params.round_0 += intbufrange - 16; |
115 | 12.8k | conv_params.round_1 -= intbufrange - 16; |
116 | 12.8k | } |
117 | 26.2k | return conv_params; |
118 | 26.2k | } Unexecuted instantiation: av1_dx_iface.c:get_conv_params_wiener Unexecuted instantiation: decodeframe.c:get_conv_params_wiener Unexecuted instantiation: decodemv.c:get_conv_params_wiener Unexecuted instantiation: decoder.c:get_conv_params_wiener Unexecuted instantiation: decodetxb.c:get_conv_params_wiener Unexecuted instantiation: detokenize.c:get_conv_params_wiener Unexecuted instantiation: obu.c:get_conv_params_wiener Unexecuted instantiation: av1_cx_iface.c:get_conv_params_wiener Unexecuted instantiation: allintra_vis.c:get_conv_params_wiener Unexecuted instantiation: av1_quantize.c:get_conv_params_wiener Unexecuted instantiation: bitstream.c:get_conv_params_wiener Unexecuted instantiation: context_tree.c:get_conv_params_wiener Unexecuted instantiation: encodeframe.c:get_conv_params_wiener Unexecuted instantiation: encodeframe_utils.c:get_conv_params_wiener Unexecuted instantiation: encodemb.c:get_conv_params_wiener Unexecuted instantiation: encodemv.c:get_conv_params_wiener Unexecuted instantiation: encoder.c:get_conv_params_wiener Unexecuted instantiation: encoder_utils.c:get_conv_params_wiener Unexecuted instantiation: encodetxb.c:get_conv_params_wiener Unexecuted instantiation: ethread.c:get_conv_params_wiener Unexecuted instantiation: firstpass.c:get_conv_params_wiener Unexecuted instantiation: global_motion_facade.c:get_conv_params_wiener Unexecuted instantiation: hash.c:get_conv_params_wiener Unexecuted instantiation: hash_motion.c:get_conv_params_wiener Unexecuted instantiation: hybrid_fwd_txfm.c:get_conv_params_wiener Unexecuted instantiation: level.c:get_conv_params_wiener Unexecuted instantiation: lookahead.c:get_conv_params_wiener Unexecuted instantiation: mcomp.c:get_conv_params_wiener Unexecuted instantiation: mv_prec.c:get_conv_params_wiener Unexecuted instantiation: palette.c:get_conv_params_wiener Unexecuted instantiation: partition_search.c:get_conv_params_wiener Unexecuted instantiation: partition_strategy.c:get_conv_params_wiener Unexecuted instantiation: pass2_strategy.c:get_conv_params_wiener Unexecuted instantiation: pickcdef.c:get_conv_params_wiener Unexecuted instantiation: picklpf.c:get_conv_params_wiener Unexecuted instantiation: pickrst.c:get_conv_params_wiener Unexecuted instantiation: ratectrl.c:get_conv_params_wiener Unexecuted instantiation: rd.c:get_conv_params_wiener Unexecuted instantiation: rdopt.c:get_conv_params_wiener Unexecuted instantiation: nonrd_pickmode.c:get_conv_params_wiener Unexecuted instantiation: nonrd_opt.c:get_conv_params_wiener Unexecuted instantiation: reconinter_enc.c:get_conv_params_wiener Unexecuted instantiation: segmentation.c:get_conv_params_wiener Unexecuted instantiation: speed_features.c:get_conv_params_wiener Unexecuted instantiation: superres_scale.c:get_conv_params_wiener Unexecuted instantiation: svc_layercontext.c:get_conv_params_wiener Unexecuted instantiation: temporal_filter.c:get_conv_params_wiener Unexecuted instantiation: tokenize.c:get_conv_params_wiener Unexecuted instantiation: tpl_model.c:get_conv_params_wiener Unexecuted instantiation: tx_search.c:get_conv_params_wiener Unexecuted instantiation: txb_rdopt.c:get_conv_params_wiener Unexecuted instantiation: intra_mode_search.c:get_conv_params_wiener Unexecuted instantiation: var_based_part.c:get_conv_params_wiener Unexecuted instantiation: av1_noise_estimate.c:get_conv_params_wiener Unexecuted instantiation: dwt.c:get_conv_params_wiener Unexecuted instantiation: aom_dsp_rtcd.c:get_conv_params_wiener Unexecuted instantiation: av1_rtcd.c:get_conv_params_wiener Unexecuted instantiation: aom_convolve.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_mask.c:get_conv_params_wiener Unexecuted instantiation: avg.c:get_conv_params_wiener Unexecuted instantiation: blk_sse_sum.c:get_conv_params_wiener Unexecuted instantiation: fwd_txfm.c:get_conv_params_wiener Unexecuted instantiation: psnr.c:get_conv_params_wiener Unexecuted instantiation: quantize.c:get_conv_params_wiener Unexecuted instantiation: sad.c:get_conv_params_wiener Unexecuted instantiation: sad_av1.c:get_conv_params_wiener Unexecuted instantiation: subtract.c:get_conv_params_wiener Unexecuted instantiation: sse.c:get_conv_params_wiener Unexecuted instantiation: sum_squares.c:get_conv_params_wiener Unexecuted instantiation: variance.c:get_conv_params_wiener Unexecuted instantiation: pyramid.c:get_conv_params_wiener Unexecuted instantiation: noise_util.c:get_conv_params_wiener Unexecuted instantiation: alloccommon.c:get_conv_params_wiener Unexecuted instantiation: av1_loopfilter.c:get_conv_params_wiener Unexecuted instantiation: blockd.c:get_conv_params_wiener Unexecuted instantiation: cdef.c:get_conv_params_wiener Unexecuted instantiation: cdef_block.c:get_conv_params_wiener Unexecuted instantiation: cfl.c:get_conv_params_wiener Unexecuted instantiation: debugmodes.c:get_conv_params_wiener Unexecuted instantiation: entropy.c:get_conv_params_wiener Unexecuted instantiation: entropymode.c:get_conv_params_wiener Unexecuted instantiation: entropymv.c:get_conv_params_wiener Unexecuted instantiation: idct.c:get_conv_params_wiener Unexecuted instantiation: mvref_common.c:get_conv_params_wiener Unexecuted instantiation: pred_common.c:get_conv_params_wiener Unexecuted instantiation: quant_common.c:get_conv_params_wiener Unexecuted instantiation: reconinter.c:get_conv_params_wiener Unexecuted instantiation: reconintra.c:get_conv_params_wiener Unexecuted instantiation: resize.c:get_conv_params_wiener restoration.c:get_conv_params_wiener Line | Count | Source | 107 | 26.2k | static inline WienerConvolveParams get_conv_params_wiener(int bd) { | 108 | 26.2k | WienerConvolveParams conv_params; | 109 | 26.2k | conv_params.round_0 = WIENER_ROUND0_BITS; | 110 | 26.2k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; | 111 | 26.2k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 112 | 26.2k | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 113 | 26.2k | if (intbufrange > 16) { | 114 | 12.8k | conv_params.round_0 += intbufrange - 16; | 115 | 12.8k | conv_params.round_1 -= intbufrange - 16; | 116 | 12.8k | } | 117 | 26.2k | return conv_params; | 118 | 26.2k | } |
Unexecuted instantiation: scale.c:get_conv_params_wiener Unexecuted instantiation: scan.c:get_conv_params_wiener Unexecuted instantiation: seg_common.c:get_conv_params_wiener Unexecuted instantiation: thread_common.c:get_conv_params_wiener Unexecuted instantiation: tile_common.c:get_conv_params_wiener Unexecuted instantiation: txb_common.c:get_conv_params_wiener Unexecuted instantiation: warped_motion.c:get_conv_params_wiener Unexecuted instantiation: aq_complexity.c:get_conv_params_wiener Unexecuted instantiation: aq_cyclicrefresh.c:get_conv_params_wiener Unexecuted instantiation: aq_variance.c:get_conv_params_wiener Unexecuted instantiation: av1_fwd_txfm2d.c:get_conv_params_wiener Unexecuted instantiation: cnn.c:get_conv_params_wiener Unexecuted instantiation: compound_type.c:get_conv_params_wiener Unexecuted instantiation: encode_strategy.c:get_conv_params_wiener Unexecuted instantiation: global_motion.c:get_conv_params_wiener Unexecuted instantiation: gop_structure.c:get_conv_params_wiener Unexecuted instantiation: interp_search.c:get_conv_params_wiener Unexecuted instantiation: ml.c:get_conv_params_wiener Unexecuted instantiation: motion_search_facade.c:get_conv_params_wiener Unexecuted instantiation: wedge_utils.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_hmask.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_vmask.c:get_conv_params_wiener Unexecuted instantiation: intrapred.c:get_conv_params_wiener Unexecuted instantiation: loopfilter.c:get_conv_params_wiener Unexecuted instantiation: fft.c:get_conv_params_wiener Unexecuted instantiation: corner_match.c:get_conv_params_wiener Unexecuted instantiation: disflow.c:get_conv_params_wiener Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params_wiener Unexecuted instantiation: av1_txfm.c:get_conv_params_wiener Unexecuted instantiation: convolve.c:get_conv_params_wiener Unexecuted instantiation: av1_fwd_txfm1d.c:get_conv_params_wiener Unexecuted instantiation: av1_inv_txfm1d.c:get_conv_params_wiener |
119 | | |
120 | | void av1_highbd_convolve_2d_facade(const uint8_t *src8, int src_stride, |
121 | | uint8_t *dst, int dst_stride, int w, int h, |
122 | | const InterpFilterParams *interp_filters[2], |
123 | | const int subpel_x_qn, int x_step_q4, |
124 | | const int subpel_y_qn, int y_step_q4, |
125 | | int scaled, ConvolveParams *conv_params, |
126 | | int bd); |
127 | | |
128 | | #ifdef __cplusplus |
129 | | } // extern "C" |
130 | | #endif |
131 | | |
132 | | #endif // AOM_AV1_COMMON_CONVOLVE_H_ |