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 17 matching lines...) Expand all Loading... |
28 double MVr; | 28 double MVr; |
29 double mvr_abs; | 29 double mvr_abs; |
30 double MVc; | 30 double MVc; |
31 double mvc_abs; | 31 double mvc_abs; |
32 double MVrv; | 32 double MVrv; |
33 double MVcv; | 33 double MVcv; |
34 double mv_in_out_count; | 34 double mv_in_out_count; |
35 double new_mv_count; | 35 double new_mv_count; |
36 double duration; | 36 double duration; |
37 double count; | 37 double count; |
| 38 int64_t spatial_layer_id; |
38 } FIRSTPASS_STATS; | 39 } FIRSTPASS_STATS; |
39 | 40 |
40 struct twopass_rc { | 41 struct twopass_rc { |
41 unsigned int section_intra_rating; | 42 unsigned int section_intra_rating; |
42 unsigned int next_iiratio; | 43 unsigned int next_iiratio; |
43 unsigned int this_iiratio; | 44 unsigned int this_iiratio; |
44 FIRSTPASS_STATS total_stats; | 45 FIRSTPASS_STATS total_stats; |
45 FIRSTPASS_STATS this_frame_stats; | 46 FIRSTPASS_STATS this_frame_stats; |
46 FIRSTPASS_STATS *stats_in, *stats_in_end, *stats_in_start; | 47 const FIRSTPASS_STATS *stats_in; |
| 48 const FIRSTPASS_STATS *stats_in_start; |
| 49 const FIRSTPASS_STATS *stats_in_end; |
47 FIRSTPASS_STATS total_left_stats; | 50 FIRSTPASS_STATS total_left_stats; |
48 int first_pass_done; | 51 int first_pass_done; |
49 int64_t bits_left; | 52 int64_t bits_left; |
50 int64_t clip_bits_total; | 53 int64_t clip_bits_total; |
51 double avg_iiratio; | 54 double avg_iiratio; |
52 double modified_error_min; | 55 double modified_error_min; |
53 double modified_error_max; | 56 double modified_error_max; |
54 double modified_error_total; | 57 double modified_error_total; |
55 double modified_error_left; | 58 double modified_error_left; |
56 double kf_intra_err_min; | 59 double kf_intra_err_min; |
57 double gf_intra_err_min; | 60 double gf_intra_err_min; |
58 int static_scene_max_gf_interval; | |
59 int kf_bits; | 61 int kf_bits; |
60 // Remaining error from uncoded frames in a gf group. Two pass use only | 62 // Remaining error from uncoded frames in a gf group. Two pass use only |
61 int64_t gf_group_error_left; | 63 int64_t gf_group_error_left; |
62 | 64 |
63 // Projected total bits available for a key frame group of frames | 65 // Projected total bits available for a key frame group of frames |
64 int64_t kf_group_bits; | 66 int64_t kf_group_bits; |
65 | 67 |
66 // Error score of frames still to be coded in kf group | 68 // Error score of frames still to be coded in kf group |
67 int64_t kf_group_error_left; | 69 int64_t kf_group_error_left; |
68 | 70 |
(...skipping 17 matching lines...) Expand all Loading... |
86 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); | 88 void vp9_rc_get_first_pass_params(struct VP9_COMP *cpi); |
87 void vp9_first_pass(struct VP9_COMP *cpi); | 89 void vp9_first_pass(struct VP9_COMP *cpi); |
88 void vp9_end_first_pass(struct VP9_COMP *cpi); | 90 void vp9_end_first_pass(struct VP9_COMP *cpi); |
89 | 91 |
90 void vp9_init_second_pass(struct VP9_COMP *cpi); | 92 void vp9_init_second_pass(struct VP9_COMP *cpi); |
91 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); | 93 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi); |
92 int vp9_twopass_worst_quality(struct VP9_COMP *cpi, FIRSTPASS_STATS *fpstats, | 94 int vp9_twopass_worst_quality(struct VP9_COMP *cpi, FIRSTPASS_STATS *fpstats, |
93 int section_target_bandwitdh); | 95 int section_target_bandwitdh); |
94 | 96 |
95 // Post encode update of the rate control parameters for 2-pass | 97 // Post encode update of the rate control parameters for 2-pass |
96 void vp9_twopass_postencode_update(struct VP9_COMP *cpi, | 98 void vp9_twopass_postencode_update(struct VP9_COMP *cpi); |
97 uint64_t bytes_used); | |
98 #ifdef __cplusplus | 99 #ifdef __cplusplus |
99 } // extern "C" | 100 } // extern "C" |
100 #endif | 101 #endif |
101 | 102 |
102 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ | 103 #endif // VP9_ENCODER_VP9_FIRSTPASS_H_ |
OLD | NEW |