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 21 matching lines...) Expand all Loading... |
32 #define FPMB_ERROR_LARGE_MASK 0x80 | 32 #define FPMB_ERROR_LARGE_MASK 0x80 |
33 #define FPMB_ERROR_SMALL_TH 2000 | 33 #define FPMB_ERROR_SMALL_TH 2000 |
34 #define FPMB_ERROR_LARGE_TH 48000 | 34 #define FPMB_ERROR_LARGE_TH 48000 |
35 | 35 |
36 typedef struct { | 36 typedef struct { |
37 uint8_t *mb_stats_start; | 37 uint8_t *mb_stats_start; |
38 uint8_t *mb_stats_end; | 38 uint8_t *mb_stats_end; |
39 } FIRSTPASS_MB_STATS; | 39 } FIRSTPASS_MB_STATS; |
40 #endif | 40 #endif |
41 | 41 |
| 42 #define VLOW_MOTION_THRESHOLD 950 |
| 43 |
42 typedef struct { | 44 typedef struct { |
43 double frame; | 45 double frame; |
44 double intra_error; | 46 double intra_error; |
45 double coded_error; | 47 double coded_error; |
46 double sr_coded_error; | 48 double sr_coded_error; |
47 double pcnt_inter; | 49 double pcnt_inter; |
48 double pcnt_motion; | 50 double pcnt_motion; |
49 double pcnt_second_ref; | 51 double pcnt_second_ref; |
50 double pcnt_neutral; | 52 double pcnt_neutral; |
51 double MVr; | 53 double MVr; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 // Projected total bits available for a key frame group of frames | 105 // Projected total bits available for a key frame group of frames |
104 int64_t kf_group_bits; | 106 int64_t kf_group_bits; |
105 | 107 |
106 // Error score of frames still to be coded in kf group | 108 // Error score of frames still to be coded in kf group |
107 int64_t kf_group_error_left; | 109 int64_t kf_group_error_left; |
108 int sr_update_lag; | 110 int sr_update_lag; |
109 | 111 |
110 int kf_zeromotion_pct; | 112 int kf_zeromotion_pct; |
111 int last_kfgroup_zeromotion_pct; | 113 int last_kfgroup_zeromotion_pct; |
112 int gf_zeromotion_pct; | 114 int gf_zeromotion_pct; |
113 | |
114 int active_worst_quality; | 115 int active_worst_quality; |
| 116 int extend_minq; |
| 117 int extend_maxq; |
115 | 118 |
116 GF_GROUP gf_group; | 119 GF_GROUP gf_group; |
117 } TWO_PASS; | 120 } TWO_PASS; |
118 | 121 |
119 struct VP9_COMP; | 122 struct VP9_COMP; |
120 | 123 |
121 void vp9_init_first_pass(struct VP9_COMP *cpi); | 124 void vp9_init_first_pass(struct VP9_COMP *cpi); |
122 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); | 125 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); |
123 void vp9_first_pass(struct VP9_COMP *cpi, const struct lookahead_entry *source); | 126 void vp9_first_pass(struct VP9_COMP *cpi, const struct lookahead_entry *source); |
124 void vp9_end_first_pass(struct VP9_COMP *cpi); | 127 void vp9_end_first_pass(struct VP9_COMP *cpi); |
125 | 128 |
126 void vp9_init_second_pass(struct VP9_COMP *cpi); | 129 void vp9_init_second_pass(struct VP9_COMP *cpi); |
127 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); | 130 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); |
128 | 131 |
129 // Post encode update of the rate control parameters for 2-pass | 132 // Post encode update of the rate control parameters for 2-pass |
130 void vp9_twopass_postencode_update(struct VP9_COMP *cpi); | 133 void vp9_twopass_postencode_update(struct VP9_COMP *cpi); |
131 #ifdef __cplusplus | 134 #ifdef __cplusplus |
132 } // extern "C" | 135 } // extern "C" |
133 #endif | 136 #endif |
134 | 137 |
135 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ | 138 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ |
OLD | NEW |