ddp_ovl.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef _DDP_OVL_H_
  2. #define _DDP_OVL_H_
  3. #include "ddp_hal.h"
  4. #include "DpDataType.h"
  5. #include "ddp_info.h"
  6. #define OVL_MAX_WIDTH (4095)
  7. #define OVL_MAX_HEIGHT (4095)
  8. #ifdef OVL_CASCADE_SUPPORT
  9. #define OVL_LAYER_NUM (6)
  10. #else
  11. #define OVL_LAYER_NUM (4)
  12. #endif
  13. #define OVL_LAYER_NUM_PER_OVL 4
  14. typedef enum {
  15. DDP_OVL1_STATUS_IDLE = 0,
  16. DDP_OVL1_STATUS_PRIMARY = 1, /* used for primary 8 layer blending */
  17. DDP_OVL1_STATUS_SUB = 2, /* used for sub 4 layer bleding */
  18. DDP_OVL1_STATUS_SUB_REQUESTING = 3, /* sub request to use OVL1 */
  19. DDP_OVL1_STATUS_PRIMARY_RELEASED = 4,
  20. DDP_OVL1_STATUS_PRIMARY_RELEASING = 5,
  21. DDP_OVL1_STATUS_PRIMARY_DISABLE = 6
  22. } DISP_OVL1_STATUS;
  23. /* start overlay module */
  24. int ovl_start(DISP_MODULE_ENUM module, void *handle);
  25. /* stop overlay module */
  26. int ovl_stop(DISP_MODULE_ENUM module, void *handle);
  27. /* reset overlay module */
  28. int ovl_reset(DISP_MODULE_ENUM module, void *handle);
  29. /* set region of interest */
  30. int ovl_roi(DISP_MODULE_ENUM module, unsigned int bgW, unsigned int bgH, /* region size */
  31. unsigned int bgColor, /* border color */
  32. void *handle);
  33. /* switch layer on/off */
  34. int ovl_layer_switch(DISP_MODULE_ENUM module, unsigned layer, unsigned int en, void *handle);
  35. /* get ovl input address */
  36. void ovl_get_address(DISP_MODULE_ENUM module, unsigned long *add);
  37. int ovl_3d_config(DISP_MODULE_ENUM module,
  38. unsigned int layer_id,
  39. unsigned int en_3d, unsigned int landscape, unsigned int r_first, void *handle);
  40. void ovl_dump_analysis(DISP_MODULE_ENUM module);
  41. void ovl_dump_reg(DISP_MODULE_ENUM module);
  42. void ovl_get_info(int idx, void *data);
  43. void ovl_reset_by_cmdq(void *handle, DISP_MODULE_ENUM module);
  44. DISP_OVL1_STATUS ovl_get_status(void);
  45. void ovl_set_status(DISP_OVL1_STATUS status);
  46. unsigned int ddp_ovl_get_cur_addr(bool rdma_mode, int layerid);
  47. struct DDP_MODULE_DRIVER;
  48. #endif