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

📄 nvgadefs.h

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 H
📖 第 1 页 / 共 3 页
字号:
/***********************************************************************/
/* File:                                                               */
/* =====                                                               */
/* Descripton:                                                         */
/* ===========                                                         */
/*                                                                     */
/* Log:                                                                */
/* =====                                                                 */
/*
 $Name: $                                                             
 $Header: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NVGADEFS.H 10    04-03-31 20:26 Angieh $                                                           
 $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NVGADEFS.H $                                                              
 * 
 * 10    04-03-31 20:26 Angieh
 * Add support for index and page search.
 * 
 * 9     2/20/04 6:17p Glenl
 * Merged S1 code
 * 
 * 8     12/30/03 11:28a Leonh
 * Angieh:Change for DVD AUDIO navigator header.
 * 
 * 16    11/06/03 8:34a Leslie
 * clean up the code
 * 
 * 15    10/20/03 11:46a Leslie
 * check the variable type and change the dvda rtpb schedule way as the
 * same with DVD Video
 * 
 * 14    8/20/03 2:56p Leonh
 * Merge dvd audio code with the latest nav_dvd code with reference
 * 
 * 9     03-05-13 16:46 Leonh
 * merge pgc_construct()
 * 
 * 8     03-05-08 18:18 Leonh
 * 
 * 7     03-05-08 13:46 Leonh
 * 
 * 6     03-04-30 15:35 Fwang
 * audio pgc define
 * 
 * 5     03-04-30 10:41 Fwang
 * compilation error
 * 
 * 4     03-04-28 17:52 Fwang
 * nav command define for DVDA
 * 
 * 3     03-04-28 17:47 Fwang
 * pgc type define
 * 
 * 2     03-04-28 17:40 Fwang
 * Add DVDA definition.
 * 
 * 1     03-04-28 11:15 Fwang
 * Initial for DVDA
 * 
 * 7     03-07-30 18:09 Leonh
 * differentiate the cell presentation access restriction and parent level
 * wrong
 * 
 * 9     27/05/02 18:13 Nirm
 * - Fixed typo in pre-compilation definition.
 * 
 * 8     5/21/02 12:38p Leslie
 * Support 5 DVD Bookmarks
 * 
 * 7     9/05/02 21:47 Nirm
 * - Added pre-caching of CGMS information, in order to minimize
 * File-System accesses when possible.
 * 
 * 6     9/05/02 16:14 Nirm
 * - Alternative implementation to CGMS support.
 * 
 * 5     5/01/02 14:35 Rinata
 * get category code and copy bit
 * 
 * 4     4/30/02 17:11 Rinata
 * CGMS/WSS support
 * 
 * 3     4/26/02 12:46p Leslie
 * Comment out useless Macros.
 * Replace npi_flags with npi_resume_lbn in
 * S_NAV_PK_INFO_FIFO
 * 
 * 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
 * 
 * 2     8/01/02 16:24 Nirm
 * Corrected Include-Paths.
 Revision 1.22  2001/09/28 23:11:02Z  stephaneh                                                              
 Merged changes from ZCH for DVD navigator                                                              
 Revision 1.21  2001/05/17 17:50:34Z  bhupeshv                                                              
 Added Tias' SRAM DATA savings.                                                              
 Revision 1.21  2001/05/15 10:55:23  tia                                                              
 Remove sprm.initial. Saves 48 bytes from SRAM.                                                              
 Revision 1.20  2001/03/29 04:48:15  tia                                                              
 Add DVD Chapter remain time information.                                                              
 Revision 1.19  2001/01/20 05:15:52  tia                                                              
 Fix for Bonus Disc Toy Story.                                                              
 Revision 1.18  2000/11/09 18:24:07  tia                                                              
 Revision 1.17  2000/07/27 22:11:30  tia                                                              
 Revision 1.16  2000/07/14 05:55:55  tia                                                              
 Revision 1.15  2000/07/13 00:01:38  tia                                                              
 Revision 1.14  2000/06/14 02:46:25  tia                                                              
 Revision 1.13  2000/06/06 20:59:46  tia                                                              
 Revision 1.12  2000/06/02 02:45:33  tia                                                              
 Revision 1.11  2000/05/24 23:32:22  tia                                                              
 Revision 1.10  2000/05/19 03:48:26  tia                                                              
 Revision 1.9  2000/05/17 02:41:38  tia                                                              
 Revision 1.8  2000/05/16 03:12:20  tia                                                              
 Revision 1.7  2000/05/13 02:20:58  tia                                                              
 Revision 1.6  2000/05/11 22:36:04  tia                                                              
 Revision 1.5  2000/05/02 23:31:30  tia                                                              
 Revision 1.4  2000/05/02 02:57:50  tia                                                              
 Revision 1.3  2000/04/27 02:47:18  tia                                                              
 Revision 1.2  2000/04/20 20:17:52  tia                                                              
 Revision 1.1  2000/04/18 18:51:12  tia                                                              
 Initial revision                                                              
 Revision 1.1  2000/04/14 02:02:12  tia                                                              
 Initial revision                                                              
 */
