Coverage Report

Created: 2024-09-06 07:53

/src/libvpx/vp9/common/vp9_reconinter.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
 *  that can be found in the LICENSE file in the root of the source
6
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
9
 */
10
11
#ifndef VPX_VP9_COMMON_VP9_RECONINTER_H_
12
#define VPX_VP9_COMMON_VP9_RECONINTER_H_
13
14
#include "vp9/common/vp9_filter.h"
15
#include "vp9/common/vp9_onyxc_int.h"
16
#include "vpx/vpx_integer.h"
17
#include "vpx_dsp/vpx_filter.h"
18
19
#ifdef __cplusplus
20
extern "C" {
21
#endif
22
23
static INLINE void inter_predictor(const uint8_t *src, int src_stride,
24
                                   uint8_t *dst, int dst_stride,
25
                                   const int subpel_x, const int subpel_y,
26
                                   const struct scale_factors *sf, int w, int h,
27
                                   int ref, const InterpKernel *kernel, int xs,
28
272M
                                   int ys) {
29
272M
  sf->predict[subpel_x != 0][subpel_y != 0][ref](src, src_stride, dst,
30
272M
                                                 dst_stride, kernel, subpel_x,
31
272M
                                                 xs, subpel_y, ys, w, h);
32
272M
}
Unexecuted instantiation: vp9_firstpass.c:inter_predictor
Unexecuted instantiation: vp9_mcomp.c:inter_predictor
Unexecuted instantiation: vp9_encoder.c:inter_predictor
Unexecuted instantiation: vp9_rd.c:inter_predictor
Unexecuted instantiation: vp9_noise_estimate.c:inter_predictor
Unexecuted instantiation: vp9_temporal_filter.c:inter_predictor
Unexecuted instantiation: vp9_tpl_model.c:inter_predictor
Unexecuted instantiation: vp9_mbgraph.c:inter_predictor
Unexecuted instantiation: vp9_loopfilter.c:inter_predictor
Unexecuted instantiation: vp9_thread_common.c:inter_predictor
vp9_reconinter.c:inter_predictor
Line
Count
Source
28
272M
                                   int ys) {
29
272M
  sf->predict[subpel_x != 0][subpel_y != 0][ref](src, src_stride, dst,
30
272M
                                                 dst_stride, kernel, subpel_x,
31
272M
                                                 xs, subpel_y, ys, w, h);
32
272M
}
Unexecuted instantiation: vp9_encodeframe.c:inter_predictor
Unexecuted instantiation: vp9_encodemb.c:inter_predictor
Unexecuted instantiation: vp9_rdopt.c:inter_predictor
Unexecuted instantiation: vp9_pickmode.c:inter_predictor
33
34
#if CONFIG_VP9_HIGHBITDEPTH
35
static INLINE void highbd_inter_predictor(
36
    const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride,
37
    const int subpel_x, const int subpel_y, const struct scale_factors *sf,
38
0
    int w, int h, int ref, const InterpKernel *kernel, int xs, int ys, int bd) {
39
0
  sf->highbd_predict[subpel_x != 0][subpel_y != 0][ref](
40
0
      src, src_stride, dst, dst_stride, kernel, subpel_x, xs, subpel_y, ys, w,
41
0
      h, bd);
42
0
}
Unexecuted instantiation: vp9_firstpass.c:highbd_inter_predictor
Unexecuted instantiation: vp9_mcomp.c:highbd_inter_predictor
Unexecuted instantiation: vp9_encoder.c:highbd_inter_predictor
Unexecuted instantiation: vp9_rd.c:highbd_inter_predictor
Unexecuted instantiation: vp9_noise_estimate.c:highbd_inter_predictor
Unexecuted instantiation: vp9_temporal_filter.c:highbd_inter_predictor
Unexecuted instantiation: vp9_tpl_model.c:highbd_inter_predictor
Unexecuted instantiation: vp9_mbgraph.c:highbd_inter_predictor
Unexecuted instantiation: vp9_loopfilter.c:highbd_inter_predictor
Unexecuted instantiation: vp9_thread_common.c:highbd_inter_predictor
Unexecuted instantiation: vp9_reconinter.c:highbd_inter_predictor
Unexecuted instantiation: vp9_encodeframe.c:highbd_inter_predictor
Unexecuted instantiation: vp9_encodemb.c:highbd_inter_predictor
Unexecuted instantiation: vp9_rdopt.c:highbd_inter_predictor
Unexecuted instantiation: vp9_pickmode.c:highbd_inter_predictor
43
#endif  // CONFIG_VP9_HIGHBITDEPTH
44
45
MV average_split_mvs(const struct macroblockd_plane *pd, const MODE_INFO *mi,
46
                     int ref, int block);
