/* * @file hv_mw_OsdUserdata.h * @brief Header file of osd Userdata. * * @verbatim * ============================================================================== * ##### How to use ##### * ============================================================================== * * * @author HiView SoC Software Team * @version 1.0.0 * @date 2022-09-01 */ #ifndef _HV_MW_OSD_USERDATA_H #define _HV_MW_OSD_USERDATA_H #ifdef OSD_ITEM_BIND_USERDATA_BY_TOOL #include "hv_res_OsdUserdata.h" #define SET_OSDDATA (BIT_0) #define SET_INTERFACE (BIT_1) #define SET_RELATED (BIT_2) #define SET_FORCE (BIT_3) #define SET_ALL (SET_OSDDATA | SET_INTERFACE | SET_RELATED) #define SET_ALL_FORCE (SET_ALL | SET_FORCE) /** * @brief Userdata adjust action * @details set to a value, set to default value, value increase, value decrease */ typedef enum { ACT_SET, ACT_SET_DEFAULT, ACT_INCREASE, ACT_DECREASE, } AdjustAct; /** * @brief 根据当前userdata的osd值进行配置(调用接口) * @param[in] enWhichData userdata的id */ VOID Hv_Mw_SetFromOsdUserdata(UserdataId enUserdata); /** * @brief 根据当前真实值,同步更新某个userdata的osd值 * @param[in] enWhichData userdata的id */ VOID Hv_Mw_OsdUserdataUpdate(UserdataId enWhichData); /** * @brief 同步更新所有userdata的osd值 */ VOID Hv_Mw_OsdUserdataUpdateAll(VOID); /** * @brief 获取userdata的映射后的osd值 * @param[in] enWhichData userdata的id * @param[in] sRealValue userdata的osd真实 * @return userdata的osd值 */ SHORT16 Hv_Mw_OsdGetMappedOsdValue(UserdataId enWhichData, SHORT16 sRealValue); #define GET_OSD_MAP_VALUE(Data, RealValue) Hv_Mw_OsdGetMappedOsdValue(Data, RealValue) /** * @brief 获取userdata的映射后的真实值 * @param[in] enWhichData userdata的id * @param[in] sOsdValue userdata的osd值 * @return userdata的真实值 */ SHORT16 Hv_Mw_OsdGetMappedRealValue(UserdataId enWhichData, SHORT16 sOsdValue); #define GET_REAL_MAP_VALUE(Data, OsdValue) Hv_Mw_OsdGetMappedRealValue(Data, OsdValue) /** * @brief 调整设置项的值 * @param[in] enWhichData userdata的id * @param[in] enAdjustAct 调整类型:ACT_SET-直接设置,ACT_SET_DEFAULT-设为默认值,ACT_INCREASE-增加,ACT_DECREASE-减少 * @param[in] sAdjustValue 调整类型的值:直接设置为该值,设为默认值时无效,增加时为增加步长,减少时为减少步长 * @param[in] ucFlag 设置项标志位:SET_OSDDATA-设置OSD数据(仅影响显示), SET_INTERFACE-调用系统接口,SET_RELATED-设置关联功能,可同时设置,SET_FORCE-强制设置,不判断等值 * @return userdata的属性结构体指针 */ SHORT16 Hv_Mw_OsdAdjustFunction(UserdataId enWhichData, AdjustAct enAdjustAct, SHORT16 sAdjustValue, UCHAR8 ucFlag); #endif #endif