osd_drv.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. //define pallete format
  2. //#define OSD_PAL_16b
  3. //#define OSD_PAL_32b
  4. #define OSD_PAL_RGB_32b
  5. //use PrintOsdMsg
  6. #define BOARD_UP_LINE    (0x01<<0)
  7. #define BOARD_DOWN_LINE  (0x01<<1)
  8. #define BOARD_LEFT_LINE  (0x01<<2)
  9. #define BOARD_RIGHT_LINE (0x01<<3)
  10. #define BOARD_FULL_LINE  (BOARD_UP_LINE|BOARD_DOWN_LINE|BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
  11. #define BOARD_LR_LINE    (BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
  12. #define BOARD_UD_LINE    (BOARD_UP_LINE|BOARD_DOWN_LINE)
  13. #define OSD_OFF         0
  14. #define OSD_ON          1
  15. #define OSD_TOG         2
  16. #define HEADER_SIZE     16  //8
  17. #define MAX_REGION      8   //5
  18. #define MAX_SW_REGION   4
  19. #define MAX_SW_R_LEN    13
  20. #define OSDSTR_ID_TOTL_BIT    9//8//nono 2-7-8 17:44
  21. #define OSD_INTERLACED          0x08
  22. #define OSD_NONINTERLACED       0x00    
  23. #define OSD_FORMAT_MASK         0x07
  24. #define OSD_FORMAT_4COLOR       0x00
  25. #define OSD_FORMAT_16COLOR      0x01
  26. #define OSD_FORMAT_256COLOR     0x02
  27. //#define OSD_FORMAT_DIRECTCOLOR  0x03
  28. #define OSD_FORMAT_DIRECT16A    0x04
  29. #define OSD_FORMAT_DIRECT16B    0x05
  30. #define OSDV2_CLUT_16b 0
  31. #define OSDV2_CLUT_32b 1
  32. #define BIT_CU 7       // [7] color-table update
  33. #define BIT_FT 6       // [6] force-transparent
  34. #define BIT_PR 4       // [5:4] pixel-resolution
  35. #define BIT_MD 0       // [2:0] mode
  36. #define BIT_SHD 4       // [7:4] shade
  37. #define BIT_BLND 0       // [3:0] blend
  38. #define BIT_CLUT_TYPE 6 // [7:6] clut_type
  39. #define BIT_COLOR_RGB 5 // [5]
  40. #define BIT_SWAP_BYTE 4 // [4]
  41. #define BIT_SHADE_MODE 3 // [3]
  42. #define V2_CLUT_TYPE(n) ((n)<<BIT_CLUT_TYPE)
  43. #define V2_RGB_MODE         (1<<BIT_COLOR_RGB)
  44. #define V2_SWAP_BYTE_OFF (0<<BIT_SWAP_BYTE)
  45. #define V2_SWAP_BYTE_ON (1<<BIT_SWAP_BYTE)
  46. #define V2_SHADE_MODE_A (0<<BIT_SHADE_MODE)
  47. #define V2_SHADE_MODE_B (1<<BIT_SHADE_MODE)
  48. typedef struct 
  49. {
  50.     UINT8  config0;
  51.     UINT8  config1;
  52.     UINT8  config2;
  53.     UINT8  config3;
  54.     UINT16 v_size;
  55.     UINT16 h_size;
  56.     UINT16 y;
  57.     UINT16 x;
  58.     UINT16 link_data;
  59.     UINT16 link_next;
  60. } t_osdv2_header;
  61. typedef struct  {
  62.   UINT16        osd_header[2];  /* virtual addr of osd header           */
  63.   BYTE          osd_format;     /* pixel-per-byte                       */
  64.   UINT16        osd_w;          /* in byte                              */
  65.   UINT16        osd_h;          /* in pixel                             */
  66. } t_osd_region;
  67. //
  68. // OSD Initialization Functions
  69. //
  70. typedef struct {
  71.     UINT16  width;
  72.     UINT16  height;
  73.     UINT16  x;
  74.     UINT16  y;
  75.     UINT8   header_type;
  76.     UINT8   format;
  77.     UINT8   type;
  78. } _t_osd_hdr;
  79. /*
  80. ** OSD free buffer control.
  81. ** this is the end packed-address of OSD buffer.
  82. */
  83. EXTERN_MEM  t_osd_region    region[MAX_REGION];//kenny add it 2001/5/8
  84. EXTERN      UINT16          timeout_osd[MAX_REGION];
  85. EXTERN      UINT16          osd_free;
  86. EXTERN_MEM  UINT8           osd_buf[50];
  87. EXTERN      UINT8           osd_active_regions;
  88. EXTERN      BYTE antic_begin;
  89. EXTERN      BYTE antic_end;
  90. /************************************************************
  91. osd1.c head file
  92. ************************************************************/
  93. void  osd_create_region1(t_osd_region *, int,int,t_osd_region *,BYTE,BYTE);
  94. void    osd_create_region_setup(t_osd_region *p, int X, int Y, t_osd_region *prev,BYTE bColorMode,BYTE bScanMode);
  95. //void osd_print_regionEQ(t_osd_region *, const char *);
  96. void osd_print_region1(t_osd_region *, const char *);