📄 dvdinfo.h
字号:
/**************************************************************************** [ mscddef.h, mscd.h, mscd.cpp, mscd1.cpp ] Copywrite 1995 by TCH/L300, Cheertek, all right reserved Author : Chung-Hao Tseng Date : 1995. 1. 4 Purpose : Notes : Update : Date Name Description ====== ========== =================================================******************************************************************************/#ifndef __DVDINFO_H__#define __DVDINFO_H__#ifdef __cplusplus extern "C"{#endif// Micky07312006 begin, for TMAP//#define SUPPORT_TMAP_SEARCH// DVD_172r2#define USE_SHARE_SRAM// Micky modifiation for WinDVD 1.73. begin#define REDUCE_VMGM_cSECTOR#define MOVE_TT_SRPT_DRAM#define MOVE_PTT_SRPT_DRAM#define MOVE_VTS_PGCIT_DRAM// Micky1.11, 32M/64M DRAM reserve address are different// reference __dwReserveStart/// #define DRAM_TT_SRPT_START W99AV_DRAM_ADDR_RESERVE_START#define DRAM_TT_SRPT_START DS_FW_BUFFER_ST// max. 99 titles/ per VTS.#define SIZE_TT_SRPT_FULL (( 8 + 12*99L )) // 1196 bytes.// Micky0.64-909, must align at DWORD boundary.#define DRAM_PTT_SRPT_START ( DRAM_TT_SRPT_START + ((SIZE_TT_SRPT_FULL+3)/4)*4 )// max. 99 ??// Micky1.00, fix "The Perfect Storm"(Region 1) can't play over 6/99. // in dvdinfo.c VTSI_PTT_SRPs will limit max. 99.// and the reserved VTSI_PTT_SRPT size(808) are not enough// the There 2 TTUs within this VTS, max. has 274 PTT_SRPs.// the reserved 808 will be OK till 6/198.// must reserve max. PTT_SRPT.// 8 + 99(TTUs)*4 + 999(PTT_SRPs) *4 = 4400// HAL_DumpUserData must modify for over 1 sector.#define SIZE_PTT_SRPT 4400 //808#define DRAM_VTS_PGCIT_START ( DRAM_PTT_SRPT_START + ((SIZE_PTT_SRPT+3)/4)*4 )// Micky0.87a, fix AVIA-> menu-> select 1st item play will play 1/1 or stop.// The wPGCN=198. but F/W only store 180. It will use unknow DRAM data.//#define MAX_VTS_PGC_SRP 180 // 1448 bytes// Micky1.25, run time read VTS_PGCIT// always keep 1 PGCI sector/*#define MAX_VTS_PGC_SRP 440 //2008 bytes#define SIZE_VTS_PGCIT (8+ 8* (MAX_VTS_PGC_SRP) )*////*#define MAX_VTS_PGC_SRP 65535L#define SIZE_VTS_PGCIT 2048L//*/// Micky1.07, reduce SRAM--_bVMG_PTL_LVLI 200 bytes.#define DRAM_VMG_PTL_LVLI_START (DRAM_VTS_PGCIT_START + ((SIZE_VTS_PGCIT+3)/4)*4 )#define SIZE_VMG_PTL_LVLI 200// Micky07312006 begin, for TMAP#ifdef SUPPORT_TMAP_SEARCHBYTE DVD_Load_VTSTMAP(WORD wPGCN);#define DRAM_VTS_TMAP_START (DRAM_VMG_PTL_LVLI_START + SIZE_VMG_PTL_LVLI/4)#define SIZE_VTS_TMAP 4096#endif //#ifdef SUPPORT_TMAP_SEARCHBYTE _DVD_LoadFromDRAM ( WORD nMode, WORD nIndex );extern DWORD _dwDRAMDest;extern char *_cCache ;//[];/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Begin of Testing Region ////////////////////////////////////////////////////////////////////////////////// Below should be disable in normal state except "USE_SHARE_SRAM"// TEST another(older) PGC_C_PBI ....//#define TEST_PGC_C_PBI// TEST PGCI data that compare w/ < 0.43//#define TEST_COMPARE_PGCI// Test VTSM_PGCI_UT < 0.49 (0.49 will use newer method)//#define TEST_COMPARE_VTSM_PGCI_UT// Test VMG_PGCI_UT. (> 1.01a will use newer method)//#define TEST_COMPARE_VMGM_PGCI_UT// TEST older _cVTS_PTT_SRPT_FULL method// #define TEST_COMPARE_VTS_PTT_SRPT#ifdef TEST_COMPARE_VTSM_PGCI_UT#define TEST_COMPARE_MODE#endif // TEST_COMPARE_VTSM_PGCI_UT#ifdef TEST_COMPARE_VMGM_PGCI_UT#define TEST_COMPARE_MODE#endif // TEST_COMPARE_VMGM_PGCI_UT////////////////////////////////////////////////////////////// End of Testing Region ////////////////////////////////////////////////////////////////////////////////// ** TCH1.71-1; Define it mean use new method to process#define ENHANCE_PGCI_MEM//////////////////////////////////////////////////////////////// *** Compatible with SYSTEM// ** TCH0.29; begin...extern WORD __wSPRMs [24]; // System Parametersextern WORD __wGPRMs [16]; // General Parameters// ** TCH0.29; end...extern BYTE _bTotalPGN; // Record the totle Program # in PGCextern BYTE _bTotalCell; // Record the totle Cell # in PGCextern BYTE _bVTSN; // current VTSN// DVD_172r2#ifdef USE_SHARE_SRAMextern WORD *__wCELL_PBTM; // ** TCH0.49; Don't declare the size, the size will depends on "MAX_CELLS_WITHIN_PGC".#elseextern WORD __wCELL_PBTM []; // ** TCH0.49; Don't declare the size, the size will depends on "MAX_CELLS_WITHIN_PGC".#endifextern DWORD _dwFirst_VOBS; // Record the LBN of first VOBS (VMGM, VTSM, VTT ) // ** TCH0.39;extern DWORD __dwPGC_UOP_CTL; // ** TCH0.37; record UOP for PGC// ** TCH1.01b; extern char _cVTS_PGCIT [2048]; // ** TCH0.39;extern char _cVTS_PGCIT [];// ** TCH0.42; begin...extern DWORD __dwDVD_ATRT1; // current ATRT1 (0-3 bytes)extern DWORD __dwDVD_ATRT2; // current ATRT2 (4-7 bytes)// ** TCH0.42; end...extern BYTE __bStatus_PTL; // ** TCH0.431; record "is the final of PTL acceptable?"#if OS == OS_DOS // ** TCH0.45;#ifdef _DEBUG#ifndef _TEST#define _TEST#endif#endif // _DEBUG// ** TCH1.72q; // Brian.276p, support _printf/*#ifndef PRINTF // ** TCH1.72q; for ADS#ifdef _DEBUG#define PRINTF printf#else#ifdef _TEST#define PRINTF printf#else#define PRINTF ; //printf#endif // _TEST#endif // _DEBUG#endif // PRINTF*/#endif//////////////////////////////////////////////////////////////// definition// DVD Information Part// in VMGI_TT_SRPT#define OFFSET_TT_SRP 8#define BLOCK_TT_SRP 12// in VTS_PTT_SRPT// #define OFFSET_PTT_SRP 408// Video Manager Information (VMGI)// Micky1.21, reference VMGI VMG_CAT for RMA.// VMG_CAT start from 34, byte 35 is RMA.#define VMGI_VMG_CAT 35#define VMGI_VTS_Ns 63 // ** TCH0.40; Only one Byte valid#define VMGI_FP_PGCI_SA 132#define VMGI_VMGM_VOBS_SA 192#define VMGI_TT_SRPT_SA 196#define VMGI_VMGM_PGCI_UT_SA 200#define VMGI_PTL_MAIT_SA 204#define VMGI_VMGM_C_ADT_SA 216#define VMGI_VMGM_V_ATR 256 // ** TCH0.361;// ** TCH0.42; begin...#define VMGI_VMGM_AST_Ns 258#define VMGI_VMGM_AST_ATR 260#define VMGI_VMGM_SPST_Ns 340#define VMGI_VMGM_SPST_ATR 342// ** TCH0.42; end...// Video Title Set Information (VTSI)#define VTSI_VTSM_VOBS_SA 192#define VTSI_VTSTT_VOBS_SA 196#define VTSI_VTS_PTT_SRPT_SA 200#define VTSI_VTS_PGCIT_SA 204#define VTSI_VTSM_PGCI_UT_SA 208#define VTSI_VTS_TMAPT_SA 212// ** TCH0.361; begin...#define VTSI_VTSM_V_ATR 256#define VTSI_VTSM_AST_Ns 258#define VTSI_VTSM_AST_ATR 260#define VTSI_VTSM_SPST_Ns 340#define VTSI_VTSM_SPST_ATR 342// ** TCH0.361; end...// Micky2.80, reduce VTSI.// move VTS_V_ATR~VTS_AST_ATRT(68 bytes) to 268.// move VTS_SPST_Ns~VTS_SPST_ATRT 194 bytes to 348./*#define VTSI_VTS_V_ATR 512#define VTSI_VTS_AST_Ns 514#define VTSI_VTS_AST_ATRT 516#define VTSI_VTS_SPST_Ns 596#define VTSI_VTS_SPST_ATRT 598*/#define VTSI_VTS_V_ATR 268#define VTSI_VTS_AST_Ns 270#define VTSI_VTS_AST_ATRT 272#define VTSI_VTS_SPST_Ns 348 // 348+192=540#define VTSI_VTS_SPST_ATRT 350// ** TCH0.29; begin...// Mask AND/OR for V_ATR// 00b means 4:3, 11b means 16:9, 0x0C00.#define MASK_ASPECT_RATIO(a) (((a)>>10 ) & 0x3)#define MASK_ASPECT_RATIO_4_3 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -