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

📄 uopmap.h

📁 mtk1389L latest sourcecode enjoy
💻 H
📖 第 1 页 / 共 3 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/04/18 10:01a   $       ****************/
/***************  $Revision:: 4                $       ****************/
/***************                                       ****************/
/***************   Description : State Machine         ****************/
/***************                 Management ...        ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Sung-Ching Lin        ****************/
/**********************************************************************/

#ifndef _UOPMAP_H_
#define _UOPMAP_H_

#ifdef _UOPMAP_C_
  #define EXTERN
#else
  #define EXTERN extern
#endif

//===================================================================
// Share info update count
//===================================================================
#if defined(NO_SM_NOTIFY)
EXTERN xdata BYTE _bShmRp;
#endif

//#define ACCEL_SI_PROC

#ifdef ACCEL_SI_PROC
EXTERN xdata BYTE _bShmUpdCnt;

#define vClearShmUpdCnt()   (_bShmUpdCnt = 0)

#define SHM_PROC_CNT        4

#else

#define vClearShmUpdCnt()

#endif /* ACCEL_SI_PROC */

//===================================================================
// User working data in SDRAM
//===================================================================
enum
{
  /* 4 bytes for parental password */
  SH_PASS_0 = SI_USER_START,

  /* for osdshow.c */
  SH_OSD_WB_MODE = SH_PASS_0 + PASSWORD_LEN,
  SH_OSD_WB_SAVED,
  SH_OSD_WB_USR_SAVED,
  SH_OSD_LAYER1_WB,
  SH_OSD_LAYER1_STATUS,
  SH_OSD_LAYER2_WB,
  SH_OSD_LAYER2_STATUS,
  SH_OSD_TIMER_LAYER2_1,
  SH_OSD_TIMER_LAYER2_2,
  SH_OSD_TIMER_LAYER2_3,
  SH_OSD_TIMER_LAYER2_4,
  SH_OSD_TIMER_PLAY_STATUS,
  SH_OSD_TIMER_AUDIO_CTRL,
  SH_OSD_TIMER_ERR_MSG,

  /* for uopmap.c */
  SH_IR_TIMER_AUTO_PWR_DOWN,

  /* for OSD state */
  SH_OSD_REMAIN_MSG_TIMEOUT,
  SH_OSD_PLAY_TYPE_TIMEOUT,
  SH_OSD_PLAY_INFO_TIMEOUT,

  /* for Screen Saver */
  SH_SCR_COL_CNT,

  /* for VCD user PBC on/off control */
  SH_VCD_USR_PBC_OFF,

  /* for DVD audio bit-stream change */
#ifdef AUDIO_STREAM_CHANGE_MUTE
  SH_CHG_AST_CNT,
  SH_CHG_AST_OPT1,
  SH_CHG_AST_OPT2,
  SH_CHG_AST_OPT3,
#endif

  /* for aud_ctrl.c */
  SH_SPK_CFG,
#ifdef MIC_AUTOMUTE
  SH_MIC_MIX_CH,
  SH_MIC_GAIN_1,
  SH_MIC_GAIN_2,
  SH_MIC_AUTOMUTE_OFF_LEVEL_HI,
  SH_MIC_AUTOMUTE_OFF_LEVEL_LO,
  SH_MIC_AUTOMUTE_ON_LEVEL_HI,
  SH_MIC_AUTOMUTE_ON_LEVEL_LO,
#endif

#ifdef SS_FADE_INOUT
  SH_SS_COUNT,
#endif

#ifdef ENABLE_USER_LANG_CODE
  SH_LCD_0,
  SH_LCD_1,
  SH_LCD_2,
  SH_LCD_3,
#endif

#ifdef MTK_MENU
  SH_DLG_VAL_0, //[runma] add by michael
  SH_DLG_VAL_1, 
  SH_DLG_VAL_2, 
  SH_DLG_VAL_3, 
  //SH_DLG_VAL4, //[runma] del line by michael.
#endif /* MTK_MENU */

#ifdef OSD_SLIDER_SUPPORT
  SH_CMP_CLR0,
  SH_CMP_CLR1,
  SH_CMP_CLR2,
  SH_CMP_CLR3,
  SH_CMP_CLR4,
  SH_CMP_CLR5,
#endif /* OSD_SLIDER_SUPPORT */

// Seiya: Added on 2004/07/27 for dual mono switch.
#ifdef DVD_VR_SUPPORT
  // LLY.0926 begin ...
  // add one shared info. to keep DVD-VR desired dual mono mode
  SH_VR_DUAL_MONO_MODE,
#endif

  /* 8032 working data max */
  SH_USER_DATA_MAX
};

#define OSD_TIMER_MAX   (SH_OSD_TIMER_ERR_MSG - SH_OSD_TIMER_LAYER2_1 + 1)

//===================================================================
// For Bit Flags in xdata
//===================================================================
EXTERN xdata struct
{
  BYTE  fgInputResend:1;
  BYTE  fgInputEscape:1;
  BYTE  fgVocalOn:1;
  BYTE  fgAstChg:1;
  BYTE  fgDVDStopPlayWait:1;
  BYTE  fgFlSrcSet:1;
  BYTE  Reserve:2;
}
_rUopmapFlag;

#define _fgFlSrcSet         _rUopmapFlag.fgFlSrcSet
#define _fgDVDStopPlayWait  _rUopmapFlag.fgDVDStopPlayWait
//===================================================================
// Player Related Function
//===================================================================
void vPlayerReset(void) large;
void vUIStop(void) large;

