AOMedia AV1 Codec
MultiThreadInfo Struct Reference

Encoder parameters related to multi-threading. More...

#include <encoder.h>

Data Fields

int num_workers
 
int num_mod_workers [NUM_MT_MODULES]
 
AVxWorker * workers
 
struct EncWorkerData * tile_thr_data
 
bool row_mt_enabled
 
bool pack_bs_mt_enabled
 
AV1EncRowMultiThreadInfo enc_row_mt
 
AV1EncAllIntraMultiThreadInfo intra_mt
 
AV1TplRowMultiThreadInfo tpl_row_mt
 
AV1LfSync lf_row_sync
 
AV1LrSync lr_row_sync
 
AV1EncPackBSSync pack_bs_sync
 
AV1GlobalMotionSync gm_sync
 
AV1TemporalFilterSync tf_sync
 
AV1CdefSync cdef_sync
 
AV1CdefWorkerData * cdef_worker
 
RestoreStateBuffers restore_state_buf
 
int pipeline_lpf_mt_with_enc
 

Detailed Description

Encoder parameters related to multi-threading.

Field Documentation

◆ num_workers

int MultiThreadInfo::num_workers

Number of workers created for multi-threading.

Referenced by av1_nonrd_pick_inter_mode_sb(), and encode_frame_internal().

◆ num_mod_workers

int MultiThreadInfo::num_mod_workers[NUM_MT_MODULES]

Number of workers used for different MT modules.

Referenced by cdef_restoration_frame(), encode_frame_internal(), and loopfilter_frame().

◆ workers

AVxWorker* MultiThreadInfo::workers

Synchronization object used to launch job in the worker thread.

Referenced by cdef_restoration_frame(), and loopfilter_frame().

◆ tile_thr_data

struct EncWorkerData* MultiThreadInfo::tile_thr_data

Data specific to each worker in encoder multi-threading. tile_thr_data[i] stores the worker data of the ith thread.

◆ row_mt_enabled

bool MultiThreadInfo::row_mt_enabled

When set, indicates that row based multi-threading of the encoder is enabled.

Referenced by encode_frame_internal(), and encode_sb_row().

◆ pack_bs_mt_enabled

bool MultiThreadInfo::pack_bs_mt_enabled

When set, indicates that multi-threading for bitstream packing is enabled.

Referenced by encode_frame_internal().

◆ enc_row_mt

AV1EncRowMultiThreadInfo MultiThreadInfo::enc_row_mt

Encoder row multi-threading data.

Referenced by encode_frame_internal(), encode_sb_row(), pick_sb_modes(), and pick_sb_modes_nonrd().

◆ intra_mt

AV1EncAllIntraMultiThreadInfo MultiThreadInfo::intra_mt

Encoder multi-threading data for allintra mode in the preprocessing stage when –deltaq-mode=3.

◆ tpl_row_mt

AV1TplRowMultiThreadInfo MultiThreadInfo::tpl_row_mt

Tpl row multi-threading data.

◆ lf_row_sync

AV1LfSync MultiThreadInfo::lf_row_sync

Loop Filter multi-threading object.

Referenced by loopfilter_frame().

◆ lr_row_sync

AV1LrSync MultiThreadInfo::lr_row_sync

Loop Restoration multi-threading object.

Referenced by cdef_restoration_frame().

◆ pack_bs_sync

AV1EncPackBSSync MultiThreadInfo::pack_bs_sync

Pack bitstream multi-threading object.

◆ gm_sync

AV1GlobalMotionSync MultiThreadInfo::gm_sync

Global Motion multi-threading object.

◆ tf_sync

AV1TemporalFilterSync MultiThreadInfo::tf_sync

Temporal Filter multi-threading object.

◆ cdef_sync

AV1CdefSync MultiThreadInfo::cdef_sync

CDEF search multi-threading object.

Referenced by cdef_restoration_frame().

◆ cdef_worker

AV1CdefWorkerData* MultiThreadInfo::cdef_worker

Pointer to CDEF row multi-threading data for the frame.

Referenced by cdef_restoration_frame().

◆ restore_state_buf

RestoreStateBuffers MultiThreadInfo::restore_state_buf

Buffers to be stored/restored before/after parallel encode.

◆ pipeline_lpf_mt_with_enc

int MultiThreadInfo::pipeline_lpf_mt_with_enc

In multi-threaded realtime encoding with row-mt enabled, pipeline loop-filtering after encoding.

Referenced by encode_with_recode_loop_and_filter(), and loopfilter_frame().


The documentation for this struct was generated from the following file: