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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 | 110 |
111 int64_t filter_diff[SWITCHABLE_FILTER_CONTEXTS]; | 111 int64_t filter_diff[SWITCHABLE_FILTER_CONTEXTS]; |
112 int64_t filter_threshes[MAX_REF_FRAMES][SWITCHABLE_FILTER_CONTEXTS]; | 112 int64_t filter_threshes[MAX_REF_FRAMES][SWITCHABLE_FILTER_CONTEXTS]; |
113 int64_t filter_cache[SWITCHABLE_FILTER_CONTEXTS]; | 113 int64_t filter_cache[SWITCHABLE_FILTER_CONTEXTS]; |
114 int64_t mask_filter; | 114 int64_t mask_filter; |
115 | 115 |
116 int RDMULT; | 116 int RDMULT; |
117 int RDDIV; | 117 int RDDIV; |
118 } RD_OPT; | 118 } RD_OPT; |
119 | 119 |
| 120 typedef struct RD_COST { |
| 121 int rate; |
| 122 int64_t dist; |
| 123 int64_t rdcost; |
| 124 } RD_COST; |
| 125 |
| 126 // Reset the rate distortion cost values to maximum (invalid) value. |
| 127 void vp9_rd_cost_reset(RD_COST *rd_cost); |
| 128 // Initialize the rate distortion cost values to zero. |
| 129 void vp9_rd_cost_init(RD_COST *rd_cost); |
| 130 |
120 struct TileInfo; | 131 struct TileInfo; |
121 struct VP9_COMP; | 132 struct VP9_COMP; |
122 struct macroblock; | 133 struct macroblock; |
123 | 134 |
124 int vp9_compute_rd_mult(const struct VP9_COMP *cpi, int qindex); | 135 int vp9_compute_rd_mult(const struct VP9_COMP *cpi, int qindex); |
125 | 136 |
126 void vp9_initialize_rd_consts(struct VP9_COMP *cpi); | 137 void vp9_initialize_rd_consts(struct VP9_COMP *cpi); |
127 | 138 |
128 void vp9_initialize_me_consts(struct VP9_COMP *cpi, int qindex); | 139 void vp9_initialize_me_consts(struct VP9_COMP *cpi, int qindex); |
129 | 140 |
(...skipping 25 matching lines...) Expand all Loading... |
155 void vp9_mv_pred(struct VP9_COMP *cpi, MACROBLOCK *x, | 166 void vp9_mv_pred(struct VP9_COMP *cpi, MACROBLOCK *x, |
156 uint8_t *ref_y_buffer, int ref_y_stride, | 167 uint8_t *ref_y_buffer, int ref_y_stride, |
157 int ref_frame, BLOCK_SIZE block_size); | 168 int ref_frame, BLOCK_SIZE block_size); |
158 | 169 |
159 void vp9_setup_pred_block(const MACROBLOCKD *xd, | 170 void vp9_setup_pred_block(const MACROBLOCKD *xd, |
160 struct buf_2d dst[MAX_MB_PLANE], | 171 struct buf_2d dst[MAX_MB_PLANE], |
161 const YV12_BUFFER_CONFIG *src, | 172 const YV12_BUFFER_CONFIG *src, |
162 int mi_row, int mi_col, | 173 int mi_row, int mi_col, |
163 const struct scale_factors *scale, | 174 const struct scale_factors *scale, |
164 const struct scale_factors *scale_uv); | 175 const struct scale_factors *scale_uv); |
| 176 |
| 177 int vp9_get_intra_cost_penalty(int qindex, int qdelta, |
| 178 vpx_bit_depth_t bit_depth); |
| 179 |
165 #ifdef __cplusplus | 180 #ifdef __cplusplus |
166 } // extern "C" | 181 } // extern "C" |
167 #endif | 182 #endif |
168 | 183 |
169 #endif // VP9_ENCODER_VP9_RD_H_ | 184 #endif // VP9_ENCODER_VP9_RD_H_ |
OLD | NEW |