/***********************************************************************/

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

#ifndef _NVGADEFS_H
#define _NVGADEFS_H
#include "Playcore\Nav_DVD\Header\hli_defs.h"
#include "Playcore\Nav_DVD\Header\ccmpeg.h"
#include "Playcore\Nav_DVD\Header\stream.h"
#include "Playcore\Nav_DVD\Header\dvddef.h"

/*  CRealTimePlayback and PCI opBuffer sizes, influence STATIC variable size requirements */
enum { 
	MAX_NP_INFO	= 8,		/* NAV PACK INFO FIFO depth, lag between DSI processing and PCI processing */
	MAX_SCHEDULED_OPS = 5,
	MAX_PCI_BUFFER    = 3    /*  2 for ping-pong buffer */
};

//
// Capability defines
//
typedef enum {AUDIO_ALGORITHM,
              VIDEO_ALGORITHM,
              AUDIO_MODE,
              VIDEO_MODE
}PRESENTATION_CAP;

// *************************************
//
// Video algorithm values (can be ORed together in return codes)
//
#define VIDEO_ALGORITHM_MPEG1 0x1
#define VIDEO_ALGORITHM_MPEG2 0x3

// *************************************
//
// Audio algorithm values (can be ORed together in return codes)
//

    #define AUDIO_ALGORITHM_MPEG1 0x1
    #define AUDIO_ALGORITHM_MPEG2 0x3
    #define AUDIO_ALGORITHM_AC3   0x4
    #define AUDIO_ALGORITHM_PCM   0x8
    #define AUDIO_ALGORITHM_AC_3    0x4000
    #define AUDIO_ALGORITHM_MPEG    0x1000
    #define AUDIO_ALGORITHM_DTS     0x0800
    #define AUDIO_ALGORITHM_SDDS    0x0400
    #define AUDIO_ALGORITHM_LPCM_K  0x0080
    #define AUDIO_ALGORITHM_AC3_K   0x0040
    #define AUDIO_ALGORITHM_MPEG_K  0x0010
    #define AUDIO_ALGORITHM_DTS_K   0x0008
    #define AUDIO_ALGORITHM_SDDS_K  0x0004
//#endif

// *************************************
//
// 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
 
// ****************************************************************************
//                             Events
// ****************************************************************************
//
//             event                        value      result     return           comment
//
//
#define DVD_EVENT_ANGLE_CHANGE        256 //  -           -        SUCCESS/FAILURE  synchronizes angle change in PGC
#define DVD_EVENT_EMPTY_STREAM_PUMP   257 //  -           -        SUCCESS/FAILURE  retrieves the VOBU to play
#define DVD_EVENT_PTM                 258 //  -           -        SUCCESS/FAILURE  retrieves the VOBU to play
#define DVD_EVENT_TIME                259 //  ID          -        SUCCESS/FAILURE  retrieves the VOBU to play
#define DVD_EVENT_CLOCK               260 //  ID          -        SUCCESS/FAILURE  retrieves the VOBU to play

#define DVD_EVENT_STOP_STATUS         261 //  -           -        -

#define THREAD_SWITCH_EVENT           1000


// =============================================

// SPRM -- symbolic definitions
enum
{
  M_LCD = 0,       ASTN,            SPSTN,          AGLN,
  TTN,             VTS_TTN,         TT_PGCN,        PTTN_SEQ,
  HL_BTTN,         NV_TMR,          TT_PGCN_NV_TMR, P_A_MXMD,
  CTY_CD_PTL_MA,   PTL_LVL,         P_CFG_VIDEO,    P_CFG_AUDIO,
  INI_LCD_AST,     INI_LCD_EXT_AST, INI_LCD_SPST,   INI_LCD_EXT_SPST,
  PLAYER_REG_CODE, RESERVED_1,      RESERVED_2,     EXTENDED_PLAY,
  // Add some additional SPRM's for DVD Audio
  PG_NUM = 7,
  ATT_GRN = 21,
  ATTN = 22,   // Att number
  TKN = 23,
  ASVN = 24
};

