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