Coverage Report

Created: 2023-06-07 06:31

/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_