47
48
MV clamp_mv_to_umv_border_sb(const MACROBLOCKD *xd, const MV *src_mv, int bw,
49
                             int bh, int ss_x, int ss_y);
50
51
void vp9_build_inter_predictors_sby(MACROBLOCKD *xd, int mi_row, int mi_col,
52
                                    BLOCK_SIZE bsize);
53
54
void vp9_build_inter_predictors_sbp(MACROBLOCKD *xd, int mi_row, int mi_col,
55
                                    BLOCK_SIZE bsize, int plane);
56
57
void vp9_build_inter_predictors_sbuv(MACROBLOCKD *xd, int mi_row, int mi_col,
58
                                     BLOCK_SIZE bsize);
59
60
void vp9_build_inter_predictors_sb(MACROBLOCKD *xd, int mi_row, int mi_col,
61
                                   BLOCK_SIZE bsize);
62
63
void vp9_build_inter_predictor(const uint8_t *src, int src_stride, uint8_t *dst,
64
                               int dst_stride, const MV *src_mv,
65
                               const struct scale_factors *sf, int w, int h,
66
                               int ref, const InterpKernel *kernel,
67
                               enum mv_precision precision, int x, int y);
68
69
#if CONFIG_VP9_HIGHBITDEPTH
70
void vp9_highbd_build_inter_predictor(
71
    const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride,
72
    const MV *src_mv, const struct scale_factors *sf, int w, int h, int ref,
73
    const InterpKernel *kernel, enum mv_precision precision, int x, int y,
74
    int bd);
