hv_mw_OsdUserdata.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. * @file hv_mw_OsdUserdata.h
  3. * @brief Header file of osd Userdata.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. *
  10. *
  11. * @author HiView SoC Software Team
  12. * @version 1.0.0
  13. * @date 2022-09-01
  14. */
  15. #ifndef _HV_MW_OSD_USERDATA_H
  16. #define _HV_MW_OSD_USERDATA_H
  17. #ifdef OSD_ITEM_BIND_USERDATA_BY_TOOL
  18. #include "hv_res_OsdUserdata.h"
  19. #define SET_OSDDATA (BIT_0)
  20. #define SET_INTERFACE (BIT_1)
  21. #define SET_RELATED (BIT_2)
  22. #define SET_FORCE (BIT_3)
  23. #define SET_ALL (SET_OSDDATA | SET_INTERFACE | SET_RELATED)
  24. #define SET_ALL_FORCE (SET_ALL | SET_FORCE)
  25. /**
  26. * @brief Userdata adjust action
  27. * @details set to a value, set to default value, value increase, value decrease
  28. */
  29. typedef enum
  30. {
  31. ACT_SET,
  32. ACT_SET_DEFAULT,
  33. ACT_INCREASE,
  34. ACT_DECREASE,
  35. } AdjustAct;
  36. /**
  37. * @brief 根据当前userdata的osd值进行配置(调用接口)
  38. * @param[in] enWhichData userdata的id
  39. */
  40. VOID Hv_Mw_SetFromOsdUserdata(UserdataId enUserdata);
  41. /**
  42. * @brief 根据当前真实值,同步更新某个userdata的osd值
  43. * @param[in] enWhichData userdata的id
  44. */
  45. VOID Hv_Mw_OsdUserdataUpdate(UserdataId enWhichData);
  46. /**
  47. * @brief 同步更新所有userdata的osd值
  48. */
  49. VOID Hv_Mw_OsdUserdataUpdateAll(VOID);
  50. /**
  51. * @brief 获取userdata的映射后的osd值
  52. * @param[in] enWhichData userdata的id
  53. * @param[in] sRealValue userdata的osd真实
  54. * @return userdata的osd值
  55. */
  56. SHORT16 Hv_Mw_OsdGetMappedOsdValue(UserdataId enWhichData, SHORT16 sRealValue);
  57. #define GET_OSD_MAP_VALUE(Data, RealValue) Hv_Mw_OsdGetMappedOsdValue(Data, RealValue)
  58. /**
  59. * @brief 获取userdata的映射后的真实值
  60. * @param[in] enWhichData userdata的id
  61. * @param[in] sOsdValue userdata的osd值
  62. * @return userdata的真实值
  63. */
  64. SHORT16 Hv_Mw_OsdGetMappedRealValue(UserdataId enWhichData, SHORT16 sOsdValue);
  65. #define GET_REAL_MAP_VALUE(Data, OsdValue) Hv_Mw_OsdGetMappedRealValue(Data, OsdValue)
  66. /**
  67. * @brief 调整设置项的值
  68. * @param[in] enWhichData userdata的id
  69. * @param[in] enAdjustAct 调整类型:ACT_SET-直接设置,ACT_SET_DEFAULT-设为默认值,ACT_INCREASE-增加,ACT_DECREASE-减少
  70. * @param[in] sAdjustValue 调整类型的值:直接设置为该值,设为默认值时无效,增加时为增加步长,减少时为减少步长
  71. * @param[in] ucFlag 设置项标志位:SET_OSDDATA-设置OSD数据(仅影响显示), SET_INTERFACE-调用系统接口,SET_RELATED-设置关联功能,可同时设置,SET_FORCE-强制设置,不判断等值
  72. * @return userdata的属性结构体指针
  73. */
  74. SHORT16 Hv_Mw_OsdAdjustFunction(UserdataId enWhichData, AdjustAct enAdjustAct, SHORT16 sAdjustValue, UCHAR8 ucFlag);
  75. #endif
  76. #endif