Coverage Report

Created: 2025-06-13 07:07

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