//===================================================================
// SM functions Prototype
//===================================================================
void SmInit(void) large;

//===================================================================
// SETUP functions Prototype
//===================================================================
void vUserInit(BOOL fgInited) large;

//===================================================================
// Screen Saver
//===================================================================
BOOL fgScrSaverCheck(void) large;

// *********************************************************************
// 8032 play type define
// *********************************************************************
#define UOP_OK            0
#define UOP_FAIL          1
#define UOP_REMAP         2
#define UOP_UPDATE        3

#define PLAY_TYPE_NONE    0
#define PLAY_TYPE_DVD     1
#define PLAY_TYPE_VCD     2
#define PLAY_TYPE_ISO     3
#define PLAY_TYPE_PCD     4
#define PLAY_TYPE_CDDA    5
#define PLAY_TYPE_AIN     6
#define TOTAL_PLAY_TYPE   7

EXTERN xdata BYTE _bPlayType;
#ifdef MPEG4_CHROMA_ERROR_WORKAROUND
EXTERN xdata BYTE _bPrePlayType;
#endif
EXTERN xdata BYTE _bJpgIdx;
void vSetPlayType(BYTE bType) large;
void vClearPlayType(void) large;

/* These macros is for 8032 temp use only */
#define fgIsNonPlay()  (_bPlayType == PLAY_TYPE_NONE)
#define fgIsDvdPlay()  (_bPlayType == PLAY_TYPE_DVD)
#define fgIsVcdPlay()  (_bPlayType == PLAY_TYPE_VCD)
#define fgIsIsoPlay()  (_bPlayType == PLAY_TYPE_ISO)
#define fgIsPcdPlay()  (_bPlayType == PLAY_TYPE_PCD)
#define fgIsCddaPlay() (_bPlayType == PLAY_TYPE_CDDA)
#define fgIsAinPlay()  (_bPlayType == PLAY_TYPE_AIN)

#define IS_SVCD_TYPE(a)      (a==SV_SVCD)
#define IS_VCD_TYPE(a)       ((a==SV_VCD3_0)||(a==SV_VCD2_0)||(a==SV_VCD1_1)||(a==SV_VCD6_0)||(a==SV_VCD6_1)||(a==SV_CVD))
#define IS_SACD_TYPE()       (fgIsIsoPlay() && bSharedInfo(SI_FS_FSTYPE) == FSTYPE_SACDFS)
#define IS_ISO_EXCEPT_SACD() (fgIsIsoPlay() && bSharedInfo(SI_FS_FSTYPE) != FSTYPE_SACDFS)
#define IS_CDDA_AND_SACD()   (fgIsCddaPlay() || IS_SACD_TYPE())

// *********************************************************************
// For share info update
// *********************************************************************
EXTERN xdata DWRD _dwIrDoneParm;
EXTERN xdata BYTE _bSMUpdate;

// *********************************************************************
// 8032 share info update and RISC handshaking internal states
// *********************************************************************
EXTERN xdata BYTE _bLastSyncUop; /* only for selected UOP */
EXTERN xdata BYTE _bLastPbcState;

// *********************************************************************
// For IR shift key
// *********************************************************************
#ifdef IR_SUPPORT_SHIFT_KEY
#define fgIsKeyTblShift()      (_fgIRShiftKey == TRUE)

void vSetShiftKeyMode(BOOL fgEnable) large;
#endif

// *********************************************************************
// For UI timer
// *********************************************************************
#define IR_TIMER_BEEP_PERIOD   50 /* based on 20ms 8032 timer */

#define IR_TIMER_TIMEOUT       0xff
#define IR_TIMER_VOID          0x00

#define IR_TIMEOUT_SEARCH      5
#define IR_TIMEOUT_AUDIO       5
#define IR_TIMEOUT_SUBTITLE    5
#define IR_TIMEOUT_ANGLE       5
#define IR_TIMEOUT_DISPLAY     8

EXTERN xdata BYTE _bIrTimerBeepCnt;
EXTERN xdata BYTE _bIrTimer;

void vIrSetTimeOut(BYTE bTime) large;

// *********************************************************************
// For Player timer
// *********************************************************************
#define PLAYER_TIMER_BEEP_PERIOD     24  /* about 0.5 sec. for 20ms timer */

EXTERN xdata BYTE _bPlayerTimerBeepCnt;

// *********************************************************************
// Screen Saver
// *********************************************************************
EXTERN xdata BYTE _bScrSaverBeepCnt;
EXTERN xdata BYTE _bScrSaverTimer;
EXTERN       BOOL _fgScrSaverOn;

#define SCR_SAVER_ON_BEEP_COUNT    2   /* 20ms base, 25Hz */

#define SCR_SAVER_OFF_BEEP_COUNT   250 /* 5 seconds */

#define fgIsScrSaverOn()           (_fgScrSaverOn == TRUE)
#define vSetScrSaverOn()           (_fgScrSaverOn = TRUE)
#define vSetScrSaverOff()          (_fgScrSaverOn = FALSE)

void vScrSaverSetTimeOut(BYTE bTime) large;

// *********************************************************************
// Player input mode
// *********************************************************************
typedef struct
{
  void (code *vInit)(BYTE fgInit) large;
  BOOL (code *fgState)(void) large;
  void (code *vExit)(void) large;
  BYTE bKeyShiftMode;
}

⌨️ 快捷键说明

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