AOMedia AV1 Codec
AV1EncRowMultiThreadInfo Struct Reference

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

Detailed Description

Encoder data related to row-based multi-threading.

Field Documentation

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.

pthread_mutex_t* AV1EncRowMultiThreadInfo::mutex_

Mutex lock used while dispatching jobs.

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


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