usif.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:5k
源码类别:

DVD

开发平台:

C/C++

  1. /*
  2.  * COPYRIGHT (C) STMicroelectronics Pte Ltd 2004.
  3.  *
  4.  * Source file name : usif.h
  5.  * Description : Usif header
  6.  * Author : TM CHUA
  7.  *
  8.  * =======================
  9.  * IMPROVEMENTS THOUGHT OF
  10.  * =======================
  11.  *
  12.  * =====================
  13.  * MODIFICATION HISTORY:
  14.  * =====================
  15.  *
  16.  * Date Initials Modification
  17.  * ---- -------- ------------
  18.  * 05.03.04 TM CHUA Created
  19.  */
  20. /* Includes --------------------------------------------------------------- */
  21. #ifndef __USIF_H
  22. #define __USIF_H
  23. /* C++ support */
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27. #include <stdarg.h>
  28. #include <debug.h>
  29. #include "stddefs.h"
  30. #ifdef ST_5107 
  31. #include "staudlt.h"
  32. #else
  33. #include "staud.h"
  34. #endif
  35. #include "stpti.h"
  36. #include "stvtg.h"
  37. #include "sttbx.h"
  38. #include "appltype.h"
  39. /*#define USIF_DEBUG*/ 
  40. #define MAX_MIXWEIGHT           0x3f /*  mixweight  */
  41. #define VOLUME_STEP             4
  42. #define MAX_VOL_LEVEL          63 /*63 */  /*64*/
  43. #define MIN_VOL_LEVEL           0   /*48*/
  44. #define MID_VOL_LEVEL           32
  45. #define INCREASE_VOLUME         0    /* vol+ */
  46. #define DECREASE_VOLUME         1    /* vol- */
  47. #define MUTE_VOLUME             2    /* mute */
  48. #define VOL_BALANCE_RIGHT_MAX   2 /*( MAX_VOL_LEVEL - MIN_VOL_LEVEL )*/
  49. #define VOL_BALANCE_LEFT_MAX    1 /*( -1 * ( MAX_VOL_LEVEL - MIN_VOL_LEVEL ) )*/
  50. #define VOL_BALANCE_CENTRE      0
  51. #define INDEFINITE_WAIT         0
  52. #define WAIT_FOR_1_SEC          ST_GetClocksPerSecondLow()
  53. #define WAIT_FOR_2_SEC          ( 2 * WAIT_FOR_1_SEC )
  54. #define WAIT_FOR_3_SEC          ( 3 * WAIT_FOR_1_SEC )
  55. #define WAIT_FOR_10_SEC         ( 10 * WAIT_FOR_1_SEC )
  56. #define WAIT_FOR_HALF_SEC       ( WAIT_FOR_1_SEC / 2 )
  57. #define WAIT_FOR_QUARTER_SEC    ( WAIT_FOR_1_SEC / 4 )
  58. #define WAIT_FOR_ONE_EIGHTH_SEC ( WAIT_FOR_1_SEC / 8 )
  59. #define PROGRAM_INVALID         0
  60. #define PROGRAM_VIDEO_ONLY      1
  61. #define PROGRAM_AUDIO_ONLY      2
  62. #define PROGRAM_VIDEO_AUDIO     3
  63. #define PROGRAM_DATA_ONLY       4
  64. #define DEFAULT_ROW_START       20
  65. #define DEFAULT_COL_START       100
  66. #define DEFAULT_DIALOG_ITEM     0
  67. #define   MAX_NO_OF_MENU_ELEMENTS_IN_BIG_SCREEN 10
  68. #define   MAX_EPG_ITEM  8 
  69. #define MAX_DIALOG_MENU_ITEMS 3
  70. #define INSTALL_INFO_BANDWIDTH_MASK     0x0C  /*leslie*/
  71. #define DISPLAY_MODE_PAL           0        //zxq
  72. #define DISPLAY_MODE_NTSC         1       //zxq
  73. #define DISPLAY_MODE_AUTO        2       //zxq
  74. /*TMTM -for cable*/
  75. typedef struct
  76. {
  77.     U8 SignalStrength;
  78.     U32 SignalQuality;
  79.     U32 BitErrorRate;
  80. } SIGNALINFO;
  81. typedef enum
  82. {
  83.     CURSOR_OFF,
  84.     CURSOR_ON
  85. } cursor_state_t;
  86. /* --- */
  87. typedef enum
  88. {
  89.     PREV_PAGE,
  90.     NEXT_PAGE
  91. } menu_page_sel_t;
  92. /* --- */
  93. typedef enum
  94. {
  95.     WAIT_AT_STARTUP,
  96.     WAIT_AT_PROGRAM_NO_ENTRY,
  97.     WAIT_AT_CHANNEL_CHANGE,
  98.     WAIT_AT_INFO_DISPLAY,
  99.     WAIT_AT_VOLUME_CONTROL,
  100.     WAIT_AT_IDLE
  101. } wait_duration_sel_t;
  102. typedef enum
  103. {
  104.     LEFT_JUSTIFICATION,
  105.     CENTER_JUSTIFICATION,
  106.     RIGHT_JUSTIFICATION
  107. } text_justification_mode_t;
  108. typedef struct MENU_DATA_STRUCT_TAG
  109. {
  110.     struct MENU_DATA_STRUCT_TAG *Prev;
  111.     struct MENU_DATA_STRUCT_TAG *Next;
  112.     BYTE aucData[80];
  113. } MENU_DATA_STRUCT;
  114. typedef struct dialogmenustruct
  115. {
  116.     char *pacItemText;     /* Dialog prompt */
  117. } DIALOGMENU;
  118. /*
  119.  *      it contains the details of the box state when it was operated
  120.   *     last time.
  121.  */
  122. /*******************************/
  123. extern U8 mixweight;
  124. extern tuner_module_state_t tuner_module_state;
  125. extern dbase_module_state_t dbase_module_state;
  126. extern epg_module_state_t epg_module_state;
  127. extern MENU_DATA_STRUCT astMenuData[MAX_NO_OF_MENU_ELEMENTS_IN_BIG_SCREEN];
  128. extern MENU_DATA_STRUCT *pstMenuDataHead,
  129.     *pstMenuDataTail;
  130. extern BOOL bShowFirstProgram;
  131. extern menu_page_sel_t menu_page_last_sel;
  132. extern char acGeneralBuffer[80];
  133. #ifdef PIP_SUPPORT
  134. extern SHORT sCurTransponderId_Multiple[];
  135. #define sCurTransponderId sCurTransponderId_Multiple[SRAVC_GetFocusedDecoder()]
  136. extern int iCurrentProgramNo_Multiple[];
  137. #define iCurrentProgramNo iCurrentProgramNo_Multiple[SRAVC_GetFocusedDecoder()]
  138. #else
  139. extern SHORT sCurTransponderId;
  140. extern int iCurrentProgramNo;
  141. #endif
  142. extern opaque_t idNvmBoxInfoId;
  143. extern BOOL bNvmBoxInfoPresent;
  144. extern BOOL NvmPgmPresent; /* TONY */
  145. extern STAUD_Stereo_t stCurAudMode; /* TONY */
  146. extern int iUIlanguage; /* TONY */
  147. extern WORD2SHORT uiProgBeingWatched;
  148. extern signed char cCurVolLevel;
  149. extern signed char cCurVolBalance;
  150. extern BOOL bAudioMuteState;
  151. extern clock_t tclkWaitDuration;
  152. extern wait_duration_sel_t wait_duration_forced_during;
  153. extern BOOL bScreenInUse;
  154. extern BOOL bScreen2bCleared;
  155. extern BOOL bAntiflick;
  156. extern semaphore_t *psemDisplayBufferAccessLock;
  157. extern char acDisplayBuffer[3][60];
  158. extern int iInputFrequency;
  159. extern int iSymbolRate;
  160. #ifdef BUILD_FOR_DVBS
  161. extern int iPolarization; /* 1 = Horizontal; 2 = Vertical */
  162. extern int LnbIndex;
  163. extern BOOL LnbSupplyOn;
  164. #endif
  165. #ifdef BUILD_FOR_DVBC
  166. extern int iModulation;
  167. #endif
  168. extern BOOL parentalLockEnabled;
  169. #ifdef ENABLE_DVR_FEATURE
  170. extern char playbackFileName[]; /* id of the file currently shown */
  171. #endif
  172. extern U8 newHoursData;
  173. extern U8 newMinutesData;
  174. extern U8 newYearData;
  175. extern U8 newMonthData;
  176. extern U8 newDayData;
  177. extern signed char iDisplayMode;                  //zxq
  178. /* for mosaic only ??? */
  179. extern BOOL displayMode; // for auto switch between NTSC and PAL             
  180. //zxq
  181. /* C++ support */
  182. #ifdef __cplusplus
  183. }
  184. #endif
  185. #endif