#define NO_AUDIO_STREAM	0xF
#define NO_SP_STREAM		0x3E
#define DUMMY_SP_STREAM	0x3F
#define SP_FORCED_CAPTION	0x09      //FW0906 According to DVD Spec. VI3-57 
#define CODE_NOT_SPECIFIED	(-1)
#define EXT_NOT_SPECIFIED	0
#define PTL_NOT_SPECIFIED	0xF

// Karaoke mode not supported
#define P_CFG_AUDIO_DTS    0x0800
#define P_CFG_AUDIO_AC_3   0x4000
#define P_CFG_AUDIO_MPEG   0x1000 
 
// there's no bit assigned for PCM capability -- see SPRM( 15 ),
//   use bit15 as LPCM capability bit
#define P_CFG_AUDIO_LPCM   0x8000

enum {
  VOBU_STILL = 1,
  CELL_STILL = 2,
  PGC_STILL  = 3,
  SYNC_STILL = 4,
  STOP_STILL = 5
};

//
// System Menu IDs 
//
enum { MENU__TITLE      = 2,
       MENU__ROOT       = 3,
       MENU__SUBPICTURE = 4,
       MENU__AUDIO      = 5,
       MENU__ANGLE      = 6,
       MENU__PTT        = 7
};

// Domain ID -- see JumpSS/CallSS
typedef enum  { FP_DOM    = 0, 
	 VMGM_DOM  = 1,
	 VTSM_DOM  = 2,
	 VMGM_PGCN = 3,

	 // Values not needed fpr JumpSS/CallSS
	 TT_DOM    = 4, 
	 STOP      = 5,
	 // Domain IDs for DVD-AUDIO
	 AMGM_DOM	= 1,    // same value as VMGM_DOM
	 AVTT_GR_DOM = 4,	// same value as TT_DOM
	 AOTT_GR_DOM = 6
}DOMAIN_ID;

// CGMS Information collected for each VOB file, from the File-System
#define MAX_VTS_CNT_PER_CACHE	1
#define MAX_FILES_PER_VTS		10	// Up to 9 files, plus one optional (VTS_XX_0.VOB)
#define MAX_CGMS_ENTRIES		(1 + (MAX_FILES_PER_VTS * MAX_VTS_CNT_PER_CACHE))
#define CGMS_ENTRIES_ON_FLY		(1+3) // For reducing the caching time when chagne the VTS

typedef struct {
	DWORD dwVOBStartLBN;
	DWORD dwVOBEndLBN;
	BYTE  ucCGMS;
} S_VOB_CGMS_INFO;

// PCI General Information
typedef struct
{
	DWORD NV_PCK_LBN;		  // logical block number of navigation pack
	DWORD VOBU_UOP_CTL;		// user operation control of VOBU
	DWORD VOBU_S_PTM;		  // start Presentation TiMe of the video data in VOBU
	DWORD VOBU_E_PTM;		  // end PTM of VOBU
	DWORD VOBU_SE_E_PTM;		// end PTM of sequence end in VOBU
	DWORD C_ELTM;			    // cell elapse time
  WORD  VOBU_CAT;        // analogue protection sytem (APS)
  BYTE  TC_FLAG;         // tc_flag
} S_PCI_GI;

//	structure filled by C_PCI_PKT.Get_HL_GI()
typedef struct
{
	long HLI_S_PTM;			// start PTM of HLI
	long HLI_E_PTM;			// end PTM of HLI
	long BTN_SL_E_PTM;		// end PTM of button select
	BYTE HLI_SS;				// status of highlight information
	BYTE FOSL_BTNN;			// forcedly selected button number
	BYTE FOAC_BTNN;			// forcedly activated button number
	BYTE BTN_OFN;	//button offset number
	BYTE BTN_Ns;	//number of buttons
	BYTE NSL_BTN_Ns; //number of numerical select buttons
} S_HL_GI;


// Selection/Action mode
enum { SELECT,
       ACTIVATE
};

//	structure filled by C_PCI_PKT.Get_Button_Links()
typedef struct
{
	WORD UP_BTNN;			// upper button number
	WORD LO_BTNN;
	WORD LEFT_BTNN;
	WORD RIGHT_BTNN;
} S_AJBTN;

// enumerated data type for display mode
enum { Normal    = 0x0000, 
       Wide      = 0x0001,
       Letterbox = 0x0002, 
       Panscan   = 0x0004
};

⌨️ 快捷键说明

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