11bd4fe43Sopenharmony_ci/* 21bd4fe43Sopenharmony_ci * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 31bd4fe43Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41bd4fe43Sopenharmony_ci * you may not use this file except in compliance with the License. 51bd4fe43Sopenharmony_ci * You may obtain a copy of the License at 61bd4fe43Sopenharmony_ci * 71bd4fe43Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81bd4fe43Sopenharmony_ci * 91bd4fe43Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101bd4fe43Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111bd4fe43Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121bd4fe43Sopenharmony_ci * See the License for the specific language governing permissions and 131bd4fe43Sopenharmony_ci * limitations under the License. 141bd4fe43Sopenharmony_ci */ 151bd4fe43Sopenharmony_ci 161bd4fe43Sopenharmony_ci#ifndef __HI_MOD_PARAM__ 171bd4fe43Sopenharmony_ci#define __HI_MOD_PARAM__ 181bd4fe43Sopenharmony_ci 191bd4fe43Sopenharmony_ci#include "hi_type.h" 201bd4fe43Sopenharmony_ci#include "hi_defines.h" 211bd4fe43Sopenharmony_ci 221bd4fe43Sopenharmony_citypedef struct hi_vgs_module_params_s { 231bd4fe43Sopenharmony_ci HI_U32 u32_max_vgs_job; 241bd4fe43Sopenharmony_ci HI_U32 u32_max_vgs_task; 251bd4fe43Sopenharmony_ci HI_U32 u32_max_vgs_node; 261bd4fe43Sopenharmony_ci HI_U32 au32_vgs_en[VGS_IP_NUM]; 271bd4fe43Sopenharmony_ci HI_BOOL b_vgs_hdr_support; 281bd4fe43Sopenharmony_ci HI_BOOL b_vgs_exit_in_sys; 291bd4fe43Sopenharmony_ci} vgs_module_params_s; 301bd4fe43Sopenharmony_ci 311bd4fe43Sopenharmony_citypedef struct hi_gdc_module_params_s { 321bd4fe43Sopenharmony_ci HI_U32 u32_max_gdc_job; 331bd4fe43Sopenharmony_ci HI_U32 u32_max_gdc_task; 341bd4fe43Sopenharmony_ci HI_U32 u32_max_gdc_node; 351bd4fe43Sopenharmony_ci HI_U32 au32_gdc_en[GDC_IP_NUM]; 361bd4fe43Sopenharmony_ci} gdc_module_params_s; 371bd4fe43Sopenharmony_ci 381bd4fe43Sopenharmony_citypedef struct hivdec_module_params_s { 391bd4fe43Sopenharmony_ci HI_U32 u32_vdec_max_chn_num; 401bd4fe43Sopenharmony_ci HI_BOOL b_vdec_hfr; 411bd4fe43Sopenharmony_ci} vdec_module_params_s; 421bd4fe43Sopenharmony_ci 431bd4fe43Sopenharmony_citypedef struct hi_ive_module_params_s { 441bd4fe43Sopenharmony_ci HI_BOOL b_save_power_en; 451bd4fe43Sopenharmony_ci HI_U16 u16_ive_node_num; 461bd4fe43Sopenharmony_ci HI_U16 u16_rsv; 471bd4fe43Sopenharmony_ci} ive_module_params_s; 481bd4fe43Sopenharmony_ci 491bd4fe43Sopenharmony_citypedef struct hi_svp_nnie_module_params_s { 501bd4fe43Sopenharmony_ci HI_BOOL b_save_power_en; 511bd4fe43Sopenharmony_ci HI_U16 u16_nnie_tsk_buf_num; 521bd4fe43Sopenharmony_ci} svp_nnie_module_params_s; 531bd4fe43Sopenharmony_ci 541bd4fe43Sopenharmony_ci 551bd4fe43Sopenharmony_citypedef struct hi_h265e_module_params_s { 561bd4fe43Sopenharmony_ci HI_U32 u32_feature_enable; 571bd4fe43Sopenharmony_ci} h265e_module_params_s; 581bd4fe43Sopenharmony_ci 591bd4fe43Sopenharmony_citypedef struct hi_venc_module_params_s { 601bd4fe43Sopenharmony_ci HI_U32 u32_venc_max_chn_num; 611bd4fe43Sopenharmony_ci} venc_module_params_s; 621bd4fe43Sopenharmony_ci 631bd4fe43Sopenharmony_citypedef struct hi_vfmw_module_params_s { 641bd4fe43Sopenharmony_ci HI_S32 s32_vfmw_max_chn_num; 651bd4fe43Sopenharmony_ci} vfmw_module_params_s; 661bd4fe43Sopenharmony_ci 671bd4fe43Sopenharmony_citypedef struct hi_acodec_module_params_s { 681bd4fe43Sopenharmony_ci HI_U32 u32_init_delay_timems; 691bd4fe43Sopenharmony_ci} acodec_module_params_s; 701bd4fe43Sopenharmony_ci 711bd4fe43Sopenharmony_ci#endif 721bd4fe43Sopenharmony_ci 73