typedefstruct { double intra_factor; double brightness_factor;
int64_t coded_error;
int64_t sr_coded_error;
int64_t frame_noise_energy;
int64_t intra_error; int intercount; int second_ref_count; double neutral_count; double intra_count_low; // Coded intra but low variance double intra_count_high; // Coded intra high variance int intra_skip_count; int image_data_start_row; int mvcount; int sum_mvr; int sum_mvr_abs; int sum_mvc; int sum_mvc_abs;
int64_t sum_mvrs;
int64_t sum_mvcs; int sum_in_vectors; int intra_smooth_count; int new_mv_count;
} FIRSTPASS_DATA;
int frame_start; int frame_end; // TODO(jingning): The array size of arf_stack could be reduced. int arf_index_stack[MAX_LAG_BUFFERS * 2]; int top_arf_idx; int stack_size; int gf_group_size; int max_layer_depth; int allowed_max_layer_depth; int group_noise_energy;
// Structure to store the reference information from external RC. // Used to override reference frame decisions in libvpx.
ExternalRcReference ext_rc_ref[MAX_STATIC_GF_GROUP_LENGTH + 2]; int ref_frame_list[MAX_STATIC_GF_GROUP_LENGTH + 2][REFS_PER_FRAME];
} GF_GROUP;
typedefstruct { const FIRSTPASS_STATS *stats; int num_frames;
} FIRST_PASS_INFO;
// An indication of the content type of the current frame
FRAME_CONTENT_TYPE fr_content_type;
// Projected total bits available for a key frame group of frames
int64_t kf_group_bits;
// Error score of frames still to be coded in kf group double kf_group_error_left;
double bpm_factor; int rolling_arf_group_target_bits; int rolling_arf_group_actual_bits;
int sr_update_lag; int kf_zeromotion_pct; int last_kfgroup_zeromotion_pct; int active_worst_quality; int baseline_active_worst_quality; int extend_minq; int extend_maxq; int extend_minq_fast; int arnr_strength_adjustment; int last_qindex_of_arf_layer[MAX_ARF_LAYERS];
GF_GROUP gf_group;
// Vizeir project experimental two pass rate control parameters. // When |use_vizier_rc_params| is 1, the following parameters will // be overwritten by pass in values. Otherwise, they are initialized // by default values. int use_vizier_rc_params; double active_wq_factor; double err_per_mb; double sr_default_decay_limit; double sr_diff_factor; double kf_err_per_mb; double kf_frame_min_boost; double kf_frame_max_boost_first; // Max for first kf in a chunk. double kf_frame_max_boost_subs; // Max for subsequent mid chunk kfs. double kf_max_total_boost; double gf_max_total_boost; double gf_frame_max_boost; double zm_factor;
} TWO_PASS;
// Post encode update of the rate control parameters for 2-pass void vp9_twopass_postencode_update(struct VP9_COMP *cpi);
void calculate_coded_size(struct VP9_COMP *cpi, int *scaled_frame_width, int *scaled_frame_height);
struct VP9EncoderConfig; int vp9_get_frames_to_next_key(conststruct VP9EncoderConfig *oxcf, const TWO_PASS *const twopass, int kf_show_idx, int min_gf_interval);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.