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