VP9LfSync->VP10LfSync
Change-Id: I9f55d3e221688a17b23ef40e162b33af12e5693a
This commit is contained in:
@@ -93,7 +93,7 @@ typedef struct {
|
|||||||
/* assorted loopfilter functions which get used elsewhere */
|
/* assorted loopfilter functions which get used elsewhere */
|
||||||
struct VP10Common;
|
struct VP10Common;
|
||||||
struct macroblockd;
|
struct macroblockd;
|
||||||
struct VP9LfSyncData;
|
struct VP10LfSyncData;
|
||||||
|
|
||||||
// This function sets up the bit masks for the entire 64x64 region represented
|
// This function sets up the bit masks for the entire 64x64 region represented
|
||||||
// by mi_row, mi_col.
|
// by mi_row, mi_col.
|
||||||
|
@@ -34,7 +34,7 @@ static INLINE void mutex_lock(pthread_mutex_t *const mutex) {
|
|||||||
}
|
}
|
||||||
#endif // CONFIG_MULTITHREAD
|
#endif // CONFIG_MULTITHREAD
|
||||||
|
|
||||||
static INLINE void sync_read(VP9LfSync *const lf_sync, int r, int c) {
|
static INLINE void sync_read(VP10LfSync *const lf_sync, int r, int c) {
|
||||||
#if CONFIG_MULTITHREAD
|
#if CONFIG_MULTITHREAD
|
||||||
const int nsync = lf_sync->sync_range;
|
const int nsync = lf_sync->sync_range;
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ static INLINE void sync_read(VP9LfSync *const lf_sync, int r, int c) {
|
|||||||
#endif // CONFIG_MULTITHREAD
|
#endif // CONFIG_MULTITHREAD
|
||||||
}
|
}
|
||||||
|
|
||||||
static INLINE void sync_write(VP9LfSync *const lf_sync, int r, int c,
|
static INLINE void sync_write(VP10LfSync *const lf_sync, int r, int c,
|
||||||
const int sb_cols) {
|
const int sb_cols) {
|
||||||
#if CONFIG_MULTITHREAD
|
#if CONFIG_MULTITHREAD
|
||||||
const int nsync = lf_sync->sync_range;
|
const int nsync = lf_sync->sync_range;
|
||||||
@@ -92,7 +92,7 @@ void thread_loop_filter_rows(const YV12_BUFFER_CONFIG *const frame_buffer,
|
|||||||
VP10_COMMON *const cm,
|
VP10_COMMON *const cm,
|
||||||
struct macroblockd_plane planes[MAX_MB_PLANE],
|
struct macroblockd_plane planes[MAX_MB_PLANE],
|
||||||
int start, int stop, int y_only,
|
int start, int stop, int y_only,
|
||||||
VP9LfSync *const lf_sync) {
|
VP10LfSync *const lf_sync) {
|
||||||
const int num_planes = y_only ? 1 : MAX_MB_PLANE;
|
const int num_planes = y_only ? 1 : MAX_MB_PLANE;
|
||||||
const int sb_cols = mi_cols_aligned_to_sb(cm->mi_cols) >> MI_BLOCK_SIZE_LOG2;
|
const int sb_cols = mi_cols_aligned_to_sb(cm->mi_cols) >> MI_BLOCK_SIZE_LOG2;
|
||||||
int mi_row, mi_col;
|
int mi_row, mi_col;
|
||||||
@@ -146,7 +146,7 @@ void thread_loop_filter_rows(const YV12_BUFFER_CONFIG *const frame_buffer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Row-based multi-threaded loopfilter hook
|
// Row-based multi-threaded loopfilter hook
|
||||||
static int loop_filter_row_worker(VP9LfSync *const lf_sync,
|
static int loop_filter_row_worker(VP10LfSync *const lf_sync,
|
||||||
LFWorkerData *const lf_data) {
|
LFWorkerData *const lf_data) {
|
||||||
thread_loop_filter_rows(lf_data->frame_buffer, lf_data->cm, lf_data->planes,
|
thread_loop_filter_rows(lf_data->frame_buffer, lf_data->cm, lf_data->planes,
|
||||||
lf_data->start, lf_data->stop, lf_data->y_only,
|
lf_data->start, lf_data->stop, lf_data->y_only,
|
||||||
@@ -159,7 +159,7 @@ static void loop_filter_rows_mt(YV12_BUFFER_CONFIG *frame,
|
|||||||
struct macroblockd_plane planes[MAX_MB_PLANE],
|
struct macroblockd_plane planes[MAX_MB_PLANE],
|
||||||
int start, int stop, int y_only,
|
int start, int stop, int y_only,
|
||||||
VPxWorker *workers, int nworkers,
|
VPxWorker *workers, int nworkers,
|
||||||
VP9LfSync *lf_sync) {
|
VP10LfSync *lf_sync) {
|
||||||
const VPxWorkerInterface *const winterface = vpx_get_worker_interface();
|
const VPxWorkerInterface *const winterface = vpx_get_worker_interface();
|
||||||
// Number of superblock rows and cols
|
// Number of superblock rows and cols
|
||||||
const int sb_rows = mi_cols_aligned_to_sb(cm->mi_rows) >> MI_BLOCK_SIZE_LOG2;
|
const int sb_rows = mi_cols_aligned_to_sb(cm->mi_rows) >> MI_BLOCK_SIZE_LOG2;
|
||||||
@@ -220,7 +220,7 @@ void vp10_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
|
|||||||
int frame_filter_level,
|
int frame_filter_level,
|
||||||
int y_only, int partial_frame,
|
int y_only, int partial_frame,
|
||||||
VPxWorker *workers, int num_workers,
|
VPxWorker *workers, int num_workers,
|
||||||
VP9LfSync *lf_sync) {
|
VP10LfSync *lf_sync) {
|
||||||
int start_mi_row, end_mi_row, mi_rows_to_filter;
|
int start_mi_row, end_mi_row, mi_rows_to_filter;
|
||||||
|
|
||||||
if (!frame_filter_level) return;
|
if (!frame_filter_level) return;
|
||||||
@@ -254,7 +254,7 @@ static INLINE int get_sync_range(int width) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Allocate memory for lf row synchronization
|
// Allocate memory for lf row synchronization
|
||||||
void vp10_loop_filter_alloc(VP9LfSync *lf_sync, VP10_COMMON *cm, int rows,
|
void vp10_loop_filter_alloc(VP10LfSync *lf_sync, VP10_COMMON *cm, int rows,
|
||||||
int width, int num_workers) {
|
int width, int num_workers) {
|
||||||
lf_sync->rows = rows;
|
lf_sync->rows = rows;
|
||||||
#if CONFIG_MULTITHREAD
|
#if CONFIG_MULTITHREAD
|
||||||
@@ -291,7 +291,7 @@ void vp10_loop_filter_alloc(VP9LfSync *lf_sync, VP10_COMMON *cm, int rows,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Deallocate lf synchronization related mutex and data
|
// Deallocate lf synchronization related mutex and data
|
||||||
void vp10_loop_filter_dealloc(VP9LfSync *lf_sync) {
|
void vp10_loop_filter_dealloc(VP10LfSync *lf_sync) {
|
||||||
if (lf_sync != NULL) {
|
if (lf_sync != NULL) {
|
||||||
#if CONFIG_MULTITHREAD
|
#if CONFIG_MULTITHREAD
|
||||||
int i;
|
int i;
|
||||||
|
@@ -22,7 +22,7 @@ struct VP10Common;
|
|||||||
struct FRAME_COUNTS;
|
struct FRAME_COUNTS;
|
||||||
|
|
||||||
// Loopfilter row synchronization
|
// Loopfilter row synchronization
|
||||||
typedef struct VP9LfSyncData {
|
typedef struct VP10LfSyncData {
|
||||||
#if CONFIG_MULTITHREAD
|
#if CONFIG_MULTITHREAD
|
||||||
pthread_mutex_t *mutex_;
|
pthread_mutex_t *mutex_;
|
||||||
pthread_cond_t *cond_;
|
pthread_cond_t *cond_;
|
||||||
@@ -37,14 +37,14 @@ typedef struct VP9LfSyncData {
|
|||||||
// Row-based parallel loopfilter data
|
// Row-based parallel loopfilter data
|
||||||
LFWorkerData *lfdata;
|
LFWorkerData *lfdata;
|
||||||
int num_workers;
|
int num_workers;
|
||||||
} VP9LfSync;
|
} VP10LfSync;
|
||||||
|
|
||||||
// Allocate memory for loopfilter row synchronization.
|
// Allocate memory for loopfilter row synchronization.
|
||||||
void vp10_loop_filter_alloc(VP9LfSync *lf_sync, struct VP10Common *cm, int rows,
|
void vp10_loop_filter_alloc(VP10LfSync *lf_sync, struct VP10Common *cm,
|
||||||
int width, int num_workers);
|
int rows, int width, int num_workers);
|
||||||
|
|
||||||
// Deallocate loopfilter synchronization related mutex and data.
|
// Deallocate loopfilter synchronization related mutex and data.
|
||||||
void vp10_loop_filter_dealloc(VP9LfSync *lf_sync);
|
void vp10_loop_filter_dealloc(VP10LfSync *lf_sync);
|
||||||
|
|
||||||
// Multi-threaded loopfilter that uses the tile threads.
|
// Multi-threaded loopfilter that uses the tile threads.
|
||||||
void vp10_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
|
void vp10_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
|
||||||
@@ -53,7 +53,7 @@ void vp10_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
|
|||||||
int frame_filter_level,
|
int frame_filter_level,
|
||||||
int y_only, int partial_frame,
|
int y_only, int partial_frame,
|
||||||
VPxWorker *workers, int num_workers,
|
VPxWorker *workers, int num_workers,
|
||||||
VP9LfSync *lf_sync);
|
VP10LfSync *lf_sync);
|
||||||
|
|
||||||
void vp10_accumulate_frame_counts(struct VP10Common *cm,
|
void vp10_accumulate_frame_counts(struct VP10Common *cm,
|
||||||
struct FRAME_COUNTS *counts, int is_dec);
|
struct FRAME_COUNTS *counts, int is_dec);
|
||||||
|
@@ -70,7 +70,7 @@ typedef struct VP10Decoder {
|
|||||||
TileData *tile_data;
|
TileData *tile_data;
|
||||||
int total_tiles;
|
int total_tiles;
|
||||||
|
|
||||||
VP9LfSync lf_row_sync;
|
VP10LfSync lf_row_sync;
|
||||||
|
|
||||||
vpx_decrypt_cb decrypt_cb;
|
vpx_decrypt_cb decrypt_cb;
|
||||||
void *decrypt_state;
|
void *decrypt_state;
|
||||||
|
@@ -485,7 +485,7 @@ typedef struct VP10_COMP {
|
|||||||
int num_workers;
|
int num_workers;
|
||||||
VPxWorker *workers;
|
VPxWorker *workers;
|
||||||
struct EncWorkerData *tile_thr_data;
|
struct EncWorkerData *tile_thr_data;
|
||||||
VP9LfSync lf_row_sync;
|
VP10LfSync lf_row_sync;
|
||||||
} VP10_COMP;
|
} VP10_COMP;
|
||||||
|
|
||||||
void vp10_initialize_enc(void);
|
void vp10_initialize_enc(void);
|
||||||
|
Reference in New Issue
Block a user