PRSATION.H
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:6k
源码类别:

DVD

开发平台:

Others

  1. /****************************************************************************************
  2.  *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: $Workfile: PRSATION.H $             
  6.  *
  7.  * Description: 
  8.  * ============
  9.  * 
  10.  * 
  11.  * Log:
  12.  * ====
  13.  * $Revision: 4 $
  14.  * Last Modified by $Author: Angieh $ at $Modtime: 04-04-01 18:04 $ 
  15.  ****************************************************************************************
  16.  * Updates:
  17.  ****************************************************************************************
  18.  * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/PRSATION.H $
  19.  * 
  20.  * 4     04-04-01 18:06 Angieh
  21.  * Add a function to cancel DVD Audio next track schedule.
  22.  * 
  23.  * 3     12/30/03 11:29a Leonh
  24.  * Angieh:Change for DVD AUDIO navigator header.
  25.  * 
  26.  * 2     10/20/03 11:46a Leslie
  27.  * check the variable type and change the dvda rtpb schedule way as the
  28.  * same with DVD Video
  29.  * 
  30.  * 1     03-04-28 11:15 Fwang
  31.  * Initial for DVDA
  32.  * 
  33.  * 2     23/04/02 9:34 Nirm
  34.  * - Added dependency in "Config.h".
  35.  * 
  36.  * 1     2/17/02 12:12 Rinata
  37.  * 
  38.  * 1     2/17/02 11:38 Rinata
  39.  * 
  40.  * 3     30/01/02 20:26 Nirm
  41.  * Replaced min() with MIN().
  42.  * 
  43.  * 2     9/01/02 16:40 Nirm
  44.  * Corrected Include-Paths.
  45.  ****************************************************************************************/
  46. #include "Config.h" // Global Configuration - do not remove!
  47. #ifndef __PRSATION_H
  48. #define __PRSATION_H
  49. #include "IncludeSysDefs.h"
  50. #include "PlaycoreNav_DVDHeadernavdef.h"
  51. #include "PlaycoreNav_DVDHeaderpgc.h"
  52. #include "PlaycoreNav_DVDHeaderpkt.h"
  53. #include "PlaycoreNav_DVDHeadermapping.h"
  54. // *************************************
  55. //
  56. // Video mode values (can be ORed togethe in return codes)
  57. //
  58. // Video_SetMode syntax:     mode   details         extra     return
  59. //--------------------------------------------------------------------
  60. #define VIDEO_MODE_WIDE       0x1 /*   -              -        success */
  61. #define VIDEO_MODE_LETTER_BOX 0x2 /*   -              -        success */
  62. #define VIDEO_MODE_PAN_SCAN   0x4 /*   -              -        success */
  63. // *************************************
  64. //
  65. // Audio mode values (can be ORed togethe in return codes)
  66. //
  67. // Audio_SetMode syntax:     mode   details         extra     return
  68. //--------------------------------------------------------------------
  69. #define AUDIO_MODE_VOLUME     0x1
  70. #define                             SET_ABS 0
  71. #define                             SET_REL 1
  72. //                                                  value    new volume (0 - 1000)
  73. #define AUDIO_MODE_BALANCE    0x2
  74. //                                  SET_ABS
  75. //                                  SET_REL
  76. //                                                  value    new balance (-1000 - 1000)
  77. // NOTE: Volume and Balance units are measured in thousands.
  78. //       Relative settings are added to the current values.
  79. //       The new absolute values are returned.
  80. //       Negative balance represents right to left ratio (right lower than left)
  81. //       Positive balance represents left to right ratio (left lower than right)
  82. #define AUDIO_MODE_SURROUND   0x4 /*   TBD            TBD      success */
  83. #define AUDIO_MODE_KARAOKE    0x8 /*  SPRM(11)        -        success */
  84. // *************************************
  85. // *************************************
  86. //
  87. // Presentation events
  88. //
  89. // playback window identity change
  90. #define PRESENTATION_EVENT_WINDOW_ID   1
  91. // *************************************
  92. BOOL schop_SetOperation( S_ScheduledOp *schop, BYTE f, DWORD a, LBN v);
  93. BOOL schop_CancelScheduledOperation( S_ScheduledOp *schop);
  94. BOOL schop_WaitingForSchedule( S_ScheduledOp *schop, LBN v);
  95. void schop_Schedule( S_ScheduledOp *schop,  DWORD p );
  96. long schop_NotifyEvent( S_ScheduledOp *schop);
  97. BOOL rtpb_NextPlayStep( void );
  98. void rtpb_CRealTimePlayback( void );
  99. void rtpb_ClearPumpSoughtFlag( void );
  100. BOOL rtpb_PumpSought( void );
  101. void rtpb_ReachedEOD( void );
  102. void rtpb_Flush( void );
  103. void rtpb_Stop( int duration, int type );
  104. void rtpb_ForceStop(int StillType);
  105. BOOL rtpb_ScheduleOp( BYTE func, DWORD arg);
  106. void rtpb_Schedule( S_PCI_GI *gi );
  107. void rtpb_runSchedule( BYTE func, DWORD arg, DWORD PTM );
  108. long rtpb_NotifyEvent();
  109. BOOL rtpb_SeamlessAngle( void );
  110. void rtpb_AvailableAngles( int ava );
  111. DWORD rtpb_LastVOBU_SA( void );
  112. int rtpb_GetStopPersistence( void );
  113. void rtpb_set_audio_decoding_stream( void );
  114. void rtpb_set_subpic_decoding_stream( BOOL user_request );
  115. BOOL rtpb_PositionUpdate( void );
  116. BOOL rtpb_engine_play( void );
  117. BOOL rtpb_ValidateDVDTitle( int title );
  118. BOOL rtpb_SelectVOBU( int cellNumber, DWORD VOBUaddress );
  119. void rtpb_Pause( BOOL a ) ;
  120. BOOL rtpb_Play( int cellNumber, long VOBUaddress ) ;
  121. void pci_C_PCI( void );
  122. void pci_Disable_HLI( void );
  123. BOOL pci_GetButtonLocation( int button, BUTTON_LOC *buffer );
  124. BOOL pci_Adjacent_Button_Select( long );
  125. BOOL pci_Button_Select(int button, BOOL valid_auto_activate);
  126. BOOL pci_Button_Activate( int, PBYTE );
  127. S_DATA_CONTAINER* pci_GetEmptyContainer( void );
  128. void pci_Reset( void );
  129. DWORD pci_GetAngleDestination( void );
  130. DWORD pci_GetAngleScanVobu(DWORD dwAngle);//LX0703
  131.       // PTM related operations
  132. void pci_runSchedule( BYTE func, DWORD arg, DWORD PTM );
  133. void pci_StopNotification( void );
  134. void pci_SchedulePacket(S_DATA_CONTAINER *container ) ;
  135.       // decode HLI data
  136. long pci_Decode( long PTM, S_DATA_CONTAINER *crt_packet );
  137.       // Reference time to be set at the next PCI
  138. void pci_PlayNotification( void );
  139.       // PCI buffer management
  140.       // Reset APSTB
  141. void pci_ResetAPSTB( void );
  142. long pci_EmptyStreamPump( void );
  143. void pci_ReceiveContainer(S_DATA_CONTAINER *container); // made public now
  144. #ifdef DVD_AUDIO_SUPPORT//LeonH_1017_2003:    add the runtime schedule uop for dvd audio 
  145. void  rtpb_cancel_AsvScheduleOp(void);
  146. void rtpb_cancel_EosScheduleOp(void);
  147. BOOL  rtpb_aob_ScheduleOp( DWORD PTM,BYTE func,DWORD arg );
  148. void rtpb_aob_runSchedule( DWORD PTM,BYTE func,DWORD arg ); 
  149. #endif
  150. #endif //__PRSATION_H