summaryrefslogtreecommitdiffstats
path: root/third_party/aom/av1/common/thread_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/aom/av1/common/thread_common.h')
-rw-r--r--third_party/aom/av1/common/thread_common.h119
1 files changed, 0 insertions, 119 deletions
diff --git a/third_party/aom/av1/common/thread_common.h b/third_party/aom/av1/common/thread_common.h
deleted file mode 100644
index 23d61d72a..000000000
--- a/third_party/aom/av1/common/thread_common.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
- *
- * This source code is subject to the terms of the BSD 2 Clause License and
- * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
- * was not distributed with this source code in the LICENSE file, you can
- * obtain it at www.aomedia.org/license/software. If the Alliance for Open
- * Media Patent License 1.0 was not distributed with this source code in the
- * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
- */
-
-#ifndef AOM_AV1_COMMON_THREAD_COMMON_H_
-#define AOM_AV1_COMMON_THREAD_COMMON_H_
-
-#include "config/aom_config.h"
-
-#include "av1/common/av1_loopfilter.h"
-#include "aom_util/aom_thread.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct AV1Common;
-
-typedef struct AV1LfMTInfo {
- int mi_row;
- int plane;
- int dir;
-} AV1LfMTInfo;
-
-// Loopfilter row synchronization
-typedef struct AV1LfSyncData {
-#if CONFIG_MULTITHREAD
- pthread_mutex_t *mutex_[MAX_MB_PLANE];
- pthread_cond_t *cond_[MAX_MB_PLANE];
-#endif
- // Allocate memory to store the loop-filtered superblock index in each row.
- int *cur_sb_col[MAX_MB_PLANE];
- // The optimal sync_range for different resolution and platform should be
- // determined by testing. Currently, it is chosen to be a power-of-2 number.
- int sync_range;
- int rows;
-
- // Row-based parallel loopfilter data
- LFWorkerData *lfdata;
- int num_workers;
-
-#if CONFIG_MULTITHREAD
- pthread_mutex_t *job_mutex;
-#endif
- AV1LfMTInfo *job_queue;
- int jobs_enqueued;
- int jobs_dequeued;
-} AV1LfSync;
-
-typedef struct AV1LrMTInfo {
- int v_start;
- int v_end;
- int lr_unit_row;
- int plane;
- int sync_mode;
- int v_copy_start;
- int v_copy_end;
-} AV1LrMTInfo;
-
-typedef struct LoopRestorationWorkerData {
- int32_t *rst_tmpbuf;
- void *rlbs;
- void *lr_ctxt;
-} LRWorkerData;
-
-// Looprestoration row synchronization
-typedef struct AV1LrSyncData {
-#if CONFIG_MULTITHREAD
- pthread_mutex_t *mutex_[MAX_MB_PLANE];
- pthread_cond_t *cond_[MAX_MB_PLANE];
-#endif
- // Allocate memory to store the loop-restoration block index in each row.
- int *cur_sb_col[MAX_MB_PLANE];
- // The optimal sync_range for different resolution and platform should be
- // determined by testing. Currently, it is chosen to be a power-of-2 number.
- int sync_range;
- int rows;
- int num_planes;
-
- int num_workers;
-
-#if CONFIG_MULTITHREAD
- pthread_mutex_t *job_mutex;
-#endif
- // Row-based parallel loopfilter data
- LRWorkerData *lrworkerdata;
-
- AV1LrMTInfo *job_queue;
- int jobs_enqueued;
- int jobs_dequeued;
-} AV1LrSync;
-
-// Deallocate loopfilter synchronization related mutex and data.
-void av1_loop_filter_dealloc(AV1LfSync *lf_sync);
-
-void av1_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame, struct AV1Common *cm,
- struct macroblockd *mbd, int plane_start,
- int plane_end, int partial_frame,
- AVxWorker *workers, int num_workers,
- AV1LfSync *lf_sync);
-void av1_loop_restoration_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
- struct AV1Common *cm,
- int optimized_lr, AVxWorker *workers,
- int num_workers, AV1LrSync *lr_sync,
- void *lr_ctxt);
-void av1_loop_restoration_dealloc(AV1LrSync *lr_sync, int num_workers);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // AOM_AV1_COMMON_THREAD_COMMON_H_