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