summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vp9/decoder/vp9_decodeframe.c4
-rw-r--r--vp9/decoder/vp9_dthread.c3
-rw-r--r--vp9/decoder/vp9_dthread.h1
3 files changed, 5 insertions, 3 deletions
diff --git a/vp9/decoder/vp9_decodeframe.c b/vp9/decoder/vp9_decodeframe.c
index 1b2257262..b1ae58f3a 100644
--- a/vp9/decoder/vp9_decodeframe.c
+++ b/vp9/decoder/vp9_decodeframe.c
@@ -1563,8 +1563,8 @@ void vp9_decode_frame(VP9Decoder *pbi,
if (!xd->corrupted) {
// If multiple threads are used to decode tiles, then we use those threads
// to do parallel loopfiltering.
- vp9_loop_filter_frame_mt(&pbi->lf_row_sync, new_fb, pbi, cm,
- cm->lf.filter_level, 0);
+ vp9_loop_filter_frame_mt(&pbi->lf_row_sync, new_fb, pbi->mb.plane, pbi,
+ cm, cm->lf.filter_level, 0);
}
} else {
*p_data_end = decode_tiles(pbi, data + first_partition_size, data_end);
diff --git a/vp9/decoder/vp9_dthread.c b/vp9/decoder/vp9_dthread.c
index 982d58aec..82be1f6c2 100644
--- a/vp9/decoder/vp9_dthread.c
+++ b/vp9/decoder/vp9_dthread.c
@@ -135,6 +135,7 @@ static int loop_filter_row_worker(TileWorkerData *const tile_data,
// threads.
void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync,
YV12_BUFFER_CONFIG *frame,
+ struct macroblockd_plane planes[MAX_MB_PLANE],
VP9Decoder *pbi, VP9_COMMON *cm,
int frame_filter_level,
int y_only) {
@@ -177,7 +178,7 @@ void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync,
// Loopfilter data
lf_data->frame_buffer = frame;
lf_data->cm = cm;
- vp9_copy(lf_data->planes, pbi->mb.plane);
+ vpx_memcpy(lf_data->planes, planes, sizeof(lf_data->planes));
lf_data->start = i;
lf_data->stop = sb_rows;
lf_data->y_only = y_only; // always do all planes in decoder
diff --git a/vp9/decoder/vp9_dthread.h b/vp9/decoder/vp9_dthread.h
index bd722348c..0bfee15f8 100644
--- a/vp9/decoder/vp9_dthread.h
+++ b/vp9/decoder/vp9_dthread.h
@@ -51,6 +51,7 @@ void vp9_loop_filter_dealloc(VP9LfSync *lf_sync);
// Multi-threaded loopfilter that uses the tile threads.
void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync,
YV12_BUFFER_CONFIG *frame,
+ struct macroblockd_plane planes[MAX_MB_PLANE],
struct VP9Decoder *pbi,
struct VP9Common *cm,
int frame_filter_level,