www.pudn.com > dv981-hd.rar > SHAREINF.H
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 06/06/05 5:42p $ ****************/
/*************** $Revision: 5.0 $ ****************/
/*************** ****************/
/*************** Description : DVD Shared Data Item ****************/
/*************** ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Sung-Ching Lin ****************/
/**********************************************************************/
#ifndef _SHAREINF_H_
#define _SHAREINF_H_
// *********************************************************************
// Define shared gneral purpose register
// *********************************************************************
#define SR_OSDCMD_0 0x00
#define SR_OSDCMD_1 0x01
#define SR_OSDCMD_2 0x02
#define SR_OSDCMD_3 0x03
#define SR_AIN_FLAG 0x04
#define SR_ADAC_ST 0x05
#define SR_SRV_MODE 0x0c
#define SR_SRV_RBUF 0x0d
#define SR_SPIN_FLAG 0x0e
#define SR_SPIN_ST 0x0f
// *********************************************************************
// Define group number and item number per group
// *********************************************************************
#define SHARED_INFO_GRP_SIZE 32
#define SHARED_INFO_GRP_NS 256 /* 8K */
#define DSP_SHARED_INFO_GRP_NS 32 /* 1K */
#define DSP_SHAREINFO_OFST ((SHARED_INFO_GRP_NS - DSP_SHARED_INFO_GRP_NS) * SHARED_INFO_GRP_SIZE)
// *********************************************************************
// Routine to access shared data
// *********************************************************************
#define wSIItemPos(grp, idx) ((WORD)(((grp) << 5) | ((idx)-1)))
#define bSIItemGrp(pos) ((BYTE)((pos) >> 5))
#define bSIItemIndex(pos) ((BYTE)(pos & 0x1F))
#if defined(__C51__)
// FIXME: use definition in mt1369.h of risc code
# define SHAREMEM_OFST ((DWRD)(TOC_START_OFFSET + 0x800)) /* 0x37B000 */
// DSP share memory
# define DSP_SHAREDINFO_BASE (SHAREMEM_OFST + DSP_SHAREINFO_OFST)
#ifdef TRACE_WRONG_SINFO
BYTE bSharedInfo(WORD wPrm) large;
void vSetSharedInfo(WORD wPrm, BYTE bVal) large;
#else
# define bSharedInfo(prm) bReadSInfo(prm)
# define vSetSharedInfo(prm, val) WriteSInfo(prm, (val))
#endif
# define vBeginWriteSharedGrp(grp, val) vSetSharedInfo(wSIItemPos(grp, 1), (val))
# define vWriteNextSharedItem(val) WaitUCRdy(); WriteBIM(BIM_MDAT, (val));
# define bSharedReg(prm) bReadBIM((BIM_GPR0 + prm))
# define vSetSharedReg(prm, val) WriteBIM((BIM_GPR0 + prm), (val))
#else
# if defined(_GLOBAL_)
BYTE _bSharedGrpPtr;
BYTE _bSharedItemPtr;
# else
extern BYTE _bSharedGrpPtr;
extern BYTE _bSharedItemPtr;
# endif
# define bSharedInfo(prm) \
(*(volatile BYTE *)(_pbShareMem + (prm)))
# define vSetSharedInfo(prm, val) \
do \
{ \
bSharedInfo(prm) = val; \
} \
while(0)
# define vBeginWriteSharedGrp(grp, val) \
do \
{ \
_bSharedGrpPtr = grp; \
_bSharedItemPtr = 1; \
vSetSharedInfo(wSIItemPos((grp), 1), val); \
} \
while(0)
# define vWriteNextSharedItem(val) \
do \
{ \
_bSharedItemPtr++; \
vSetSharedInfo(wSIItemPos(_bSharedGrpPtr, _bSharedItemPtr), val); \
} \
while(0)
#define vGetSharedItemAddr(item) (&bSharedInfo(item))
#define vGetSharedGrpAddr(grp) (&bSharedInfo(wSIItemPos(grp, 1)))
#endif
// *********************************************************************
// Routine to notify shared data changed
// *********************************************************************
#if defined(__C51__)
void vNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3) large;
void vNotifySharedGroup(BYTE bGroup) large;
void vNotifyDspSharedInfo(DWRD dwId) large;
void vWriteDspSharedBInfo(WORD wAddr, BYTE bVal) large;
void vWriteDspSharedWInfo(WORD wAddr, WORD wVal) large;
void vWriteDspSharedDInfo(WORD wAddr, DWRD dwVal) large;
BYTE bReadDspSharedBInfo(WORD wAddr) large;
WORD wReadDspSharedWInfo(WORD wAddr) large;
DWRD dwReadDspSharedDInfo(WORD wAddr) large;
#else
void vNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3);
void vNotifySharedGroup(BYTE bGroup);
void vUopNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3);
void vUopNotifySharedGroup(BYTE bGroup);
#endif
// *********************************************************************
// Shared data group
// *********************************************************************
#define SI_SERVO_GRP 0
#define SI_GENERAL_SETUP_GRP 1
#define SI_VIDEO_SETUP_GRP 2
#define SI_VIDEO_SETUP_GRP1 3
#define SI_PBC_GRP 4
#define SI_NV_GRP 5
#define SI_STREAM_STATUS_GRP 6
#define SI_AUDIO_STATUS_GRP 7
#define SI_DDISC_GRP 8
#define SI_USR_CTRL_GRP 9
#define SI_USR_PROGRAM_INF_GRP1 10
#define SI_USR_PROGRAM_INF_GRP2 11
#define SI_USR_PROGRAM_INF_GRP3 12
#define SI_USR_PROGRAM_INF_GRP4 13
#define SI_USR_PROGRAM_INF_GRP5 14
#define SI_FSMENU_ITEM_REGION_GRP 15
#define SI_JPG_THUMBNAIL_GRP 16
#define SI_FS_GRP 17
#define SI_MP3_GRP 18
#define SI_TIME_INFO_GRP 19
#define SI_JPG_GRP 20
#define SI_VOLUME_GRP 21
#define SI_VIDEO_2 22
#define SI_OSD_CMD_PRM_GRP 23
#define SI_SHM_FIFO_GRP 24
#define SI_SHM_FIFO_GRP_1 25
#define SI_SHM_FIFO_GRP_2 26
#define SI_SHM_FIFO_GRP_3 27
#define SI_SHM_CFG_GRP 28
#define SI_UOP_ERR_RET_GRP 29
#define SI_RISC_CONFIG_GRP 30
#define SI_SHM_FWVER_GRP 31
#define SI_ITEM_INFO_GRP 32 /* group 32 ~ 35, total 128 bytes */
#define SI_USR_BOOKMARK_INF_GRP1 36
#define SI_USR_BOOKMARK_INF_GRP2 37
#define SI_USR_BOOKMARK_INF_GRP3 38
#define SI_UPG_VOLUME 39
#define SI_UPG_FILE 40
#define SI_CC_BUF 41
#define SI_CC_BUF2 42
#define SI_CC_BUF3 43
#define SI_CC_BUF4 44
#define SI_CC_BUF5 45
#define SI_CC_BUF6 46
#define SI_CC_BUF7 47
#define SI_CC_BUF8 48
#define SI_AB_REPEAT_INF_GRP 49
#define SI_PWD_FILENAME_GRP 51
#define SI_PWD_STRING_GRP_0 52
#define SI_PWD_STRING_GRP_1 53
#define SI_SPTM_DATA_GRP 54
#define SI_MEMORY_GRP 55
#define SI_MEM_LIST_GRP 56
#define SI_JPG_GRP_1 57
#define SI_UOP_RET_GRP 59
#define SI_UOP_RET_GRP_1 60
#define SI_UOP_RET_GRP_2 61
#define SI_UOP_RET_GRP_3 62
// - grp for MPEG file module
#define SI_MPIC_GRP 63
// - grp for fs menu
#define SI_FSMENU_COMMAND_GRP_0 64
#define SI_FSMENU_COMMAND_GRP_1 65
#define SI_FSMENU_ICON_SET_GRP 66
// - we provide max 4 file lists concurrently
#define SI_FL_LIST_0 67
#define SI_FL_LIST_1 68
#define SI_FL_LIST_2 69
#define SI_FL_LIST_3 70
// - we provide max 14 items for list item buffer
// NOTE: all list share the same item buffer, and one group
// can keep 2 items
#define SI_FL_ITEM_0 71
#define SI_FL_ITEM_2 72
#define SI_FL_ITEM_4 73
#define SI_FL_ITEM_6 74
#define SI_FL_ITEM_8 75
#define SI_FL_ITEM_10 76
#define SI_FL_ITEM_12 77
#define SI_FL_ITEM_14 78
#define SI_FSMENU_PROPERTY_GRP 79
#define SI_DDISC_VOL_GRP 80
#define SI_FS_FTYPE_CNT_GRP 81 // - file type counter group
#define SI_DFI_GRP 82 /* group for DFI update */
//
// - mark the latest group for fsmenu
//
#define SI_FSMENU_LAST_GRP 95
#ifdef P_DEVICE_DEBUG
// - For the debug mode use
#define SI_PDEVICE_DEBUG_GRP 96
#endif
// For DVD-AUDIO
#define SI_CPPM_KEY_GRP_0 97
#define SI_CPPM_KEY_GRP_1 98
#define SI_CPPM_KEY_GRP_2 99
#define SI_CPPM_KEY_GRP_3 100
#define SI_CPPM_KEY_GRP_4 101
#define SI_CPPM_KEY_GRP_5 102
// 020826
#define SI_AUD_LCD_GRP 103
#define SI_SP_LCD_GRP0 104
#define SI_SP_LCD_GRP1 105
// 021223 DVD-Video Text Data
#define SI_DVD_TXT_GRP_0 106
#define SI_DVD_TXT_GRP_11 107
// 030220 PSCAN PARAMETER
#define SI_PSCAN_PARM 108
#define SI_VIDEO_SETUP_GRP3 109
// 030821 MPEG4 options
#define SI_MP4_GRP 110
#define SI_OSD_GRP 111
#define SI_CODE_PATCH 112
#define SI_DRM_MEM0 113 // if not define DRM_SUPPORT, this two groups can be used with other function
#define SI_DRM_MEM1 114
#define SI_SRT_GRP0 115
#define SI_SRT_GRP1 116
#define SI_SRT_GRP2 117
#define SI_SRT_GRP3 118
#define SI_SACD_GRP 119
#define SI_DEVMNG_GRP 121
#define SI_DEVMNG_PROG_GRP 122
#define SI_ERROR_CODE 123
#define SI_HDMI_GRP 124
// Notice: one block is 128 bytes = 4 shared info. groups
#define SI_HDCP_KSV_FIFO0_GRP 125 //for KSV FIFO, V software comapre
#define SI_HDCP_KSV_FIFO1_GRP 126
#define SI_HDCP_KSV_FIFO2_GRP 127
#define SI_HDCP_KSV_FIFO3_GRP 128
#define SI_HDCP_KSV_FIFO4_GRP 129 //20byte V
#define SI_HDCP_HASH_GRP 130 //store 20byte V'
#define SI_EDID_BLOCK0_GRP 131//0X76DC60
#define SI_EDID_BLOCK1_GRP 135//0X76DCE0
#define SI_EDID_BLOCK2_GRP 139
#define SI_EDID_BLOCK3_GRP 143
// Notice: HDCP group occupies 9 shareinfo group. (from 147 ~ 155)
//#define SI_HDCP_GRP 147
#define SI_AVI_INFOFRAME_GRP 157//156
//Extra group for passing info between 8032 and RISC
#define SI_EXTRA_GRP 156
/* the last groups used for serial EEPROM shadow */
#define SI_LAST_GRP (SHARED_INFO_GRP_NS - DSP_SHARED_INFO_GRP_NS) /* total 224 groups */
#ifdef SHARED_LASTMEM_SLOT
#define SHARED_LASTMEM_GRP_NO ((BYTE)((SHARED_LAST_MEM_SIZE + 31) / 32))
#define SI_SHARED_LASTMEM_GRP_ID (SI_LAST_GRP - SHARED_LASTMEM_GRP_NO)
#define SI_LASTMEM_GRP_ID SI_SHARED_LASTMEM_GRP_ID
/* for EEPROM shadow memory */
#define EEPROM_SHADOW_GRP_NO ((BYTE)((EEPROM_GENERAL_SIZE + EEPROM_WRITE_OFFSET + 31) / 32))
#define SI_EEPROM_SHADOW_GRP (SI_SHARED_LASTMEM_GRP_ID - EEPROM_SHADOW_GRP_NO)
#else /* seperate last memory slot, not define SHARED_LASTMEM_SLOT */
/* for CDDA/DVD/VCD last memory play group */
#define CDDA_LASTMEM_GRP_NO ((BYTE)((CDDA_LAST_MEM_SIZE + 31) / 32))
#define SI_CDDA_LASTMEM_GRP_ID (SI_LAST_GRP - CDDA_LASTMEM_GRP_NO)
#define DVD_LASTMEM_GRP_NO ((BYTE)((DVD_LAST_MEM_SIZE + 31) / 32))
#define SI_DVD_LASTMEM_GRP_ID (SI_CDDA_LASTMEM_GRP_ID - DVD_LASTMEM_GRP_NO)
#define VCD_LASTMEM_GRP_NO ((BYTE)((VCD_LAST_MEM_SIZE + 31) / 32))
#define SI_VCD_LASTMEM_GRP_ID (SI_DVD_LASTMEM_GRP_ID - VCD_LASTMEM_GRP_NO)
#define DDISC_LASTMEM_GRP_NO ((BYTE)((DDISC_LAST_MEM_SIZE + 31) / 32))
#define SI_DDISC_LASTMEM_GRP_ID (SI_VCD_LASTMEM_GRP_ID - DDISC_LASTMEM_GRP_NO)
#define SI_LASTMEM_GRP_ID SI_DDISC_LASTMEM_GRP_ID
/* for EEPROM shadow memory */
#define EEPROM_SHADOW_GRP_NO ((BYTE)((EEPROM_GENERAL_SIZE + EEPROM_WRITE_OFFSET + 31) / 32))
#define SI_EEPROM_SHADOW_GRP (SI_DDISC_LASTMEM_GRP_ID - EEPROM_SHADOW_GRP_NO)
#endif /* seperate last memory slot, not define SHARED_LASTMEM_SLOT */
/* for 8032 working data */
#define SI_USER_DATA_GRP (SI_EEPROM_SHADOW_GRP - SI_USER_DATA_GRP_NO)
/* for VFD working and update shadow memory */
#define VFD_SHADOW_GRP_NO ((BYTE)((VFD_SHADOW_TOTAL_SZ + 31) / 32))
#define SI_VFD_SHADOW_GRP (SI_USER_DATA_GRP - VFD_SHADOW_GRP_NO)
#define SI_CC_BUF_SZ 224
#define SV_CC_CMD_NONE 0
#define SV_CC_CMD_WRITE 1
#define SV_CC_CMD_ERASE 2
#define SV_CC_CMD_ERASE_ND 3
#ifdef SUPPORT_DRM
#define fgIsDRMUpdate(bGroup) (bGroup==SI_DRM_MEM1)
#endif
// *********************************************************************
// Share memory group
// *********************************************************************
#define fgIsFsMenuUpdate(bGroup) ((bGroup == SI_DDISC_GRP) || \
(bGroup == SI_JPG_GRP) || \
(bGroup == SI_MP3_GRP) || \
(bGroup == SI_MPIC_GRP) || \
(bGroup == SI_FSMENU_COMMAND_GRP_0) || \
(bGroup == SI_FSMENU_COMMAND_GRP_1))
// *********************************************************************
// Shared data item
// *********************************************************************
// Group 0: Servo, Flag
#define SI_SRV_RDY wSIItemPos(SI_SERVO_GRP, 1)
#define SI_MEDIUM_TYPE wSIItemPos(SI_SERVO_GRP, 2)
#define SI_TRAY_STATE wSIItemPos(SI_SERVO_GRP, 3)
#define SI_SRV_BOOT_STATE wSIItemPos(SI_SERVO_GRP, 4)
#define SI_RCLK_FULL wSIItemPos(SI_SERVO_GRP, 5)
#define SI_RCLK_1 wSIItemPos(SI_SERVO_GRP, 6)
#define SI_RCLK_2 wSIItemPos(SI_SERVO_GRP, 7)
#define SI_RCLK_IDLE wSIItemPos(SI_SERVO_GRP, 8)
#define SI_DRAM_CFG wSIItemPos(SI_SERVO_GRP, 9)
#define SI_DRAM_BW wSIItemPos(SI_SERVO_GRP, 10)
#define SI_SRV_DATA_READ_TIMEOUT wSIItemPos(SI_SERVO_GRP, 13)
#define SI_SRVRD_ABT wSIItemPos(SI_SERVO_GRP, 14)
#define SI_BCA_READY wSIItemPos(SI_SERVO_GRP, 17)
#define SI_FLASH_CFG wSIItemPos(SI_SERVO_GRP, 19)
#define SI_FLASH_OFFSET_HI wSIItemPos(SI_SERVO_GRP, 20)
#define SI_FLASH_OFFSET_MID wSIItemPos(SI_SERVO_GRP, 21)
#define SI_FLASH_OFFSET_LO wSIItemPos(SI_SERVO_GRP, 22)
#define SI_CD_TOTAL_BLK_LO wSIItemPos(SI_SERVO_GRP, 29)
#define SI_CD_TOTAL_BLK_HI wSIItemPos(SI_SERVO_GRP, 30)
#define SI_DVD_TOTAL_BLK_LO wSIItemPos(SI_SERVO_GRP, 31)
#define SI_DVD_TOTAL_BLK_HI wSIItemPos(SI_SERVO_GRP, 32)
// Group 1: General Setup
#define SI_SCR_SAVE_SWITCH wSIItemPos(SI_GENERAL_SETUP_GRP, 1)
#define SI_PTL_LV wSIItemPos(SI_GENERAL_SETUP_GRP, 2)
#define SI_USR_PTL_CTY_CD_0 wSIItemPos(SI_GENERAL_SETUP_GRP, 3)
#define SI_USR_PTL_CTY_CD_1 wSIItemPos(SI_GENERAL_SETUP_GRP, 4)
#define SI_USR_MENU_LCD_0 wSIItemPos(SI_GENERAL_SETUP_GRP, 5)
#define SI_USR_MENU_LCD_1 wSIItemPos(SI_GENERAL_SETUP_GRP, 6)
#define SI_USR_AU_LCD_0 wSIItemPos(SI_GENERAL_SETUP_GRP, 7)
#define SI_USR_AU_LCD_1 wSIItemPos(SI_GENERAL_SETUP_GRP, 8)
#define SI_USR_SP_LCD_0 wSIItemPos(SI_GENERAL_SETUP_GRP, 9)
#define SI_USR_SP_LCD_1 wSIItemPos(SI_GENERAL_SETUP_GRP, 10)
#define SI_TV_SYSTEM wSIItemPos(SI_GENERAL_SETUP_GRP, 11)
#define SI_ASPECT_RATIO wSIItemPos(SI_GENERAL_SETUP_GRP, 12)
#define SI_PS_OFST_HI wSIItemPos(SI_GENERAL_SETUP_GRP, 13)
#define SI_PS_OFST_LO wSIItemPos(SI_GENERAL_SETUP_GRP, 14)
#define SI_PRGS_OUT_SWITCH wSIItemPos(SI_GENERAL_SETUP_GRP, 15)
#define SI_FORCE_FULL_SCR wSIItemPos(SI_GENERAL_SETUP_GRP, 16)
#define SI_OSD_CMD_BUF_FULL wSIItemPos(SI_GENERAL_SETUP_GRP, 17)
#define SI_OSD_STATE wSIItemPos(SI_GENERAL_SETUP_GRP, 18)
#define SI_CC_SWITCH wSIItemPos(SI_GENERAL_SETUP_GRP, 20)
#define SI_OSD_CC wSIItemPos(SI_GENERAL_SETUP_GRP, 21)
#define SI_DVD_PRIO wSIItemPos(SI_GENERAL_SETUP_GRP, 24)
#define SI_SACD_PRIO wSIItemPos(SI_GENERAL_SETUP_GRP, 25)
#define SI_VCD_PBC_OFF wSIItemPos(SI_GENERAL_SETUP_GRP, 30)
#define SI_DVD_AUDIO_USR_AST wSIItemPos(SI_GENERAL_SETUP_GRP, 31)
#define SI_REGION wSIItemPos(SI_GENERAL_SETUP_GRP, 32)
// Group 2: Video Setup
#define SI_EDGE_EN wSIItemPos(SI_VIDEO_SETUP_GRP, 1)
#define SI_SHARPNESS wSIItemPos(SI_VIDEO_SETUP_GRP, 2)
#define SI_GAMMA wSIItemPos(SI_VIDEO_SETUP_GRP, 3)
#define SI_HUE wSIItemPos(SI_VIDEO_SETUP_GRP, 4)
#define SI_BLK_LVL wSIItemPos(SI_VIDEO_SETUP_GRP, 5)
// Close Caption
#define SI_CC_CMD wSIItemPos(SI_VIDEO_SETUP_GRP, 6)
#define SI_CC_VALID wSIItemPos(SI_VIDEO_SETUP_GRP, 6)
#define SI_CC_BYTECNT wSIItemPos(SI_VIDEO_SETUP_GRP, 7)
#define SI_CC_RP wSIItemPos(SI_VIDEO_SETUP_GRP, 8)
#define SI_CC_WP wSIItemPos(SI_VIDEO_SETUP_GRP, 9)
#define SI_LUMINANCE wSIItemPos(SI_VIDEO_SETUP_GRP, 10)
#define SI_TVE_MODE wSIItemPos(SI_VIDEO_SETUP_GRP, 11)
#define SI_PIC_MODE wSIItemPos(SI_VIDEO_SETUP_GRP, 12)
#define SI_TVEFMTOK wSIItemPos(SI_VIDEO_SETUP_GRP, 13)
#define SI_VBI_SIGNAL wSIItemPos(SI_VIDEO_SETUP_GRP, 14)
#define SI_TVE_MISC wSIItemPos(SI_VIDEO_SETUP_GRP, 15)
#define SI_TVE_MVTYPE wSIItemPos(SI_VIDEO_SETUP_GRP, 16)
// SI_LOGO_COLOR shall be the same position as SI_LOGO_CLR_Y
// SI_LOGO_CLR_Y must be dword aligned, and this is for UOP_SHOW_LOGO
#define SI_LOGO_COLOR wSIItemPos(SI_VIDEO_SETUP_GRP, 17)
#define SI_LOGO_CLR_Y wSIItemPos(SI_VIDEO_SETUP_GRP, 17)
#define SI_LOGO_CLR_CB wSIItemPos(SI_VIDEO_SETUP_GRP, 18)
#define SI_LOGO_CLR_CR wSIItemPos(SI_VIDEO_SETUP_GRP, 19)
#define SI_NTSC_ADJUST_H wSIItemPos(SI_VIDEO_SETUP_GRP, 20)
#define SI_NTSC_ADJUST_V wSIItemPos(SI_VIDEO_SETUP_GRP, 21)
#define SI_PAL_ADJUST_H wSIItemPos(SI_VIDEO_SETUP_GRP, 22)
#define SI_PAL_ADJUST_V wSIItemPos(SI_VIDEO_SETUP_GRP, 23)
#define SI_OSD_NTSC_ADJUST_H wSIItemPos(SI_VIDEO_SETUP_GRP, 24)
#define SI_OSD_NTSC_ADJUST_V wSIItemPos(SI_VIDEO_SETUP_GRP, 25)
#define SI_OSD_PAL_ADJUST_H wSIItemPos(SI_VIDEO_SETUP_GRP, 26)
#define SI_OSD_PAL_ADJUST_V wSIItemPos(SI_VIDEO_SETUP_GRP, 27)
#define SI_VDO_CFG_SET wSIItemPos(SI_VIDEO_SETUP_GRP, 28)
#define SI_PAL_BURST wSIItemPos(SI_VIDEO_SETUP_GRP, 29)
#define SI_NTSC_BURST wSIItemPos(SI_VIDEO_SETUP_GRP, 30)
#define SI_DIGITAL_OUT_FORMAT wSIItemPos(SI_VIDEO_SETUP_GRP, 31)
#define SI_CVBS2_OUTPUT wSIItemPos(SI_VIDEO_SETUP_GRP, 32) //if 1, CVBS2 on G, while 0, CVBS2 on R
// Group 3: Video Setup
#define SI_PAL_YSCALE wSIItemPos(SI_VIDEO_SETUP_GRP1, 1)
#define SI_PAL_CVBS_UGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 2)
#define SI_PAL_CVBS_VGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 3)
#define SI_NTSC_YSCALE wSIItemPos(SI_VIDEO_SETUP_GRP1, 4)
#define SI_NTSC_CVBS_UGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 5)
#define SI_NTSC_CVBS_VGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 6)
#define SI_G_SYNC wSIItemPos(SI_VIDEO_SETUP_GRP1, 7)
#define SI_YCBCR_YGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 8)
#define SI_YCBCR_UGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 9)
#define SI_YCBCR_VGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 10)
#define SI_RGB_YGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 11)
#define SI_RGB_UGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 12)
#define SI_RGB_VGAIN wSIItemPos(SI_VIDEO_SETUP_GRP1, 13)
#define SI_TV_SYSTEM_30 wSIItemPos(SI_VIDEO_SETUP_GRP1, 14)
#define SI_TV_SYSTEM_25 wSIItemPos(SI_VIDEO_SETUP_GRP1, 15)
#define SI_MV_TYPE wSIItemPos(SI_VIDEO_SETUP_GRP1, 16)
#define SI_V_HUE_0 wSIItemPos(SI_VIDEO_SETUP_GRP1, 17)
#define SI_V_HUE_1 wSIItemPos(SI_VIDEO_SETUP_GRP1, 18)
#define SI_V_HUE_2 wSIItemPos(SI_VIDEO_SETUP_GRP1, 19)
#define SI_V_HUE_3 wSIItemPos(SI_VIDEO_SETUP_GRP1, 20)
#define SI_V_HUE_4 wSIItemPos(SI_VIDEO_SETUP_GRP1, 21)
#define SI_V_HUE_5 wSIItemPos(SI_VIDEO_SETUP_GRP1, 22)
#define SI_V_HUE_6 wSIItemPos(SI_VIDEO_SETUP_GRP1, 23)
#define SI_V_HUE_7 wSIItemPos(SI_VIDEO_SETUP_GRP1, 24)
#define SI_V_BRIGHTNESS wSIItemPos(SI_VIDEO_SETUP_GRP1, 25)
#define SI_V_CONTRAST wSIItemPos(SI_VIDEO_SETUP_GRP1, 26)
#define SI_V_SATURATION wSIItemPos(SI_VIDEO_SETUP_GRP1, 27)
#define SI_V_EDGE_0 wSIItemPos(SI_VIDEO_SETUP_GRP1, 28)
#define SI_V_EDGE_1 wSIItemPos(SI_VIDEO_SETUP_GRP1, 29)
#define SI_V_EDGE_2 wSIItemPos(SI_VIDEO_SETUP_GRP1, 30)
#define SI_V_EDGE_3 wSIItemPos(SI_VIDEO_SETUP_GRP1, 31)
#define SI_V_EDGE_4 wSIItemPos(SI_VIDEO_SETUP_GRP1, 32)
// Group 4: PBC status
#define SI_INIT_STATE wSIItemPos(SI_PBC_GRP, 1)
#define SI_DISC_TYPE wSIItemPos(SI_PBC_GRP, 2)
#define SI_PBC_SWITCH wSIItemPos(SI_PBC_GRP, 3)
#define SI_PBC_STATE wSIItemPos(SI_PBC_GRP, 4)
#define SI_PBC_SPEED wSIItemPos(SI_PBC_GRP, 5)
#define SI_ZOOM_OFST_X_HI wSIItemPos(SI_PBC_GRP, 6)
#define SI_ZOOM_OFST_X_LO wSIItemPos(SI_PBC_GRP, 7)
#define SI_ZOOM_OFST_Y_HI wSIItemPos(SI_PBC_GRP, 8)
#define SI_ZOOM_OFST_Y_LO wSIItemPos(SI_PBC_GRP, 9)
#define SI_ZOOM_SWITCH wSIItemPos(SI_PBC_GRP, 10)
#define SI_USR_PBC_CTRL wSIItemPos(SI_PBC_GRP, 11)
#define SI_SCR_SAVE_STATE wSIItemPos(SI_PBC_GRP, 13)
#define SI_USR_AUX_CTRL wSIItemPos(SI_PBC_GRP, 14) // for Repeat A-B, and so on
#define SI_REPEAT_MODE wSIItemPos(SI_PBC_GRP, 15)
#define SI_AB_STATE wSIItemPos(SI_PBC_GRP, 18)
#define SI_REC_PROGRESS wSIItemPos(SI_PBC_GRP, 19)
#define SI_HIDDEN_PASSWD0 wSIItemPos(SI_PBC_GRP, 20)
#define SI_HIDDEN_PASSWD1 wSIItemPos(SI_PBC_GRP, 21)
#define SI_PLAY_STOP wSIItemPos(SI_PBC_GRP, 24)
#define SI_UPGRADE_ST wSIItemPos(SI_PBC_GRP, 27)
#define SI_VCD_MENU_IDX wSIItemPos(SI_PBC_GRP, 29)
#ifdef MT1379_MANUFACTURE_TEST
#define SI_MANU_TEST_ST wSIItemPos(SI_PBC_GRP, 30)
#endif
#define SI_SWTICH_MDEIA wSIItemPos(SI_PBC_GRP, 32)
// Group 5: NV
#define SI_AGL_NS wSIItemPos(SI_NV_GRP, 1)
#define SI_AGL_NO wSIItemPos(SI_NV_GRP, 2)
#define SI_TT_NS wSIItemPos(SI_NV_GRP, 3)
#define SI_TT_NO wSIItemPos(SI_NV_GRP, 4)
#define SI_GRP_NS wSIItemPos(SI_NV_GRP, 3)
#define SI_GRP_NO wSIItemPos(SI_NV_GRP, 4)
#define SI_PTT_NS wSIItemPos(SI_NV_GRP, 3)
#define SI_PTT_NO wSIItemPos(SI_NV_GRP, 4)
#define SI_TRACK_NS wSIItemPos(SI_NV_GRP, 5)
#define SI_TRACK_NO wSIItemPos(SI_NV_GRP, 6)
#define SI_CHAP_NS wSIItemPos(SI_NV_GRP, 5) /* same position as track */
#define SI_CHAP_NO wSIItemPos(SI_NV_GRP, 6) /* same position as track */
#define SI_FILE_NS_LO wSIItemPos(SI_NV_GRP, 3) /* same position as track */
#define SI_FILE_NS_HI wSIItemPos(SI_NV_GRP, 4) /* same position as track */
#define SI_FILE_NO_LO wSIItemPos(SI_NV_GRP, 5) /* same position as track */
#define SI_FILE_NO_HI wSIItemPos(SI_NV_GRP, 6) /* same position as track */
#define SI_DVD_DOM wSIItemPos(SI_NV_GRP, 7)
#define SI_VCD_DOM wSIItemPos(SI_NV_GRP, 7) /* same position as DVD */
#define SI_DVD_MENU_TYPE wSIItemPos(SI_NV_GRP, 8)
#define SI_STILL_SWITCH wSIItemPos(SI_NV_GRP, 9)
#define SI_UOP_CTRL_0 wSIItemPos(SI_NV_GRP, 10)
#define SI_UOP_CTRL_1 wSIItemPos(SI_NV_GRP, 11)
#define SI_UOP_CTRL_2 wSIItemPos(SI_NV_GRP, 12)
#define SI_UOP_CTRL_3 wSIItemPos(SI_NV_GRP, 13)
#define SI_INDEX_NS wSIItemPos(SI_NV_GRP, 14)
#define SI_INDEX_NO wSIItemPos(SI_NV_GRP, 15)
// new added
#define SI_SCENE_NS_LO wSIItemPos(SI_NV_GRP, 10) // VCD/SVCD only
#define SI_SCENE_NS_HI wSIItemPos(SI_NV_GRP, 11) // VCD/SVCD only
#define SI_SCENE_NO_LO wSIItemPos(SI_NV_GRP, 12) // VCD/SVCD only
#define SI_SCENE_NO_HI wSIItemPos(SI_NV_GRP, 13) // VCD/SVCD only
#define SI_SVD_STILL_PIC wSIItemPos(SI_NV_GRP, 14) // VCD/SVCD only
// end new added
#define SI_SPOTLIGHT_NS wSIItemPos(SI_NV_GRP, 16)
#define SI_GROUP_END wSIItemPos(SI_NV_GRP, 17)
#define SI_HLI_STATE wSIItemPos(SI_NV_GRP, 18)
#define SI_LONGEST_TT wSIItemPos(SI_NV_GRP, 19) // 030721: for longest title number (max_ptt)
#define SI_PBC_CTRL_VALID wSIItemPos(SI_NV_GRP, 20)
#define SI_ASPECT_CHG_VALID wSIItemPos(SI_NV_GRP, 21)
#define SI_MENU_SEL_RNG_START wSIItemPos(SI_NV_GRP, 22)
#define SI_MENU_SEL_RNG_END wSIItemPos(SI_NV_GRP, 23)
#define SI_SP_SWITCH wSIItemPos(SI_NV_GRP, 24)
#define SV_SP_ALL_OFF (0x1)
#define SV_SP_TT_OFF (0x1 << 1)
#define SI_HIDE_HGR wSIItemPos(SI_NV_GRP, 25)
//#define SI_SP_N2P_SCALE wSIItemPos(SI_NV_GRP, 26)
#define SI_ASV_NS wSIItemPos(SI_NV_GRP, 27)
#define SI_ASV_NO wSIItemPos(SI_NV_GRP, 28)
#define SI_ASVU_NO wSIItemPos(SI_NV_GRP, 29)
#define SI_DLIST_NS wSIItemPos(SI_NV_GRP, 30)
#define SI_DLIST_NO wSIItemPos(SI_NV_GRP, 31)
#define SI_ASV_MODE wSIItemPos(SI_NV_GRP, 32)
// Group 6: Stream Status
#define SI_V_CODE_MODE wSIItemPos(SI_STREAM_STATUS_GRP, 1)
#define SI_AST_NS wSIItemPos(SI_STREAM_STATUS_GRP, 2)
#define SI_AST_NO wSIItemPos(SI_STREAM_STATUS_GRP, 3)
#define SI_A_CODE_MODE wSIItemPos(SI_STREAM_STATUS_GRP, 4)
#define SI_A_CH_CFG wSIItemPos(SI_STREAM_STATUS_GRP, 5) // by NV
#define SI_DSP_CH_CFG wSIItemPos(SI_STREAM_STATUS_GRP, 6) // by DSP
#define SI_A_LCD_0 wSIItemPos(SI_STREAM_STATUS_GRP, 7)
#define SI_A_LCD_1 wSIItemPos(SI_STREAM_STATUS_GRP, 8)
#define SI_A_APPL_MODE wSIItemPos(SI_STREAM_STATUS_GRP, 9)
#define SI_SPST_NS wSIItemPos(SI_STREAM_STATUS_GRP, 10)
#define SI_SPST_NO wSIItemPos(SI_STREAM_STATUS_GRP, 11)
#define SI_SP_LCD_0 wSIItemPos(SI_STREAM_STATUS_GRP, 12)
#define SI_SP_LCD_1 wSIItemPos(SI_STREAM_STATUS_GRP, 13)
#define SI_ISO_ITEM_TYPE wSIItemPos(SI_STREAM_STATUS_GRP, 14)
#define SI_VCD_ITEM_TYPE wSIItemPos(SI_STREAM_STATUS_GRP, 14) /* same as SI_ISO_ITEM_TYPE */
// MPEG Video Parameter Information
#define SI_V_BITRATE0 wSIItemPos(SI_STREAM_STATUS_GRP, 15) /* WORD alingment */
#define SI_V_BITRATE1 wSIItemPos(SI_STREAM_STATUS_GRP, 16)
#define SI_BITRATE0 wSIItemPos(SI_STREAM_STATUS_GRP, 19) /* WORD alingment */
#define SI_BITRATE1 wSIItemPos(SI_STREAM_STATUS_GRP, 20)
#define SI_V_HSIZE_L wSIItemPos(SI_STREAM_STATUS_GRP, 21) /* DWRD alingment */
#define SI_V_HSIZE_H wSIItemPos(SI_STREAM_STATUS_GRP, 22)
#define SI_V_VSIZE_L wSIItemPos(SI_STREAM_STATUS_GRP, 23)
#define SI_V_VSIZE_H wSIItemPos(SI_STREAM_STATUS_GRP, 24)
#define SI_V_FRAMERATE wSIItemPos(SI_STREAM_STATUS_GRP, 25)
#define SI_SRC_ASPECT_RATIO wSIItemPos(SI_STREAM_STATUS_GRP, 27) //020802
#define SI_V_4_3 wSIItemPos(SI_STREAM_STATUS_GRP, 28) /* SV_4_3 or SV_16_9 */
#define SI_NTSC_PAL wSIItemPos(SI_STREAM_STATUS_GRP, 29)
#define SI_DSP_VOICE_STATE wSIItemPos(SI_STREAM_STATUS_GRP, 30)
// Group 7: Audio Status
#define SI_KARAOKE_SWITCH wSIItemPos(SI_AUDIO_STATUS_GRP, 1)
#define SI_VOCAL_MODE wSIItemPos(SI_AUDIO_STATUS_GRP, 2)
#define SI_A_FREQ wSIItemPos(SI_AUDIO_STATUS_GRP, 3) // output frequency
#define SI_A_BITLEN wSIItemPos(SI_AUDIO_STATUS_GRP, 4)
#define SI_A_BITRATE0 wSIItemPos(SI_AUDIO_STATUS_GRP, 5) /* WORD alingment */
#define SI_A_BITRATE1 wSIItemPos(SI_AUDIO_STATUS_GRP, 6)
#define SI_A_UPSAMPLING wSIItemPos(SI_AUDIO_STATUS_GRP, 7)
#define SI_A_SRC_FREQ wSIItemPos(SI_AUDIO_STATUS_GRP, 8) // source frequency
#define SI_A_FREQ_DVD_AUDIO wSIItemPos(SI_AUDIO_STATUS_GRP, 9)
#define SI_DVD_ARBUF_THR wSIItemPos(SI_AUDIO_STATUS_GRP, 10)
#define SI_A_EFFECT_0 wSIItemPos(SI_AUDIO_STATUS_GRP, 13) /* DWRD alingment */
#define SI_A_EFFECT_1 wSIItemPos(SI_AUDIO_STATUS_GRP, 14)
#define SI_A_EFFECT_2 wSIItemPos(SI_AUDIO_STATUS_GRP, 15)
#define SI_A_EFFECT_3 wSIItemPos(SI_AUDIO_STATUS_GRP, 16)
#define SI_A_INPUT_TYPE wSIItemPos(SI_AUDIO_STATUS_GRP, 17) // BYTE
#define SI_A_SAMPING_RATE wSIItemPos(SI_AUDIO_STATUS_GRP, 18) // BYTE Input sampling rate
// LLY.1030, add two shared info to keep LPCM bit resolution and sample frequency
#define SI_LPCM_FREQ wSIItemPos(SI_AUDIO_STATUS_GRP, 19) // sample frequency
#define SI_LPCM_BIT wSIItemPos(SI_AUDIO_STATUS_GRP, 20) // bit resolution
// GROUP FOR FILE SYSTEM MODULE CONFIG. AND RUNTIME INFO. UPDATE
#define SI_FS_START wSIItemPos(SI_FS_GRP, 1)
/* config */
#define SI_FS_FTYPE_SUPPORT wSIItemPos(SI_FS_GRP, 1) // - file type support
#define SI_FS_FTYPE_SUPPORT2 wSIItemPos(SI_FS_GRP, 2) // - file type support
#define SI_FS_TREAT_EMPTY_AS_UNKNOWN wSIItemPos(SI_FS_GRP, 3) // - treat empty disc as unknown
#define SI_FS_READ_DISC_RETRY wSIItemPos(SI_FS_GRP, 4) // - retry times for disc reading error
#define SI_FS_ENB_CDFS wSIItemPos(SI_FS_GRP, 5) // - treat audio track as *.cda
#define SI_FS_ENB_DFS_FROM_ROOT wSIItemPos(SI_FS_GRP, 6) // - enable depth-first-search from root
#define SI_FS_PRE_SESSION_MODE wSIItemPos(SI_FS_GRP, 7) // - pre-session mode
#define SI_FS_DISABLE_GOP_AT_FAT wSIItemPos(SI_FS_GRP, 8)
#define SI_JOLIET_LEVEL wSIItemPos(SI_FS_GRP, 9)
/* reserved field (6 ~ 9) */
/* DISC info (these fields are designed for "FS_MENU" */
#define SI_FS_FSTYPE wSIItemPos(SI_FS_GRP, 10) // - file system type
/* working area setting */
#define SI_FS_WA_SZ wSIItemPos(SI_FS_GRP, 11) // - working area size in byte (max: 256)
#define SI_FS_WA_SA_B1 wSIItemPos(SI_FS_GRP, 12) // - start lb_addr byte 1
#define SI_FS_WA_SA_B2 wSIItemPos(SI_FS_GRP, 13) // - start lb_addr byte 2
#define SI_FS_WA_SA_B3 wSIItemPos(SI_FS_GRP, 14) // - start lb_addr byte 3
#define SI_FS_WA_SA_B4 wSIItemPos(SI_FS_GRP, 15) // - start lb_addr byte 4
/* pcd base dir */
#define SI_FS_PCD_BASEDIR_LO wSIItemPos(SI_FS_GRP, 16)
#define SI_FS_PCD_BASEDIR_HI wSIItemPos(SI_FS_GRP, 17)
// LLY.1126, add one shared info. to keep VR dual mono stream type is dynamic or not
#define SI_VR_DYNAMIC_DUAL_MONO wSIItemPos(SI_FS_GRP, 22)
/* TODO: other info item */
#define SI_FS_USB_MP4_SUPPORT wSIItemPos(SI_FS_GRP, 24)
// GROUP FOR AUDIO FILE PLAYBACK MODULE
#define SI_MP3_START wSIItemPos(SI_MP3_GRP, 1)
// config
#define SI_MP3_TRICK_MODE_STILL wSIItemPos(SI_MP3_GRP, 1)
#define SI_MP3_ID3_PARSER wSIItemPos(SI_MP3_GRP, 2) // - turn on/off ID3 parsing
#define SI_MP3_CRS_ITEM_AB wSIItemPos(SI_MP3_GRP, 3)
// info
#define SI_MP3_BITRATE_LO wSIItemPos(SI_MP3_GRP, 5) // - bit-rate for current item
#define SI_MP3_BITRATE_HI wSIItemPos(SI_MP3_GRP, 6)
#define SI_MP3_ITEM_IDX_LO wSIItemPos(SI_MP3_GRP, 7) // - MP3 item index
#define SI_MP3_ITEM_IDX_HI wSIItemPos(SI_MP3_GRP, 8)
#define SI_MP3_STT wSIItemPos(SI_MP3_GRP, 9) // - module state
#define SI_MP3_MOD wSIItemPos(SI_MP3_GRP, 10) // - trick mode
#define SI_MP3_ID3TAG_B1 wSIItemPos(SI_MP3_GRP, 11)
#define SI_MP3_ID3TAG_B2 wSIItemPos(SI_MP3_GRP, 12)
#define SI_MP3_ID3TAG_B3 wSIItemPos(SI_MP3_GRP, 13)
#define SI_MP3_ID3TAG_B4 wSIItemPos(SI_MP3_GRP, 14)
#define SI_MP3_ID3V2TAG_B1 wSIItemPos(SI_MP3_GRP, 15)
#define SI_MP3_ID3V2TAG_B2 wSIItemPos(SI_MP3_GRP, 16)
#define SI_MP3_ID3V2TAG_B3 wSIItemPos(SI_MP3_GRP, 17)
#define SI_MP3_ID3V2TAG_B4 wSIItemPos(SI_MP3_GRP, 18)
#define SI_MP3_TOTAL_TIME_HH wSIItemPos(SI_MP3_GRP, 19)
#define SI_MP3_TOTAL_TIME_MM wSIItemPos(SI_MP3_GRP, 20)
#define SI_MP3_TOTAL_TIME_SS wSIItemPos(SI_MP3_GRP, 21)
#define SI_MP3_ITEM_INFO_B1 wSIItemPos(SI_MP3_GRP, 22) // - pointer to mp3 item info
#define SI_MP3_ITEM_INFO_B2 wSIItemPos(SI_MP3_GRP, 23)
#define SI_MP3_ITEM_INFO_B3 wSIItemPos(SI_MP3_GRP, 24)
#define SI_MP3_ITEM_INFO_B4 wSIItemPos(SI_MP3_GRP, 25)
#define SI_MP3_ITEM_UIDX_LO wSIItemPos(SI_MP3_GRP, 26) // - unique index of the item
#define SI_MP3_ITEM_UIDX_HI wSIItemPos(SI_MP3_GRP, 27)
#define SI_MP3_IS_VBR wSIItemPos(SI_MP3_GRP, 28)
#define SI_MP3_ERR_CODE wSIItemPos(SI_MP3_GRP, 29) /* refered with MP3STT_PB_ERR notification */
// GROUP FOR MOTION PICTURE PLAYBACK MODULE
#define SI_MPIC_START wSIItemPos(SI_MPIC_GRP, 1)
// info
#define SI_MPIC_ITEM_IDX_LO wSIItemPos(SI_MPIC_GRP, 1)
#define SI_MPIC_ITEM_IDX_HI wSIItemPos(SI_MPIC_GRP, 2) // - module item index
#define SI_MPIC_STT wSIItemPos(SI_MPIC_GRP, 3) // - module state
#define SI_MPIC_ITEM_INFO_B1 wSIItemPos(SI_MPIC_GRP, 4) // - pointer to mpic item info
#define SI_MPIC_ITEM_INFO_B2 wSIItemPos(SI_MPIC_GRP, 5)
#define SI_MPIC_ITEM_INFO_B3 wSIItemPos(SI_MPIC_GRP, 6)
#define SI_MPIC_ITEM_INFO_B4 wSIItemPos(SI_MPIC_GRP, 7)
// GROUP FOR DATA DISC CONTROL MODULE
#define SI_DDISC_START wSIItemPos(SI_DDISC_GRP, 1)
// configuration
#define SI_DDISC_DEF_PMODE wSIItemPos(SI_DDISC_GRP, 2) // - default playback mode
#define SI_DDISC_MIXED_TYPE_MODE wSIItemPos(SI_DDISC_GRP, 3) // - enable mixed type seq control mode
#define SI_DDISC_CROSS_FOLDER_MODE wSIItemPos(SI_DDISC_GRP, 4) // - enable cross folder playback mode
#define SI_DDISC_ACTIVE_PB_MODULE_MODE wSIItemPos(SI_DDISC_GRP, 5) // - change PB module actively
#define SI_DDISC_CONC_AV_MODE wSIItemPos(SI_DDISC_GRP, 6)
#define SI_DDISC_START_FOLDER_IDX_LO wSIItemPos(SI_DDISC_GRP, 7) // - lo-byte of start folder
#define SI_DDISC_START_FOLDER_IDX_HI wSIItemPos(SI_DDISC_GRP, 8) // - hi-byte of start folder
#define SI_DDISC_RANDOM_ACT_MODE wSIItemPos(SI_DDISC_GRP, 9) // - random activated mode
// run-time info
#define SI_DDISC_PB_MODULE wSIItemPos(SI_DDISC_GRP, 12) // - foreground playback module
#define SI_DDISC_PBSEQ_END wSIItemPos(SI_DDISC_GRP, 13) // - playback seq ends
#define SI_DDISC_MP3_LAST_LO wSIItemPos(SI_DDISC_GRP, 14)
#define SI_DDISC_MP3_LAST_HI wSIItemPos(SI_DDISC_GRP, 15)
#define SI_DDISC_FRNG_BEGIN_LO wSIItemPos(SI_DDISC_GRP, 16)
#define SI_DDISC_FRNG_BEGIN_HI wSIItemPos(SI_DDISC_GRP, 17)
#define SI_DDISC_FRNG_END_LO wSIItemPos(SI_DDISC_GRP, 18)
#define SI_DDISC_FRNG_END_HI wSIItemPos(SI_DDISC_GRP, 19)
#define SI_DDISC_FRNG_MODE wSIItemPos(SI_DDISC_GRP, 20)
/* for File copy/move */
#define SI_FMV_PERCENT wSIItemPos(SI_DDISC_GRP, 21)
// GROUP FOR DATA DISC VOLUME STRING
#define SI_DDISC_VOLUME wSIItemPos(SI_DDISC_VOL_GRP, 1) // - for data disc volume string
// GROUP FOR DATA TYPE CONTER
#define SI_FS_MP3_CNT_LO wSIItemPos(SI_FS_FTYPE_CNT_GRP, 1)
#define SI_FS_MP3_CNT_HI wSIItemPos(SI_FS_FTYPE_CNT_GRP, 2)
#define SI_FS_WMA_CNT_LO wSIItemPos(SI_FS_FTYPE_CNT_GRP, 3)
#define SI_FS_WMA_CNT_HI wSIItemPos(SI_FS_FTYPE_CNT_GRP, 4)
#define SI_FS_JPG_CNT_LO wSIItemPos(SI_FS_FTYPE_CNT_GRP, 5)
#define SI_FS_JPG_CNT_HI wSIItemPos(SI_FS_FTYPE_CNT_GRP, 6)
#define SI_FS_MPG_CNT_LO wSIItemPos(SI_FS_FTYPE_CNT_GRP, 7)
#define SI_FS_MPG_CNT_HI wSIItemPos(SI_FS_FTYPE_CNT_GRP, 8)
#define SI_FS_MPX_CNT_LO wSIItemPos(SI_FS_FTYPE_CNT_GRP, 9)
#define SI_FS_MPX_CNT_HI wSIItemPos(SI_FS_FTYPE_CNT_GRP, 10)
/* group for DFI update */
#define SI_UPDATE_DFI_START wSIItemPos(SI_DFI_GRP, 1)
// Group 9: User playback control
#define SI_USR_PROGRAM_NO wSIItemPos(SI_USR_CTRL_GRP, 1)
#define SI_USR_PROGRAM_NS wSIItemPos(SI_USR_CTRL_GRP, 2) /* max program items: 24 */
#define SI_USR_PROGRAM_TYPE wSIItemPos(SI_USR_CTRL_GRP, 3)
/* double word alignment */
#define SI_USR_DIGEST_NO wSIItemPos(SI_USR_CTRL_GRP, 5)
#define SI_USR_DIGEST_NS wSIItemPos(SI_USR_CTRL_GRP, 6)
#define SI_USR_DIGEST_TYPE wSIItemPos(SI_USR_CTRL_GRP, 7)
#define SI_USR_DIGEST_CTRL wSIItemPos(SI_USR_CTRL_GRP, 8)
#define SI_USR_VR_DIGEST_LIST wSIItemPos(SI_USR_CTRL_GRP, 9) // DVD-VR
#define SV_VR_DIGEST_ORIGINAL 0
#define SV_VR_DIGEST_PLAYLIST 1
#define SI_VR_CURR_LIST wSIItemPos(SI_USR_CTRL_GRP, 10) // DVD-VR
#define SV_VR_CURR_ORIGINAL 0
#define SV_VR_CURR_PLAYLIST 1
#define SI_VR_CH_NS_LO wSIItemPos(SI_USR_CTRL_GRP, 11) // DVD-VR
#define SI_VR_CH_NS_HI wSIItemPos(SI_USR_CTRL_GRP, 12) // DVD-VR
#define SI_VR_CH_NO_LO wSIItemPos(SI_USR_CTRL_GRP, 13) // DVD-VR
#define SI_VR_CH_NO_HI wSIItemPos(SI_USR_CTRL_GRP, 14) // DVD-VR
#define SI_VR_ORG_TT_NS wSIItemPos(SI_USR_CTRL_GRP, 15) // DVD-VR
#define SI_VR_PL_TT_NS wSIItemPos(SI_USR_CTRL_GRP, 16) // DVD-VR
#define SI_DVD_TRAYIN_PLAY wSIItemPos(SI_USR_CTRL_GRP, 17)
#define SI_VR_STILL_CELL wSIItemPos(SI_USR_CTRL_GRP, 18)//DVD-VR
// USR_PROGRAM_INF, current use 24 items, 96 bytes, group 10 to 12
#define SI_USR_SELECT_INF wSIItemPos(SI_USR_PROGRAM_INF_GRP1, 1)
#define SI_USR_PROGRAM_ITEM_1 SI_USR_SELECT_INF
// Group 19: Time information
#define SI_TIME_HH wSIItemPos(SI_TIME_INFO_GRP, 1)
#define SI_TIME_MM wSIItemPos(SI_TIME_INFO_GRP, 2)
#define SI_TIME_SS wSIItemPos(SI_TIME_INFO_GRP, 3)
#define SI_TIME_RMN_HH wSIItemPos(SI_TIME_INFO_GRP, 5)
#define SI_TIME_RMN_MM wSIItemPos(SI_TIME_INFO_GRP, 6)
#define SI_TIME_RMN_SS wSIItemPos(SI_TIME_INFO_GRP, 7)
// for DVD
#define SI_TIME_CHAPTER_HH wSIItemPos(SI_TIME_INFO_GRP, 9)
#define SI_TIME_CHAPTER_MM wSIItemPos(SI_TIME_INFO_GRP, 10)
#define SI_TIME_CHAPTER_SS wSIItemPos(SI_TIME_INFO_GRP, 11)
#define SI_TIME_CHAPTER_RMN_HH wSIItemPos(SI_TIME_INFO_GRP, 13)
#define SI_TIME_CHAPTER_RMN_MM wSIItemPos(SI_TIME_INFO_GRP, 14)
#define SI_TIME_CHAPTER_RMN_SS wSIItemPos(SI_TIME_INFO_GRP, 15)
#define SI_TIME_TOTAL_CHAPTER_HH wSIItemPos(SI_TIME_INFO_GRP, 17)
#define SI_TIME_TOTAL_CHAPTER_MM wSIItemPos(SI_TIME_INFO_GRP, 18)
#define SI_TIME_TOTAL_CHAPTER_SS wSIItemPos(SI_TIME_INFO_GRP, 19)
// for VCD, CDDA...
#define SI_TIME_TRACK_HH wSIItemPos(SI_TIME_INFO_GRP, 9)
#define SI_TIME_TRACK_MM wSIItemPos(SI_TIME_INFO_GRP, 10)
#define SI_TIME_TRACK_SS wSIItemPos(SI_TIME_INFO_GRP, 11)
#define SI_TIME_TRACK_RMN_HH wSIItemPos(SI_TIME_INFO_GRP, 13)
#define SI_TIME_TRACK_RMN_MM wSIItemPos(SI_TIME_INFO_GRP, 14)
#define SI_TIME_TRACK_RMN_SS wSIItemPos(SI_TIME_INFO_GRP, 15)
#define SI_TIME_TOTAL_TRACK_HH wSIItemPos(SI_TIME_INFO_GRP, 17)
#define SI_TIME_TOTAL_TRACK_MM wSIItemPos(SI_TIME_INFO_GRP, 18)
#define SI_TIME_TOTAL_TRACK_SS wSIItemPos(SI_TIME_INFO_GRP, 19)
#define SI_TIME_TOTAL_HH wSIItemPos(SI_TIME_INFO_GRP, 21)
#define SI_TIME_TOTAL_MM wSIItemPos(SI_TIME_INFO_GRP, 22)
#define SI_TIME_TOTAL_SS wSIItemPos(SI_TIME_INFO_GRP, 23)
// Group 21: for DVD volume ID, 32 bytes
#define SI_VOLUME_BUF wSIItemPos(SI_VOLUME_GRP, 1)
// Group 22: for internal TVE control
#define SI_TVE_OUT_MODE wSIItemPos(SI_VIDEO_2, 1)
#define SI_PSCAN_EN wSIItemPos(SI_VIDEO_2, 2)
#define SI_PSCAN_MODE wSIItemPos(SI_VIDEO_2, 3)
#define SI_PSCAN_VIDEO wSIItemPos(SI_VIDEO_2, 4)
#define SI_PSCAN_SQUEEZE wSIItemPos(SI_VIDEO_2, 5)
#define SI_V2_PAUSE_SHOW_1FLD wSIItemPos(SI_VIDEO_2, 6)
#define SI_V2_PN_NO_FRM_YC wSIItemPos(SI_VIDEO_2, 7)
#define SI_V2_DYNAMIC_BITRATE wSIItemPos(SI_VIDEO_2, 8)
#define SI_VDO_IN_EN wSIItemPos(SI_VIDEO_2, 9)
#define SI_VDO_IN_SCALE wSIItemPos(SI_VIDEO_2, 10)
#define SI_V2_OSD_RELATED_LOGO wSIItemPos(SI_VIDEO_2, 11)
#define SI_CAP_LOGO_ST wSIItemPos(SI_VIDEO_2, 12)
#define SI_CAP_LOGO_SA_H wSIItemPos(SI_VIDEO_2, 13)
#define SI_CAP_LOGO_SA_M wSIItemPos(SI_VIDEO_2, 14)
#define SI_CAP_LOGO_SA_L wSIItemPos(SI_VIDEO_2, 15)
#define SI_LOGO_KEEP_TVSYS wSIItemPos(SI_VIDEO_2, 16)
#define SI_V2_SPEED_CONTROL wSIItemPos(SI_VIDEO_2, 17)
#define SI_COLOR_BAR wSIItemPos(SI_VIDEO_2, 18)
#define SI_ZOOM_USR_H_BASE wSIItemPos(SI_VIDEO_2, 19)
#define SI_ZOOM_USR_V_BASE wSIItemPos(SI_VIDEO_2, 20)
#define SI_ZOOM_USR_H wSIItemPos(SI_VIDEO_2, 21)
#define SI_ZOOM_USR_V wSIItemPos(SI_VIDEO_2, 22)
#define SI_VDAC_OFF wSIItemPos(SI_VIDEO_2, 23)
#define SI_V2_ERR_CRITERION wSIItemPos(SI_VIDEO_2, 25)
#define SI_MV wSIItemPos(SI_VIDEO_2, 26)
#define SI_CAP_LOGO_CFG wSIItemPos(SI_VIDEO_2, 27)
// SI_DEFAULT_LOGO_CLR_Y must be dword aligned, and this is for SI_DEFAULT_LOGO
#define SI_FLASH_LOGO_IDX wSIItemPos(SI_VIDEO_2, 28)
#define SI_DEFAULT_LOGO_CLR_Y wSIItemPos(SI_VIDEO_2, 29)
#define SI_DEFAULT_LOGO_CLR_CB wSIItemPos(SI_VIDEO_2, 30)
#define SI_DEFAULT_LOGO_CLR_CR wSIItemPos(SI_VIDEO_2, 31)
#define SI_DEFAULT_LOGO wSIItemPos(SI_VIDEO_2, 32)
// Group 23: for OSD_CMD_PRM
#define SI_OSD_CMD_BUF wSIItemPos(SI_OSD_CMD_PRM_GRP, 1)
#define SI_SHM_FIFO_START wSIItemPos(SI_SHM_FIFO_GRP, 1)
// Group 28: SHM_CFG_GRP
#define SI_RISC_SHM_RP wSIItemPos(SI_SHM_CFG_GRP, 1)
#define SI_RISC_SHM_WP wSIItemPos(SI_SHM_CFG_GRP, 2)
#define SI_SHI_SZ wSIItemPos(SI_SHM_CFG_GRP, 5)
#define SI_SHI_NS wSIItemPos(SI_SHM_CFG_GRP, 6)
#define SI_ID0 wSIItemPos(SI_SHM_CFG_GRP, 7)
#define SI_ID1 wSIItemPos(SI_SHM_CFG_GRP, 8)
#define SI_ID2 wSIItemPos(SI_SHM_CFG_GRP, 9)
#define SI_ID3 wSIItemPos(SI_SHM_CFG_GRP, 10)
#define SI_VID0 wSIItemPos(SI_SHM_CFG_GRP, 11)
#define SI_VID1 wSIItemPos(SI_SHM_CFG_GRP, 12)
#define SI_VID2 wSIItemPos(SI_SHM_CFG_GRP, 13)
#define SI_VID3 wSIItemPos(SI_SHM_CFG_GRP, 14)
// Group 29: ERROR_RET
// note these four items must be in one DWRD,
// and only could be read & write by RISC
#define SI_UOP_ID wSIItemPos(SI_UOP_ERR_RET_GRP, 1)
#define SI_UOP_RET_VAL wSIItemPos(SI_UOP_ERR_RET_GRP, 2)
#define SI_UOP_SUB_ID wSIItemPos(SI_UOP_ERR_RET_GRP, 3)
#define SI_UOP_SUB_RET_VAL wSIItemPos(SI_UOP_ERR_RET_GRP, 4)
#define SI_OSD_ERR_RET wSIItemPos(SI_UOP_ERR_RET_GRP, 5)
#define SI_UP_STATE wSIItemPos(SI_UOP_ERR_RET_GRP, 6)
#define SV_PLAY_MODULE_INITING 0x01
// group 30 for RISC config
// group 31 for firmware version
// group 32 ~ 35 for optinal play item info, total 128 bytes
#define SI_ITEM_INFO_START wSIItemPos(SI_ITEM_INFO_GRP, 1)
#define SI_DVD_TT_CH SI_ITEM_INFO_START
// USR_BOOKMARK_INF, current use 12 items, 96 bytes, group 36 to 38
#define SI_USR_BOOKMARK_INF wSIItemPos(SI_USR_BOOKMARK_INF_GRP1, 1)
#define SI_USR_BOOKMARK_ITEM_1 SI_USR_BOOKMARK_INF
// A-B REPEAT_INF
#define SI_AB_REPEAT_A_INF wSIItemPos(SI_AB_REPEAT_INF_GRP, 1)
// group 20, GROUP FOR JPEG DECODING AND DISPLAY MODULE
#define SI_JPG_START wSIItemPos(SI_JPG_GRP, 1)
#define SI_JPG_DIGEST_BG wSIItemPos(SI_JPG_GRP, 1)
//current jpg rotate & mirror mode,
// D[1:0]: 0 = no rotate, 1= CCLKW 90 deg, 2= CCLKW 180 deg, 3= CCLKW 270 deg
// D[4] : 0 = mirror mode(horizontal) disable , 1 = mirror mode(horizontal) enable
// D[5] : 0 = invert mode(vertical) disable, 1 = invert mode(vertical) enable
#define SI_JPG_ROTATE_MIRROR_MODE wSIItemPos(SI_JPG_GRP, 2)
//current JPEG operation status
//D[0]: slideshow on(1)/off(0)
//D[1]: rotate&mirror modes on(1)/off(0)
#define SI_JPG_OP_STATUS wSIItemPos(SI_JPG_GRP, 3)
#define SI_JPG_SLIDESHOW_INTERVAL wSIItemPos(SI_JPG_GRP, 4) //jpeg slideshow interval (sec)
#define SI_JPG_TRANSITION_EFFECT wSIItemPos(SI_JPG_GRP, 5)
#define SI_JPG_TRANSITION_SPEED wSIItemPos(SI_JPG_GRP, 6) //tranistion speed, 0:fastest
//To set jpg auto slide show after rotate or mirror
//D[7]: 1 = On, 0 = off
//D[3:0] : Staying time before slide
#define SI_JPG_ROTATE_AUTO_SLIDE wSIItemPos(SI_JPG_GRP, 7)
#define SI_JPG_AUTO_SLIDE wSIItemPos(SI_JPG_GRP, 8) // - enable slide show automatically when the picture is displayed
// SI_JPG_BG_CLR_Y must be dword aligned
#define SI_JPG_BG_CLR_Y wSIItemPos(SI_JPG_GRP, 9)
#define SI_JPG_BG_CLR_CB wSIItemPos(SI_JPG_GRP, 10)
#define SI_JPG_BG_CLR_CR wSIItemPos(SI_JPG_GRP, 11)
#define SI_JPG_PROGRESSIVE_SHOW wSIItemPos(SI_JPG_GRP, 12)
//JPEG Digest Customization
#define SI_DIGEST_START_X wSIItemPos(SI_JPG_GRP, 13)
#define SI_DIGEST_START_Y_NTSC wSIItemPos(SI_JPG_GRP, 14)
#define SI_DIGEST_X_DIM_NUMS wSIItemPos(SI_JPG_GRP, 15)
#define SI_DIGEST_Y_DIM_NUMS wSIItemPos(SI_JPG_GRP, 16)
#define SI_DIGEST_H_GAP wSIItemPos(SI_JPG_GRP, 17)
#define SI_DIGEST_V_GAP_NTSC wSIItemPos(SI_JPG_GRP, 18)
#define SI_DIGEST_WIDTH wSIItemPos(SI_JPG_GRP, 19)
#define SI_DIGEST_HEIGHT wSIItemPos(SI_JPG_GRP, 20)
#define SI_JPG_ITEM_IDX_LO wSIItemPos(SI_JPG_GRP, 21)
#define SI_JPG_ITEM_IDX_HI wSIItemPos(SI_JPG_GRP, 22) // - the index of current item
#define SI_JPG_STT wSIItemPos(SI_JPG_GRP, 23) // - the state of the module
#define SI_JPG_MODE wSIItemPos(SI_JPG_GRP, 24) // - operation mode
#define SI_JPG_ROTATE_PAN_ACK wSIItemPos(SI_JPG_GRP, 25)
#define SI_JPG_SLIDE_SHOW_DONE wSIItemPos(SI_JPG_GRP, 26)
#define SI_PREVIEW_MODE wSIItemPos(SI_JPG_GRP, 27)
#define SI_PREVIEW_START_X wSIItemPos(SI_JPG_GRP, 28)
#define SI_PREVIEW_START_Y wSIItemPos(SI_JPG_GRP, 29)
#define SI_PREVIEW_WIDTH wSIItemPos(SI_JPG_GRP, 30)
#define SI_PREVIEW_HEIGHT wSIItemPos(SI_JPG_GRP, 31)
#define SI_PREVIEW_BG wSIItemPos(SI_JPG_GRP, 32)
//group 57,
#define SI_JPG_ORG_WIDTH_LO wSIItemPos(SI_JPG_GRP_1, 1)
#define SI_JPG_ORG_WIDTH_HI wSIItemPos(SI_JPG_GRP_1, 2)
#define SI_JPG_ORG_HEIGHT_LO wSIItemPos(SI_JPG_GRP_1, 3)
#define SI_JPG_ORG_HEIGHT_HI wSIItemPos(SI_JPG_GRP_1, 4)
#define SI_JPG_ITEM_INFO_B1 wSIItemPos(SI_JPG_GRP_1, 5)
#define SI_JPG_ITEM_INFO_B2 wSIItemPos(SI_JPG_GRP_1, 6)
#define SI_JPG_ITEM_INFO_B3 wSIItemPos(SI_JPG_GRP_1, 7)
#define SI_JPG_ITEM_INFO_B4 wSIItemPos(SI_JPG_GRP_1, 8)
#define SI_JPG_DSP_ITEM_IDX_LO wSIItemPos(SI_JPG_GRP_1, 9)
#define SI_JPG_DSP_ITEM_IDX_HI wSIItemPos(SI_JPG_GRP_1, 10)
#define SI_JPG_PROG_PIC_SIZ_LIMIT wSIItemPos(SI_JPG_GRP_1, 11)
#define SI_JPG_H_PAN_STEP_NUM wSIItemPos(SI_JPG_GRP_1, 12)
#define SI_JPG_V_PAN_STEP_NUM wSIItemPos(SI_JPG_GRP_1, 13)
#define SI_JPG_HW_MODE wSIItemPos(SI_JPG_GRP_1, 14)
// - TODO: other items.
#define SI_FSMENU_ITEM_REGION_START wSIItemPos(SI_FSMENU_ITEM_REGION_GRP, 1)
//Group 14 //Mars,[2002/5/29]
#define SI_JPG_THUMBNAIL_START wSIItemPos(SI_JPG_THUMBNAIL_GRP, 1)
#define SI_THUMBNAIL_1_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 1)
#define SI_THUMBNAIL_1_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 2)
#define SI_THUMBNAIL_2_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 3)
#define SI_THUMBNAIL_2_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 4)
#define SI_THUMBNAIL_3_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 5)
#define SI_THUMBNAIL_3_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 6)
#define SI_THUMBNAIL_4_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 7)
#define SI_THUMBNAIL_4_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 8)
#define SI_THUMBNAIL_5_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 9)
#define SI_THUMBNAIL_5_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 10)
#define SI_THUMBNAIL_6_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 11)
#define SI_THUMBNAIL_6_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 12)
#define SI_THUMBNAIL_7_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 13)
#define SI_THUMBNAIL_7_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 14)
#define SI_THUMBNAIL_8_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 15)
#define SI_THUMBNAIL_8_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 16)
#define SI_THUMBNAIL_9_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 17)
#define SI_THUMBNAIL_9_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 18)
#define SI_THUMBNAIL_10_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 19)
#define SI_THUMBNAIL_10_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 20)
#define SI_THUMBNAIL_11_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 21)
#define SI_THUMBNAIL_11_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 22)
#define SI_THUMBNAIL_12_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 23)
#define SI_THUMBNAIL_12_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 24)
#define SI_THUMBNAIL_13_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 25)
#define SI_THUMBNAIL_13_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 26)
#define SI_THUMBNAIL_14_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 27)
#define SI_THUMBNAIL_14_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 28)
#define SI_THUMBNAIL_15_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 29)
#define SI_THUMBNAIL_15_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 30)
#define SI_THUMBNAIL_16_IDX_LO wSIItemPos(SI_JPG_THUMBNAIL_GRP, 31)
#define SI_THUMBNAIL_16_IDX_HI wSIItemPos(SI_JPG_THUMBNAIL_GRP, 32)
// SHARED GROUPD FOR FS UI COMMANDS
// COMMAND GROUP 0 for the original UI component "FS MENU"
#define SI_FSMENU_COMMAND_START_0 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 1)
// - commands passed thru command grp 0 are of the old command set
#define SI_FSMENU_ITEM_1 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 1)
#define SI_FSMENU_ITEM_2 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 2)
#define SI_FSMENU_ITEM_3 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 3)
#define SI_FSMENU_ITEM_4 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 4)
#define SI_FSMENU_ITEM_5 wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 5)
#define SI_FSMENU_ENROLL_MENU wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 2)
#define SI_FSMENU_SHOW_PAGE wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 4)
#define SI_FSMENU_CLR_PAGE wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 5)
#define SI_FSMENU_ACT_ITEM wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 6)
#define SI_FSMENU_ADD_TO_PLAYLIST wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 7)
#define SI_FSMENU_REMOVE_FROM_PLAYLIST wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 8)
// - for notification
#define SI_FSMENU_DIR_CHANGED wSIItemPos(SI_FSMENU_COMMAND_GRP_0, 10)
// COMMAND GROUP 1 for the UI component "FS LIST"
#define SI_FSMENU_COMMAND_START_1 wSIItemPos(SI_FSMENU_COMMAND_GRP_1, 1)
// FS MENU ICON SET GROUP "SI_FSMENU_ICON_SET_GRP"
#define SI_FSMENU_AC3_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 1)
#define SI_FSMENU_MP3_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 2)
#define SI_FSMENU_MP2_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 3)
#define SI_FSMENU_MP1_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 4)
#define SI_FSMENU_WAV_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 5)
#define SI_FSMENU_JPG_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 6)
#define SI_FSMENU_MLP_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 7)
#define SI_FSMENU_WMA_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 8)
#define SI_FSMENU_ASF_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 9)
#define SI_FSMENU_MPG_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 10)
#define SI_FSMENU_DAT_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 11)
#define SI_FSMENU_VOB_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 12)
#define SI_FSMENU_DSD_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 13)
#define SI_FSMENU_DIR_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 14)
#define SI_FSMENU_UNKNOWN_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 15)
#define SI_FSMENU_PARENT_DIR_ICON wSIItemPos(SI_FSMENU_ICON_SET_GRP, 16)
// SI FSMENU PROPERTY GROUP "SI_FSMENU_PROPERTY_GRP"
#define SI_FSMENU_OPMODE wSIItemPos(SI_FSMENU_PROPERTY_GRP, 1)
#define SI_FSMENU_PARENT_DIR_MSG_LO wSIItemPos(SI_FSMENU_PROPERTY_GRP, 2)
#define SI_FSMENU_PARENT_DIR_MSG_HI wSIItemPos(SI_FSMENU_PROPERTY_GRP, 3)
#define SI_FSMENU_CUR_FOLDER_IDX_LO wSIItemPos(SI_FSMENU_PROPERTY_GRP, 4)
#define SI_FSMENU_CUR_FOLDER_IDX_HI wSIItemPos(SI_FSMENU_PROPERTY_GRP, 5)
//#define SI_FSMENU_LOGO_ID wSIItemPos(SI_FSMENU_PROPERTY_GRP, 6)
// Group 30: for RISC config
#define SI_VCD_CONFIG_0 wSIItemPos(SI_RISC_CONFIG_GRP, 1)
#define SV_LASTMEM_BIT 0x1
#define SV_AUTOPLAY_BIT 0x2
#define SV_KEEP_FF_BIT 0x4
//#define SV_AUTO_PBC_BIT 0x8
#define SV_KEEP_SF_BIT 0x8
#define SV_USE_BOOKMARK_PBC_BIT 0x10
#define SV_NOT_KEEP_FF_IN_TRK_0 0x20
#define SV_KEEP_FR_BIT 0x40
#define SV_FF2X_NO_MUTE 0x80
#define SI_VCD_CONFIG_1 wSIItemPos(SI_RISC_CONFIG_GRP, 2)
#define SV_SVD_SERCH_KEEP_FF_BIT 0x1
#define SV_SVD_SERCH_KEEP_FR_BIT 0x2
#define SV_SVD_SERCH_KEEP_SF_BIT 0x4
#define SV_SVD_SERCH_KEEP_PAUSE_BIT 0x8
#define SV_SVD_REPAB_KEEP_FF_BIT 0x10
//#define SV_SVD_REPAB_KEEP_FR_BIT 0x20
#define SV_SVD_REPAB_KEEP_SF_BIT 0x40
#define SI_VCD_CONFIG_2 wSIItemPos(SI_RISC_CONFIG_GRP, 3)
// if pbc table is wrong, go to simulate pbc on
#define SV_SVD_FAKE_PBC_BIT 0x01
// if pbc state of last memory slot is not equal to current pbc state, discard last memory play
#define SV_SVD_STRICT_MEM_CHK_BIT 0x02
// LLY.1225, add new shared info. for DVD-VR playing setting
#define SI_VR_PLAY_SET wSIItemPos(SI_RISC_CONFIG_GRP, 7)
// The value for SI_VR_PLAY_SET
#define SV_VR_AUTO_PLAY 0x1
#define SI_DSP_RECOVERY wSIItemPos(SI_RISC_CONFIG_GRP, 8)
#define SI_CDDA_CONFIG wSIItemPos(SI_RISC_CONFIG_GRP, 9)
#define SV_CDDA_AUTOPLAY_BIT 0x01
#define SV_RTIME_USE_ATIME 0x02
#define SV_CDDA_FF_KEEP_TRICK 0x04
#define SV_CDDA_FR_KEEP_TRICK 0x08
#define SV_CDDA_SEARCH_KEEP_TRICK 0x10
#define SI_DVD_SUPPORT wSIItemPos(SI_RISC_CONFIG_GRP, 10)
#define SI_VCD_SUPPORT wSIItemPos(SI_RISC_CONFIG_GRP, 11)
#define SI_CDDA_SUPPORT wSIItemPos(SI_RISC_CONFIG_GRP, 12)
#define SI_PCD_SUPPORT wSIItemPos(SI_RISC_CONFIG_GRP, 13)
#define SI_NO_DTS wSIItemPos(SI_RISC_CONFIG_GRP, 14)
#define SI_DVD_PLAY_CONFIG2 wSIItemPos(SI_RISC_CONFIG_GRP, 15)
#define SV_AST_FOLLOW_USR (0x1)
#define SV_SPST_FOLLOW_USR (0x1 << 1)
#define SV_LOCK_INI_LCD (0x1 << 2)
#define SI_UPG_CONFIG wSIItemPos(SI_RISC_CONFIG_GRP, 16)
#define SV_UPG_CHKSUM (1 << 0)
#define SV_UPG_CPPM_REPLACE (1 << 1)
#define SV_UPG_CPPM_KEEP (0 << 1)
#define SI_CDG_START_X wSIItemPos(SI_RISC_CONFIG_GRP, 17)
#define SI_CDG_START_Y wSIItemPos(SI_RISC_CONFIG_GRP, 18)
#define SI_CDG_M_WIDTH wSIItemPos(SI_RISC_CONFIG_GRP, 19)
#define SI_CDG_M_H_PAL wSIItemPos(SI_RISC_CONFIG_GRP, 20)
#define SI_CDG_M_H_NTSC wSIItemPos(SI_RISC_CONFIG_GRP, 21)
#define SI_SVD_PSR_ERR_SKIP_LV wSIItemPos(SI_RISC_CONFIG_GRP, 22)
#define SI_SVCD_4AST wSIItemPos(SI_RISC_CONFIG_GRP, 23)
#define SI_DIGIT_CANCEL_REP wSIItemPos(SI_RISC_CONFIG_GRP, 24)
#define SI_DVD_CONFIG wSIItemPos(SI_RISC_CONFIG_GRP, 25)
#define SV_LNKPRVC_CHK_PRV_PG (0x1)
#define SV_ASPECT_PS_LB (0x1 << 1)
#define SV_HIGHLIGHT_ZOOM (0x1 << 2)
#define SV_SP_N2P_SCALE (0x1 << 3)
#define SV_STOP_RESET_PTL (0x1 << 4)
#define SV_STOP_RESET_ASTN (0x1 << 5)//020805
#define SV_STOP_RESET_SPSTN (0x1 << 6)
#define SV_STOP_RESET_AGLN (0x1 << 7)
#define SI_DVD_PLAY_SET wSIItemPos(SI_RISC_CONFIG_GRP, 26)
#define SV_DVD_AUTO_PLAY 0x1
#define SV_DVD_PTL_VER10 (0x1 << 1)
#define SV_DVD_FORCE_CHG_ANGLE (0x1 << 2) // allow angle change even in non-angle cell
#define SV_DVD_TT_NOSP (0x1 << 3)
#define SV_AUTO_LONGEST_TT_PLAY (0x1 << 4) // SV_DVD_AUTO_PLAY should set to TRUE
#define SV_LONG_TT_OPTION (0x1 << 5) // TRUE for longer time, FALSE for larger PttNs
#define SV_FAST_SL_AGL_CHG (0x1 << 6) // fast seamless angle change style
#define SV_REP_HLI_NO_FORCED_EXE (0x1 << 7) // in repeat mode, ignore forced execution of HLI
#define SI_GENERAL_PLAY_CONFIG0 wSIItemPos(SI_RISC_CONFIG_GRP, 27)
#define SV_REV_END_RESTART_PLAY 0x1
#define SV_TRICK_KEEP_WHEN_SEARCH (0x1 << 1)
#define SV_FWD2X_NO_MUTE (0x1 << 2)
#define SV_FWD_END_RESTART_PLAY (0x1 << 3)
#define SV_BM_CLR_REARRANGE (0x1 << 4) // 021031: rearrange bookmark after clearing one
#define SV_SKIP_KEEP_A (0x1 << 5) // 021107: keep a point when doing next pg search
#define SV_STILL_NO_TRICK (0x1 << 6) // 021107: in still menu, trick mode is prohibited
#define SV_FAST_ALLOW_NO_VIDEO (0x1 << 7) // 021125: in FF/FR, allow jumping to a VOBU without video
#define SI_DVD_PLAY_CONFIG0 SI_GENERAL_PLAY_CONFIG0
#define SI_DVD_REP_STILL_VAL wSIItemPos(SI_RISC_CONFIG_GRP, 28)
#define SI_SQUARE_WAVE_SET_VAL wSIItemPos(SI_RISC_CONFIG_GRP, 29)
#define SI_DVD_PLAY_CONFIG1 wSIItemPos(SI_RISC_CONFIG_GRP, 30)
#define SV_TITLE_SHUFFLE 0x1 // 021127: use title to do shuffle
#define SV_FFSCAN_NO_STILL (0x1 << 1) // forward scan no vobu still, no cell still
#define SV_BAN_STEP_WHEN_PAUSE_BLOCK (0x1 << 2) // step will be prohibit when pause is block by NV
#define SV_FF_2X4X_NOSP (0x1 << 3) // fast forward 2X/4X, the sub-picture will be disable
#define SV_TITLE_PLAY_RESET_ASTN (0x1 << 4) // reset ASTN after a Title_Play()
#define SV_TITLE_PLAY_RESET_SPSTN (0x1 << 5) // reset SPSTN after a Title_Play()
#define SV_TIME_SRCH_WITHIN_A_B (0x1 << 6) // time search to C < A then C = A; to C > B then ignore time search
#define SI_DVD_AUDIO_CONFIG wSIItemPos(SI_RISC_CONFIG_GRP, 31)
#define SV_PREV_DLIST_CYCLE 0x1
#define SI_PLAYER_GENERAL_CONFIG wSIItemPos(SI_RISC_CONFIG_GRP, 32)
#define SV_DSP_LOAD_CODE_FORCE_SYNC (0x1 << 1)
// Group 31: for firmware version
#define SI_FW_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 1)
#define SI_FW_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 2)
#define SI_FW_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 3)
#define SI_FW_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 4)
#define SI_RISC_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 5)
#define SI_RISC_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 6)
#define SI_RISC_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 7)
#define SI_RISC_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 8)
#define SI_8032_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 9)
#define SI_8032_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 10)
#define SI_8032_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 11)
#define SI_8032_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 12)
#define SI_ADSP_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 13)
#define SI_ADSP_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 14)
#define SI_ADSP_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 15)
#define SI_ADSP_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 16)
#define SI_SERVO_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 17)
#define SI_SERVO_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 18)
#define SI_SERVO_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 19)
#define SI_SERVO_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 20)
#define SI_SUB_VER_ID0 wSIItemPos(SI_SHM_FWVER_GRP, 21)
#define SI_SUB_VER_ID1 wSIItemPos(SI_SHM_FWVER_GRP, 22)
#define SI_SUB_VER_ID2 wSIItemPos(SI_SHM_FWVER_GRP, 23)
#define SI_SUB_VER_ID3 wSIItemPos(SI_SHM_FWVER_GRP, 24)
#define SI_CHIP_VER0 wSIItemPos(SI_SHM_FWVER_GRP, 25)
#define SI_CHIP_VER1 wSIItemPos(SI_SHM_FWVER_GRP, 26)
#define SI_CHIP_VER2 wSIItemPos(SI_SHM_FWVER_GRP, 27)
#define SI_CHIP_VER3 wSIItemPos(SI_SHM_FWVER_GRP, 28)
// Group 39,40: for disc upgrade
#define SI_UPG_VOLUME_ST wSIItemPos(SI_UPG_VOLUME, 1)
#define SI_UPG_FILE_ST wSIItemPos(SI_UPG_FILE, 1)
#define SI_CC_BUF_SA wSIItemPos(SI_CC_BUF, 1)
// Group 51,52,53: for password file
#define SI_PWD_FILENAME wSIItemPos(SI_PWD_FILENAME_GRP, 1)
#define SI_PWD_STRING wSIItemPos(SI_PWD_STRING_GRP_0, 1)
#define SI_PWD_STRING_LEN_MAX 64
// Group 54: for spectrum data
#define SI_SPTM_DATA_OUT wSIItemPos(SI_SPTM_DATA_GRP, 1)
#define SI_SPTM_DATA_ST wSIItemPos(SI_SPTM_DATA_GRP, 2)
// Group 55: for memory and last memory function
#define SI_LAST_MEM wSIItemPos(SI_MEMORY_GRP, 1)
#define SI_LASTMEM_NS wSIItemPos(SI_MEMORY_GRP, 2)
#define SI_MEMORY wSIItemPos(SI_MEMORY_GRP, 3)
#define SI_MEMORY_RES wSIItemPos(SI_MEMORY_GRP, 4)
#define SI_VCD_LASTMEM_LIST_HD wSIItemPos(SI_MEMORY_GRP, 5)
#define SI_DVD_LASTMEM_LIST_HD wSIItemPos(SI_MEMORY_GRP, 6)
#define SI_CDDA_LASTMEM_LIST_HD wSIItemPos(SI_MEMORY_GRP, 7)
#define SI_DDISC_LASTMEM_LIST_HD wSIItemPos(SI_MEMORY_GRP, 8)
#define SI_VCD_LASTMEM_NS wSIItemPos(SI_MEMORY_GRP, 9)
#define SI_DVD_LASTMEM_NS wSIItemPos(SI_MEMORY_GRP, 10)
#define SI_CDDA_LASTMEM_NS wSIItemPos(SI_MEMORY_GRP, 11)
#define SI_DDISC_LASTMEM_NS wSIItemPos(SI_MEMORY_GRP, 12)
#define SI_VCD_LASTMEM_GRP wSIItemPos(SI_MEMORY_GRP, 13)
#define SI_DVD_LASTMEM_GRP wSIItemPos(SI_MEMORY_GRP, 14)
#define SI_CDDA_LASTMEM_GRP wSIItemPos(SI_MEMORY_GRP, 15)
#define SI_DDISC_LASTMEM_GRP wSIItemPos(SI_MEMORY_GRP, 16)
#define SI_VCD_MEM_SLOT_SZ wSIItemPos(SI_MEMORY_GRP, 17)
#define SI_DVD_MEM_SLOT_SZ wSIItemPos(SI_MEMORY_GRP, 18)
#define SI_CDDA_MEM_SLOT_SZ wSIItemPos(SI_MEMORY_GRP, 19)
#define SI_DDISC_MEM_SLOT_SZ wSIItemPos(SI_MEMORY_GRP, 20)
#define SI_DISC_ID wSIItemPos(SI_MEMORY_GRP, 21) // byte 21~28 for DISC ID
#define SV_DISC_ID_SZ 8
// jimmy.1113, separate this from SI_LAST_MEM for VR
#define SI_VR_LAST_MEM wSIItemPos(SI_MEMORY_GRP, 29)
// Group 56: for memory slot list
#define SI_MEM_LIST_START wSIItemPos(SI_MEM_LIST_GRP, 1)
// Group 59,60,61,62: for UOP return
#define SI_UOP_FIFO_START wSIItemPos(SI_UOP_RET_GRP, 1)
//Group 80 SI_PDEVICE_DEBUG_GRP
#ifdef P_DEVICE_DEBUG
#define SI_DEVICE_RW wSIItemPos(SI_PDEVICE_DEBUG_GRP, 1)
#define SI_DEVICE_REG_ADDR wSIItemPos(SI_PDEVICE_DEBUG_GRP, 2)
#define SI_DEVICE_REG_VAL wSIItemPos(SI_PDEVICE_DEBUG_GRP, 3)
#define SI_DEVICE_I2C_ADDR wSIItemPos(SI_PDEVICE_DEBUG_GRP, 4)
#endif
//#define SI_BAK_TV_SYSTEM wSIItemPos(SI_PDEVICE_DEBUG_GRP, 5)
// 030220
// Group 108 for pscan video mode parameter
#define SI_PSCAN_MOTION_THD_LOW wSIItemPos(SI_PSCAN_PARM, 1)
#define SI_PSCAN_MOTION_THD_MID wSIItemPos(SI_PSCAN_PARM, 2)
#define SI_PSCAN_MOTION_THD_HIGH wSIItemPos(SI_PSCAN_PARM, 3)
#define SI_PSCAN_SWITCH_THD wSIItemPos(SI_PSCAN_PARM, 4)
#define SI_PSCAN_PAUSE_MODE wSIItemPos(SI_PSCAN_PARM, 5)
#define SI_PSCAN_M_PXL_THD_LOW wSIItemPos(SI_PSCAN_PARM, 6)
#define SI_PSCAN_M_PXL_THD_MID wSIItemPos(SI_PSCAN_PARM, 7)
#define SI_PSCAN_M_PXL_THD_HIGH wSIItemPos(SI_PSCAN_PARM, 8)
#define SI_PSCAN_M_PXL_THD_STILL wSIItemPos(SI_PSCAN_PARM, 9)
#define SI_PSCAN_STILL_SCENE_THD wSIItemPos(SI_PSCAN_PARM, 10)
#define SI_PSCAN_NTSC wSIItemPos(SI_PSCAN_PARM, 11)
#define SI_PSCAN_PAL wSIItemPos(SI_PSCAN_PARM, 12)
#define SI_PSCAN_EDGE wSIItemPos(SI_PSCAN_PARM, 13)
#define SI_PSCAN_TRICK_MODE wSIItemPos(SI_PSCAN_PARM, 14)
#define SI_PSCAN_FORCE_SIMP wSIItemPos(SI_PSCAN_PARM, 15)
// Group 109 for video post parameter
#define SI_WARMTH_FLT wSIItemPos(SI_VIDEO_SETUP_GRP3, 1)
#define SI_WARMTH_LEVEL wSIItemPos(SI_VIDEO_SETUP_GRP3, 2)
#define SI_POST_PROCESS_EN wSIItemPos(SI_VIDEO_SETUP_GRP3, 3)
#define SI_ZOOM_IN_X_FILTER wSIItemPos(SI_VIDEO_SETUP_GRP3, 4)
#define SI_SD_MODE wSIItemPos(SI_VIDEO_SETUP_GRP3, 5)
#define SI_TV_CHG_MODE wSIItemPos(SI_VIDEO_SETUP_GRP3, 6)
// Group 110 for mpeg4 options
#define SI_AVI_FF_MODE wSIItemPos(SI_MP4_GRP, 1)
#define SI_AVI_FF_JMP_SPEED wSIItemPos(SI_MP4_GRP, 2)
#define SI_AV_PLAY_CTRL wSIItemPos(SI_MP4_GRP, 3)
#define SV_PLAY_MPG (0x1)
#define SV_PLAY_AVI (0x1 << 1)
#define SV_PLAY_OGG (0x1 << 2)
#define SI_DRM_MODEL_ID_LOW wSIItemPos(SI_MP4_GRP, 4)
#define SI_DRM_MODEL_ID_TOP wSIItemPos(SI_MP4_GRP, 5)
#define SI_AV_CFG wSIItemPos(SI_MP4_GRP, 6)
#define SV_PLAY_A_ONLY (0x1)
#define SV_AVI_FAST_BM (0x1 << 1)
#define SV_AVI_FAST_TIME_PLAY (0x1 << 2)
#define SV_FITLONG_TV_SQ_PXL (0x1 << 3)
#define SV_DIVX_CODEC_ONLY (0x1 << 4)
#define SV_AV_KEEP_ZOOM (0x1 << 5)
#define SI_AV_LIMITATION wSIItemPos(SI_MP4_GRP, 7)
#define SV_UNSUPPORTED_A (0x1)
#define SV_UNSUPPORTED_V (0x1 << 1)
#define SV_UNSUPPORTED_FPS (0x1 << 2)
#define SV_UNSUPPORTED_GMC (0x1 << 3)
#define SV_UNSUPPORTED_ILV (0x1 << 4)
#define SI_AV_FILE_INFO wSIItemPos(SI_MP4_GRP, 8)
#define SV_AVI_NO_IDX (0x1)
#define SI_AV_PLAY_UNSUP wSIItemPos(SI_MP4_GRP, 9)
#define SV_PLAY_UNSUP_A (0x1)
#define SV_PLAY_UNSUP_V (0x1 << 1)
#define SV_PLAY_UNSUP_FPS (0x1 << 2)
#define SI_AVI_ILLILV_A_FST wSIItemPos(SI_MP4_GRP, 10)
#define SV_IIA_PLAY_A_THEN_V 0
#define SV_IIA_PLAY_V_ONLY 1
#define SV_IIA_DO_NOT_PLAY 2
#define SI_AV_DEFAULT_SPST wSIItemPos(SI_MP4_GRP, 11)
#define SV_SP_DEFAULT_OFF 0
#define SV_SP_DEFAULT_1ST 1
#define SI_AVI_DELAY_INDIS_BASE wSIItemPos(SI_MP4_GRP, 12)
#define SI_MP4_WIDE_FULL wSIItemPos(SI_MP4_GRP, 13)
#define SI_MP4_ASIAN_SUBTITLE wSIItemPos(SI_MP4_GRP, 14)
#define SV_MP4_SP_CHI 0x1
#define SV_MP4_SP_KOR 0x2
// For DVD-AUDIO
#define SI_CPPM_KEY_SA wSIItemPos(SI_CPPM_KEY_GRP_0, 1)
// for 8032 working data use
#define SI_USER_START wSIItemPos(SI_USER_DATA_GRP, 1)
// for serial EEPROM
#define SI_EEPROM_QUEUE wSIItemPos(SI_EEPROM_SHADOW_GRP, 1)
#define SI_EEPROM_QUEUE_READ wSIItemPos(SI_EEPROM_SHADOW_GRP, 1)
#define SI_EEPROM_QUEUE_WRITE wSIItemPos(SI_EEPROM_SHADOW_GRP, 2)
#define SI_EEPROM_QUEUE_START wSIItemPos(SI_EEPROM_SHADOW_GRP, 3)
#define SI_EEPROM_SHADOW wSIItemPos(SI_EEPROM_SHADOW_GRP, EEPROM_WRITE_OFFSET)
#define SI_LASTMEM_SHADOW wSIItemPos(SI_LASTMEM_GRP_ID, 1)
// 020826
// Audio language code
#define SI_AUD0_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 1)
#define SI_AUD0_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 2)
#define SI_AUD1_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 3)
#define SI_AUD1_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 4)
#define SI_AUD2_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 5)
#define SI_AUD2_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 6)
#define SI_AUD3_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 7)
#define SI_AUD3_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 8)
#define SI_AUD4_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 9)
#define SI_AUD4_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 10)
#define SI_AUD5_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 11)
#define SI_AUD5_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 12)
#define SI_AUD6_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 13)
#define SI_AUD6_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 14)
#define SI_AUD7_LCD0 wSIItemPos(SI_AUD_LCD_GRP, 15)
#define SI_AUD7_LCD1 wSIItemPos(SI_AUD_LCD_GRP, 16)
#define SI_AUD0_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 17)
#define SI_AUD1_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 18)
#define SI_AUD2_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 19)
#define SI_AUD3_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 20)
#define SI_AUD4_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 21)
#define SI_AUD5_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 22)
#define SI_AUD6_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 23)
#define SI_AUD7_CH_NS wSIItemPos(SI_AUD_LCD_GRP, 24)
#define SI_AUD0_CODEC wSIItemPos(SI_AUD_LCD_GRP, 25)
#define SI_AUD1_CODEC wSIItemPos(SI_AUD_LCD_GRP, 26)
#define SI_AUD2_CODEC wSIItemPos(SI_AUD_LCD_GRP, 27)
#define SI_AUD3_CODEC wSIItemPos(SI_AUD_LCD_GRP, 28)
#define SI_AUD4_CODEC wSIItemPos(SI_AUD_LCD_GRP, 29)
#define SI_AUD5_CODEC wSIItemPos(SI_AUD_LCD_GRP, 30)
#define SI_AUD6_CODEC wSIItemPos(SI_AUD_LCD_GRP, 31)
#define SI_AUD7_CODEC wSIItemPos(SI_AUD_LCD_GRP, 32)
// subpicture language code
#define SI_SP0_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 1)
#define SI_SP0_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 2)
#define SI_SP1_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 3)
#define SI_SP1_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 4)
#define SI_SP2_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 5)
#define SI_SP2_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 6)
#define SI_SP3_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 7)
#define SI_SP3_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 8)
#define SI_SP4_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 9)
#define SI_SP4_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 10)
#define SI_SP5_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 11)
#define SI_SP5_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 12)
#define SI_SP6_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 13)
#define SI_SP6_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 14)
#define SI_SP7_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 15)
#define SI_SP7_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 16)
#define SI_SP8_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 17)
#define SI_SP8_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 18)
#define SI_SP9_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 19)
#define SI_SP9_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 20)
#define SI_SP10_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 21)
#define SI_SP10_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 22)
#define SI_SP11_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 23)
#define SI_SP11_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 24)
#define SI_SP12_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 25)
#define SI_SP12_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 26)
#define SI_SP13_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 27)
#define SI_SP13_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 28)
#define SI_SP14_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 29)
#define SI_SP14_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 30)
#define SI_SP15_LCD0 wSIItemPos(SI_SP_LCD_GRP0, 31)
#define SI_SP15_LCD1 wSIItemPos(SI_SP_LCD_GRP0, 32)
#define SI_SP16_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 1)
#define SI_SP16_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 2)
#define SI_SP17_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 3)
#define SI_SP17_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 4)
#define SI_SP18_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 5)
#define SI_SP18_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 6)
#define SI_SP19_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 7)
#define SI_SP19_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 8)
#define SI_SP20_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 9)
#define SI_SP20_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 10)
#define SI_SP21_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 11)
#define SI_SP21_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 12)
#define SI_SP22_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 13)
#define SI_SP22_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 14)
#define SI_SP23_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 15)
#define SI_SP23_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 16)
#define SI_SP24_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 17)
#define SI_SP24_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 18)
#define SI_SP25_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 19)
#define SI_SP25_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 20)
#define SI_SP26_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 21)
#define SI_SP26_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 22)
#define SI_SP27_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 23)
#define SI_SP27_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 24)
#define SI_SP28_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 25)
#define SI_SP28_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 26)
#define SI_SP29_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 27)
#define SI_SP29_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 28)
#define SI_SP30_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 29)
#define SI_SP30_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 30)
#define SI_SP31_LCD0 wSIItemPos(SI_SP_LCD_GRP1, 31)
#define SI_SP31_LCD1 wSIItemPos(SI_SP_LCD_GRP1, 32)
// DVD-Video Text group (106 & 107)
#define SI_DVD_TXT_SZ wSIItemPos(SI_DVD_TXT_GRP_0, 1)
#define SI_DVD_TXT wSIItemPos(SI_DVD_TXT_GRP_0, 2)
#define FL_BBK_LIST_FIELD(id) (wSIItemPos(SI_FL_LIST_0, 1) + id*32)//leguo
// 111
#define SI_OSD_WB_CR_0 wSIItemPos(SI_OSD_GRP, 1)
#define SI_OSD_WB_CR_1 wSIItemPos(SI_OSD_GRP, 2)
#define SI_OSD_WB_CR_2 wSIItemPos(SI_OSD_GRP, 3)
#define SI_OSD_WB_CR_3 wSIItemPos(SI_OSD_GRP, 4)
#define SI_OSD_WB_EN_0 wSIItemPos(SI_OSD_GRP, 5)
#define SI_OSD_WB_EN_1 wSIItemPos(SI_OSD_GRP, 6)
#define SI_OSD_WB_EN_2 wSIItemPos(SI_OSD_GRP, 7)
#define SI_OSD_WB_EN_3 wSIItemPos(SI_OSD_GRP, 8)
// 112
#define SI_CODE_PATCH_EN wSIItemPos(SI_CODE_PATCH, 1)
// 113, 114
#define SI_DRM_MEMORY wSIItemPos(SI_DRM_MEM0, 1)
#define SI_DRM_ACTIVATION wSIItemPos(SI_DRM_MEM1, 17)
#define SI_DRM_REGCODE wSIItemPos(SI_DRM_MEM1, 18)
#define SI_DRM_CODE wSIItemPos(SI_DRM_MEM1, 27) //error or success
#define DRM_ERROR_NOT_AUTH_USER 15 /* from: drmQueryRentalStatus, drmCommitPlayback */
#define DRM_ERROR_RENTAL_EXPIRED 16 /* from: drmQueryRentalStatus, drmCommitPlayback */
#define SI_DRM_VIEWS wSIItemPos(SI_DRM_MEM1, 28)
#define SI_DRM_LIMIT wSIItemPos(SI_DRM_MEM1, 29)
#define SI_DRM_TYPE wSIItemPos(SI_DRM_MEM1, 30)
#define SV_DRM_RENTAL 0
#define SV_DRM_PURCHASE 1
#define SI_DRM_RENTCHK wSIItemPos(SI_DRM_MEM1, 31)
#define SV_DRM_RENTOK 0x01
#define SV_DRM_RENTFAIL 0x02
#define SI_DRM_MEM_OK wSIItemPos(SI_DRM_MEM1, 32)
// 115, 116
#define SI_SRT_CTRL wSIItemPos(SI_SRT_GRP0, 1)
#define SV_SRT_NOP 0
#define SV_SRT_ON 0x1
#define SV_SRT_OFF 0x2
#define SI_SRT_LEN wSIItemPos(SI_SRT_GRP0, 2)
#define SI_SRT_START wSIItemPos(SI_SRT_GRP0, 3)
// 117
#define SI_SACD_INFO_STYLE wSIItemPos(SI_SACD_GRP, 1)
#define SI_SACD_SUPPORT wSIItemPos(SI_SACD_GRP, 2)
#define SI_SACD_CHANNEL wSIItemPos(SI_SACD_GRP, 3)
#define SI_SACD_TRACK_NS wSIItemPos(SI_SACD_GRP, 4)
#define SI_SACD_TRACK_NO wSIItemPos(SI_SACD_GRP, 5)
#define SI_SACD_TRACK_OFFSET wSIItemPos(SI_SACD_GRP, 6)
#define SI_SACD_TRACK_IDXNS wSIItemPos(SI_SACD_GRP, 7)
#define SI_SACD_TRACK_IDXNO wSIItemPos(SI_SACD_GRP, 8)
#define SI_SACD_MTXT_NS wSIItemPos(SI_SACD_GRP, 31)
#define SI_SACD_MTXT_NO wSIItemPos(SI_SACD_GRP, 32)
/* 121 (group for device manager control) */
/* for configuration */
/* USB only */
#define SI_USB_EXT_CLK wSIItemPos(SI_DEVMNG_GRP, 1)
#define SI_USB_GPS wSIItemPos(SI_DEVMNG_GRP, 2)
#define SI_USB_DO_NOT_USE_GPIO wSIItemPos(SI_DEVMNG_GRP, 3)
/* MS/SD only */
#define SI_MS_SD_CFG wSIItemPos(SI_DEVMNG_GRP, 4)
/* for status update */
/* EMD general */
/* NOTE! the EMD attachment is bit on/off by the bit-shift of device id */
#define SI_EMD_ATTACH wSIItemPos(SI_DEVMNG_GRP, 5)
#define SI_DEVICE_ID wSIItemPos(SI_DEVMNG_GRP, 6)
#define SI_DEVICE_NS wSIItemPos(SI_DEVMNG_GRP, 7)
/* for command */
#define SI_CDVDROM_FORCE_FREE wSIItemPos(SI_DEVMNG_GRP, 8)
#define SI_DEVMNG_SWITCH_MODE wSIItemPos(SI_DEVMNG_GRP, 9)
#define SI_SWITCH_MEDIA wSIItemPos(SI_DEVMNG_GRP, 10)
/* 122 (2nd group of devmng control) */
#define SI_DEVMNG_PROG_DEV_1 wSIItemPos(SI_DEVMNG_PROG_GRP, 1)
#define SI_DEVMNG_PROG_DEV_2 wSIItemPos(SI_DEVMNG_PROG_GRP, 2)
#define SI_DEVMNG_PROG_DEV_3 wSIItemPos(SI_DEVMNG_PROG_GRP, 3)
#define SI_DEVMNG_PROG_DEV_4 wSIItemPos(SI_DEVMNG_PROG_GRP, 4)
#define SI_DEVMNG_PROG_DEV_5 wSIItemPos(SI_DEVMNG_PROG_GRP, 5)
#define SI_DEVMNG_PROG_DEV_6 wSIItemPos(SI_DEVMNG_PROG_GRP, 6)
#define SI_DEVMNG_PROG_DEV_7 wSIItemPos(SI_DEVMNG_PROG_GRP, 7)
#define SI_DEVMNG_PROG_DEV_8 wSIItemPos(SI_DEVMNG_PROG_GRP, 8)
#define SI_DEVMNG_PROG_DEV_9 wSIItemPos(SI_DEVMNG_PROG_GRP, 9)
/* reserve next 23 slots for later usage */
/* 123 (group for version error code) */
#define SI_8032_ERR_CODE wSIItemPos(SI_ERROR_CODE, 1)
#define SI_AUDIO_ERR_CODE wSIItemPos(SI_ERROR_CODE, 2)
#define SI_FAT_ERR_CODE wSIItemPos(SI_ERROR_CODE, 3)
#define SI_USB_ERR_CODE wSIItemPos(SI_ERROR_CODE, 4)
// 124, HDMI
#define SI_HDCP_RESULT wSIItemPos(SI_HDMI_GRP, 1) // HDCP authentification result
#define SI_EDID_PARSING_RESULT wSIItemPos(SI_HDMI_GRP, 2) // EDID parsing result
#define SI_USER_VIDEO_SETTING wSIItemPos(SI_HDMI_GRP, 3) // keep user video setting, ex YPbPr, 480p
#define SI_EDID_VSDB_EXIST wSIItemPos(SI_HDMI_GRP, 4) // keep if EDID VSDB exist
#define SI_EDID_EXT_BLOCK_NO wSIItemPos(SI_HDMI_GRP, 5) // EDID extension block number
#define SI_HDMI_OUTPUT_MODE wSIItemPos(SI_HDMI_GRP, 6) // RGB, YCbCr 4:4:4 or YCbCr 4:2:2
#define SI_HDMI_RECEIVER_STATUS wSIItemPos(SI_HDMI_GRP, 7) // HDMI cable connecting or not
#define SI_HDMI_AUDIO_SOURCE wSIItemPos(SI_HDMI_GRP, 8) //
#define SI_HDMI_SRC_CONTROL wSIItemPos(SI_HDMI_GRP, 9) //
#define SI_DTD_NTSC_TIMING wSIItemPos(SI_HDMI_GRP, 10) //
#define SI_DTD_PAL_TIMING wSIItemPos(SI_HDMI_GRP, 11) //
#define SI_CEA_NTSC_TIMING wSIItemPos(SI_HDMI_GRP, 12) //
#define SI_CEA_PAL_TIMING wSIItemPos(SI_HDMI_GRP, 13) //
#define SI_DIGITAL_OUTPUT_MODE wSIItemPos(SI_HDMI_GRP, 14) //
#define SI_A_CPL wSIItemPos(SI_HDMI_GRP, 15) //
#define SI_HDCP_SERVICE_ROUTINE wSIItemPos(SI_HDMI_GRP, 16) //
#define SI_REPEATER_DEVICE_COUNT wSIItemPos(SI_HDMI_GRP, 17) //
#define SI_HDCP_IN_FLASH wSIItemPos(SI_HDMI_GRP, 18) //
#define SI_HDMI_SHARPNESS_SETTING wSIItemPos(SI_HDMI_GRP, 19) //
#define SI_HDMI_VIDEO_DOWNSAMPLE wSIItemPos(SI_HDMI_GRP, 20) //
#define SI_HDMI_CSS_CGMS wSIItemPos(SI_HDMI_GRP, 21) //
#define SI_HDMI_AUDIO_DOWNSAMPLE wSIItemPos(SI_HDMI_GRP, 22) //
#define SI_DVI_HDCP_STATUS wSIItemPos(SI_HDMI_GRP, 23) //
#define SI_HDMI_RESET wSIItemPos(SI_HDMI_GRP, 28) //
#define SI_DSP_CHANNEL_NUM wSIItemPos(SI_HDMI_GRP, 30)
#define SI_DSP_DOWNSAMPLE wSIItemPos(SI_HDMI_GRP, 31)
#define SI_HDMI_CC_DUMMY wSIItemPos(SI_HDMI_GRP, 32)
// 147, HDCP
#define SI_HDCP_START wSIItemPos(SI_HDCP_GRP, 1)
#define SI_ASPECT_OUTPUT wSIItemPos(SI_EXTRA_GRP, 1)
#define SI_CDTEXT_FONTPAGE wSIItemPos(SI_EXTRA_GRP, 2)
#define SI_CENTER_CHANGE_SUBWOOFER wSIItemPos(SI_EXTRA_GRP, 4)
#define SI_MOVE_HDCP_FAIL wSIItemPos(SI_EXTRA_GRP, 5)
#define SI_CGMS_1 wSIItemPos(SI_EXTRA_GRP, 6)
#define SI_CGMS_2 wSIItemPos(SI_EXTRA_GRP, 7)
#define SI_CGMS_3 wSIItemPos(SI_EXTRA_GRP, 8)
#define SI_CGMS_4 wSIItemPos(SI_EXTRA_GRP, 9)
#define SI_VSYNC_COUNT wSIItemPos(SI_EXTRA_GRP, 10)
#ifdef HDMI_PROC_IN_8032
#define SI_AVI_INFOFRAME_DATA0 wSIItemPos(SI_AVI_INFOFRAME_GRP, 1)
#define SI_AVI_INFOFRAME_DATA1 wSIItemPos(SI_AVI_INFOFRAME_GRP, 2)
#define SI_AVI_INFOFRAME_DATA2 wSIItemPos(SI_AVI_INFOFRAME_GRP, 3)
#define SI_AVI_INFOFRAME_DATA3 wSIItemPos(SI_AVI_INFOFRAME_GRP, 4)
#define SI_AVI_INFOFRAME_DATA4 wSIItemPos(SI_AVI_INFOFRAME_GRP, 5)
#define SI_AVI_INFOFRAME_DATA5 wSIItemPos(SI_AVI_INFOFRAME_GRP, 6)
#define SI_AVI_INFOFRAME_DATA6 wSIItemPos(SI_AVI_INFOFRAME_GRP, 7)
#define SI_AVI_INFOFRAME_DATA7 wSIItemPos(SI_AVI_INFOFRAME_GRP, 8)
#define SI_AVI_INFOFRAME_DATA8 wSIItemPos(SI_AVI_INFOFRAME_GRP, 9)
#define SI_AVI_INFOFRAME_DATA9 wSIItemPos(SI_AVI_INFOFRAME_GRP, 10)
#define SI_AVI_INFOFRAME_DATA10 wSIItemPos(SI_AVI_INFOFRAME_GRP, 11)
#define SI_AVI_INFOFRAME_DATA11 wSIItemPos(SI_AVI_INFOFRAME_GRP, 12)
#define SI_AVI_INFOFRAME_DATA12 wSIItemPos(SI_AVI_INFOFRAME_GRP, 13)
#define SI_AVI_INFOFRAME_DATA13 wSIItemPos(SI_AVI_INFOFRAME_GRP, 14)
#define SI_AUD_INFOFRAME_DATA1 wSIItemPos(SI_AVI_INFOFRAME_GRP, 15)
#define SI_AUD_INFOFRAME_DATA2 wSIItemPos(SI_AVI_INFOFRAME_GRP, 16)
#define SI_AUD_INFOFRAME_DATA3 wSIItemPos(SI_AVI_INFOFRAME_GRP, 17)
#define SI_AUD_INFOFRAME_DATA4 wSIItemPos(SI_AVI_INFOFRAME_GRP, 18)
#define SI_AUD_INFOFRAME_DATA5 wSIItemPos(SI_AVI_INFOFRAME_GRP, 19)
#define SI_AUD_INFOFRAME_DATA6 wSIItemPos(SI_AVI_INFOFRAME_GRP, 20)
#define SI_AUD_INFOFRAME_DATA7 wSIItemPos(SI_AVI_INFOFRAME_GRP, 21)
#define SI_AUD_INFOFRAME_DATA8 wSIItemPos(SI_AVI_INFOFRAME_GRP, 22)
#define SI_AUD_INFOFRAME_DATA9 wSIItemPos(SI_AVI_INFOFRAME_GRP, 23)
#define SI_AUD_INFOFRAME_DATA10 wSIItemPos(SI_AVI_INFOFRAME_GRP, 24)
//#define SI_HDMI_AUTHEN_OK wSIItemPos(SI_AVI_INFOFRAME_GRP, 25)
#endif
#define SI_HDMI_720P_HALF_PIX wSIItemPos(SI_EXTRA_GRP, 11) //fangyq070307
#if 0
#if defined(__C51__)
#if defined(_H_DEC_GENERAL_)
#include "sv_const.h"
#elif defined(_H_GENERAL_)
#include "..\..\sv_const.h"
#endif
#else
#include "sv_const.h"
#endif
#endif
#endif