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

DVD

开发平台:

Others

  1. /***********************************************************************/
  2. /* File:                                                               */
  3. /* =====                                                               */
  4. /* Descripton:                                                         */
  5. /* ===========                                                         */
  6. /*                                                                     */
  7. /* Log:                                                                */
  8. /* =====                                                                 */
  9. /*
  10.  $Name: V_1_11 V_1_10 V_1_08 V_1_06 V_1_05 V_1_04 V_1_03 V_1_02 V_1_01 V_1_00 B_0_90.1 B_0_90 B_0_87 B_0_86 B_0_84 B_0_82 B_0_81 B_0_8 $                                                             
  11.  $Header: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NAV_PE.H 5     04-03-04 19:48 Angieh $                                                           
  12.  $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NAV_PE.H $                                                              
  13.  * 
  14.  * 5     04-03-04 19:48 Angieh
  15.  * Add PE_GetCurrentStartEndSector() prototype.
  16.  * 
  17.  * 4     2/20/04 6:16p Glenl
  18.  * Merged S1 code
  19.  * 
  20.  * 3     12/30/03 11:28a Leonh
  21.  * Angieh:Change for DVD AUDIO navigator header.
  22.  * 
  23.  * 14    11/27/03 5:29a Leonh
  24.  * Angieh:Add the function calculate Bit-Rate. 
  25.  * 
  26.  * 13    11/20/03 1:21p Leonh
  27.  * Angieh:New API for setting DVP Playback Range
  28.  * 
  29.  * 12    11/20/03 1:08p Leonh
  30.  * Angieh:New API for setting DVP Playback Range, instead of calling the
  31.  * low level directrly from Navigator
  32.  * 
  33.  * 11    11/12/03 12:46p Leonh
  34.  * support two way for current secotr
  35.  * 
  36.  * 10    11/06/03 8:34a Leslie
  37.  * clean up the code
  38.  * 
  39.  * 9     10/28/03 9:21a Leslie
  40.  * adjust dvda search mode
  41.  * 
  42.  * 8     10/28/03 8:55a Leslie
  43.  * add the prototype of PE_GetDvdaBitrate
  44.  * 
  45.  * 7     10/16/03 10:51a Leslie
  46.  * change the way to get the nav pointer after cache
  47.  * 
  48.  * 6     10/14/03 11:20a Leslie
  49.  * add dvd audio support
  50.  * 
  51.  * 5     10/09/03 9:02a Leslie
  52.  * LeonH: make I76 DVDA project compile through 
  53.  * 
  54.  * 4     8/20/03 2:56p Leonh
  55.  * Merge dvd audio code with the latest nav_dvd code with reference
  56.  * 
  57.  * 1     03-04-28 11:15 Fwang
  58.  * Initial for DVDA
  59.  * 
  60.  * 5     9/05/02 15:01 Nirm
  61.  * - Added definition of CGMS_FILE_ENTRY.
  62.  * 
  63.  * 4     5/01/02 14:35 Rinata
  64.  * get category code and copy bit
  65.  * 
  66.  * 3     4/30/02 17:11 Rinata
  67.  * CGMS/WSS support
  68.  * 
  69.  * 2     23/04/02 9:34 Nirm
  70.  * - Added dependency in "Config.h".
  71.  * 
  72.  * 1     2/17/02 12:12 Rinata
  73.  * 
  74.  * 1     2/17/02 11:38 Rinata
  75.  * 
  76.  * 2     8/01/02 16:25 Nirm
  77.  * Corrected Include-Paths.
  78.  Revision 1.14  2000/11/09 06:27:11Z  tia                                                              
  79.  Fixe HLI and Parental problem.                                                              
  80.  Revision 1.13  2000/06/14 02:46:20  tia                                                              
  81.  Revision 1.12  2000/06/06 20:59:43  tia                                                              
  82.  Revision 1.11  2000/06/02 02:45:30  tia                                                              
  83.  Revision 1.10  2000/05/22 23:31:24  tia                                                              
  84.  Revision 1.9  2000/05/17 02:41:34  tia                                                              
  85.  Revision 1.8  2000/05/13 02:20:59  tia                                                              
  86.  Revision 1.7  2000/05/05 02:36:14  tia                                                              
  87.  Revision 1.6  2000/05/03 21:58:15  tia                                                              
  88.  Revision 1.5  2000/05/02 23:31:27  tia                                                              
  89.  Revision 1.4  2000/04/29 02:35:58  tia                                                              
  90.  Revision 1.3  2000/04/27 02:47:14  tia                                                              
  91.  Revision 1.2  2000/04/18 18:54:41  tia                                                              
  92.  Revision 1.1  2000/04/14 02:02:08  tia                                                              
  93.  Initial revision                                                              
  94.  */
  95. /***********************************************************************/
  96. #include "Config.h" // Global Configuration - do not remove!
  97. #ifndef __PE_H
  98. #define __PE_H
  99. #include "Includesysdefs.h"
  100. #include "PlaycoreNav_DVDHeaderhli_defs.h"
  101. #include "PlaycoreNav_DVDHeadernvgadefs.h"
  102. #define MAX_PTM_EVENT 5
  103. #define PTM_FIFO_SIZE 3
  104. typedef struct {
  105. void *client;
  106. }PTM_EVENT_RECORD;
  107. /****************************************/
  108. /* Interface for DVD Navigator use only */
  109. /****************************************/
  110. BOOL PE_GetData( DWORD dw_lbn, DWORD dw_offset, WORD count, BYTE *buffer );
  111. BOOL PE_CacheData( DWORD lbn, DWORD offset, WORD  bytes , WORD sc_handle );
  112. void PE_Step( void );
  113. void  PE_Play( int nMode );
  114. void   PE_Pause( void );
  115. void   PE_Stop( int stop_mode );
  116. void   PE_Resume( void );
  117. BOOL PE_IsPlaybackFinished(void);
  118. BOOL   PE_Video_SetMode( int mode, DWORD VideoAttributes );
  119. void  PE_SetAudioStream( unsigned char stream_id );
  120. void  PE_SetSPStream( unsigned char stream_id );
  121. int   PE_Audio_SetMode( int mode );
  122. int   PE_SP_SetPalette( S_PAL_ENTRY *palette );
  123. int   PE_HLI_Set( S_POSI *area, S_COLI *colors, int mode );
  124. BOOL  PE_ValidateDVDDisk( void );
  125. int  PE_ValidateDVDTitle( int TitleNumber );
  126. int PE_ValidateDVDAnalogOutput(int i_APSTB, BYTE CGMSmode, int displayMode, int V_ATR);
  127. long PE_NotificationRequest( int event, void *client );
  128. #ifdef NO_SCPAD
  129. void PE_ReadPCIpack( int buffer_num, int read_count, void *dest_address );
  130. void PE_ReadDSIpack( int buffer_num, int read_count, void *dest_address );
  131. #else
  132. void PE_ReadPCIpack( BYTE buffer_num, int read_count, WORD sc_handle );
  133. void PE_ReadDSIpack( BYTE buffer_num, int read_count, WORD sc_handle);
  134. #endif
  135. int PE_Seek( unsigned long address, unsigned long blocks, int mode );
  136. void PE_SP_Enable( BOOL enable );
  137. void PE_ValidateDVDDigitalOutput(BYTE CGMSmode);
  138. BYTE PE_GetCopyBit(void);
  139. BYTE PE_GetCategoryCode(void);
  140. #ifdef EXINO2
  141. BYTE PE_GetGenerationBit(void);
  142. #endif // EXINO2
  143. void PE_SetAudioStreamWOUcodeDownload(unsigned char stream_id);
  144. void PE_SetDVDStartEndSector(UINT32 start, UINT32 numBlocks, UINT16 mode);
  145. void PE_GetCurrentStartEndSector(UINT32* startpsn,UINT32* endpsn);
  146. #ifdef DVD_AUDIO_SUPPORT     //Remove until finished
  147. void PE_CacheASVU(DWORD address, WORD blocks);
  148. void PE_UNCacheASVU();
  149. BOOL PE_DisplayASV( BYTE asvn );
  150. void PE_ASV2AudioPlay(void);
  151. UINT32 PE_GetDvdaBitrate( void );
  152. #ifdef GET_CURRENT_SECTOR_FROM_REGISTER
  153. DWORD PE_GetCurrentSectorID(void);
  154. #endif
  155. void PE_SetDVDAudioSearchMode(int iSearchSpeed);
  156. void PE_DVDA_SetScan(int iAction, int iScanSpeed);
  157. #ifdef DVD_AUDIO_SIMILATE_TEST
  158. void PE_ComCosumeRate(void);
  159. #endif
  160. #endif
  161. //Leslie_0521_2004_A
  162. void PE_Set_Audio_Buffer_Level(DVD_AUDIO_STREAM_TYPE enAudioType);
  163. //Angiehe_0701_2004_A:
  164. void PE_Get_Disc_Data_Zone(DWORD * startDataArea, DWORD * endDataArea, DWORD * endLayer0);
  165. /****************************************/
  166. /* END of Interface for DVD Navigator use only */
  167. /****************************************/
  168. /* additionnal callbacks that needs to be implemented */
  169. void ptm_event_check_from_isr( unsigned long scr ); /* callback for PTM event housekeeping, could be called from decoder VSYNC interrupt */
  170. #endif