1 /*
2 * Copyright(c) 2019 Intel Corporation
3 *
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at https://www.aomedia.org/license/software-license. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license.
10 */
11 
12 #ifndef EbEncDecTasks_h
13 #define EbEncDecTasks_h
14 
15 #include "EbDefinitions.h"
16 #include "EbSystemResourceManager.h"
17 #include "EbObject.h"
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 #define ENCDEC_TASKS_MDC_INPUT 0
22 #define ENCDEC_TASKS_ENCDEC_INPUT 1
23 #define ENCDEC_TASKS_CONTINUE 2
24 
25 /**************************************
26      * Process Results
27      **************************************/
28 typedef struct EncDecTasks {
29     EbDctor          dctor;
30     EbObjectWrapper *pcs_wrapper_ptr;
31     uint32_t         input_type;
32     int16_t          enc_dec_segment_row;
33     uint16_t         tile_group_index;
34 } EncDecTasks;
35 
36 typedef struct EncDecTasksInitData {
37     unsigned enc_dec_segment_row_count;
38 } EncDecTasksInitData;
39 
40 /**************************************
41      * Extern Function Declarations
42      **************************************/
43 extern EbErrorType enc_dec_tasks_creator(EbPtr *object_dbl_ptr, EbPtr object_init_data_ptr);
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 #endif // EbEncDecTasks_h
49