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