hdmi_video.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #ifndef __HDMI_VIDEO_H__
  2. #define __HDMI_VIDEO_H__
  3. #include <drv_vip_internal.h>
  4. #define AVI_C_NODATA (0)
  5. #define AVI_C_ITU601 (1)
  6. #define AVI_C_ITU709 (2)
  7. #define AVI_Y_RGB (0)
  8. #define AVI_Y_YCC422 (1)
  9. #define AVI_Y_YCC444 (2)
  10. #define AVI_M_NODATA (0)
  11. #define AVI_M_4_3 (1)
  12. #define AVI_M_16_9 (2)
  13. #define AVI_R_CHECK_AVI_M (8)
  14. #define AVI_R_4_3_CENTER (9)
  15. #define AVI_R_16_9_CENTER (10)
  16. #define AVI_R_14_9_CENTER (11)
  17. #define HDMI_HVAILD_TOLERANCE_PERMILE (10) //unit: 0.1%
  18. #define HDMI_VVAILD_TOLERANCE_PERMILE (10) //unit: 0.1%
  19. #define HDMI_HTOTAL_TOLERANCE_PERMILE (20)
  20. #define HDMI_VTOTAL_TOLERANCE_PERMILE (20)
  21. /*!
  22. * @brief HDMI Video Type of Vendor Specific InfoFrame Packet
  23. */
  24. typedef enum
  25. {
  26. DRV_HDMI_VSI_TYPE_NONE = 0x00, //no additional HDMI format is presented in this packet
  27. DRV_HDMI_VSI_TYPE_EXT_RES, //extended resolution format (e.g. used for 4K x 2K video) present
  28. DRV_HDMI_VSI_TYEP_3D, // 3D format indication present
  29. } DRV_HDMIVSITYPE_e;
  30. /*!
  31. * @brief HDMI 3D Structure
  32. */
  33. typedef enum
  34. {
  35. DRV_HDMI_3D_STRUCT_FP = 0x00, //frame packing
  36. DRV_HDMI_3D_STRUCT_FA, //field alternative
  37. DRV_HDMI_3D_STRUCT_LA, //line alternative
  38. DRV_HDMI_3D_STRUCT_SS_F, //side by side full
  39. DRV_HDMI_3D_STRUCT_L_D, //L + depth
  40. DRV_HDMI_3D_STRUCT_L_D_G, //L + depth + graphic + graphics-depth
  41. DRV_HDMI_3D_STRUCT_TB, //Top and Bottom
  42. DRV_HDMI_3D_STRUCT_RESV7, //reserved
  43. DRV_HDMI_3D_STRUCT_SS_H, //side by side half
  44. DRV_HDMI_3D_STRUCT_RESV9, //reserved
  45. DRV_HDMI_3D_STRUCT_RESV10, //reserved
  46. DRV_HDMI_3D_STRUCT_RESV11, //reserved
  47. DRV_HDMI_3D_STRUCT_RESV12, //reserved
  48. DRV_HDMI_3D_STRUCT_RESV13, //reserved
  49. DRV_HDMI_3D_STRUCT_RESV14, //reserved
  50. DRV_HDMI_3D_STRUCT_NOTUSE, //not use
  51. } DRV_HDMI3DStructure_e;
  52. /*!
  53. * @brief HDMI 3D Extened Data
  54. */
  55. typedef enum
  56. {
  57. DRV_HDMI_3D_EXDATA_H_SUBSMP = 0x00, //Horizontal sub-sampling
  58. DRV_HDMI_3D_EXDATA_Q_OLOR = 0x04, //Quincunx matix - Odd/Left picture, Odd/Right picture
  59. DRV_HDMI_3D_EXDATA_Q_OLER = 0x05, //Quincunx matix - Odd/Left picture, Even/Right picture
  60. DRV_HDMI_3D_EXDATA_Q_ELOR = 0x06, //Quincunx matix - Even/Left picture, Odd/Right picture
  61. DRV_HDMI_3D_EXDATA_Q_ELER = 0x07, //Quincunx matix - Even/Left picture, Even/Right picture
  62. DRV_HDMI_3D_EXDATA_RESV, //reserved
  63. DRV_HDMI_3D_EXDATA_NOEXDATA = 0xFF, //no extended data
  64. } DRV_HDMI3DExtData_e;
  65. UINT8 HDMI_GetInputInformation(VIP_InterfaceKIC *pstKic);
  66. void HDMI_VSI_handler(void);
  67. BOOL HDMI_IsAviChanged(VIP_InterfaceKIC *pstKic);
  68. void HDMI_SetSupportMaxHz(UINT8 bSupportMaxHz);
  69. #endif /* __HDMI_VIDEO_H__ */