AOMedia AV1 Codec
|
Encoder data related to row-based multi-threading. More...
#include <encoder.h>
Data Fields | |
int | allocated_tile_rows |
int | allocated_tile_cols |
int | allocated_rows |
int | allocated_cols |
int | thread_id_to_tile_id [64] |
int * | num_tile_cols_done |
int | allocated_sb_rows |
bool | row_mt_exit |
bool | firstpass_mt_exit |
bool | mb_wiener_mt_exit |
pthread_mutex_t * | mutex_ |
pthread_cond_t * | cond_ |
Row synchronization related function pointers. | |
void(* | sync_read_ptr )(AV1EncRowMultiThreadSync *const, int, int) |
void(* | sync_write_ptr )(AV1EncRowMultiThreadSync *const, int, int, int) |
Encoder data related to row-based multi-threading.
int AV1EncRowMultiThreadInfo::allocated_tile_rows |
Number of tile rows for which row synchronization memory is allocated.
int AV1EncRowMultiThreadInfo::allocated_tile_cols |
Number of tile cols for which row synchronization memory is allocated.
int AV1EncRowMultiThreadInfo::allocated_rows |
Number of rows for which row synchronization memory is allocated per tile. During first-pass/look-ahead stage this equals the maximum number of macroblock rows in a tile. During encode stage, this equals the maximum number of superblock rows in a tile.
int AV1EncRowMultiThreadInfo::allocated_cols |
Number of columns for which entropy context memory is allocated per tile. During encode stage, this equals the maximum number of superblock columns in a tile minus 1. The entropy context memory is not allocated during first-pass/look-ahead stage.
int AV1EncRowMultiThreadInfo::thread_id_to_tile_id[64] |
thread_id_to_tile_id[i] indicates the tile id assigned to the ith thread.
int* AV1EncRowMultiThreadInfo::num_tile_cols_done |
num_tile_cols_done[i] indicates the number of tile columns whose encoding is complete in the ith superblock row.
int AV1EncRowMultiThreadInfo::allocated_sb_rows |
Number of superblock rows in a frame for which 'num_tile_cols_done' is allocated.
bool AV1EncRowMultiThreadInfo::row_mt_exit |
Initialized to false, set to true by the worker thread that encounters an error in order to abort the processing of other worker threads.
Referenced by encode_sb_row().
bool AV1EncRowMultiThreadInfo::firstpass_mt_exit |
Initialized to false, set to true during first pass encoding by the worker thread that encounters an error in order to abort the processing of other worker threads.
bool AV1EncRowMultiThreadInfo::mb_wiener_mt_exit |
Initialized to false, set to true in cal_mb_wiener_var_hook() by the worker thread that encounters an error in order to abort the processing of other worker threads.
pthread_mutex_t* AV1EncRowMultiThreadInfo::mutex_ |
Mutex lock used while dispatching jobs.
Referenced by encode_sb_row().
pthread_cond_t* AV1EncRowMultiThreadInfo::cond_ |
Condition variable used to dispatch loopfilter jobs.
void(* AV1EncRowMultiThreadInfo::sync_read_ptr) (AV1EncRowMultiThreadSync *const, int, int) |
Reader.
Referenced by encode_frame_internal(), and encode_sb_row().
void(* AV1EncRowMultiThreadInfo::sync_write_ptr) (AV1EncRowMultiThreadSync *const, int, int, int) |
Writer.
Referenced by encode_frame_internal(), and encode_sb_row().