1 /* 2 * Copyright(c) 2019 Intel Corporation 3 * SPDX - License - Identifier: BSD - 2 - Clause - Patent 4 */ 5 6 #ifndef EbRateControlTasks_h 7 #define EbRateControlTasks_h 8 9 #include "EbDefinitions.h" 10 #include "EbSystemResourceManager.h" 11 #include "EbPictureControlSet.h" 12 13 /************************************** 14 * Tasks Types 15 **************************************/ 16 typedef enum RateControlTaskTypes 17 { 18 RC_PICTURE_MANAGER_RESULT, 19 RC_PACKETIZATION_FEEDBACK_RESULT, 20 RC_ENTROPY_CODING_ROW_FEEDBACK_RESULT, 21 RC_INVALID_TASK 22 } RateControlTaskTypes; 23 24 /************************************** 25 * Process Results 26 **************************************/ 27 typedef struct RateControlTasks 28 { 29 RateControlTaskTypes task_type; 30 EbObjectWrapper *picture_control_set_wrapper_ptr; 31 uint32_t segment_index; 32 33 // Following are valid for RC_ENTROPY_CODING_ROW_FEEDBACK_RESULT only 34 uint64_t picture_number; 35 uint32_t row_number; 36 uint32_t bit_count; 37 38 } RateControlTasks; 39 40 typedef struct RateControlTasksInitData { 41 int junk; 42 } RateControlTasksInitData; 43 44 /************************************** 45 * Extern Function Declarations 46 **************************************/ 47 extern EbErrorType eb_vp9_rate_control_tasks_ctor( 48 EbPtr *object_dbl_ptr, 49 EbPtr object_init_data_ptr); 50 51 #endif // EbRateControlTasks_h 52