• Home
  • Raw
  • Download

Lines Matching full:ref

106 - \ref AV1_PRIMARY
107 - \ref AV1_PRIMARY.gf_group (\ref GF_GROUP)
108 - \ref AV1_PRIMARY.lap_enabled
109 - \ref AV1_PRIMARY.twopass (\ref TWO_PASS)
110 - \ref AV1_PRIMARY.p_rc (\ref PRIMARY_RATE_CONTROL)
111 - \ref AV1_PRIMARY.tf_info (\ref TEMPORAL_FILTER_INFO)
113 - \ref AV1_COMP
114 - \ref AV1_COMP.oxcf (\ref AV1EncoderConfig)
115 - \ref AV1_COMP.rc (\ref RATE_CONTROL)
116 - \ref AV1_COMP.speed
117 - \ref AV1_COMP.sf (\ref SPEED_FEATURES)
119 - \ref AV1EncoderConfig (Encoder configuration parameters)
120 - \ref AV1EncoderConfig.pass
121 - \ref AV1EncoderConfig.algo_cfg (\ref AlgoCfg)
122 - \ref AV1EncoderConfig.kf_cfg (\ref KeyFrameCfg)
123 - \ref AV1EncoderConfig.rc_cfg (\ref RateControlCfg)
125 - \ref AlgoCfg (Algorithm related configuration parameters)
126 - \ref AlgoCfg.arnr_max_frames
127 - \ref AlgoCfg.arnr_strength
129 - \ref KeyFrameCfg (Keyframe coding configuration parameters)
130 - \ref KeyFrameCfg.enable_keyframe_filtering
132 - \ref RateControlCfg (Rate control configuration)
133 - \ref RateControlCfg.mode
134 - \ref RateControlCfg.target_bandwidth
135 - \ref RateControlCfg.best_allowed_q
136 - \ref RateControlCfg.worst_allowed_q
137 - \ref RateControlCfg.cq_level
138 - \ref RateControlCfg.under_shoot_pct
139 - \ref RateControlCfg.over_shoot_pct
140 - \ref RateControlCfg.maximum_buffer_size_ms
141 - \ref RateControlCfg.starting_buffer_level_ms
142 - \ref RateControlCfg.optimal_buffer_level_ms
143 - \ref RateControlCfg.vbrbias
144 - \ref RateControlCfg.vbrmin_section
145 - \ref RateControlCfg.vbrmax_section
147 - \ref PRIMARY_RATE_CONTROL (Primary Rate control status)
148 - \ref PRIMARY_RATE_CONTROL.gf_intervals[]
149 - \ref PRIMARY_RATE_CONTROL.cur_gf_index
151 - \ref RATE_CONTROL (Rate control status)
152 - \ref RATE_CONTROL.intervals_till_gf_calculate_due
153 - \ref RATE_CONTROL.frames_till_gf_update_due
154 - \ref RATE_CONTROL.frames_to_key
156 - \ref TWO_PASS (Two pass status and control data)
158 - \ref GF_GROUP (Data related to the current GF/ARF group)
160 - \ref FIRSTPASS_STATS (Defines entries in the first pass stats buffer)
161 - \ref FIRSTPASS_STATS.coded_error
163 - \ref SPEED_FEATURES (Encode speed vs quality tradeoff parameters)
164 - \ref SPEED_FEATURES.hl_sf (\ref HIGH_LEVEL_SPEED_FEATURES)
166 - \ref HIGH_LEVEL_SPEED_FEATURES
167 - \ref HIGH_LEVEL_SPEED_FEATURES.recode_loop
168 - \ref HIGH_LEVEL_SPEED_FEATURES.recode_tolerance
170 - \ref TplParams
277 and stored in the \ref AV1_COMP.speed field of the main compressor instance
280 The control flags for the speed trade off are stored the \ref AV1_COMP.sf
283 - \ref av1_set_speed_features_framesize_independent()
284 - \ref av1_set_speed_features_framesize_dependent()
285 - \ref av1_set_speed_features_qindex_dependent()
328 (see also \ref architecture_enc_data_structures):
330 - \ref AV1_PRIMARY ppi (the primary compressor instance data structure)
331 - \ref AV1_PRIMARY.tf_info (\ref TEMPORAL_FILTER_INFO)
333 - \ref AV1_COMP cpi (the main compressor instance data structure)
334 - \ref AV1_COMP.oxcf (\ref AV1EncoderConfig)
336 - \ref AV1EncoderConfig (Encoder configuration parameters)
337 - \ref AV1EncoderConfig.algo_cfg (\ref AlgoCfg)
338 - \ref AV1EncoderConfig.kf_cfg (\ref KeyFrameCfg)
340 - \ref AlgoCfg (Algorithm related configuration parameters)
341 - \ref AlgoCfg.arnr_max_frames
342 - \ref AlgoCfg.arnr_strength
344 - \ref KeyFrameCfg (Keyframe coding configuration parameters)
345 - \ref KeyFrameCfg.enable_keyframe_filtering
349 To encode a frame, first call \ref av1_receive_raw_frame() to obtain the raw
350 frame data. Then call \ref av1_get_compressed_data() to encode raw frame data
351 into compressed frame data. The main body of \ref av1_get_compressed_data()
352 is \ref av1_encode_strategy(), which determines high-level encode strategy
354 \ref av1_encode(). In \ref av1_encode(), \ref av1_first_pass() will execute
355 the first_pass of two-pass encoding, while \ref encode_frame_to_data_rate()
358 The main body of \ref encode_frame_to_data_rate() is
359 \ref encode_with_recode_loop_and_filter(), which handles encoding before
360 in-loop filters (with recode loops \ref encode_with_recode_loop(), or
361 without any recode loop \ref encode_without_recode()), followed by in-loop
362 filters (deblocking filters \ref loopfilter_frame(), CDEF filters and
363 restoration filters \ref cdef_restoration_frame()).
365 Except for rate/quality control, both \ref encode_with_recode_loop() and
366 \ref encode_without_recode() call \ref av1_encode_frame() to manage the
367 reference frame buffers and \ref encode_frame_internal() to perform the
369 \ref encode_frame_internal() is the starting point for the partition search
370 (see \ref architecture_enc_partitions).
399 - <b>--arnr-strength</b> (\ref AlgoCfg.arnr_strength)
400 - <b>--arnr-maxframes</b> (\ref AlgoCfg.arnr_max_frames)
402 (\ref KeyFrameCfg.enable_keyframe_filtering)
453 The main entry point for temporal filtering is \ref av1_temporal_filter().
462 Inside \ref av1_temporal_filter(), the reader's attention is directed to
463 \ref tf_setup_filtering_buffer() and \ref tf_do_filtering().
465 - \ref tf_setup_filtering_buffer(): sets up the frame buffer for
469 - \ref tf_do_filtering(): the main function for the temporal
471 block a motion search \ref tf_motion_search() is applied to find
473 called to build the matching patch and \ref av1_apply_temporal_filter_c() (see
476 \ref tf_normalize_filtered_frame() to generate the final filtered frame.
478 - \ref av1_apply_temporal_filter_c(): the core function of our temporal
490 (see also \ref architecture_enc_data_structures):
492 - \ref AV1_PRIMARY ppi (the primary compressor instance data structure)
493 - \ref AV1_PRIMARY.twopass (\ref TWO_PASS)
495 - \ref AV1_COMP cpi (the main compressor instance data structure)
496 - \ref AV1_COMP.oxcf (\ref AV1EncoderConfig)
497 - \ref AV1_COMP.rc (\ref RATE_CONTROL)
498 - \ref AV1_COMP.sf (\ref SPEED_FEATURES)
500 - \ref AV1EncoderConfig (Encoder configuration parameters)
501 - \ref AV1EncoderConfig.rc_cfg (\ref RateControlCfg)
503 - \ref FIRSTPASS_STATS *frame_stats_buf (used to store per frame first
506 - \ref SPEED_FEATURES (Encode speed vs quality tradeoff parameters)
507 - \ref SPEED_FEATURES.hl_sf (\ref HIGH_LEVEL_SPEED_FEATURES)
511 Different use cases (\ref architecture_enc_use_cases) may have different
516 \ref aom_codec_enc_cfg_t.rc_end_usage in \ref aom_encoder.h.
525 The value of \ref aom_codec_enc_cfg_t.rc_end_usage is in turn copied over
527 \ref RateControlCfg.mode.
536 quality trade offs (\ref AV1_COMP.speed and \ref AV1_COMP.sf).
542 - <b>--target-bitrate</b> (\ref RateControlCfg.target_bandwidth)
543 - <b>--min-q</b> (\ref RateControlCfg.best_allowed_q)
544 - <b>--max-q</b> (\ref RateControlCfg.worst_allowed_q)
545 - <b>--cq-level</b> (\ref RateControlCfg.cq_level)
546 - <b>--undershoot-pct</b> (\ref RateControlCfg.under_shoot_pct)
547 - <b>--overshoot-pct</b> (\ref RateControlCfg.over_shoot_pct)
551 - <b>--bias-pct</b> (\ref RateControlCfg.vbrbias)
552 - <b>--minsection-pct</b> ((\ref RateControlCfg.vbrmin_section)
553 - <b>--maxsection-pct</b> ((\ref RateControlCfg.vbrmax_section)
558 - <b>--buf-sz</b> (\ref RateControlCfg.maximum_buffer_size_ms)
559 - <b>--buf-initial-sz</b> (\ref RateControlCfg.starting_buffer_level_ms)
560 - <b>--buf-optimal-sz</b> (\ref RateControlCfg.optimal_buffer_level_ms)
590 - \ref av1_calc_iframe_target_size_one_pass_vbr()
591 - \ref av1_calc_pframe_target_size_one_pass_vbr()
615 For two pass encoding, the function \ref av1_encode() will first be called
616 for each frame in the video with the value \ref AV1EncoderConfig.pass = 1.
617 This will result in calls to \ref av1_first_pass().
619 Statistics for each frame are stored in \ref FIRSTPASS_STATS frame_stats_buf.
621 After completion of the first pass, \ref av1_encode() will be called again for
622 each frame with \ref AV1EncoderConfig.pass = 2. The frames are then encoded in
624 \ref encode_frame_to_data_rate() which in turn calls
625 \ref av1_get_second_pass_params().
637 (\ref RATE_CONTROL.active_worst_quality)
643 - \ref find_next_key_frame()
644 - \ref define_gf_group()
645 - \ref calculate_total_gf_group_bits()
646 - \ref get_twopass_worst_quality()
647 - \ref av1_gop_setup_structure()
648 - \ref av1_gop_bit_allocation()
649 - \ref av1_twopass_postencode_update()
652 \ref RATE_CONTROL.base_frame_target, which is then adjusted if necessary to
654 \ref RATE_CONTROL.this_frame_target.
656 As well as \ref RATE_CONTROL.active_worst_quality, the two pass code also
659 (\ref PRIMARY_RATE_CONTROL.active_best_quality). The function
660 \ref rc_pick_q_and_bounds(), uses these values to set a permitted Q range
674 hierarchies. The reader is referred to the \ref AV1_PRIMARY.lap_enabled field
702 - \ref rc_pick_q_and_bounds()
703 - \ref get_q()
704 - \ref av1_rc_regulate_q()
705 - \ref get_rate_correction_factor()
706 - \ref set_rate_correction_factor()
707 - \ref find_closest_qindex_by_rate()
708 - \ref av1_twopass_postencode_update()
709 - \ref av1_rc_update_rate_correction_factors()
719 --cpu-used parameter which maps onto the \ref AV1_COMP.speed field in the main
722 The value of \ref AV1_COMP.speed, combined with the use case, is used to
724 \ref HIGH_LEVEL_SPEED_FEATURES.recode_loop determines the types of frames that
725 may be recoded and \ref HIGH_LEVEL_SPEED_FEATURES.recode_tolerance is a rate
730 - \ref encode_with_recode_loop()
731 - \ref encode_without_recode()
732 - \ref recode_loop_update_q()
733 - \ref recode_loop_test()
734 - \ref av1_set_speed_features_framesize_independent()
735 - \ref av1_set_speed_features_framesize_dependent()
746 - \ref av1_rc_pick_q_and_bounds()
747 - \ref rc_pick_q_and_bounds_no_stats_cbr()
748 - \ref rc_pick_q_and_bounds_no_stats()
749 - \ref rc_pick_q_and_bounds()
756 (see also \ref architecture_enc_data_structures):
758 - \ref AV1_COMP cpi (the main compressor instance data structure)
759 - \ref AV1_COMP.rc (\ref RATE_CONTROL)
761 - \ref FIRSTPASS_STATS *frame_stats_buf (used to store per frame first pass
769 (GF group) or sometimes an Alt-Ref (ARF) group or a group of pictures (GOP).
792 The determination of the GF group length is done in function \ref
796 <li><b>Single pass with look-ahead disabled(\ref has_no_stats_stage()):
802 <li><b>Single pass with look-ahead enabled (\ref AV1_PRIMARY.lap_enabled):</b>
805 case the function will determine the length based on \ref FIRSTPASS_STATS
818 following frames, the function \ref calculate_gf_length() tries to determine the
838 As mentioned, for two-pass encoding, the function \ref
841 \ref PRIMARY_RATE_CONTROL.gf_intervals[]. The variables
842 \ref RATE_CONTROL.intervals_till_gf_calculate_due and
843 \ref PRIMARY_RATE_CONTROL.gf_intervals[] help with managing and updating the stored
844 decisions. In the function \ref define_gf_group(), the corresponding
849 or 16 for every GF group. In such a case, \ref calculate_gf_length() is
851 \ref av1_tpl_setup_stats() is called to analyze the determined GF group
854 \ref calculate_gf_length() is called again with the updated maximum
856 (\ref RATE_CONTROL.intervals_till_gf_calculate_due is set to 1). This process
862 \ref RATE_CONTROL.frames_till_gf_update_due. If it is zero, indicating
864 \ref RATE_CONTROL.intervals_till_gf_calculate_due is zero. If it is, as
865 discussed above, \ref calculate_gf_length() is called with original
867 in \ref PRIMARY_RATE_CONTROL.gf_intervals[\ref PRIMARY_RATE_CONTROL.cur_gf_index] is used
872 The function \ref define_gf_group() defines the frame structure as well
880 GF group. The values of \ref PRIMARY_RATE_CONTROL.cur_gf_index, \ref
881 RATE_CONTROL.intervals_till_gf_calculate_due and \ref
884 The function \ref av1_gop_setup_structure() is called at the end to determine
903 As mentioned, the encoder may use Temporal dependancy modelling (TPL - see \ref
905 or 16 for the current GF group. This requires calls to \ref define_gf_group()
911 (\ref AV1_PRIMARY.lap_enabled = 0), \ref define_gf_group_pass0() is used
912 instead of \ref define_gf_group().
923 <li>For two-pass encoding \ref RATE_CONTROL.frames_to_key controls when to
925 the function \ref find_next_key_frame() is called. This in turn calls
926 \ref define_kf_interval() to work out where the next key frame should
929 <li>For single-pass with look-ahead enabled, \ref define_kf_interval()
931 \ref RATE_CONTROL.frames_till_gf_update_due is zero). This is because
940 The function \ref define_kf_interval() tries to detect a scenecut.
1039 - \ref TplParams
1040 - \ref av1_tpl_setup_stats() builds the TPL model.
1041 - \ref setup_delta_q() Assign different quantization parameters to each super
1046 A frame is first split into tiles in \ref encode_tiles(), with each tile
1048 via \ref av1_encode_sb_row() and then \ref encode_sb_row().
1050 The partition search processes superblocks sequentially in \ref
1052 configuration, \ref encode_nonrd_sb() is for 1-pass and real-time modes,
1053 while \ref encode_rd_sb() performs more exhaustive rate distortion based
1057 recursive calls to \ref av1_nonrd_use_partition(),
1058 \ref av1_rd_use_partition(), or av1_rd_pick_partition() and returning best
1063 search is \ref pick_sb_modes(), which connects the partition_search with
1064 \ref architecture_enc_inter_modes and \ref architecture_enc_intra_modes. To
1066 references and contexts. This is implemented by \ref encode_sb() at the
1067 sub-tree level and \ref encode_b() at coding block level.
1069 See also \ref partition_search
1086 \ref av1_rd_pick_intra_mode_sb(). The readers attention is also drawn to the
1087 functions \ref hybrid_intra_mode_search() and \ref av1_nonrd_pick_intra_mode()
1090 \ref AV1_COMP.speed parameter. Further fine control of the speed vs quality
1091 trade off is provided by means of fields in \ref AV1_COMP.sf (which has type
1092 \ref SPEED_FEATURES).
1097 (See \ref av1_search_palette_mode())
1099 See also \ref intra_mode_search for more details.
1117 are \ref av1_rd_pick_inter_mode() and \ref av1_nonrd_pick_inter_mode_sb()
1122 compressor instance data structure \ref AV1_COMP.sf.
1134 See also \ref inter_mode_search for more details.
1174 See also \ref transform_search for more details.
1183 the boundaries between blocks. See also \ref in_loop_filter.
1189 the primary direction. (See also \ref in_loop_cdef and
1196 filter, or use a self-guided filter. (See also \ref in_loop_restoration and
1249 The encoder uses \ref av1_write_coeffs_txb() to write the coefficients of
1261 - \ref av1_write_coeffs_txb()
1263 - \ref av1_write_intra_coeffs_mb()
1279 \ref av1_get_txb_entropy_context(). Then encoder will store the context info
1284 - \ref av1_get_txb_entropy_context()
1287 - \ref av1_update_intra_mb_txb_context()
1294 The encoder uses \ref av1_cost_coeffs_txb() or \ref av1_cost_coeffs_txb_laplacian()
1296 \ref av1_cost_coeffs_txb() is slower but accurate whereas
1297 \ref av1_cost_coeffs_txb_laplacian() is faster but less accurate.
1300 - \ref av1_cost_coeffs_txb()
1301 - \ref av1_cost_coeffs_txb_laplacian()
1302 - \ref av1_cost_coeffs_txb_estimate()
1305 Beside computing entropy cost, the encoder also uses \ref av1_optimize_txb()
1307 In \ref av1_optimize_txb(), the encoder goes through each quantized
1312 - \ref av1_optimize_txb()
1314 All the related functions are listed in \ref coefficient_coding.
1341 * pre-processing of source frames. See also \ref architecture_enc_src_proc
1350 * See also \ref architecture_enc_rate_ctrl
1358 * See also \ref architecture_enc_tpl
1476 A program should call \ref aom_codec_encode() for each frame that needs
1483 The look-ahead buffer is defined in \ref av1/encoder/lookahead.h. It acts as an
1486 fashion. It also allows look-ahead when using the \ref av1_lookahead_peek()
1489 The \ref av1_lookahead_depth() function returns the current number of frames
1490 stored in it. Note that \ref av1_lookahead_pop() is a bit of a misnomer - it
1494 The buffer is stored in the \ref AV1_PRIMARY::lookahead field.
1495 It is initialized in the first call to \ref aom_codec_encode(), in the
1496 \ref av1_receive_raw_frame() sub-routine. The buffer size is defined by
1498 \ref aom_codec_enc_cfg_t::g_lag_in_frames struct.
1505 the \ref av1_lookahead_pop() only removes a frame when either flush is set,
1506 or the buffer is full. Note that each call to \ref aom_codec_encode() inserts
1508 \ref av1_encode_strategy(). The buffer is told to flush when
1509 \ref aom_codec_encode() is passed a NULL image pointer. Note that the caller
1510 must repeatedly call \ref aom_codec_encode() with a NULL image pointer, until
1519 * For and overview of the partition search see \ref architecture_enc_partitions