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,
|
int start, int stop, int y_only,
|
||||||
VP9LfSync *const lf_sync) {
|
VP9LfSync *const lf_sync) {
|
||||||
const int num_planes = y_only ? 1 : MAX_MB_PLANE;
|
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;
|
const int sb_cols = mi_cols_aligned_to_sb(cm->mi_cols) >> MI_BLOCK_SIZE_LOG2;
|
||||||
int mi_row, mi_col;
|
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);
|
sync_read(lf_sync, r, c);
|
||||||
|
|
||||||
vp9_setup_dst_planes(planes, frame_buffer, mi_row, mi_col);
|
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) {
|
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);
|
sync_write(lf_sync, r, c, sb_cols);
|
||||||
|
Loading…
Reference in New Issue
Block a user