AOMedia AV1 Codec
MultiThreadInfo Struct Reference

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

#include <encoder.h>

Collaboration diagram for MultiThreadInfo:

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
 
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
 

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 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().

◆ 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().


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