Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
6.0 KiB

  1. //**************************************************************************
  2. //
  3. // Title : HwDevEx.h
  4. //
  5. // Date : 1997.12.25 1st making
  6. //
  7. // Author : Toshiba [PCS](PSY) Hideki Yagi
  8. //
  9. // Copyright 1997 Toshiba Corporation. All Rights Reserved.
  10. //
  11. // -------------------------------------------------------------------------
  12. //
  13. // Change log :
  14. //
  15. // Date Revision Description
  16. // ------------ ---------- -----------------------------------------------
  17. // 1997.12.25 000.0000 1st making.
  18. //
  19. //**************************************************************************
  20. //***************** HW_DEVICE_EXTENSION **********************
  21. //typedef struct _HW_DEVICE_EXTENSION
  22. //{
  23. //
  24. //} HW_DEVICE_EXTENSION, *PHW_DEVICE_EXTENSION;
  25. class HW_DEVICE_EXTENSION
  26. {
  27. public:
  28. PCI_COMMON_CONFIG PciConfigSpace;
  29. // System dependent information
  30. PUCHAR ioBaseLocal; // board base address
  31. ULONG Irq; // Irq level
  32. // Decoder H/W dependent information
  33. WORD VenderID; // Vender ID
  34. WORD DeviceID; // Device ID
  35. WORD SubVenderID; // Sub Vender ID
  36. WORD SubDeviceID; // Sub Device ID
  37. // Object dpended on the decoder H/W.
  38. CWDMKernelService kserv;
  39. CMPEGBoardHAL mphal;
  40. CMPEGBoard mpboard;
  41. CMPEGBoardState mpbstate;
  42. CDVDStream dvdstrm;
  43. CTransfer transfer;
  44. CDataXferEvent senddata;
  45. CTickTime ticktime;
  46. CScheduleData scheduler;
  47. CCQueue ccque;
  48. CUserDataEvent userdata;
  49. CVSyncEvent vsync;
  50. CTVControl tvctrl;
  51. // STREAM_OBJECTs
  52. PHW_STREAM_OBJECT pstroVid; // Video
  53. PHW_STREAM_OBJECT pstroAud; // Audio
  54. PHW_STREAM_OBJECT pstroSP; // Sub-picture
  55. PHW_STREAM_OBJECT pstroYUV; // Digital video
  56. PHW_STREAM_OBJECT pstroCC; // Closed caption
  57. //--- 98.05.21 S.Watanabe
  58. PHW_STREAM_OBJECT pstroSS; // Special Stream
  59. //--- End.
  60. LONG lCPPStrm; // Authentication procceed to 1 stream
  61. ULONG ddrawHandle;
  62. ULONG VidPortID;
  63. ULONG SurfaceHandle;
  64. // handles for clock
  65. HANDLE hClk;
  66. HANDLE hMaster;
  67. // Informations
  68. DWORD StreamState; // Stream State
  69. LONG Rate; // Play rate
  70. LONG NewCompleteRate; // Play rate(include +/-)
  71. LONG OldCompleteRate; // Prev rate(include +/-)
  72. REFERENCE_TIME StartTime;
  73. REFERENCE_TIME InterceptTime;
  74. REFERENCE_TIME VideoStartTime;
  75. REFERENCE_TIME VideoInterceptTime;
  76. REFERENCE_TIME AudioStartTime;
  77. REFERENCE_TIME AudioInterceptTime;
  78. REFERENCE_TIME SubpicStartTime;
  79. REFERENCE_TIME SubpicInterceptTime;
  80. BOOL m_InitComplete; // Initialaize complete or not
  81. BOOL m_bTVct; // TVCtrl Available or not
  82. DWORD m_PlayMode; // Normal/Slow/Fast/Pause/
  83. DWORD m_DigitalOut; // Digital output mode
  84. DWORD m_OutputSource; // DVD/VGA
  85. DWORD m_CompositeOut; // Composite out on/off
  86. DWORD m_SVideoOut; // S-Video out on/off
  87. DWORD m_DisplayMode; // Original/LetterBox/PanScan
  88. DWORD m_TVSystem; // NTSC/PAL
  89. DWORD m_AspectRatio; // 16:9/4:3
  90. DWORD m_ResHorizontal; //
  91. DWORD m_ResVertical; //
  92. DWORD m_SourceFilmCamera; // Film/Camera
  93. DWORD m_APSType; // MacroVision
  94. BOOL m_APSChange; // Macrovision change flag, 99.02.02 H.Yagi
  95. DWORD m_ClosedCaption; // ClosedCaption(On/Off)
  96. DWORD m_CgmsType; // cgms
  97. DWORD m_AudioType; // AC-3/MPEG/PCM
  98. DWORD m_AudioFS; // Freaquency
  99. DWORD m_AudioCgms; // no need?
  100. DWORD m_AudioChannel; // 0--7
  101. DWORD m_AudioQuant; // only when PCM
  102. DWORD m_AudioVolume;
  103. DWORD m_AudioDigitalOut; // on/off
  104. DWORD m_AudioEncode; // Encode/Decode on digital out
  105. DWORD m_AudioAppMode; // Karaoke/Surround
  106. DWORD m_SubpicChannel; // 0--31
  107. DWORD m_SubpicMute; // on/off
  108. DWORD m_DVideoOut; // support Digital Video type
  109. DWORD m_DVideoNum;
  110. // SubpHlightStruc m_spHlight; // High-light inf structure
  111. // DWORD m_spStartPTM;
  112. // DWORD m_spEndPTM;
  113. BYTE m_paldata[48]; // palette data
  114. DWORD m_PCID; // ID for PC name
  115. DWORD m_CurrentDisplay; // current display mode
  116. // Unvisible property
  117. DWORD m_AC3LowBoost; // Dynamic Range Control
  118. DWORD m_AC3HighCut;
  119. DWORD m_AC3OperateMode; // Operation Mode
  120. KS_AMVPDATAINFO VPFmt;
  121. DWORD m_PTS; // for debug
  122. //--- 98.06.02 S.Watanabe
  123. DWORD CppFlagCount;
  124. PHW_STREAM_REQUEST_BLOCK pSrbCpp;
  125. BOOL bCppReset;
  126. DWORD cOpenInputStream; // count opened input stream
  127. //--- End.
  128. //--- 98.06.16 S.Watanabe
  129. BOOL bToshibaNotePC;
  130. //--- End.
  131. HlightControl m_HlightControl;
  132. //--- 98.12.23 H.Yagi
  133. DWORD m_DisplayDevice; // display device(TV) type(wide/normal)
  134. //--- 99.01.14 S.Watanabe
  135. DWORD m_VideoFormatFlags;
  136. //--- End.
  137. };
  138. typedef HW_DEVICE_EXTENSION* PHW_DEVICE_EXTENSION;