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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 int use_mvcost); | 57 int use_mvcost); |
58 int vp9_get_mvpred_av_var(const MACROBLOCK *x, | 58 int vp9_get_mvpred_av_var(const MACROBLOCK *x, |
59 const MV *best_mv, const MV *center_mv, | 59 const MV *best_mv, const MV *center_mv, |
60 const uint8_t *second_pred, | 60 const uint8_t *second_pred, |
61 const vp9_variance_fn_ptr_t *vfp, | 61 const vp9_variance_fn_ptr_t *vfp, |
62 int use_mvcost); | 62 int use_mvcost); |
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(const struct SPEED_FEATURES *sf, 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 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, |
(...skipping 13 matching lines...) Expand all Loading... |
91 integer_mv_pattern_search_fn vp9_fast_dia_search; | 91 integer_mv_pattern_search_fn vp9_fast_dia_search; |
92 | 92 |
93 typedef int (fractional_mv_step_fp) ( | 93 typedef int (fractional_mv_step_fp) ( |
94 const MACROBLOCK *x, | 94 const MACROBLOCK *x, |
95 MV *bestmv, const MV *ref_mv, | 95 MV *bestmv, const MV *ref_mv, |
96 int allow_hp, | 96 int allow_hp, |
97 int error_per_bit, | 97 int error_per_bit, |
98 const vp9_variance_fn_ptr_t *vfp, | 98 const vp9_variance_fn_ptr_t *vfp, |
99 int forced_stop, // 0 - full, 1 - qtr only, 2 - half only | 99 int forced_stop, // 0 - full, 1 - qtr only, 2 - half only |
100 int iters_per_step, | 100 int iters_per_step, |
101 int *mvjcost, | |
102 int *mvcost[2], | |
103 int *distortion, | |
104 unsigned int *sse); | |
105 | |
106 extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree; | |
107 | |
108 typedef int (fractional_mv_step_comp_fp) ( | |
109 const MACROBLOCK *x, | |
110 MV *bestmv, const MV *ref_mv, | |
111 int allow_hp, | |
112 int error_per_bit, | |
113 const vp9_variance_fn_ptr_t *vfp, | |
114 int forced_stop, // 0 - full, 1 - qtr only, 2 - half only | |
115 int iters_per_step, | |
116 int *mvjcost, int *mvcost[2], | 101 int *mvjcost, int *mvcost[2], |
117 int *distortion, unsigned int *sse1, | 102 int *distortion, unsigned int *sse1, |
118 const uint8_t *second_pred, | 103 const uint8_t *second_pred, |
119 int w, int h); | 104 int w, int h); |
120 | 105 |
121 extern fractional_mv_step_comp_fp vp9_find_best_sub_pixel_comp_tree; | 106 extern fractional_mv_step_fp vp9_find_best_sub_pixel_tree; |
122 | 107 |
123 typedef int (*vp9_full_search_fn_t)(const MACROBLOCK *x, | 108 typedef int (*vp9_full_search_fn_t)(const MACROBLOCK *x, |
124 const MV *ref_mv, int sad_per_bit, | 109 const MV *ref_mv, int sad_per_bit, |
125 int distance, | 110 int distance, |
126 const vp9_variance_fn_ptr_t *fn_ptr, | 111 const vp9_variance_fn_ptr_t *fn_ptr, |
127 const MV *center_mv, MV *best_mv); | 112 const MV *center_mv, MV *best_mv); |
128 | 113 |
129 typedef int (*vp9_refining_search_fn_t)(const MACROBLOCK *x, | 114 typedef int (*vp9_refining_search_fn_t)(const MACROBLOCK *x, |
130 MV *ref_mv, int sad_per_bit, | 115 MV *ref_mv, int sad_per_bit, |
131 int distance, | 116 int distance, |
(...skipping 19 matching lines...) Expand all Loading... |
151 int vp9_full_pixel_search(struct VP9_COMP *cpi, MACROBLOCK *x, | 136 int vp9_full_pixel_search(struct VP9_COMP *cpi, MACROBLOCK *x, |
152 BLOCK_SIZE bsize, MV *mvp_full, | 137 BLOCK_SIZE bsize, MV *mvp_full, |
153 int step_param, int error_per_bit, | 138 int step_param, int error_per_bit, |
154 const MV *ref_mv, MV *tmp_mv, | 139 const MV *ref_mv, MV *tmp_mv, |
155 int var_max, int rd); | 140 int var_max, int rd); |
156 #ifdef __cplusplus | 141 #ifdef __cplusplus |
157 } // extern "C" | 142 } // extern "C" |
158 #endif | 143 #endif |
159 | 144 |
160 #endif // VP9_ENCODER_VP9_MCOMP_H_ | 145 #endif // VP9_ENCODER_VP9_MCOMP_H_ |
OLD | NEW |