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 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 int sadpb, int further_steps, int do_refine, | 72 int sadpb, int further_steps, int do_refine, |
73 const vp9_variance_fn_ptr_t *fn_ptr, | 73 const vp9_variance_fn_ptr_t *fn_ptr, |
74 const MV *ref_mv, MV *dst_mv); | 74 const MV *ref_mv, MV *dst_mv); |
75 | 75 |
76 typedef int (integer_mv_pattern_search_fn) ( | 76 typedef int (integer_mv_pattern_search_fn) ( |
77 const MACROBLOCK *x, | 77 const MACROBLOCK *x, |
78 MV *ref_mv, | 78 MV *ref_mv, |
79 int search_param, | 79 int search_param, |
80 int error_per_bit, | 80 int error_per_bit, |
81 int do_init_search, | 81 int do_init_search, |
| 82 int *sad_list, |
82 const vp9_variance_fn_ptr_t *vf, | 83 const vp9_variance_fn_ptr_t *vf, |
83 int use_mvcost, | 84 int use_mvcost, |
84 const MV *center_mv, | 85 const MV *center_mv, |
85 MV *best_mv); | 86 MV *best_mv); |
86 | 87 |
87 integer_mv_pattern_search_fn vp9_hex_search; | 88 integer_mv_pattern_search_fn vp9_hex_search; |
88 integer_mv_pattern_search_fn vp9_bigdia_search; | 89 integer_mv_pattern_search_fn vp9_bigdia_search; |
89 integer_mv_pattern_search_fn vp9_square_search; | 90 integer_mv_pattern_search_fn vp9_square_search; |
90 integer_mv_pattern_search_fn vp9_fast_hex_search; | 91 integer_mv_pattern_search_fn vp9_fast_hex_search; |
91 integer_mv_pattern_search_fn vp9_fast_dia_search; | 92 integer_mv_pattern_search_fn vp9_fast_dia_search; |
92 | 93 |
93 typedef int (fractional_mv_step_fp) ( | 94 typedef int (fractional_mv_step_fp) ( |
94 const MACROBLOCK *x, | 95 const MACROBLOCK *x, |
95 MV *bestmv, const MV *ref_mv, | 96 MV *bestmv, const MV *ref_mv, |
96 int allow_hp, | 97 int allow_hp, |
97 int error_per_bit, | 98 int error_per_bit, |
98 const vp9_variance_fn_ptr_t *vfp, | 99 const vp9_variance_fn_ptr_t *vfp, |
99 int forced_stop, // 0 - full, 1 - qtr only, 2 - half only | 100 int forced_stop, // 0 - full, 1 - qtr only, 2 - half only |
100 int iters_per_step, | 101 int iters_per_step, |
| 102 int *sad_list, |
101 int *mvjcost, int *mvcost[2], | 103 int *mvjcost, int *mvcost[2], |
102 int *distortion, unsigned int *sse1, | 104 int *distortion, unsigned int *sse1, |
103 const uint8_t *second_pred, | 105 const uint8_t *second_pred, |
104 int w, int h); | 106 int w, int h); |
105 | 107 |
106 extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree; | 108 extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree; |
| 109 extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree_pruned; |
107 | 110 |
108 typedef int (*vp9_full_search_fn_t)(const MACROBLOCK *x, | 111 typedef int (*vp9_full_search_fn_t)(const MACROBLOCK *x, |
109 const MV *ref_mv, int sad_per_bit, | 112 const MV *ref_mv, int sad_per_bit, |
110 int distance, | 113 int distance, |
111 const vp9_variance_fn_ptr_t *fn_ptr, | 114 const vp9_variance_fn_ptr_t *fn_ptr, |
112 const MV *center_mv, MV *best_mv); | 115 const MV *center_mv, MV *best_mv); |
113 | 116 |
114 typedef int (*vp9_refining_search_fn_t)(const MACROBLOCK *x, | 117 typedef int (*vp9_refining_search_fn_t)(const MACROBLOCK *x, |
115 MV *ref_mv, int sad_per_bit, | 118 MV *ref_mv, int sad_per_bit, |
116 int distance, | 119 int distance, |
(...skipping 12 matching lines...) Expand all Loading... |
129 MV *ref_mv, int error_per_bit, | 132 MV *ref_mv, int error_per_bit, |
130 int search_range, | 133 int search_range, |
131 const vp9_variance_fn_ptr_t *fn_ptr, | 134 const vp9_variance_fn_ptr_t *fn_ptr, |
132 const MV *center_mv, const uint8_t *second_pred); | 135 const MV *center_mv, const uint8_t *second_pred); |
133 | 136 |
134 struct VP9_COMP; | 137 struct VP9_COMP; |
135 | 138 |
136 int vp9_full_pixel_search(struct VP9_COMP *cpi, MACROBLOCK *x, | 139 int vp9_full_pixel_search(struct VP9_COMP *cpi, MACROBLOCK *x, |
137 BLOCK_SIZE bsize, MV *mvp_full, | 140 BLOCK_SIZE bsize, MV *mvp_full, |
138 int step_param, int error_per_bit, | 141 int step_param, int error_per_bit, |
| 142 int *sad_list, |
139 const MV *ref_mv, MV *tmp_mv, | 143 const MV *ref_mv, MV *tmp_mv, |
140 int var_max, int rd); | 144 int var_max, int rd); |
| 145 |
141 #ifdef __cplusplus | 146 #ifdef __cplusplus |
142 } // extern "C" | 147 } // extern "C" |
143 #endif | 148 #endif |
144 | 149 |
145 #endif // VP9_ENCODER_VP9_MCOMP_H_ | 150 #endif // VP9_ENCODER_VP9_MCOMP_H_ |
OLD | NEW |