diff options
Diffstat (limited to 'vp9/decoder/vp9_dthread.h')
-rw-r--r-- | vp9/decoder/vp9_dthread.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/vp9/decoder/vp9_dthread.h b/vp9/decoder/vp9_dthread.h index b1fbdeb74..d5810b45b 100644 --- a/vp9/decoder/vp9_dthread.h +++ b/vp9/decoder/vp9_dthread.h @@ -22,9 +22,6 @@ typedef struct TileWorkerData { struct VP9Common *cm; vp9_reader bit_reader; DECLARE_ALIGNED(16, struct macroblockd, xd); - - // Row-based parallel loopfilter data - LFWorkerData lfdata; } TileWorkerData; // Loopfilter row synchronization @@ -39,19 +36,25 @@ typedef struct VP9LfSyncData { // determined by testing. Currently, it is chosen to be a power-of-2 number. int sync_range; int rows; + + // Row-based parallel loopfilter data + LFWorkerData *lfdata; + int num_workers; } VP9LfSync; // Allocate memory for loopfilter row synchronization. void vp9_loop_filter_alloc(VP9LfSync *lf_sync, VP9_COMMON *cm, int rows, - int width); + int width, int num_workers); // Deallocate loopfilter synchronization related mutex and data. void vp9_loop_filter_dealloc(VP9LfSync *lf_sync); // Multi-threaded loopfilter that uses the tile threads. -void vp9_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame, - struct VP9Decoder *pbi, +void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync, + YV12_BUFFER_CONFIG *frame, + struct macroblockd_plane planes[MAX_MB_PLANE], struct VP9Common *cm, + VP9Worker *workers, int num_workers, int frame_filter_level, int y_only); |