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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 uint8_t *frame_mb_stats_buf; | 102 uint8_t *frame_mb_stats_buf; |
103 uint8_t *this_frame_mb_stats; | 103 uint8_t *this_frame_mb_stats; |
104 FIRSTPASS_MB_STATS firstpass_mb_stats; | 104 FIRSTPASS_MB_STATS firstpass_mb_stats; |
105 #endif | 105 #endif |
106 | 106 |
107 // Projected total bits available for a key frame group of frames | 107 // Projected total bits available for a key frame group of frames |
108 int64_t kf_group_bits; | 108 int64_t kf_group_bits; |
109 | 109 |
110 // Error score of frames still to be coded in kf group | 110 // Error score of frames still to be coded in kf group |
111 int64_t kf_group_error_left; | 111 int64_t kf_group_error_left; |
| 112 |
| 113 // The fraction for a kf groups total bits allocated to the inter frames |
| 114 double kfgroup_inter_fraction; |
| 115 |
112 int sr_update_lag; | 116 int sr_update_lag; |
113 | 117 |
114 int kf_zeromotion_pct; | 118 int kf_zeromotion_pct; |
115 int last_kfgroup_zeromotion_pct; | 119 int last_kfgroup_zeromotion_pct; |
116 int gf_zeromotion_pct; | 120 int gf_zeromotion_pct; |
| 121 int baseline_worst_quality; |
117 int active_worst_quality; | 122 int active_worst_quality; |
118 int extend_minq; | 123 int extend_minq; |
119 int extend_maxq; | 124 int extend_maxq; |
120 | 125 |
121 GF_GROUP gf_group; | 126 GF_GROUP gf_group; |
122 } TWO_PASS; | 127 } TWO_PASS; |
123 | 128 |
124 struct VP9_COMP; | 129 struct VP9_COMP; |
125 | 130 |
126 void vp9_init_first_pass(struct VP9_COMP *cpi); | 131 void vp9_init_first_pass(struct VP9_COMP *cpi); |
127 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); | 132 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); |
128 void vp9_first_pass(struct VP9_COMP *cpi, const struct lookahead_entry *source); | 133 void vp9_first_pass(struct VP9_COMP *cpi, const struct lookahead_entry *source); |
129 void vp9_end_first_pass(struct VP9_COMP *cpi); | 134 void vp9_end_first_pass(struct VP9_COMP *cpi); |
130 | 135 |
131 void vp9_init_second_pass(struct VP9_COMP *cpi); | 136 void vp9_init_second_pass(struct VP9_COMP *cpi); |
132 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); | 137 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); |
133 | 138 |
134 // Post encode update of the rate control parameters for 2-pass | 139 // Post encode update of the rate control parameters for 2-pass |
135 void vp9_twopass_postencode_update(struct VP9_COMP *cpi); | 140 void vp9_twopass_postencode_update(struct VP9_COMP *cpi); |
136 #ifdef __cplusplus | 141 #ifdef __cplusplus |
137 } // extern "C" | 142 } // extern "C" |
138 #endif | 143 #endif |
139 | 144 |
140 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ | 145 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ |
OLD | NEW |