PE_CD.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:7k
- /****************************************************************************************
- * Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
- * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
- *
- * File: $Workfile: PE_CD.h $
- *
- * Description:
- * ============
- *
- *
- * Log:
- * ====
- * $Revision: 22 $
- * Last Modified by $Author: Leslie $ at $Modtime: 04-04-02 21:57 $
- ****************************************************************************************
- * Updates:
- ****************************************************************************************
- * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_CDDA/PE_CD.h $
- *
- * 22 04-04-03 14:05 Leslie
- * Add PE_CD_SetCurrentLocationLBN_Bakcup
- *
- * 21 04-04-01 23:42 Leslie
- *
- * 20 04-04-01 23:37 Leslie
- * Correct type mismatch
- *
- * 19 04-04-01 9:44 Hansenw
- * fix type mis-match
- *
- * 18 04-03-17 11:41 Chaol
- * change PE_CD_GetCdDetectType, we always need to detect CDTS bitstream
- * in a CDDS disc
- *
- * 17 04-02-19 17:58 Jerryc
- * add sacd code
- *
- * 16 1/08/04 5:05p Einavz
- * add sacd support
- *
- * 15 12/30/03 10:25a Chaol
- * add CDDETECT_SID define
- *
- * 14 12/22/03 4:29p Chaol
- * add function PE_CD_GetCdDetectType to support CDDTS
- *
- * 11 03-08-29 0:00 Leslie
- * Code cleanup
- *
- * 10 03-07-22 17:09 Mikelv
- * support cdda de_emphasis
- *
- * 9 03-05-19 13:42 Leslie
- * Code cleanup
- *
- * 8 2/21/03 7:18a Stephaneh
- * Added PE_CD_ResetDecoderCurrentLocationMSF( )
- *
- * 7 03-01-15 18:49 Dingming
- * code clean up
- *
- * 6 11/06/02 11:22p Leslie
- * Chnage MP3/CDDTS Audio ID, according to the definition in the Decoder
- * API side
- *
- * 5 10/30/02 18:09 Rond
- *
- * 18 3/06/02 11:14 Nirm
- * - Code cleanup.
- *
- * 17 9/05/02 15:52 Ettim
- * Enabling the function PE_CD_MediaIdentification() although it is still
- * not being used by the media detection sequence.
- *
- * 16 23/04/02 9:31 Nirm
- * - Added dependency in "Config.h".
- *
- * 15 21/04/02 10:48 Ettim
- * Disabling the function PE_CD_MediaIdentification()
- *
- * 14 16/04/02 15:23 Ettim
- * Integration with CDDTS. Work is still im progress.
- *
- * 13 3/10/02 17:30 Ettim
- * Added Motion Digest support.
- *
- * 12 2/28/02 2:49a Dingming
- * code porting for picture cd
- *
- * 11 2/18/02 11:01 Ettim
- * Updated Audio SID setting for the channels C0 & C1
- *
- * 10 31/01/02 13:49 Nirm
- * Changed CVD support implementation.
- *
- * 8 1/21/02 17:46 Ettim
- * Adding the function PE_CD_VideoIsActive().
- *
- * 7 1/17/02 19:14 Ettim
- * Handling the CVD encryption
- *
- * 6 1/16/02 16:16 Ettim
- * Updating the macro PE_CD_SetDiscType to get only 1 argument.
- *
- * 5 9/01/02 15:43 Nirm
- * Corrected Include-Paths.
- *
- * 4 1/09/02 10:06 Ettim
- *
- * 3 9/01/02 9:11 Nirm
- * Corrected Include-Paths.
- *
- * 2 1/08/02 17:54 Ettim
- * updating the function PE_CD_GetDecoderCurrentLocationPTS, nad renaming
- * it to PE_CD_GetDecoderCurrentLocationSCR
- *
- * 1 12/26/01 19:06 Ettim
- ****************************************************************************************/
- #include "Config.h" // Global Configuration - do not remove!
- #ifndef PE_CD_H_
- #define PE_CD_H_
- #include "IncludeSysDefs.h"
- #include "DecoderDecoder.h"
- typedef enum { NoVideo = 0xFF, MPEG_2 = 0xE0, STILL_LOWRES = 0xE1, STILL_HIRES = 0xE2 } VideoSID;
- #if D_SUPPORT_SACD //add SACD_SID
- typedef enum { NoAudio = 0xFF, CDDA_SID = 0xFE, CDDTS_SID = 0xFD, MP3_SID = 0xFC, WMA_SID = 0xFB, CDDETECT_SID = 0xF9, SACD_SID = 0xF8, ADPCM_SID = 0xF7, ANALOG_IN_SID = 0xF6, DIGITAL_IN_SID = 0xF5, OGG_SID = 0xF4, AAC_SID = 0xF3, MPEG_SID0 = 0xC0, MPEG_SID1 = 0xC1} AudioSID;
- #else
- typedef enum { NoAudio = 0xFF, CDDA_SID = 0xFE, CDDTS_SID = 0xFD, MP3_SID = 0xFC, WMA_SID = 0xFB, CDDETECT_SID = 0xF9, ADPCM_SID = 0xF7, ANALOG_IN_SID = 0xF6, DIGITAL_IN_SID = 0xF5, OGG_SID = 0xF4, AAC_SID = 0xF3, MPEG_SID0 = 0xC0, MPEG_SID1 = 0xC1} AudioSID;
- #endif
- typedef enum { TriggerBit = 0, IFrame, StuckTrigger } NotificationType;
- typedef enum { eAbsoluteLocation, eRelativeLocation } enLocationType;
- typedef enum { eNormalSpeed , eScan , eSearch , eSlowMotion , eDecoderNotStart} enPlaybackType;
- typedef struct TrackInfo_TAG {
- DWORD dwStartAddress;
- ULONG ulBlocksCnt;
- } TrackInfo;
- //A macro for setting the disc type - Used when reading the PSD into the SDRAM
- #define PE_CD_SetDiscType(NewType) (DEC_Stop_DVP_cmd((UINT8)0), DEC_SetDiskType(NewType))
- int PE_CD_GetTracksCnt(void);
- BOOL PE_CD_GetTrackInfo(int iTrackNumber, TrackInfo *o_pInfo);
- BOOL PE_CD_GetTrackInfoEx(int iTrackNumber, WORD *o_pMin, WORD *o_pSec, WORD *o_pFrm);
- BOOL PE_CD_GetTrackTOC(int iTrackNumber, BYTE *o_pCtrlField, DWORD *o_pStartAddr, ULONG *o_pSize);
- void* PE_CD_GetCDTEXTInfo(BYTE TrackNum);
- DWORD PE_CD_GetCurrentLocation(void);
- BOOL PE_CD_GetDecoderCurrentLocationMSF(enLocationType eType,
- UINT8 *o_pMinute, UINT8 *o_pSecond, UINT8 *o_pFrame,
- int *o_pRelativeSign);
- BOOL PE_CD_ResetDecoderCurrentLocationMSF(void); // ZCO SH021903:Added to reset subcode when full stop
- DWORD PE_CD_GetDecoderCurrentLocationLBN(void);
- BOOL PE_CD_GetDecoderCurrentLocationSCR(ULONG *o_pSCR);
- BOOL PE_CD_GetDecoderCurrentTrackInfo(BYTE *o_pCtrl, BYTE *o_pTrackNumber);
- void PE_CD_SelectAudioStream(AudioSID iAudioSID);
- void PE_CD_UpdateAudioSPDIF(void);
- //void PE_CD_ConfigureTVSystem(void);//Leslie_0828_2003_B:Code cleanup
- BOOL PE_CD_AutoDetectVideoSetting(VideoSID cVideoSID, DWORD dwStartAddress, ULONG ulMaxBlocksCnt);
- void PE_CD_DisableCGMSData(void);
- BOOL PE_CD_PlaySegment(VideoSID eVideoSID, AudioSID eAudioSID, DWORD dwStartAddress,
- ULONG ulBlocksCnt, enPlaybackType eType, ULONG ulParam);
- void PE_CD_StreamPortion(DWORD dwAddress, ULONG uSize);
- void PE_CD_PausePlayback(BOOL bEnable, AudioSID eAudioSID);
- void PE_CD_Step(void);
- void PE_CD_AbortPlayback(BOOL bRemainInStandby);
- void PE_CD_AbortPlaybackEx(void);
- BOOL PE_CD_IsPlaybackFinished(void);
- void PE_CD_RequestNotification(NotificationType iType);
- void PE_CD_CancelNotification(NotificationType iType);
- void PE_CD_DisplayLogo(void);
- void PE_CD_DisplayBackground(BOOL bEnable);
- void PE_CD_SetScan(BOOL bEnable, AudioSID eAudioType, int iScanSpeed);
- void PE_CD_SetSlowMotion(BOOL bEnable, UINT8 uSlowSpeed);
- #ifdef CVD_ENABLED
- BOOL PE_CD_EnableCVDDecryption(BOOL bEnable, DWORD i_dwEncryptionInfoAddr,
- DWORD i_dwEncryptionInfoSize);
- #endif // CVD_ENABLED
- void PE_CD_SetMute(BOOL bEnable);
- BOOL PE_CD_VideoIsActive(void);
- BOOL PE_CD_ADP_isSyncPointEstablished(void);
- BOOL PE_CD_isAudioStreamValid(void);
- void PE_CD_SetCurrentLocationLBN_Bakcup(DWORD dwCurrentLocation);
- #ifdef CDDA_DEEMPHASIS_ENABLE
- void PE_CD_SetDeemphasis(BOOL DeEmphasis);
- #endif
- #ifdef D_ENABLE_SVCD_SAMPLE_RATE_DETECTION
- UINT32 PE_CD_AutoDetectAudioSetting( AudioSID cAudioSID, DWORD dwStartAddress, ULONG ulMaxBlocksCnt);
- #endif
- CD_DETECT_RESULT PE_CD_GetCdDetectType(void);
- #endif //PE_CD_H_