⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prsation.h

📁 ZORAN 962/966 SOURCE CODE,DVD chip
💻 H
字号:

/****************************************************************************************
 *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
 *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
 *
 *  File: $Workfile: PRSATION.H $             
 *
 * Description: 
 * ============
 * 
 * 
 * Log:
 * ====
 * $Revision: 4 $
 * Last Modified by $Author: Angieh $ at $Modtime: 04-04-01 18:04 $ 
 ****************************************************************************************
 * Updates:
 ****************************************************************************************
 * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/PRSATION.H $
 * 
 * 4     04-04-01 18:06 Angieh
 * Add a function to cancel DVD Audio next track schedule.
 * 
 * 3     12/30/03 11:29a Leonh
 * Angieh:Change for DVD AUDIO navigator header.
 * 
 * 2     10/20/03 11:46a Leslie
 * check the variable type and change the dvda rtpb schedule way as the
 * same with DVD Video
 * 
 * 1     03-04-28 11:15 Fwang
 * Initial for DVDA
 * 
 * 2     23/04/02 9:34 Nirm
 * - Added dependency in "Config.h".
 * 
 * 1     2/17/02 12:12 Rinata
 * 
 * 1     2/17/02 11:38 Rinata
 * 
 * 3     30/01/02 20:26 Nirm
 * Replaced min() with MIN().
 * 
 * 2     9/01/02 16:40 Nirm
 * Corrected Include-Paths.
 ****************************************************************************************/

#include "Config.h"		// Global Configuration - do not remove!

#ifndef __PRSATION_H
#define __PRSATION_H

#include "Include\SysDefs.h"
#include "Playcore\Nav_DVD\Header\navdef.h"
#include "Playcore\Nav_DVD\Header\pgc.h"
#include "Playcore\Nav_DVD\Header\pkt.h"
#include "Playcore\Nav_DVD\Header\mapping.h"

// *************************************
//
// Video mode values (can be ORed togethe in return codes)
//

// Video_SetMode syntax:     mode   details         extra     return
//--------------------------------------------------------------------

#define VIDEO_MODE_WIDE       0x1 /*   -              -        success */
#define VIDEO_MODE_LETTER_BOX 0x2 /*   -              -        success */
#define VIDEO_MODE_PAN_SCAN   0x4 /*   -              -        success */

// *************************************
//
// Audio mode values (can be ORed togethe in return codes)
//

// Audio_SetMode syntax:     mode   details         extra     return
//--------------------------------------------------------------------
#define AUDIO_MODE_VOLUME     0x1
#define                             SET_ABS 0
#define                             SET_REL 1
//                                                  value    new volume (0 - 1000)

#define AUDIO_MODE_BALANCE    0x2
//                                  SET_ABS
//                                  SET_REL
//                                                  value    new balance (-1000 - 1000)

// NOTE: Volume and Balance units are measured in thousands.
//       Relative settings are added to the current values.
//       The new absolute values are returned.
//       Negative balance represents right to left ratio (right lower than left)
//       Positive balance represents left to right ratio (left lower than right)


#define AUDIO_MODE_SURROUND   0x4 /*   TBD            TBD      success */

#define AUDIO_MODE_KARAOKE    0x8 /*  SPRM(11)        -        success */

// *************************************

// *************************************
//
// Presentation events
//

// playback window identity change
#define PRESENTATION_EVENT_WINDOW_ID   1
// *************************************



BOOL schop_SetOperation( S_ScheduledOp *schop, BYTE f, DWORD a, LBN v);
BOOL schop_CancelScheduledOperation( S_ScheduledOp *schop);
BOOL schop_WaitingForSchedule( S_ScheduledOp *schop, LBN v);
void schop_Schedule( S_ScheduledOp *schop,  DWORD p );
long schop_NotifyEvent( S_ScheduledOp *schop);

BOOL rtpb_NextPlayStep( void );
void rtpb_CRealTimePlayback( void );
void rtpb_ClearPumpSoughtFlag( void );
BOOL rtpb_PumpSought( void );
void rtpb_ReachedEOD( void );
void rtpb_Flush( void );
void rtpb_Stop( int duration, int type );
void rtpb_ForceStop(int StillType);
BOOL rtpb_ScheduleOp( BYTE func, DWORD arg);
void rtpb_Schedule( S_PCI_GI *gi );
void rtpb_runSchedule( BYTE func, DWORD arg, DWORD PTM );
long rtpb_NotifyEvent();
BOOL rtpb_SeamlessAngle( void );
void rtpb_AvailableAngles( int ava );
DWORD rtpb_LastVOBU_SA( void );
int rtpb_GetStopPersistence( void );
void rtpb_set_audio_decoding_stream( void );
void rtpb_set_subpic_decoding_stream(void);
BOOL rtpb_PositionUpdate( void );
BOOL rtpb_engine_play( void );
BOOL rtpb_ValidateDVDTitle( int title );
BOOL rtpb_SelectVOBU( int cellNumber, DWORD VOBUaddress );
void rtpb_Pause( BOOL a ) ;
BOOL rtpb_Play( int cellNumber, long VOBUaddress ) ;


void pci_C_PCI( void );
void pci_Disable_HLI( void );
BOOL pci_GetButtonLocation( int button, BUTTON_LOC *buffer );
BOOL pci_Adjacent_Button_Select( long );
BOOL pci_Button_Select(int button, BOOL valid_auto_activate);
BOOL pci_Button_Activate( int, PBYTE );
S_DATA_CONTAINER* pci_GetEmptyContainer( void );
void pci_Reset( void );
DWORD pci_GetAngleDestination( void );
DWORD pci_GetAngleScanVobu(DWORD dwAngle);//LX0703

      // PTM related operations
void pci_runSchedule( BYTE func, DWORD arg, DWORD PTM );
void pci_StopNotification( void );
void pci_SchedulePacket(S_DATA_CONTAINER *container ) ;
      // decode HLI data
long pci_Decode( long PTM, S_DATA_CONTAINER *crt_packet );
      // Reference time to be set at the next PCI
void pci_PlayNotification( void );
      // PCI buffer management
      // Reset APSTB
void pci_ResetAPSTB( void );
long pci_EmptyStreamPump( void );
void pci_ReceiveContainer(S_DATA_CONTAINER *container); // made public now

#endif //__PRSATION_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -