Lines Matching refs:row_mt_sync
292 void vp9_row_mt_sync_mem_alloc(VP9RowMTSync *row_mt_sync, VP9_COMMON *cm, in vp9_row_mt_sync_mem_alloc() argument
294 row_mt_sync->rows = rows; in vp9_row_mt_sync_mem_alloc()
299 CHECK_MEM_ERROR(&cm->error, row_mt_sync->mutex, in vp9_row_mt_sync_mem_alloc()
300 vpx_malloc(sizeof(*row_mt_sync->mutex) * rows)); in vp9_row_mt_sync_mem_alloc()
301 if (row_mt_sync->mutex) { in vp9_row_mt_sync_mem_alloc()
303 pthread_mutex_init(&row_mt_sync->mutex[i], NULL); in vp9_row_mt_sync_mem_alloc()
307 CHECK_MEM_ERROR(&cm->error, row_mt_sync->cond, in vp9_row_mt_sync_mem_alloc()
308 vpx_malloc(sizeof(*row_mt_sync->cond) * rows)); in vp9_row_mt_sync_mem_alloc()
309 if (row_mt_sync->cond) { in vp9_row_mt_sync_mem_alloc()
311 pthread_cond_init(&row_mt_sync->cond[i], NULL); in vp9_row_mt_sync_mem_alloc()
317 CHECK_MEM_ERROR(&cm->error, row_mt_sync->cur_col, in vp9_row_mt_sync_mem_alloc()
318 vpx_malloc(sizeof(*row_mt_sync->cur_col) * rows)); in vp9_row_mt_sync_mem_alloc()
321 row_mt_sync->sync_range = 1; in vp9_row_mt_sync_mem_alloc()
325 void vp9_row_mt_sync_mem_dealloc(VP9RowMTSync *row_mt_sync) { in vp9_row_mt_sync_mem_dealloc() argument
326 if (row_mt_sync != NULL) { in vp9_row_mt_sync_mem_dealloc()
330 if (row_mt_sync->mutex != NULL) { in vp9_row_mt_sync_mem_dealloc()
331 for (i = 0; i < row_mt_sync->rows; ++i) { in vp9_row_mt_sync_mem_dealloc()
332 pthread_mutex_destroy(&row_mt_sync->mutex[i]); in vp9_row_mt_sync_mem_dealloc()
334 vpx_free(row_mt_sync->mutex); in vp9_row_mt_sync_mem_dealloc()
336 if (row_mt_sync->cond != NULL) { in vp9_row_mt_sync_mem_dealloc()
337 for (i = 0; i < row_mt_sync->rows; ++i) { in vp9_row_mt_sync_mem_dealloc()
338 pthread_cond_destroy(&row_mt_sync->cond[i]); in vp9_row_mt_sync_mem_dealloc()
340 vpx_free(row_mt_sync->cond); in vp9_row_mt_sync_mem_dealloc()
343 vpx_free(row_mt_sync->cur_col); in vp9_row_mt_sync_mem_dealloc()
347 vp9_zero(*row_mt_sync); in vp9_row_mt_sync_mem_dealloc()
351 void vp9_row_mt_sync_read(VP9RowMTSync *const row_mt_sync, int r, int c) { in vp9_row_mt_sync_read() argument
353 const int nsync = row_mt_sync->sync_range; in vp9_row_mt_sync_read()
356 pthread_mutex_t *const mutex = &row_mt_sync->mutex[r - 1]; in vp9_row_mt_sync_read()
359 while (c > row_mt_sync->cur_col[r - 1] - nsync + 1) { in vp9_row_mt_sync_read()
360 pthread_cond_wait(&row_mt_sync->cond[r - 1], mutex); in vp9_row_mt_sync_read()
365 (void)row_mt_sync; in vp9_row_mt_sync_read()
371 void vp9_row_mt_sync_read_dummy(VP9RowMTSync *const row_mt_sync, int r, int c) { in vp9_row_mt_sync_read_dummy() argument
372 (void)row_mt_sync; in vp9_row_mt_sync_read_dummy()
378 void vp9_row_mt_sync_write(VP9RowMTSync *const row_mt_sync, int r, int c, in vp9_row_mt_sync_write() argument
381 const int nsync = row_mt_sync->sync_range; in vp9_row_mt_sync_write()
394 pthread_mutex_lock(&row_mt_sync->mutex[r]); in vp9_row_mt_sync_write()
396 row_mt_sync->cur_col[r] = cur; in vp9_row_mt_sync_write()
398 pthread_cond_signal(&row_mt_sync->cond[r]); in vp9_row_mt_sync_write()
399 pthread_mutex_unlock(&row_mt_sync->mutex[r]); in vp9_row_mt_sync_write()
402 (void)row_mt_sync; in vp9_row_mt_sync_write()
409 void vp9_row_mt_sync_write_dummy(VP9RowMTSync *const row_mt_sync, int r, int c, in vp9_row_mt_sync_write_dummy() argument
411 (void)row_mt_sync; in vp9_row_mt_sync_write_dummy()