summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_dthread.h
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/decoder/vp9_dthread.h')
-rw-r--r--vp9/decoder/vp9_dthread.h15
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);