AV1EncRowMultiThreadSync Struct Reference

Encoder parameters for synchronization of row based multi-threading. More...

`#include <encoder.h>`

## Data Fields

int * | num_finished_cols
int | sync_range
int | intrabc_extra_top_right_sb_delay
int | rows
int | next_mi_row
int | num_threads_working
Synchronization objects for top-right dependency.
pthread_mutex_t * | mutex_
pthread_cond_t * | cond_

## Detailed Description

Encoder parameters for synchronization of row based multi-threading.

## Field Documentation

## mutex_

pthread_mutex_t* AV1EncRowMultiThreadSync::mutex_

Mutex lock object

## cond_

pthread_cond_t* AV1EncRowMultiThreadSync::cond_

Condition variable

## num_finished_cols

int* AV1EncRowMultiThreadSync::num_finished_cols

Buffer to store the superblock whose encoding is complete. num_finished_cols[i] stores the number of superblocks which finished encoding in the ith superblock row.

## sync_range

int AV1EncRowMultiThreadSync::sync_range

Denotes the superblock interval at which conditional signalling should happen. Also denotes the minimum number of extra superblocks of the top row to be complete to start encoding the current superblock. A value of 1 indicates top-right dependency.

## intrabc_extra_top_right_sb_delay

int AV1EncRowMultiThreadSync::intrabc_extra_top_right_sb_delay

Denotes the additional number of superblocks in the previous row to be complete to start encoding the current superblock when intraBC tool is enabled. This additional top-right delay is required to satisfy the hardware constraints for intraBC tool when row multithreading is enabled.

## rows

int AV1EncRowMultiThreadSync::rows

Number of superblock rows.

## next_mi_row

int AV1EncRowMultiThreadSync::next_mi_row

The superblock row (in units of MI blocks) to be processed next.

## num_threads_working

int AV1EncRowMultiThreadSync::num_threads_working

Number of threads processing the current tile.

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

- av1/encoder/encoder.h