75
#endif
76
77
static INLINE int64_t scaled_buffer_offset(int x_offset, int y_offset,
78
                                           int stride,
79
196M
                                           const struct scale_factors *sf) {
80
196M
  const int x = sf ? sf->scale_value_x(x_offset, sf) : x_offset;
81
196M
  const int y = sf ? sf->scale_value_y(y_offset, sf) : y_offset;
82
196M
  return (int64_t)y * stride + x;
83
196M
}
Unexecuted instantiation: vp9_firstpass.c:scaled_buffer_offset
Unexecuted instantiation: vp9_mcomp.c:scaled_buffer_offset
Unexecuted instantiation: vp9_encoder.c:scaled_buffer_offset
vp9_rd.c:scaled_buffer_offset
Line
Count
Source
79
40.0M
                                           const struct scale_factors *sf) {
80
40.0M
  const int x = sf ? sf->scale_value_x(x_offset, sf) : x_offset;
81
40.0M
  const int y = sf ? sf->scale_value_y(y_offset, sf) : y_offset;
82
40.0M
  return (int64_t)y * stride + x;
83
40.0M
}
Unexecuted instantiation: vp9_noise_estimate.c:scaled_buffer_offset
Unexecuted instantiation: vp9_temporal_filter.c:scaled_buffer_offset
Unexecuted instantiation: vp9_tpl_model.c:scaled_buffer_offset
Unexecuted instantiation: vp9_mbgraph.c:scaled_buffer_offset
Unexecuted instantiation: vp9_loopfilter.c:scaled_buffer_offset
Unexecuted instantiation: vp9_thread_common.c:scaled_buffer_offset
vp9_reconinter.c:scaled_buffer_offset
Line
Count
Source
79
69.0M
                                           const struct scale_factors *sf) {
80
69.0M
  const int x = sf ? sf->scale_value_x(x_offset, sf) : x_offset;
81
69.0M
  const int y = sf ? sf->scale_value_y(y_offset, sf) : y_offset;
82
69.0M
  return (int64_t)y * stride + x;
83
69.0M
}
vp9_encodeframe.c:scaled_buffer_offset
Line
Count
Source
79
87.3M
                                           const struct scale_factors *sf) {
80
87.3M
  const int x = sf ? sf->scale_value_x(x_offset, sf) : x_offset;
81
87.3M
  const int y = sf ? sf->scale_value_y(y_offset, sf) : y_offset;
82
87.3M
  return (int64_t)y * stride + x;
83
87.3M
}
Unexecuted instantiation: vp9_encodemb.c:scaled_buffer_offset
Unexecuted instantiation: vp9_rdopt.c:scaled_buffer_offset
Unexecuted instantiation: vp9_pickmode.c:scaled_buffer_offset
84
85
static INLINE void setup_pred_plane(struct buf_2d *dst, uint8_t *src,
86
                                    int stride, int mi_row, int mi_col,
87
                                    const struct scale_factors *scale,
88
196M
                                    int subsampling_x, int subsampling_y) {
89
196M
  const int x = (MI_SIZE * mi_col) >> subsampling_x;
90
196M
  const int y = (MI_SIZE * mi_row) >> subsampling_y;
91
196M
  dst->buf = src + scaled_buffer_offset(x, y, stride, scale);
92
196M
  dst->stride = stride;
93
196M
}
Unexecuted instantiation: vp9_firstpass.c:setup_pred_plane
Unexecuted instantiation: vp9_mcomp.c:setup_pred_plane
Unexecuted instantiation: vp9_encoder.c:setup_pred_plane
vp9_rd.c:setup_pred_plane
Line
Count
Source
88
40.0M
                                    int subsampling_x, int subsampling_y) {
89
40.0M
  const int x = (MI_SIZE * mi_col) >> subsampling_x;
90
40.0M
  const int y = (MI_SIZE * mi_row) >> subsampling_y;
91
40.0M
  dst->buf = src + scaled_buffer_offset(x, y, stride, scale);
92
40.0M
  dst->stride = stride;
93
40.0M
}
Unexecuted instantiation: vp9_noise_estimate.c:setup_pred_plane
Unexecuted instantiation: vp9_temporal_filter.c:setup_pred_plane
Unexecuted instantiation: vp9_tpl_model.c:setup_pred_plane
Unexecuted instantiation: vp9_mbgraph.c:setup_pred_plane
Unexecuted instantiation: vp9_loopfilter.c:setup_pred_plane
Unexecuted instantiation: vp9_thread_common.c:setup_pred_plane
vp9_reconinter.c:setup_pred_plane
Line
Count
Source
88
69.0M
                                    int subsampling_x, int subsampling_y) {
89
69.0M
  const int x = (MI_SIZE * mi_col) >> subsampling_x;
90
69.0M
  const int y = (MI_SIZE * mi_row) >> subsampling_y;
91
69.0M
  dst->buf = src + scaled_buffer_offset(x, y, stride, scale);
92
69.0M
  dst->stride = stride;
93
69.0M
}
vp9_encodeframe.c:setup_pred_plane
Line
Count
Source
88
87.3M
                                    int subsampling_x, int subsampling_y) {
89
87.3M
  const int x = (MI_SIZE * mi_col) >> subsampling_x;
90
87.3M
  const int y = (MI_SIZE * mi_row) >> subsampling_y;
91
87.3M
  dst->buf = src + scaled_buffer_offset(x, y, stride, scale);
92
87.3M
  dst->stride = stride;
93
87.3M
}
Unexecuted instantiation: vp9_encodemb.c:setup_pred_plane
Unexecuted instantiation: vp9_rdopt.c:setup_pred_plane
Unexecuted instantiation: vp9_pickmode.c:setup_pred_plane
94
95
void vp9_setup_dst_planes(struct macroblockd_plane planes[MAX_MB_PLANE],
96
                          const YV12_BUFFER_CONFIG *src, int mi_row,
97
                          int mi_col);
98
99
void vp9_setup_pre_planes(MACROBLOCKD *xd, int idx,
100
                          const YV12_BUFFER_CONFIG *src, int mi_row, int mi_col,
101
                          const struct scale_factors *sf);
102
103
#ifdef __cplusplus
104
}  // extern "C"
105
#endif
106
107
#endif  // VPX_VP9_COMMON_VP9_RECONINTER_H_