Merge "Add non420 code in multi-threaded loopfilter"
This commit is contained in:
commit
79b88cc2a5
@ -91,6 +91,8 @@ void thread_loop_filter_rows(const YV12_BUFFER_CONFIG *const frame_buffer,
|
||||
int start, int stop, int y_only,
|
||||
VP9LfSync *const lf_sync) {
|
||||
const int num_planes = y_only ? 1 : MAX_MB_PLANE;
|
||||
const int use_420 = y_only || (planes[1].subsampling_y == 1 &&
|
||||
planes[1].subsampling_x == 1);
|
||||
const int sb_cols = mi_cols_aligned_to_sb(cm->mi_cols) >> MI_BLOCK_SIZE_LOG2;
|
||||
int mi_row, mi_col;
|
||||
|
||||
@ -107,10 +109,18 @@ void thread_loop_filter_rows(const YV12_BUFFER_CONFIG *const frame_buffer,
|
||||
sync_read(lf_sync, r, c);
|
||||
|
||||
vp9_setup_dst_planes(planes, frame_buffer, mi_row, mi_col);
|
||||
vp9_setup_mask(cm, mi_row, mi_col, mi + mi_col, cm->mi_stride, &lfm);
|
||||
|
||||
// TODO(JBB): Make setup_mask work for non 420.
|
||||
if (use_420)
|
||||
vp9_setup_mask(cm, mi_row, mi_col, mi + mi_col, cm->mi_stride,
|
||||
&lfm);
|
||||
|
||||
for (plane = 0; plane < num_planes; ++plane) {
|
||||
vp9_filter_block_plane(cm, &planes[plane], mi_row, &lfm);
|
||||
if (use_420)
|
||||
vp9_filter_block_plane(cm, &planes[plane], mi_row, &lfm);
|
||||
else
|
||||
vp9_filter_block_plane_non420(cm, &planes[plane], mi + mi_col,
|
||||
mi_row, mi_col);
|
||||
}
|
||||
|
||||
sync_write(lf_sync, r, c, sb_cols);
|
||||
|
Loading…
Reference in New Issue
Block a user