OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef VP9_COMMON_VP9_RECONINTER_H_ | 11 #ifndef VP9_COMMON_VP9_RECONINTER_H_ |
12 #define VP9_COMMON_VP9_RECONINTER_H_ | 12 #define VP9_COMMON_VP9_RECONINTER_H_ |
13 | 13 |
14 #include "vpx/vpx_integer.h" | 14 #include "vpx/vpx_integer.h" |
15 #include "vp9/common/vp9_onyxc_int.h" | 15 #include "vp9/common/vp9_onyxc_int.h" |
16 | 16 |
17 struct subpix_fn_table; | 17 struct subpix_fn_table; |
18 void vp9_build_inter_predictors_sby(MACROBLOCKD *xd, | 18 void vp9_build_inter_predictors_sby(MACROBLOCKD *xd, int mi_row, int mi_col, |
19 int mb_row, | 19 BLOCK_SIZE bsize); |
20 int mb_col, | |
21 BLOCK_SIZE_TYPE bsize); | |
22 | 20 |
23 void vp9_build_inter_predictors_sbuv(MACROBLOCKD *xd, | 21 void vp9_build_inter_predictors_sbuv(MACROBLOCKD *xd, int mi_row, int mi_col, |
24 int mb_row, | 22 BLOCK_SIZE bsize); |
25 int mb_col, | |
26 BLOCK_SIZE_TYPE bsize); | |
27 | 23 |
28 void vp9_build_inter_predictors_sb(MACROBLOCKD *mb, | 24 void vp9_build_inter_predictors_sb(MACROBLOCKD *xd, int mi_row, int mi_col, |
29 int mb_row, int mb_col, | 25 BLOCK_SIZE bsize); |
30 BLOCK_SIZE_TYPE bsize); | |
31 | 26 |
32 void vp9_setup_interp_filters(MACROBLOCKD *xd, | 27 void vp9_setup_interp_filters(MACROBLOCKD *xd, |
33 INTERPOLATIONFILTERTYPE filter, | 28 INTERPOLATIONFILTERTYPE filter, |
34 VP9_COMMON *cm); | 29 VP9_COMMON *cm); |
35 | 30 |
36 void vp9_setup_scale_factors_for_frame(struct scale_factors *scale, | |
37 int other_w, int other_h, | |
38 int this_w, int this_h); | |
39 | |
40 void vp9_build_inter_predictor(const uint8_t *src, int src_stride, | 31 void vp9_build_inter_predictor(const uint8_t *src, int src_stride, |
41 uint8_t *dst, int dst_stride, | 32 uint8_t *dst, int dst_stride, |
42 const int_mv *mv_q3, | 33 const MV *mv_q3, |
43 const struct scale_factors *scale, | 34 const struct scale_factors *scale, |
44 int w, int h, int do_avg, | 35 int w, int h, int do_avg, |
45 const struct subpix_fn_table *subpix, | 36 const struct subpix_fn_table *subpix, |
46 enum mv_precision precision); | 37 enum mv_precision precision); |
47 | 38 |
48 static int scaled_buffer_offset(int x_offset, int y_offset, int stride, | 39 static int scaled_buffer_offset(int x_offset, int y_offset, int stride, |
49 const struct scale_factors *scale) { | 40 const struct scale_factors *scale) { |
50 const int x = scale ? scale->scale_value_x(x_offset, scale) : x_offset; | 41 const int x = scale ? scale->scale_value_x(x_offset, scale) : x_offset; |
51 const int y = scale ? scale->scale_value_y(y_offset, scale) : y_offset; | 42 const int y = scale ? scale->scale_value_y(y_offset, scale) : y_offset; |
52 return y * stride + x; | 43 return y * stride + x; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 92 |
102 static void set_scale_factors(MACROBLOCKD *xd, int ref0, int ref1, | 93 static void set_scale_factors(MACROBLOCKD *xd, int ref0, int ref1, |
103 struct scale_factors sf[MAX_REF_FRAMES]) { | 94 struct scale_factors sf[MAX_REF_FRAMES]) { |
104 xd->scale_factor[0] = sf[ref0 >= 0 ? ref0 : 0]; | 95 xd->scale_factor[0] = sf[ref0 >= 0 ? ref0 : 0]; |
105 xd->scale_factor[1] = sf[ref1 >= 0 ? ref1 : 0]; | 96 xd->scale_factor[1] = sf[ref1 >= 0 ? ref1 : 0]; |
106 } | 97 } |
107 | 98 |
108 void vp9_setup_scale_factors(VP9_COMMON *cm, int i); | 99 void vp9_setup_scale_factors(VP9_COMMON *cm, int i); |
109 | 100 |
110 #endif // VP9_COMMON_VP9_RECONINTER_H_ | 101 #endif // VP9_COMMON_VP9_RECONINTER_H_ |
OLD | NEW |