1 /* 2 * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19 #ifndef __HI_MOD_PARAM__ 20 #define __HI_MOD_PARAM__ 21 22 #include "hi_type.h" 23 #include "hi_defines.h" 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 typedef struct hi_vgs_module_params_s { 30 HI_U32 u32_max_vgs_job; 31 HI_U32 u32_max_vgs_task; 32 HI_U32 u32_max_vgs_node; 33 HI_U32 au32_vgs_en[VGS_IP_NUM]; 34 HI_BOOL b_vgs_hdr_support; 35 HI_BOOL b_vgs_exit_in_sys; 36 } vgs_module_params_s; 37 38 typedef struct hi_gdc_module_params_s { 39 HI_U32 u32_max_gdc_job; 40 HI_U32 u32_max_gdc_task; 41 HI_U32 u32_max_gdc_node; 42 HI_U32 au32_gdc_en[GDC_IP_NUM]; 43 } gdc_module_params_s; 44 45 typedef struct hivdec_module_params_s { 46 HI_U32 u32_vdec_max_chn_num; 47 HI_BOOL b_vdec_hfr; 48 } vdec_module_params_s; 49 50 typedef struct hi_ive_module_params_s { 51 HI_BOOL b_save_power_en; 52 HI_U16 u16_ive_node_num; 53 HI_U16 u16_rsv; 54 } ive_module_params_s; 55 56 typedef struct hi_svp_nnie_module_params_s { 57 HI_BOOL b_save_power_en; 58 HI_U16 u16_nnie_tsk_buf_num; 59 } svp_nnie_module_params_s; 60 61 62 typedef struct hi_h265e_module_params_s { 63 HI_U32 u32_feature_enable; 64 } h265e_module_params_s; 65 66 typedef struct hi_venc_module_params_s { 67 HI_U32 u32_venc_max_chn_num; 68 } venc_module_params_s; 69 70 typedef struct hi_vfmw_module_params_s { 71 HI_S32 s32_vfmw_max_chn_num; 72 } vfmw_module_params_s; 73 74 typedef struct hi_acodec_module_params_s { 75 HI_U32 u32_init_delay_timems; 76 }acodec_module_params_s; 77 78 #ifdef __cplusplus 79 } 80 #endif /* __cplusplus */ 81 82 #endif /* __HI_MOD_PARAM__ */ 83