dvda_ats.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_ats.h"   20/12/00
  6.  *
  7.  * Description:
  8.  * ============
  9.  * Audio title set 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_ats.h $
  19.  * 
  20.  * 1     12/30/03 11:30a Leonh
  21.  * Angieh:Change for DVD AUDIO navigator header.
  22.  * 
  23.  * 6     12/30/03 10:42a Leonh
  24.  * Angieh:Add #include "Config.h".
  25.  * 
  26.  * 5     12/21/03 4:46p Leonh
  27.  * Angieh:Support for the Bookmark Play.
  28.  * 
  29.  * 4     11/03/03 2:53p Leslie
  30.  * add dvd audio compile switch
  31.  * 
  32.  * 3     10/20/03 11:46a Leslie
  33.  * check the variable type and change the dvda rtpb schedule way as the
  34.  * same with DVD Video
  35.  * 
  36.  * 2     03-06-19 9:47 Leonh
  37.  * 
  38.  * 1     03-05-07 18:42 Leonh
  39.  * 
  40.  * 1     10/24/02 14:21 Rinata
  41.  * 
  42.  * 8     7/30/02 14:54 Nirp
  43.  * zch tree merge
  44.  * 
  45.  * 6     7/19/01 15:55 Rinata
  46.  * Assaf: Hidden group play
  47.  * Time search
  48.  * Entry search
  49.  * Bug fixes (LinkCN etc.)
  50.  * 
  51.  * 5     6/14/01 14:16 Rinata
  52.  * Assaf
  53.  * 
  54.  * 4     17-04-01 11:36 Assafm
  55.  * 
  56.  * 3     21-03-01 15:25 Assafm
  57.  * 
  58.  * 2     20/12/00 11:44 Finik
  59.  * 1     10-12-00 15:21 Assafm
  60.  * 
  61.  * 1     28-11-00 17:59 Assafm
  62.  Revision 1.1  2000/04/27 17:17:39  tia                                                              
  63.  Initial revision                                                              
  64. */
  65. /**************************************************************************************/
  66. #include "Config.h" // Global Configuration - do not remove!
  67. #ifdef DVD_AUDIO_SUPPORT
  68. #ifndef _DVDA_ATS_H
  69. #define _DVDA_ATS_H
  70. #include "Playcorecoremaincoremain.h"
  71. #include "PlaycoreNav_DVDHeadernavdef.h"
  72. //Angie_0803_2004:Use the SCPAD static memory.
  73. #define AOTT_AOB_ATRT_SIZE 128//bytes
  74. #define ATS_DMX_TBL_SIZE 288+1//bytes
  75. #define  ats_AudioAttr_GetCodingMode(idx)  ats_AudioAttr_GetAttrByte(idx,0)   
  76. #define  ats_AudioAttr_GetQ_CH_GR1(idx)    ((ats_AudioAttr_GetAttrByte(idx,2) & 0xf0) >> 4)// Quantization (bits)
  77. #define  ats_AudioAttr_GetQ_CH_GR2(idx)    (ats_AudioAttr_GetAttrByte(idx,2) & 0x0f)    // for groups 1/2
  78. #define  ats_AudioAttr_GetFs_CH_GR1(idx)   ((ats_AudioAttr_GetAttrByte(idx,3) & 0xf0) >> 4)// Sampling rates
  79. #define  ats_AudioAttr_GetFs_CH_GR2(idx)   (ats_AudioAttr_GetAttrByte(idx,3) & 0x0f)       // for groups 1/2
  80. #define  ats_AudioAttr_GetMCT(idx)         ((ats_AudioAttr_GetAttrByte(idx,4) & 0xe0) >> 5) // Multi Channel Type
  81. #define  ats_AudioAttr_GetCHAssign(idx)    (ats_AudioAttr_GetAttrByte(idx,4) & 0x1f)        // Channel Assignment
  82. typedef struct {
  83. BYTE    ASVUN;
  84. BYTE    ASV_DMD;
  85. WORD    ATS_ASV_PBI_SA;
  86. WORD    ATS_ASV_PBI_EA;
  87. } ATS_PG_ASV_PBI_SRP;
  88. typedef struct {
  89. BYTE    ASVNum;
  90. BYTE    res1;
  91. BYTE    FOSL_BTTN;
  92. BYTE    PGNum;
  93. DWORD   DisplayTime;
  94. BYTE    StartEffect;
  95. BYTE    EndEffect;
  96. } ATS_PG_ASV_DLIST;
  97. void ats_construct( S_FPOS *address ,WORD language);
  98. void ats_title_dom_construct( S_DOM *dom,S_FPOS *pgct );
  99. void ats_delete();
  100. #ifdef NO_SCPAD
  101. BOOL ats_c_pbit_Get_ATS_Cell_PBI(S_STORAGE *st, int cell, S_ATS_C_PBI *buffer);
  102. #else
  103. BOOL ats_c_pbit_Get_ATS_Cell_PBI(S_SC_STORAGE *st, int cell, S_ATS_C_PBI *buffer);
  104. #endif
  105. #ifdef NO_SCPAD
  106. int ats_Get_PG_By_Cell(S_STORAGE *cell_st,S_STORAGE *pg_st, int cell);
  107. #else
  108. int ats_Get_PG_By_Cell(S_SC_STORAGE *cell_st,S_SC_STORAGE *pg_st, int cell);
  109. #endif
  110. BYTE ats_AudioAttr_GetAttrByte(int atrn,int byte_num);
  111. void ats_title_dom_GetPGC( S_DOM *dom, S_FPOS *fposp, S_PGC_SRP *srp, BYTE ats_ttn); 
  112. DWORD ats_FindPGCTimeEntry(UINT32 entry_time,UINT32 *pg_num,int *cellNumber,UINT32 *pg_entry_time);
  113. #endif
  114. #endif//DVD_AUDIO_SUPPORT