|
int | av1_pack_bitstream (struct AV1_COMP *const cpi, uint8_t *dst, size_t *size, int *const largest_tile_id) |
| Pack the bitstream for one frame.
|
|
int | av1_encode_strategy (AV1_COMP *const cpi, size_t *const size, uint8_t *const dest, unsigned int *frame_flags, int64_t *const time_stamp, int64_t *const time_end, const aom_rational64_t *const timestamp_ratio, int *const pop_lookahead, int flush) |
| Implement high-level encode strategy.
|
|
static void | encode_frame_internal (AV1_COMP *cpi) |
| Encoder setup(only for the current frame), encoding, and recontruction for a single frame.
|
|
void | av1_encode_frame (AV1_COMP *cpi) |
| Setup reference frame buffers and encode a frame.
|
|
static void | cdef_restoration_frame (AV1_COMP *cpi, AV1_COMMON *cm, MACROBLOCKD *xd, int use_restoration, int use_cdef) |
| Select and apply cdef filters and switchable restoration filters.
|
|
static void | loopfilter_frame (AV1_COMP *cpi, AV1_COMMON *cm) |
| Select and apply in-loop deblocking filters, cdef filters, and restoration filters.
|
|
static int | encode_without_recode (AV1_COMP *cpi) |
| Encode a frame without the recode loop, usually used in one-pass encoding and realtime coding.
|
|
static int | encode_with_recode_loop (AV1_COMP *cpi, size_t *size, uint8_t *dest) |
| Recode loop for encoding one frame. the purpose of encoding one frame for multiple times can be approaching a target bitrate or adjusting the usage of global motions.
|
|
static int | encode_with_recode_loop_and_filter (AV1_COMP *cpi, size_t *size, uint8_t *dest, int64_t *sse, int64_t *rate, int *largest_tile_id) |
| Recode loop or a single loop for encoding one frame, followed by in-loop deblocking filters, CDEF filters, and restoration filters.
|
|
static int | encode_frame_to_data_rate (AV1_COMP *cpi, size_t *size, uint8_t *dest) |
| Run the final pass encoding for 1-pass/2-pass encoding mode, and pack the bitstream.
|
|
This module describes sequence level/frame level algorithm in AV1. More details will be added.
static int encode_with_recode_loop |
( |
AV1_COMP * |
cpi, |
|
|
size_t * |
size, |
|
|
uint8_t * |
dest |
|
) |
| |
|
static |
Recode loop for encoding one frame. the purpose of encoding one frame for multiple times can be approaching a target bitrate or adjusting the usage of global motions.
- Parameters
-
[in] | cpi | Top-level encoder structure |
[in] | size | Bitstream size |
[in] | dest | Bitstream output |
- Returns
- Returns a value to indicate if the encoding is done successfully.
- Return values
-
References FeatureFlags::allow_high_precision_mv, AOM_CODEC_ERROR, AOM_CODEC_OK, AOM_Q, AOM_RC_THIRD_PASS, AOM_SUPERRES_NONE, av1_encode_frame(), av1_pack_bitstream(), av1_set_speed_features_qindex_dependent(), av1_set_variance_partition_thresholds(), RATE_CONTROL::coefficient_size, AV1Common::cur_frame, AV1Common::current_frame, AV1Common::delta_q_info, AV1Common::features, AV1Common::height, AV1Common::prev_frame, RATE_CONTROL::projected_frame_size, AV1Common::quant_params, recode_loop_update_q(), AV1Common::seg, AV1Common::seq_params, AV1Common::superres_scale_denominator, and AV1Common::width.
Referenced by encode_with_recode_loop_and_filter().
static int encode_with_recode_loop_and_filter |
( |
AV1_COMP * |
cpi, |
|
|
size_t * |
size, |
|
|
uint8_t * |
dest, |
|
|
int64_t * |
sse, |
|
|
int64_t * |
rate, |
|
|
int * |
largest_tile_id |
|
) |
| |
|
static |
Recode loop or a single loop for encoding one frame, followed by in-loop deblocking filters, CDEF filters, and restoration filters.
- Parameters
-
[in] | cpi | Top-level encoder structure |
[in] | size | Bitstream size |
[in] | dest | Bitstream output |
[in] | sse | Total distortion of the frame |
[in] | rate | Total rate of the frame |
[in] | largest_tile_id | Tile id of the last tile |
- Returns
- Returns a value to indicate if the encoding is done successfully.
- Return values
-
References FeatureFlags::allow_intrabc, AOM_CODEC_ERROR, AOM_CODEC_OK, av1_pack_bitstream(), CommonQuantParams::base_qindex, CdefInfo::cdef_bits, AV1Common::cdef_info, CdefInfo::cdef_strengths, CdefInfo::cdef_uv_strengths, AV1Common::cur_frame, encode_with_recode_loop(), encode_without_recode(), AV1Common::features, RestorationInfo::frame_restoration_type, AV1Common::lf, loopfilter_frame(), CdefInfo::nb_cdef_strengths, AV1Common::quant_params, AV1Common::render_height, AV1Common::render_width, RESTORE_NONE, AV1Common::rst_info, and AV1Common::seq_params.
Referenced by encode_frame_to_data_rate().