dvda_amg.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:4k
源码类别:

DVD

开发平台:

Others

  1. /****************************************************************************************
  2.  *  Copyright (c) 2000 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: "dvda_amg.h"   20/12/00
  6.  *
  7.  * Description:
  8.  * ============
  9.  * Audio manager functions and data structures
  10.  *
  11.  * Log:
  12.  * ====
  13.  * $Revision: 1 $
  14.  * Last Modified by $Author: Leonh $ at $Modtime: 12/30/03 11:16a $
  15. ****************************************************************************************
  16.  * Updates:
  17. ****************************************************************************************
  18.  * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/dvda_amg.h $                                                        
  19.  * 
  20.  * 1     12/30/03 11:30a Leonh
  21.  * Angieh:Change for DVD AUDIO navigator header.
  22.  * 
  23.  * 4     12/30/03 10:42a Leonh
  24.  * Angieh:Add #include "Config.h".
  25.  * 
  26.  * 3     03-05-15 14:16 Leonh
  27.  * 
  28.  * 2     03-05-08 17:46 Leonh
  29.  * 
  30.  * 1     03-04-30 17:31 Leonh
  31.  * 
  32.  * 1     10/24/02 14:20 Rinata
  33.  * 
  34.  * 11    10/03/01 18:11 Rinata
  35.  * Finik+ Bhupesh + Assaf + Tia : Navigation fixes
  36.  * 
  37.  * 10    9/24/01 18:10 Rinata
  38.  * Finik: Fixed Video/Audio content priority
  39.  * 
  40.  * 9     9/24/01 13:49 Rinata
  41.  * Finik: Fixes for DVD-A
  42.  * 
  43.  * 8     8/21/01 5:22 Nirp
  44.  * 
  45.  * 7     8/05/01 17:15 Rinata
  46.  * Integration (cy)
  47.  * 
  48.  * 7     7/31/01 11:37 Assafm
  49.  * Bug fixes
  50.  * 
  51.  * 6     7/19/01 15:55 Rinata
  52.  * Assaf: Hidden group play
  53.  * Time search
  54.  * Entry search
  55.  * Bug fixes (LinkCN etc.)
  56.  * 
  57.  * 5     6/21/01 10:53 Rinata
  58.  * Assaf: Stop/Resume + bug fixes.
  59.  * 
  60.  * 4     17-04-01 11:36 Assafm
  61.  * 
  62.  * 3     21-03-01 15:25 Assafm
  63.  * 
  64.  * 2     20/12/00 12:24 Finik
  65.  * Header added
  66.  * 
  67.  * 1     28-11-00 17:59 Assafm
  68.  Revision 1.1  2000/04/27 17:17:39  tia                                                              
  69.  Initial revision                                                              
  70. */
  71. /***********************************************************************/
  72. #include "Config.h" // Global Configuration - do not remove!
  73. #ifdef DVD_AUDIO_SUPPORT
  74. #ifndef _DVDA_AMG_H
  75. #define _DVDA_AMG_H
  76. #include "PlaycoreCoremaincoremain.h"
  77. #include "PlaycoreNav_DVDHeadernavdef.h"
  78. // #define   AMGI_MAT_SIZE    358
  79. #define   ATT_SRP_SIZE     14
  80. #define   MAX_ATT_SRP      100  /*  1 .. 99 by the spec  */
  81. #define   ATT_SRPT_SIZE    MAX_ATT_SRP * ATT_SRP_SIZE
  82. #define   MAX_GROUPS       9//100  /*  1 .. 99  */
  83. typedef struct {
  84. BYTE    ATT_CAT;
  85. BYTE    ATT_PG_Ns;
  86. BYTE    res1;
  87. BYTE    res2;
  88. BYTE    ATT_PB_TM[4]; /*  <-  this struct is misaligned !!, that's why I use this awkward represantation */
  89. BYTE    ATSN;
  90. BYTE    ATS_TTN;
  91. BYTE    ATS_SA[4];   /*  <-  this struct is misaligned !!, that's why I use this awkward represantation */
  92. } ATT_SRP;
  93. /*  AMG structure chapter 5 (AMG) */
  94. typedef struct{
  95. WORD   AP_INF;   /* auto play information  */
  96. DWORD ASVS_SA;  
  97. WORD HGR_INF;
  98. BYTE NumOfVts;
  99. BYTE NumOfAts;
  100. WORD   ATT_SRP_Ns;  /*  number of search pointers */
  101. #ifdef NO_SCPAD
  102. BYTE   ATT_SRPT[ATT_SRPT_SIZE];
  103. #else
  104. S_SC_STORAGE  att_srpt_sc_st;
  105. #endif
  106. S_DOM   menu;
  107. #ifdef NO_SCPAD
  108. BYTE    menu_atrt_data[ M_ATRT_SIZE ];  /* data storage for the menu attributes  */
  109. #else
  110. WORD  menu_atrt_data_sc_handle; /* defined here temporarely */
  111. #endif
  112. BYTE ReturnToMenu;
  113. #ifdef NO_SCPAD
  114. BYTE NumTracksInGroup[MAX_GROUPS];   /* number of tracks in each unhidden group */
  115. #else
  116. S_SC_STORAGE  NumTracksInGroup_sc_st;
  117. #endif
  118. BYTE        NumGroups;   /* number of unhidden groups;  */
  119. BYTE Resume_GR_TK;     // when resuming, resume to GR/TK
  120. BYTE ResumeGroup;
  121. BYTE ResumeTrack;
  122. BOOL AllowHGR;
  123. BOOL initialized;
  124. }S_AMG;
  125. //  AMG  functions
  126. void amg_construct(S_FPOS *address, WORD country, WORD language);
  127. BOOL amg_Get_ATT_SRP( S_ATT_SRP *buffer, int group,int track, int *attn); /* TC1002 */
  128. void amg_GetVTS( S_FPOS *fposp, int VTSN );
  129. void amg_FindGroupsAndTracks(void); 
  130. int amg_Find_Track(int pg_num);
  131. BOOL  amg_GetPGCTime(int gr_num,int time,int *track,int *pgc_time);
  132. WORD amg_Get_Menu_Structure(void);
  133. void amg_ComputeGroupTime(int group, int track);
  134. #endif
  135. #endif