| 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 |