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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 int rc_2_frame; | 135 int rc_2_frame; |
136 int q_1_frame; | 136 int q_1_frame; |
137 int q_2_frame; | 137 int q_2_frame; |
138 | 138 |
139 // Auto frame-scaling variables. | 139 // Auto frame-scaling variables. |
140 FRAME_SCALE_LEVEL frame_size_selector; | 140 FRAME_SCALE_LEVEL frame_size_selector; |
141 FRAME_SCALE_LEVEL next_frame_size_selector; | 141 FRAME_SCALE_LEVEL next_frame_size_selector; |
142 int frame_width[FRAME_SCALE_STEPS]; | 142 int frame_width[FRAME_SCALE_STEPS]; |
143 int frame_height[FRAME_SCALE_STEPS]; | 143 int frame_height[FRAME_SCALE_STEPS]; |
144 int rf_level_maxq[RATE_FACTOR_LEVELS]; | 144 int rf_level_maxq[RATE_FACTOR_LEVELS]; |
| 145 |
| 146 uint64_t avg_source_sad; |
| 147 int high_source_sad; |
145 } RATE_CONTROL; | 148 } RATE_CONTROL; |
146 | 149 |
147 struct VP9_COMP; | 150 struct VP9_COMP; |
148 struct VP9EncoderConfig; | 151 struct VP9EncoderConfig; |
149 | 152 |
150 void vp9_rc_init(const struct VP9EncoderConfig *oxcf, int pass, | 153 void vp9_rc_init(const struct VP9EncoderConfig *oxcf, int pass, |
151 RATE_CONTROL *rc); | 154 RATE_CONTROL *rc); |
152 | 155 |
153 int vp9_estimate_bits_at_q(FRAME_TYPE frame_kind, int q, int mbs, | 156 int vp9_estimate_bits_at_q(FRAME_TYPE frame_kind, int q, int mbs, |
154 double correction_factor, | 157 double correction_factor, |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 | 252 |
250 void vp9_rc_update_framerate(struct VP9_COMP *cpi); | 253 void vp9_rc_update_framerate(struct VP9_COMP *cpi); |
251 | 254 |
252 void vp9_rc_set_gf_interval_range(const struct VP9_COMP *const cpi, | 255 void vp9_rc_set_gf_interval_range(const struct VP9_COMP *const cpi, |
253 RATE_CONTROL *const rc); | 256 RATE_CONTROL *const rc); |
254 | 257 |
255 void vp9_set_target_rate(struct VP9_COMP *cpi); | 258 void vp9_set_target_rate(struct VP9_COMP *cpi); |
256 | 259 |
257 int vp9_resize_one_pass_cbr(struct VP9_COMP *cpi); | 260 int vp9_resize_one_pass_cbr(struct VP9_COMP *cpi); |
258 | 261 |
| 262 void vp9_avg_source_sad(struct VP9_COMP *cpi); |
| 263 |
| 264 int vp9_encodedframe_overshoot(struct VP9_COMP *cpi, int frame_size, int *q); |
| 265 |
259 #ifdef __cplusplus | 266 #ifdef __cplusplus |
260 } // extern "C" | 267 } // extern "C" |
261 #endif | 268 #endif |
262 | 269 |
263 #endif // VP9_ENCODER_VP9_RATECTRL_H_ | 270 #endif // VP9_ENCODER_VP9_RATECTRL_H_ |
OLD | NEW |