AOMedia AV1 Codec
|
Sequence/frame level speed vs quality features. More...
#include <speed_features.h>
Data Fields | |
int | frame_parameter_update |
RECODE_LOOP_TYPE | recode_loop |
int | recode_tolerance |
MV_PREC_LOGIC | high_precision_mv_usage |
int | static_segmentation |
SUPERRES_AUTO_SEARCH_TYPE | superres_auto_search_type |
int | disable_extra_sc_testing |
int | second_alt_ref_filtering |
int | adjust_num_frames_for_arf_filtering |
int | accurate_bit_estimate |
int | weight_calc_level_in_tf |
int | allow_sub_blk_me_in_tf |
Sequence/frame level speed vs quality features.
int HIGH_LEVEL_SPEED_FEATURES::frame_parameter_update |
Frame level coding parameter update.
Referenced by av1_encode_frame().
RECODE_LOOP_TYPE HIGH_LEVEL_SPEED_FEATURES::recode_loop |
Cases and frame types for which the recode loop is enabled.
Referenced by encode_with_recode_loop(), encode_with_recode_loop_and_filter(), and recode_loop_test().
int HIGH_LEVEL_SPEED_FEATURES::recode_tolerance |
Controls the tolerance vs target rate used in deciding whether to recode a frame. It has no meaning if recode is disabled.
MV_PREC_LOGIC HIGH_LEVEL_SPEED_FEATURES::high_precision_mv_usage |
Determine how motion vector precision is chosen. The possibilities are: LAST_MV_DATA: use the mv data from the last coded frame CURRENT_Q: use the current q as a threshold QTR_ONLY: use quarter pel precision only.
Referenced by encode_with_recode_loop().
int HIGH_LEVEL_SPEED_FEATURES::static_segmentation |
Always set to 0. If on it enables 0 cost background transmission (except for the initial transmission of the segmentation). The feature is disabled because the addition of very large block sizes make the backgrounds very to cheap to encode, and the segmentation we have adds overhead.
SUPERRES_AUTO_SEARCH_TYPE HIGH_LEVEL_SPEED_FEATURES::superres_auto_search_type |
Superres-auto mode search type:
int HIGH_LEVEL_SPEED_FEATURES::disable_extra_sc_testing |
Enable/disable extra screen content test by encoding key frame twice.
Referenced by encode_with_recode_loop().
int HIGH_LEVEL_SPEED_FEATURES::second_alt_ref_filtering |
Enable/disable second_alt_ref temporal filtering.
int HIGH_LEVEL_SPEED_FEATURES::adjust_num_frames_for_arf_filtering |
The number of frames to be used during temporal filtering of an ARF frame is adjusted based on noise level of the current frame. The sf has three levels to decide number of frames to be considered for filtering: 0 : Use default number of frames 1 and 2 : Reduce the number of frames based on noise level with varied aggressiveness
Referenced by tf_setup_filtering_buffer().
int HIGH_LEVEL_SPEED_FEATURES::accurate_bit_estimate |
Decide the bit estimation approach used in qindex decision. 0: estimate bits based on a constant value; 1: estimate bits more accurately based on the frame complexity.
Referenced by av1_rc_pick_q_and_bounds().
int HIGH_LEVEL_SPEED_FEATURES::weight_calc_level_in_tf |
Decide the approach for weight calculation during temporal filtering. 0: Calculate weight using exp() 1: Calculate weight using a lookup table that approximates exp().
Referenced by av1_tf_do_filtering_row().
int HIGH_LEVEL_SPEED_FEATURES::allow_sub_blk_me_in_tf |
Decide whether to perform motion estimation at split block (i.e. 16x16) level or not. 0: Always allow motion estimation. 1: Conditionally allow motion estimation based on 4x4 sub-blocks variance.
Referenced by av1_tf_do_filtering_row().