12#ifndef AOM_AV1_ENCODER_PASS2_STRATEGY_H_
13#define AOM_AV1_ENCODER_PASS2_STRATEGY_H_
20struct EncodeFrameParams;
31 double gf_group_raw_error;
32 double gf_group_skip_pct;
33 double gf_group_inactive_zone_rows;
35 double mv_ratio_accumulator;
36 double decay_accumulator;
37 double zero_motion_accumulator;
38 double loop_decay_rate;
39 double last_loop_decay_rate;
40 double this_frame_mv_in_out;
41 double mv_in_out_accumulator;
42 double abs_mv_in_out_accumulator;
44 double avg_sr_coded_error;
45 double avg_pcnt_second_ref;
46 double avg_new_mv_count;
47 double avg_wavelet_energy;
48 double avg_raw_err_stdev;
49 int non_zero_stdev_count;
59 double frame_coded_error;
60 double frame_sr_coded_error;
65void av1_init_second_pass(
struct AV1_COMP *cpi);
67void av1_init_single_pass_lap(AV1_COMP *cpi);
91 struct EncodeFrameParams *
const frame_params,
92 const EncodeFrameInput *
const frame_input,
93 unsigned int frame_flags);
130 GF_GROUP *gf_group,
int is_key_frame,
int use_arf,
131 int64_t gf_group_bits);
Declares top-level encoder structures and functions.
void av1_get_second_pass_params(struct AV1_COMP *cpi, struct EncodeFrameParams *const frame_params, const EncodeFrameInput *const frame_input, unsigned int frame_flags)
Main per frame entry point for second pass of two pass encode.
Definition pass2_strategy.c:3463
void av1_gop_bit_allocation(const AV1_COMP *cpi, RATE_CONTROL *const rc, GF_GROUP *gf_group, int is_key_frame, int use_arf, int64_t gf_group_bits)
Distributes bits to frames in a group.
Definition pass2_strategy.c:2479
void av1_twopass_postencode_update(struct AV1_COMP *cpi)
Adjustments to two pass and rate control after each frame.
Definition pass2_strategy.c:3813
accumulated stats and features for a frame
Definition pass2_strategy.h:56
accumulated stats and features in a gf group
Definition pass2_strategy.h:28
Data related to the current GF/ARF group and the individual frames within the group.
Definition firstpass.h:344
Rate Control parameters and status.
Definition ratectrl.h:118