/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 | 24.7M | #define ROUND0_BITS 3 |
35 | 3.68M | #define COMPOUND_ROUND1_BITS 7 |
36 | 102k | #define WIENER_ROUND0_BITS 3 |
37 | | |
38 | 629k | #define WIENER_CLAMP_LIMIT(r0, bd) (1 << ((bd) + 1 + FILTER_BITS - r0)) |
39 | | |
40 | | typedef void (*aom_convolve_fn_t)(const uint8_t *src, int src_stride, |
41 | | uint8_t *dst, int dst_stride, int w, int h, |
42 | | const InterpFilterParams *filter_params_x, |
43 | | const InterpFilterParams *filter_params_y, |
44 | | const int subpel_x_qn, const int subpel_y_qn, |
45 | | ConvolveParams *conv_params); |
46 | | |
47 | | typedef void (*aom_highbd_convolve_fn_t)( |
48 | | const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, |
49 | | int h, const InterpFilterParams *filter_params_x, |
50 | | const InterpFilterParams *filter_params_y, const int subpel_x_qn, |
51 | | const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
52 | | |
53 | | struct AV1Common; |
54 | | struct scale_factors; |
55 | | |
56 | | void av1_convolve_2d_facade(const uint8_t *src, int src_stride, uint8_t *dst, |
57 | | int dst_stride, int w, int h, |
58 | | const InterpFilterParams *interp_filters[2], |
59 | | const int subpel_x_qn, int x_step_q4, |
60 | | const int subpel_y_qn, int y_step_q4, int scaled, |
61 | | ConvolveParams *conv_params); |
62 | | |
63 | | static INLINE ConvolveParams get_conv_params_no_round(int cmp_index, int plane, |
64 | | CONV_BUF_TYPE *dst, |
65 | | int dst_stride, |
66 | 24.7M | int is_compound, int bd) { |
67 | 24.7M | ConvolveParams conv_params; |
68 | 24.7M | assert(IMPLIES(cmp_index, is_compound)); |
69 | | |
70 | 0 | conv_params.is_compound = is_compound; |
71 | 24.7M | conv_params.use_dist_wtd_comp_avg = 0; |
72 | 24.7M | conv_params.round_0 = ROUND0_BITS; |
73 | 24.7M | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS |
74 | 24.7M | : 2 * FILTER_BITS - conv_params.round_0; |
75 | 24.7M | #if CONFIG_AV1_HIGHBITDEPTH |
76 | 24.7M | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
77 | 24.7M | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
78 | 24.7M | if (intbufrange > 16) { |
79 | 406k | conv_params.round_0 += intbufrange - 16; |
80 | 406k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; |
81 | 406k | } |
82 | | #else |
83 | | (void)bd; |
84 | | #endif // CONFIG_AV1_HIGHBITDEPTH |
85 | | // TODO(yunqing): The following dst should only be valid while |
86 | | // is_compound = 1; |
87 | 24.7M | conv_params.dst = dst; |
88 | 24.7M | conv_params.dst_stride = dst_stride; |
89 | 24.7M | conv_params.plane = plane; |
90 | | |
91 | | // By default, set do average to 1 if this is the second single prediction |
92 | | // in a compound mode. |
93 | 24.7M | conv_params.do_average = cmp_index; |
94 | 24.7M | return conv_params; |
95 | 24.7M | } Unexecuted instantiation: av1_dx_iface.c:get_conv_params_no_round decodeframe.c:get_conv_params_no_round Line | Count | Source | 66 | 24.7M | int is_compound, int bd) { | 67 | 24.7M | ConvolveParams conv_params; | 68 | 24.7M | assert(IMPLIES(cmp_index, is_compound)); | 69 | | | 70 | 0 | conv_params.is_compound = is_compound; | 71 | 24.7M | conv_params.use_dist_wtd_comp_avg = 0; | 72 | 24.7M | conv_params.round_0 = ROUND0_BITS; | 73 | 24.7M | conv_params.round_1 = is_compound ? COMPOUND_ROUND1_BITS | 74 | 24.7M | : 2 * FILTER_BITS - conv_params.round_0; | 75 | 24.7M | #if CONFIG_AV1_HIGHBITDEPTH | 76 | 24.7M | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 77 | 24.7M | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 78 | 24.7M | if (intbufrange > 16) { | 79 | 406k | conv_params.round_0 += intbufrange - 16; | 80 | 406k | if (!is_compound) conv_params.round_1 -= intbufrange - 16; | 81 | 406k | } | 82 | | #else | 83 | | (void)bd; | 84 | | #endif // CONFIG_AV1_HIGHBITDEPTH | 85 | | // TODO(yunqing): The following dst should only be valid while | 86 | | // is_compound = 1; | 87 | 24.7M | conv_params.dst = dst; | 88 | 24.7M | conv_params.dst_stride = dst_stride; | 89 | 24.7M | conv_params.plane = plane; | 90 | | | 91 | | // By default, set do average to 1 if this is the second single prediction | 92 | | // in a compound mode. | 93 | 24.7M | conv_params.do_average = cmp_index; | 94 | 24.7M | return conv_params; | 95 | 24.7M | } |
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: aom_asm_stubs.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: cdef_block_sse2.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: warp_plane_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: cdef_block_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: 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: aom_subpixel_8t_intrin_sse2.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 |
96 | | |
97 | | static INLINE ConvolveParams get_conv_params(int do_average, int plane, |
98 | 0 | int bd) { |
99 | 0 | return get_conv_params_no_round(do_average, plane, NULL, 0, 0, bd); |
100 | 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: aom_asm_stubs.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: cdef_block_sse2.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: warp_plane_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: cdef_block_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: 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: aom_subpixel_8t_intrin_sse2.c:get_conv_params Unexecuted instantiation: highbd_intrapred_sse2.c:get_conv_params Unexecuted instantiation: av1_inv_txfm1d.c:get_conv_params |
101 | | |
102 | 102k | static INLINE ConvolveParams get_conv_params_wiener(int bd) { |
103 | 102k | ConvolveParams conv_params; |
104 | 102k | (void)bd; |
105 | 102k | conv_params.do_average = 0; |
106 | 102k | conv_params.is_compound = 0; |
107 | 102k | conv_params.round_0 = WIENER_ROUND0_BITS; |
108 | 102k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; |
109 | 102k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; |
110 | 102k | assert(IMPLIES(bd < 12, intbufrange <= 16)); |
111 | 102k | if (intbufrange > 16) { |
112 | 80 | conv_params.round_0 += intbufrange - 16; |
113 | 80 | conv_params.round_1 -= intbufrange - 16; |
114 | 80 | } |
115 | 102k | conv_params.dst = NULL; |
116 | 102k | conv_params.dst_stride = 0; |
117 | 102k | conv_params.plane = 0; |
118 | 102k | return conv_params; |
119 | 102k | } 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: aom_asm_stubs.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 | 102 | 102k | static INLINE ConvolveParams get_conv_params_wiener(int bd) { | 103 | 102k | ConvolveParams conv_params; | 104 | 102k | (void)bd; | 105 | 102k | conv_params.do_average = 0; | 106 | 102k | conv_params.is_compound = 0; | 107 | 102k | conv_params.round_0 = WIENER_ROUND0_BITS; | 108 | 102k | conv_params.round_1 = 2 * FILTER_BITS - conv_params.round_0; | 109 | 102k | const int intbufrange = bd + FILTER_BITS - conv_params.round_0 + 2; | 110 | 102k | assert(IMPLIES(bd < 12, intbufrange <= 16)); | 111 | 102k | if (intbufrange > 16) { | 112 | 80 | conv_params.round_0 += intbufrange - 16; | 113 | 80 | conv_params.round_1 -= intbufrange - 16; | 114 | 80 | } | 115 | 102k | conv_params.dst = NULL; | 116 | 102k | conv_params.dst_stride = 0; | 117 | 102k | conv_params.plane = 0; | 118 | 102k | return conv_params; | 119 | 102k | } |
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: cdef_block_sse2.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: warp_plane_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: cdef_block_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: 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: aom_subpixel_8t_intrin_sse2.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 |
120 | | |
121 | | void av1_highbd_convolve_2d_facade(const uint8_t *src8, int src_stride, |
122 | | uint8_t *dst, int dst_stride, int w, int h, |
123 | | const InterpFilterParams *interp_filters[2], |
124 | | const int subpel_x_qn, int x_step_q4, |
125 | | const int subpel_y_qn, int y_step_q4, |
126 | | int scaled, ConvolveParams *conv_params, |
127 | | int bd); |
128 | | |
129 | | #ifdef __cplusplus |
130 | | } // extern "C" |
131 | | #endif |
132 | | |
133 | | #endif // AOM_AV1_COMMON_CONVOLVE_H_ |