/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 | 17.0M | #define ROUND0_BITS 3 |
40 | 3.36M | #define COMPOUND_ROUND1_BITS 7 |
41 | 99.7k | #define WIENER_ROUND0_BITS 3 |
42 | | |
43 | 670k | #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 | 17.0M | int is_compound, int bd) { |
72 | 17.0M | ConvolveParams conv_params; |
73 | 17.0M | assert(IMPLIES(cmp_index, is_compound)); |
74 | | |
75 | 17.0M | conv_params.is_compound = is_compound; |
76 | 17.0M | conv_params.use_dist_wtd_comp_avg = 0; |
77 | 17.0M | conv_params.round_0 = ROUND0_BITS; |
78 | 17.0M | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS |
79 | 17.0M | : 2 * FILTER_BITS - conv_params.round_0; |
80 | 17.0M | #if CONFIG_AV1_HIGHBITDEPTH |
81 | 17.0M | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
82 | 17.0M | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
83 | 17.0M | if (intbufrange > 16) { |
84 | 315k | conv_params.round_0 += intbufrange - 16; |
85 | 315k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; |
86 | 315k | } |
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 | 17.0M | conv_params.dst = dst; |
93 | 17.0M | conv_params.dst_stride = dst_stride; |
94 | 17.0M | 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 | 17.0M | conv_params.do_average = cmp_index; |
99 | 17.0M | return conv_params; |
100 | 17.0M | } Unexecuted instantiation: av1_dx_iface.c:get_conv_params_no_round decodeframe.c:get_conv_params_no_round Line | Count | Source | 71 | 17.0M | int is_compound, int bd) { | 72 | 17.0M | ConvolveParams conv_params; | 73 | 17.0M | assert(IMPLIES(cmp_index, is_compound)); | 74 | | | 75 | 17.0M | conv_params.is_compound = is_compound; | 76 | 17.0M | conv_params.use_dist_wtd_comp_avg = 0; | 77 | 17.0M | conv_params.round_0 = ROUND0_BITS; | 78 | 17.0M | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS | 79 | 17.0M | : 2 * FILTER_BITS - conv_params.round_0; | 80 | 17.0M | #if CONFIG_AV1_HIGHBITDEPTH | 81 | 17.0M | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 82 | 17.0M | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 83 | 17.0M | if (intbufrange > 16) { | 84 | 315k | conv_params.round_0 += intbufrange - 16; | 85 | 315k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; | 86 | 315k | } | 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 | 17.0M | conv_params.dst = dst; | 93 | 17.0M | conv_params.dst_stride = dst_stride; | 94 | 17.0M | 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 | 17.0M | conv_params.do_average = cmp_index; | 99 | 17.0M | return conv_params; | 100 | 17.0M | } |
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: 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_hmask.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:get_conv_params_no_round Unexecuted instantiation: intrapred_sse2.c:get_conv_params_no_round Unexecuted instantiation: loopfilter_sse2.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_sse2.c:get_conv_params_no_round Unexecuted instantiation: highbd_loopfilter_sse2.c:get_conv_params_no_round Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_conv_params_no_round Unexecuted instantiation: intrapred_ssse3.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_ssse3.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_hmask_sse4.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_mask_sse4.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_vmask_sse4.c:get_conv_params_no_round Unexecuted instantiation: intrapred_sse4.c:get_conv_params_no_round Unexecuted instantiation: aom_convolve_copy_avx2.c:get_conv_params_no_round Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_conv_params_no_round Unexecuted instantiation: intrapred_avx2.c:get_conv_params_no_round Unexecuted instantiation: loopfilter_avx2.c:get_conv_params_no_round Unexecuted instantiation: blend_a64_mask_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_loopfilter_avx2.c:get_conv_params_no_round Unexecuted instantiation: alloccommon.c:get_conv_params_no_round Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params_no_round Unexecuted instantiation: av1_loopfilter.c:get_conv_params_no_round Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_conv_params_no_round Unexecuted instantiation: convolve_2d_sse2.c:get_conv_params_no_round Unexecuted instantiation: convolve_sse2.c:get_conv_params_no_round Unexecuted instantiation: jnt_convolve_sse2.c:get_conv_params_no_round Unexecuted instantiation: resize_sse2.c:get_conv_params_no_round Unexecuted instantiation: wiener_convolve_sse2.c:get_conv_params_no_round Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_conv_params_no_round Unexecuted instantiation: cfl_ssse3.c:get_conv_params_no_round Unexecuted instantiation: jnt_convolve_ssse3.c:get_conv_params_no_round Unexecuted instantiation: resize_ssse3.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_conv_params_no_round Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_conv_params_no_round Unexecuted instantiation: reconinter_ssse3.c:get_conv_params_no_round Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_conv_params_no_round Unexecuted instantiation: av1_convolve_scale_sse4.c:get_conv_params_no_round Unexecuted instantiation: av1_txfm_sse4.c:get_conv_params_no_round Unexecuted instantiation: cdef_block_sse4.c:get_conv_params_no_round Unexecuted instantiation: filterintra_sse4.c:get_conv_params_no_round Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_conv_params_no_round Unexecuted instantiation: intra_edge_sse4.c:get_conv_params_no_round Unexecuted instantiation: reconinter_sse4.c:get_conv_params_no_round Unexecuted instantiation: selfguided_sse4.c:get_conv_params_no_round Unexecuted instantiation: warp_plane_sse4.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_conv_params_no_round Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_conv_params_no_round Unexecuted instantiation: highbd_warp_plane_sse4.c:get_conv_params_no_round Unexecuted instantiation: av1_inv_txfm_avx2.c:get_conv_params_no_round Unexecuted instantiation: cdef_block_avx2.c:get_conv_params_no_round Unexecuted instantiation: cfl_avx2.c:get_conv_params_no_round Unexecuted instantiation: convolve_2d_avx2.c:get_conv_params_no_round Unexecuted instantiation: convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_conv_params_no_round Unexecuted instantiation: jnt_convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: reconinter_avx2.c:get_conv_params_no_round Unexecuted instantiation: resize_avx2.c:get_conv_params_no_round Unexecuted instantiation: selfguided_avx2.c:get_conv_params_no_round Unexecuted instantiation: warp_plane_avx2.c:get_conv_params_no_round Unexecuted instantiation: wiener_convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_warp_affine_avx2.c:get_conv_params_no_round Unexecuted instantiation: highbd_intrapred_sse2.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: 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_hmask.c:get_conv_params Unexecuted instantiation: blend_a64_mask.c:get_conv_params Unexecuted instantiation: blend_a64_vmask.c:get_conv_params Unexecuted instantiation: intrapred.c:get_conv_params Unexecuted instantiation: aom_convolve_copy_sse2.c:get_conv_params Unexecuted instantiation: intrapred_sse2.c:get_conv_params Unexecuted instantiation: loopfilter_sse2.c:get_conv_params Unexecuted instantiation: highbd_convolve_sse2.c:get_conv_params Unexecuted instantiation: highbd_loopfilter_sse2.c:get_conv_params Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_conv_params Unexecuted instantiation: intrapred_ssse3.c:get_conv_params Unexecuted instantiation: highbd_convolve_ssse3.c:get_conv_params Unexecuted instantiation: blend_a64_hmask_sse4.c:get_conv_params Unexecuted instantiation: blend_a64_mask_sse4.c:get_conv_params Unexecuted instantiation: blend_a64_vmask_sse4.c:get_conv_params Unexecuted instantiation: intrapred_sse4.c:get_conv_params Unexecuted instantiation: aom_convolve_copy_avx2.c:get_conv_params Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_conv_params Unexecuted instantiation: intrapred_avx2.c:get_conv_params Unexecuted instantiation: loopfilter_avx2.c:get_conv_params Unexecuted instantiation: blend_a64_mask_avx2.c:get_conv_params Unexecuted instantiation: highbd_convolve_avx2.c:get_conv_params Unexecuted instantiation: highbd_loopfilter_avx2.c:get_conv_params Unexecuted instantiation: alloccommon.c:get_conv_params Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params Unexecuted instantiation: av1_loopfilter.c:get_conv_params Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_conv_params Unexecuted instantiation: convolve_2d_sse2.c:get_conv_params Unexecuted instantiation: convolve_sse2.c:get_conv_params Unexecuted instantiation: jnt_convolve_sse2.c:get_conv_params Unexecuted instantiation: resize_sse2.c:get_conv_params Unexecuted instantiation: wiener_convolve_sse2.c:get_conv_params Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_conv_params Unexecuted instantiation: cfl_ssse3.c:get_conv_params Unexecuted instantiation: jnt_convolve_ssse3.c:get_conv_params Unexecuted instantiation: resize_ssse3.c:get_conv_params Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_conv_params Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_conv_params Unexecuted instantiation: reconinter_ssse3.c:get_conv_params Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_conv_params Unexecuted instantiation: av1_convolve_scale_sse4.c:get_conv_params Unexecuted instantiation: av1_txfm_sse4.c:get_conv_params Unexecuted instantiation: cdef_block_sse4.c:get_conv_params Unexecuted instantiation: filterintra_sse4.c:get_conv_params Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_conv_params Unexecuted instantiation: intra_edge_sse4.c:get_conv_params Unexecuted instantiation: reconinter_sse4.c:get_conv_params Unexecuted instantiation: selfguided_sse4.c:get_conv_params Unexecuted instantiation: warp_plane_sse4.c:get_conv_params Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_conv_params Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_conv_params Unexecuted instantiation: highbd_warp_plane_sse4.c:get_conv_params Unexecuted instantiation: av1_inv_txfm_avx2.c:get_conv_params Unexecuted instantiation: cdef_block_avx2.c:get_conv_params Unexecuted instantiation: cfl_avx2.c:get_conv_params Unexecuted instantiation: convolve_2d_avx2.c:get_conv_params Unexecuted instantiation: convolve_avx2.c:get_conv_params Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_conv_params Unexecuted instantiation: jnt_convolve_avx2.c:get_conv_params Unexecuted instantiation: reconinter_avx2.c:get_conv_params Unexecuted instantiation: resize_avx2.c:get_conv_params Unexecuted instantiation: selfguided_avx2.c:get_conv_params Unexecuted instantiation: warp_plane_avx2.c:get_conv_params Unexecuted instantiation: wiener_convolve_avx2.c:get_conv_params Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_conv_params Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_conv_params Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_conv_params Unexecuted instantiation: highbd_warp_affine_avx2.c:get_conv_params Unexecuted instantiation: highbd_intrapred_sse2.c:get_conv_params Unexecuted instantiation: av1_inv_txfm1d.c:get_conv_params |
106 | | |
107 | 99.7k | static inline WienerConvolveParams get_conv_params_wiener(int bd) { |
108 | 99.7k | WienerConvolveParams conv_params; |
109 | 99.7k | conv_params.round_0 = WIENER_ROUND0_BITS; |
110 | 99.7k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; |
111 | 99.7k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
112 | 99.7k | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
113 | 99.7k | if (intbufrange > 16) { |
114 | 501 | conv_params.round_0 += intbufrange - 16; |
115 | 501 | conv_params.round_1 -= intbufrange - 16; |
116 | 501 | } |
117 | 99.7k | return conv_params; |
118 | 99.7k | } 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: 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_hmask.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:get_conv_params_wiener Unexecuted instantiation: intrapred_sse2.c:get_conv_params_wiener Unexecuted instantiation: loopfilter_sse2.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_sse2.c:get_conv_params_wiener Unexecuted instantiation: highbd_loopfilter_sse2.c:get_conv_params_wiener Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_conv_params_wiener Unexecuted instantiation: intrapred_ssse3.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_ssse3.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_hmask_sse4.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_mask_sse4.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_vmask_sse4.c:get_conv_params_wiener Unexecuted instantiation: intrapred_sse4.c:get_conv_params_wiener Unexecuted instantiation: aom_convolve_copy_avx2.c:get_conv_params_wiener Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_conv_params_wiener Unexecuted instantiation: intrapred_avx2.c:get_conv_params_wiener Unexecuted instantiation: loopfilter_avx2.c:get_conv_params_wiener Unexecuted instantiation: blend_a64_mask_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_loopfilter_avx2.c:get_conv_params_wiener Unexecuted instantiation: alloccommon.c:get_conv_params_wiener Unexecuted instantiation: av1_inv_txfm2d.c:get_conv_params_wiener Unexecuted instantiation: av1_loopfilter.c:get_conv_params_wiener Unexecuted instantiation: av1_txfm.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: convolve.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 | 99.7k | static inline WienerConvolveParams get_conv_params_wiener(int bd) { | 108 | 99.7k | WienerConvolveParams conv_params; | 109 | 99.7k | conv_params.round_0 = WIENER_ROUND0_BITS; | 110 | 99.7k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; | 111 | 99.7k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 112 | 99.7k | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 113 | 99.7k | if (intbufrange > 16) { | 114 | 501 | conv_params.round_0 += intbufrange - 16; | 115 | 501 | conv_params.round_1 -= intbufrange - 16; | 116 | 501 | } | 117 | 99.7k | return conv_params; | 118 | 99.7k | } |
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: cfl_sse2.c:get_conv_params_wiener Unexecuted instantiation: convolve_2d_sse2.c:get_conv_params_wiener Unexecuted instantiation: convolve_sse2.c:get_conv_params_wiener Unexecuted instantiation: jnt_convolve_sse2.c:get_conv_params_wiener Unexecuted instantiation: resize_sse2.c:get_conv_params_wiener Unexecuted instantiation: wiener_convolve_sse2.c:get_conv_params_wiener Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_conv_params_wiener Unexecuted instantiation: cfl_ssse3.c:get_conv_params_wiener Unexecuted instantiation: jnt_convolve_ssse3.c:get_conv_params_wiener Unexecuted instantiation: resize_ssse3.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_conv_params_wiener Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_conv_params_wiener Unexecuted instantiation: reconinter_ssse3.c:get_conv_params_wiener Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_conv_params_wiener Unexecuted instantiation: av1_convolve_scale_sse4.c:get_conv_params_wiener Unexecuted instantiation: av1_txfm_sse4.c:get_conv_params_wiener Unexecuted instantiation: cdef_block_sse4.c:get_conv_params_wiener Unexecuted instantiation: filterintra_sse4.c:get_conv_params_wiener Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_conv_params_wiener Unexecuted instantiation: intra_edge_sse4.c:get_conv_params_wiener Unexecuted instantiation: reconinter_sse4.c:get_conv_params_wiener Unexecuted instantiation: selfguided_sse4.c:get_conv_params_wiener Unexecuted instantiation: warp_plane_sse4.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_conv_params_wiener Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_conv_params_wiener Unexecuted instantiation: highbd_warp_plane_sse4.c:get_conv_params_wiener Unexecuted instantiation: av1_inv_txfm_avx2.c:get_conv_params_wiener Unexecuted instantiation: cdef_block_avx2.c:get_conv_params_wiener Unexecuted instantiation: cfl_avx2.c:get_conv_params_wiener Unexecuted instantiation: convolve_2d_avx2.c:get_conv_params_wiener Unexecuted instantiation: convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_conv_params_wiener Unexecuted instantiation: jnt_convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: reconinter_avx2.c:get_conv_params_wiener Unexecuted instantiation: resize_avx2.c:get_conv_params_wiener Unexecuted instantiation: selfguided_avx2.c:get_conv_params_wiener Unexecuted instantiation: warp_plane_avx2.c:get_conv_params_wiener Unexecuted instantiation: wiener_convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_warp_affine_avx2.c:get_conv_params_wiener Unexecuted instantiation: highbd_intrapred_sse2.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_ |