nav_svcd.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:5k
- /****************************************************************************************
- * Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
- * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
- *
- * File: $Workfile: nav_svcd.h $
- *
- * Description:
- * ============
- *
- *
- * Log:
- * ====
- * $Revision: 10 $
- * Last Modified by $Author: Johnk $ at $Modtime: 4/01/04 9:59p $
- ****************************************************************************************
- * Updates:
- ****************************************************************************************
- * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_SVCD/nav_svcd.h $
- *
- * 10 4/01/04 10:50p Johnk
- * support HW POWER_ON_RESUME
- *
- * 9 2/16/04 5:13p Lyncolnc
- * Merged S1 Changes.
- *
- * 8 1/25/04 8:21 Nmaurer
- * Add drv_ prefix to Drive routines
- *
- * 7 03-05-27 22:43 Fwang
- * Code clean up
- *
- * 6 03-03-26 16:43 Hannahh
- * clean the warnings
- * don't declare the function if not use it
- *
- * 5 03-01-24 20:33 Leslie
- * Add OnIntro() protype
- *
- * 15 15/05/02 9:23 Ettim
- * Removed some compilation warning messages.
- *
- * 14 5/08/02 10:12a Dingming
- * support disc time search(required by china customer)
- *
- * 13 23/04/02 10:53 Nirm
- * - Added dependency in "Config.h".
- *
- * 12 11/04/02 9:46 Ettim
- * Getting the parameters for the digest (digest mode & intro frames
- * count) from the UI.
- *
- * 11 10/04/02 12:25 Ettim
- * Changed OnDigest to be static.
- *
- * 10 4/01/02 18:54 Ettim
- * Adding thumbnails (digest) support for JPEG.
- *
- * 9 3/10/02 17:30 Ettim
- * Added Motion Digest support.
- *
- * 8 2/27/02 17:31 Ettim
- * Added Digest support.
- *
- * 7 2/18/02 11:01 Ettim
- * Updated Audio SID setting for the channels C0 & C1
- *
- * 6 2/10/02 15:04 Ettim
- * Using the Array for SDRAM allocations.
- * Enabling play, next and next on Auto Pause.
- *
- * 4 1/17/02 19:14 Ettim
- * Handling the CVD encryption
- *
- * 3 1/16/02 16:18 Ettim
- * Updating the latest changes performed in the I54 svcd navigator (VBR &
- * Tracks.svd file parsing).
- * Setting the operation mask to enable play while scanning.
- * Updating the macro PE_CD_SetDiscType to get only 1 argument.
- *
- * 2 9/01/02 16:45 Nirm
- * Corrected Include-Paths.
- *
- * 1 12/26/01 18:53 Ettim
- * After updating nav_svcd.c & pe_cd.c
- ****************************************************************************************/
- #include "Config.h" // Global Configuration - do not remove!
- #ifndef NAV_SVCD_H_
- #define NAV_SVCD_H_
- #include "PlaycoreCoremaincoremain.h"
- #include "PlaycoreNav_Svcdsvcd.h"
- #include "PlaycoreDigestdigest.h"
- #include "playcorecoremaincorenvg.h"
- #include "eeprom.h"
- #ifdef EXINO2
- #include "customer.h"
- #endif // EXINO2
- #define SVCD_PSD_FILE_ADDRESS drv_msf2lbn(0, 4, 34)
- #define SVCD_PSD_CACHE_SIZE 2048
- #define SVCD_TRACKS_HDR_SIZE 11
- #define SVCD_TRACKS_RECORD_SIZE 5
- #define SVCD_PLAYLIST_HDR_SIZE 14
- #define SVCD_SELECTIONLIST_HDR_SIZE 20
- #define SVCD_TICKS_PER_SECOND 5
- #define SVCD_BLOCKS_PER_SECOND 75L
- #define SVCD_BLOCKS_PER_SEGMENT (SVCD_BLOCKS_PER_SECOND * 2)
- #define SVCD_SEGMENTS_TABLE_SIZE 1980
- #define SVCD_SEGMENT_OFFSET_IN_INFO 56
- #define SVCD_INFINITE -1
- //#define SVCD_MAX_PROGRAM_SIZE 300
- //LX090502: change from 5 to 15 due to the slow seek of drive
- #define SVCD_IFRAME_MISS_TIMEOUT 15 // I-Frame Display Miss tolerance (in Ticks)
- #define SVCD_PB_HANGUP_TIMEOUT (SVCD_TICKS_PER_SECOND * 5) // Playback-Hangup tolerance (in Ticks)
- #define SVCD_LOCATION_TOLERANCE (SVCD_BLOCKS_PER_SECOND / 3) // Current-Position tolerance (in Blocks)
- #define SVCD_STILL_PICTURE_MISS_TIMEOUT 8//in terms of OnTick//LX091202
- //<<<ZORAN LX011702
- #define SVCD_LeadOut_Info_ADDR SVCDRsmInfo_ADDR
- #define SVCD_CurrentPosition_Info_ADDR (SVCDRsmInfo_ADDR+sizeof(WORD))
- #define SVCD_CurrentList_Info_ADDR (SVCD_CurrentPosition_Info_ADDR + sizeof(SVCD_Marker))
- #define SVCD_UsingPSD_Info_ADDR (SVCD_CurrentList_Info_ADDR + sizeof(SVCD_PSDList))
- #define SVCD_VideoType_Info_ADDR (SVCD_UsingPSD_Info_ADDR + sizeof(BOOL))
- //ZORAN LX011702>>>
- // <<< SEC BK.LIM070203 // ZKR GLV778
- #ifdef S1_GUI
- #define SVCD_PREV_THRESHOLD (5 * SVCD_BLOCKS_PER_SECOND)
- #endif // S1_GUI
- //>>>
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Public Services
- int SVCD_Navigator(HDLR_OP op, EVENT evt, void *param);
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Private Structures
- typedef enum { ePause, eStopResume, eFullStop } enSVCD_StopType;
- typedef enum { eMarkerA, eMarkerB, eResumePlayback, eBookmark } enSVCD_MarkerType;
- typedef enum { eTimeout, eWaitTimeExpired, ePausePeriodExpired, ePositionA, ePositionB } enSVCD_RendezvousType;
- typedef struct SVCD_SegmentPlayItem_TAG {
- WORD uSegmentNumber; // The Serial-number of the first Segment in the Play-Item
- BYTE uContents; // Information about the Contents of the Segment Play-Item
- WORD uSubSegmentCnt; //
- } SVCD_SegmentPlayItem;
- #endif //NAV_SVCD_H_