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:

- av1/encoder/encoder.h