Index: source/libvpx/vp9/decoder/vp9_dthread.h |
=================================================================== |
--- source/libvpx/vp9/decoder/vp9_dthread.h (revision 293081) |
+++ source/libvpx/vp9/decoder/vp9_dthread.h (working copy) |
@@ -22,9 +22,6 @@ |
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 @@ |
// 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); |