Lines Matching full:plane
206 int plane) { in sync_read() argument
211 pthread_mutex_t *const mutex = &lf_sync->mutex_[plane][r - 1]; in sync_read()
214 while (c > lf_sync->cur_sb_col[plane][r - 1] - nsync) { in sync_read()
215 pthread_cond_wait(&lf_sync->cond_[plane][r - 1], mutex); in sync_read()
223 (void)plane; in sync_read()
228 const int sb_cols, int plane) { in sync_write() argument
243 pthread_mutex_lock(&lf_sync->mutex_[plane][r]); in sync_write()
245 // When a thread encounters an error, cur_sb_col[plane][r] is set to maximum in sync_write()
247 // cur_sb_col[plane][r] is not overwritten with a smaller value thus in sync_write()
250 lf_sync->cur_sb_col[plane][r] = AOMMAX(lf_sync->cur_sb_col[plane][r], cur); in sync_write()
252 pthread_cond_broadcast(&lf_sync->cond_[plane][r]); in sync_write()
253 pthread_mutex_unlock(&lf_sync->mutex_[plane][r]); in sync_write()
260 (void)plane; in sync_write()
267 struct macroblockd_plane *planes, MACROBLOCKD *xd, int mi_row, int plane, in av1_thread_loop_filter_rows() argument
280 const bool joint_filter_chroma = (lpf_opt_level == 2) && plane > AOM_PLANE_Y; in av1_thread_loop_filter_rows()
282 assert(IMPLIES(joint_filter_chroma, plane == AOM_PLANE_U)); in av1_thread_loop_filter_rows()
289 mi_row, mi_col, plane, plane + num_planes); in av1_thread_loop_filter_rows()
291 if (plane == AOM_PLANE_Y) { in av1_thread_loop_filter_rows()
292 av1_filter_block_plane_vert_opt(cm, xd, &planes[plane], mi_row, in av1_thread_loop_filter_rows()
297 cm, xd, &planes[plane], mi_row, mi_col, params_buf, tx_buf, plane, in av1_thread_loop_filter_rows()
301 av1_filter_block_plane_vert(cm, xd, plane, &planes[plane], mi_row, in av1_thread_loop_filter_rows()
305 sync_write(lf_sync, r, c, sb_cols, plane); in av1_thread_loop_filter_rows()
315 sync_read(lf_sync, r, c, plane); in av1_thread_loop_filter_rows()
318 sync_read(lf_sync, r + 1, c, plane); in av1_thread_loop_filter_rows()
332 mi_row, mi_col, plane, plane + num_planes); in av1_thread_loop_filter_rows()
334 if (plane == AOM_PLANE_Y) { in av1_thread_loop_filter_rows()
335 av1_filter_block_plane_horz_opt(cm, xd, &planes[plane], mi_row, in av1_thread_loop_filter_rows()
340 cm, xd, &planes[plane], mi_row, mi_col, params_buf, tx_buf, plane, in av1_thread_loop_filter_rows()
344 av1_filter_block_plane_horz(cm, xd, plane, &planes[plane], mi_row, in av1_thread_loop_filter_rows()
353 int plane, sb_row; in av1_set_vert_loop_filter_done() local
365 for (plane = 0; plane < MAX_MB_PLANE; ++plane) in av1_set_vert_loop_filter_done()
366 sync_write(lf_sync, sb_row, sb_cols - 1, sb_cols, plane); in av1_set_vert_loop_filter_done()
423 cur_job_info->mi_row, cur_job_info->plane, cur_job_info->dir, in loop_filter_row_worker()
471 int mi_row, plane, dir; in loop_filter_rows() local
476 for (plane = 0; plane < MAX_MB_PLANE; ++plane) { in loop_filter_rows()
477 if (skip_loop_filter_plane(planes_to_lf, plane, lpf_opt_level)) { in loop_filter_rows()
482 av1_thread_loop_filter_rows(frame, cm, xd->plane, xd, mi_row, plane, in loop_filter_rows()
525 static inline void lr_sync_read(void *const lr_sync, int r, int c, int plane) { in lr_sync_read() argument
531 pthread_mutex_t *const mutex = &loop_res_sync->mutex_[plane][r - 1]; in lr_sync_read()
534 while (c > loop_res_sync->cur_sb_col[plane][r - 1] - nsync) { in lr_sync_read()
535 pthread_cond_wait(&loop_res_sync->cond_[plane][r - 1], mutex); in lr_sync_read()
543 (void)plane; in lr_sync_read()
548 const int sb_cols, int plane) { in lr_sync_write() argument
564 pthread_mutex_lock(&loop_res_sync->mutex_[plane][r]); in lr_sync_write()
566 // When a thread encounters an error, cur_sb_col[plane][r] is set to maximum in lr_sync_write()
568 // cur_sb_col[plane][r] is not overwritten with a smaller value thus in lr_sync_write()
571 loop_res_sync->cur_sb_col[plane][r] = in lr_sync_write()
572 AOMMAX(loop_res_sync->cur_sb_col[plane][r], cur); in lr_sync_write()
574 pthread_cond_broadcast(&loop_res_sync->cond_[plane][r]); in lr_sync_write()
575 pthread_mutex_unlock(&loop_res_sync->mutex_[plane][r]); in lr_sync_write()
582 (void)plane; in lr_sync_write()
709 for (int plane = 0; plane < num_planes; plane++) { in enqueue_lr_jobs() local
710 if (cm->rst_info[plane].frame_restoration_type == RESTORE_NONE) continue; in enqueue_lr_jobs()
712 num_even_lr_jobs + ((ctxt[plane].rsi->vert_units + 1) >> 1); in enqueue_lr_jobs()
717 for (int plane = 0; plane < num_planes; plane++) { in enqueue_lr_jobs() local
718 if (cm->rst_info[plane].frame_restoration_type == RESTORE_NONE) continue; in enqueue_lr_jobs()
719 const int is_uv = plane > 0; in enqueue_lr_jobs()
721 const int unit_size = ctxt[plane].rsi->restoration_unit_size; in enqueue_lr_jobs()
722 const int plane_h = ctxt[plane].plane_h; in enqueue_lr_jobs()
742 lr_job_queue[lr_job_counter[i & 1]].plane = plane; in enqueue_lr_jobs()
755 if (i == (ctxt[plane].rsi->vert_units - 1)) { in enqueue_lr_jobs()
795 for (int plane = 0; plane < MAX_MB_PLANE; ++plane) { in set_loop_restoration_done() local
796 if (ctxt[plane].rsi->frame_restoration_type == RESTORE_NONE) continue; in set_loop_restoration_done()
798 const int unit_size = ctxt[plane].rsi->restoration_unit_size; in set_loop_restoration_done()
799 const int plane_h = ctxt[plane].plane_h; in set_loop_restoration_done()
801 const int hnum_rest_units = ctxt[plane].rsi->horz_units; in set_loop_restoration_done()
806 plane); in set_loop_restoration_done()
820 int plane; in loop_restoration_row_worker() local
864 plane = cur_job_info->plane; in loop_restoration_row_worker()
865 plane_w = ctxt[plane].plane_w; in loop_restoration_row_worker()
876 ctxt[plane].rsi->restoration_unit_size, ctxt[plane].rsi->horz_units, in loop_restoration_row_worker()
877 ctxt[plane].rsi->vert_units, plane, &ctxt[plane], in loop_restoration_row_worker()
881 copy_funs[plane](lr_ctxt->dst, lr_ctxt->frame, 0, plane_w, in loop_restoration_row_worker()
885 aom_extend_frame_borders_plane_row(lr_ctxt->frame, plane, in loop_restoration_row_worker()
931 for (int plane = 0; plane < num_planes; plane++) { in foreach_rest_unit_in_planes_mt() local
932 if (cm->rst_info[plane].frame_restoration_type == RESTORE_NONE) continue; in foreach_rest_unit_in_planes_mt()
934 const int plane_h = ctxt[plane].plane_h; in foreach_rest_unit_in_planes_mt()
935 const int unit_size = cm->rst_info[plane].restoration_unit_size; in foreach_rest_unit_in_planes_mt()
1118 for (int plane = 0; plane < num_planes; ++plane) { in cdef_sb_row_worker_hook() local
1120 const int is_uv = plane > 0; in cdef_sb_row_worker_hook()
1121 const int mi_high = MI_SIZE_LOG2 - xd->plane[plane].subsampling_y; in cdef_sb_row_worker_hook()
1126 aom_extend_frame_borders_plane_row(ybf, plane, v_start, v_end); in cdef_sb_row_worker_hook()
1143 for (int plane = 0; plane < num_planes; plane++) in prepare_cdef_frame_workers() local
1144 cdef_worker[0].colbuf[plane] = cm->cdef_info.colbuf[plane]; in prepare_cdef_frame_workers()
1151 for (int plane = 0; plane < num_planes; plane++) in prepare_cdef_frame_workers() local
1152 cdef_worker[i].linebuf[plane] = cm->cdef_info.linebuf[plane]; in prepare_cdef_frame_workers()
1193 for (int plane = 0; plane < num_planes; plane++) { in av1_cdef_init_fb_row_mt() local
1194 const int stride = luma_stride >> xd->plane[plane].subsampling_x; in av1_cdef_init_fb_row_mt()
1195 uint16_t *top_linebuf = &linebuf[plane][0]; in av1_cdef_init_fb_row_mt()
1196 uint16_t *bot_linebuf = &linebuf[plane][nvfb * CDEF_VBORDER * stride]; in av1_cdef_init_fb_row_mt()
1198 const int mi_high_l2 = MI_SIZE_LOG2 - xd->plane[plane].subsampling_y; in av1_cdef_init_fb_row_mt()
1205 xd->plane[plane].dst.buf, top_offset - CDEF_VBORDER, 0, in av1_cdef_init_fb_row_mt()
1206 xd->plane[plane].dst.stride, CDEF_VBORDER, stride); in av1_cdef_init_fb_row_mt()
1209 stride, xd->plane[plane].dst.buf, bot_offset, 0, in av1_cdef_init_fb_row_mt()
1210 xd->plane[plane].dst.stride, CDEF_VBORDER, stride); in av1_cdef_init_fb_row_mt()
1213 fb_info->top_linebuf[plane] = &linebuf[plane][fbr * CDEF_VBORDER * stride]; in av1_cdef_init_fb_row_mt()
1214 fb_info->bot_linebuf[plane] = in av1_cdef_init_fb_row_mt()
1215 &linebuf[plane] in av1_cdef_init_fb_row_mt()
1239 av1_setup_dst_planes(xd->plane, cm->seq_params->sb_size, frame, 0, 0, 0, in av1_cdef_frame_mt()