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

DVD

开发平台:

C/C++

  1. #ifndef __DVDPE_H
  2. #define __DVDPE_H
  3. #include "types.h"
  4. #ifndef EXTERN
  5. #define EXTERN extern
  6. #endif
  7. #include "dvdpe_d.h"
  8. #include "dvdpe_c.h"
  9. #include "endian.h"
  10. int pe_button_op(int btn_op, int btn_num);
  11. BYTE *pe_button_cmd(int n);
  12. //
  13. // BUTTON CONTROL
  14. //
  15. #define BTN_OP_OFF 0 // delete all button (reset)
  16. #define BTN_OP_SEL 1 // set #btn_num to selected
  17. #define BTN_OP_ACT 2 // set #btn_num to activated (only 1 can be activated)
  18. #define BTN_OP_UP 0x10 // 
  19. #define BTN_OP_DOWN 0x11 // ...
  20. #define BTN_OP_LEFT 0x12 // ...
  21. #define BTN_OP_RIGHT 0x13 // ...
  22. #define PE_BUTTON_OP(OP,N) pe_button_op(OP,N)
  23. #define PE_BUTTON_CMD(N) pe_button_cmd(N)
  24. //
  25. // dvdpe data
  26. //
  27. // PCI
  28. #ifdef YADAI_DVD //axel for TCL #17 tmp solution 2004/5/14 03:07
  29. #define PCI_CNT 5
  30. #else
  31. #define PCI_CNT 3
  32. #endif
  33. #define PCI_FLG_FAST (1<<3)
  34. #define PCI_FLG_NEWCELL (1<<2)
  35. #define PCI_FLG_NEW (1<<1)
  36. #define PCI_FLG_VALID (1<<0)
  37. EXTERN t_pci PCI_buf[PCI_CNT];
  38. EXTERN  t_pci           *PCI_buf_parsed;
  39. EXTERN UINT8 PCI_mark[PCI_CNT];
  40. // DSI
  41. EXTERN t_dsi DSI;
  42. // ...
  43. EXTERN INT8 pci_parse_now;
  44. EXTERN INT8 pci_use_now;
  45. EXTERN  BYTE pci_hl_enable;
  46. #define PCI_use (PCI_buf[pci_use_now])
  47. #define PCI_parse (PCI_buf[pci_parse_now])
  48. #define PCI PCI_use
  49. EXTERN BYTE dsi_guide;
  50. EXTERN BYTE dsi_no_video;
  51. EXTERN UINT32 TS_C_ELTM;
  52. EXTERN BYTE dsi_state;
  53. #define DSI_VIDEO_SEARCH 0
  54. #define DSI_SP_SEARCH    5
  55. #define DSI_SP_FOUND        6
  56. #define DSI_SP_JUMP 7
  57. #define DSI_SP_REWIND        8
  58. #define DSI_VIDEO_FOUND 1
  59. #define DSI_VIDEO_NONE 2
  60. #define DSI_VIDEO_JUMP 3
  61. #define DSI_VIDEO_REWIND 4
  62. #define DSI_SP_ABORT        9
  63. //
  64. //
  65. //
  66. #define PE_PCI_LBA PCI.PCI_GI.NV_PCK_LBN
  67. #define PE_DSI_LBA DSI.DSI_GI.NV_PCK_LBN
  68. #define LBA_NULL (0xffffffff)
  69. void pe_init(void);
  70. void pe_clr_pci(void);
  71. void pe_clr_dsi(void);
  72. void pe_clr_nav(void);
  73. void pe_flush_pci(int until_newcell);
  74. void set_timesearch_C_ELTM(UINT32);
  75. void pe_timesearch_clear(void);
  76. #define pe_timesearch_now() (TS_C_ELTM)
  77. #define pe_timesearch_C_ELTM() (TS_C_ELTM)
  78. #define PE_ClearPCI() pe_clr_pci()
  79. #define PE_ClearDSI() (PE_DSI_LBA = LBA_NULL)
  80. #define PE_ClearNav() pe_clr_nav()
  81. #define PCI_buf_valid(n) (((n)>=0) && (PCI_mark[n]&PCI_FLG_VALID))
  82. #define PE_PCI_valid() (PCI_buf_valid(pci_use_now))
  83. #define PE_DSI_valid() (PE_DSI_LBA!=LBA_NULL)
  84. #define PE_DSI_novideo() (dsi_no_video)
  85. #endif/*__DVDPE_H*/