?? sys_ctrl.c
字號:
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigCDDA(void) large
{
BYTE i;
i = 0
#if (!defined(USE_8032_AUTO_PLAY) && defined(CDDA_AUTO_PLAY))
| SV_CDDA_AUTOPLAY_BIT
#endif
#ifdef CDDA_RTIME_FROM_ATIME
| SV_RTIME_USE_ATIME
#endif
#ifdef CDDA_FF_KEEP_TRICK
| SV_CDDA_FF_KEEP_TRICK
#endif
#ifdef CDDA_FR_KEEP_TRICK
| SV_CDDA_FR_KEEP_TRICK
#endif
#ifdef CDDA_SEARCH_KEEP_TRICK
| SV_CDDA_SEARCH_KEEP_TRICK
#endif
;
vSetSharedInfo(SI_CDDA_CONFIG, i);
i = SV_CDDA_SUPPORT | SV_DTS_CD_SUPPORT
#ifndef NO_CDG_SUPPORT
| SV_CDG_SUPPORT
#endif
;
vSetSharedInfo(SI_CDDA_SUPPORT, i);
vSetSharedInfo(SI_CDG_START_X, CDG_START_X);
vSetSharedInfo(SI_CDG_START_Y, CDG_START_Y);
vSetSharedInfo(SI_CDG_M_WIDTH, CDG_M_WIDTH);
vSetSharedInfo(SI_CDG_M_H_PAL, CDG_M_H_PAL);
vSetSharedInfo(SI_CDG_M_H_NTSC, CDG_M_H_NTSC);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigISO(void) large
{
BYTE i;
// 1. config file support
// Mars,[2002/3/25],for Data DISC support customization
// for byte 1 of file filter factor
#ifdef SUPPORT_DATA_DISC
i = 0
#ifdef DDISC_FTYPE_MP3_SUPPORT
| SV_FS_MP3_SUPPORT
#endif
#ifdef DDISC_FTYPE_MPEGA_SUPPORT
| SV_FS_MPEGA_SUPPORT
#endif
#if defined(DDISC_FTYPE_JPEG_SUPPORT) || defined(SUPPORT_PCD)
| SV_FS_JPEG_SUPPORT
#endif
#ifdef DDISC_FTYPE_MPG_SUPPORT
| SV_FS_MPG_SUPPORT
#endif
#ifdef DDISC_FTYPE_WMA_SUPPORT
| SV_FS_WMA_SUPPORT
#endif
#ifdef DDISC_FTYPE_ASF_SUPPORT
| SV_FS_ASF_SUPPORT
#endif
#ifdef DDISC_FTYPE_WAV_SUPPORT
| SV_FS_WAV_SUPPORT
#endif
#ifdef DDISC_FTYPE_MP3PRO_SUPPORT
| SV_FS_MP3PRO_SUPPORT
#endif
;
// set byte1
vSetSharedInfo(SI_FS_FTYPE_SUPPORT, i);
// for byte 2 of file filter factor
i = 0
#ifdef DDISC_FTYPE_MAP_SUPPORT
| SV_FS_MAP_SUPPORT
#endif
#ifdef DDISC_FTYPE_CDDA_SUPPORT
| SV_FS_CDDA_SUPPORT
#endif
#ifdef DDISC_FTYPE_AAC_SUPPORT
| SV_FS_AAC_SUPPORT
#endif
#ifdef DDISC_FTYPE_MLP_SUPPORT
| SV_FS_MLP_SUPPORT
#endif
;
// set byte2
vSetSharedInfo(SI_FS_FTYPE_SUPPORT2, i);
#else // #ifdef SUPPORT_DATA_DISC
vSetSharedInfo(SI_FS_FTYPE_SUPPORT, 0);
vSetSharedInfo(SI_FS_FTYPE_SUPPORT2, 0);
#endif // #ifdef SUPPORT_DATA_DISC
// 2. config file system module properties
// common stuff
vSetSharedInfo(SI_FS_TREAT_EMPTY_AS_UNKNOWN, SV_ON);
vSetSharedInfo(SI_FS_READ_DISC_RETRY, DDISC_READ_DISC_RETRY);
// working area for file system operation buffer on 8032
vSetSharedInfo(SI_FS_WA_SZ, 255); // - require 128 bytes
// 3. config supported disc type and file system
#ifdef DDISC_ENB_CDFS
vSetSharedInfo(SI_FS_ENB_CDFS, SV_ON); // - turn on CDFS
#else
vSetSharedInfo(SI_FS_ENB_CDFS, SV_OFF); // - turn off CDFS
#endif //DDISC_ENB_CDFS
/* turn off the unused special mode */
vSetSharedInfo(SI_FS_ENB_DFS_FROM_ROOT, SV_OFF);
vSetSharedInfo(SI_FS_PRE_SESSION_MODE, SV_OFF);
vSetSharedInfo(SI_FS_DISABLE_GOP_AT_FAT, SV_OFF);
/* config PCD support */
i = 0x0;
#ifdef SUPPORT_PCD
i |= SV_PCD_SUPPORT;
#else
#ifdef PCD_AS_DATA_DISC
i |= SV_PCD_AS_DATA_DISC;
#else
i |= SV_PCD_AS_UNKNOWN_DISC;
#endif
#endif /* SUPPORT_PCD */
/* config FJCD support */
#ifdef SUPPORT_FJCD
i |= SV_FJCD_SUPPORT;
#else
#ifdef FJCD_AS_DATA_DISC
i |= SV_FJCD_AS_DATA_DISC;
#else
i |= SV_FJCD_AS_UNKNOWN_DISC;
#endif
#endif /* SUPPORT_FJCD */
vSetSharedInfo(SI_PCD_SUPPORT, i);
// 4. config data disc playback mode properties
vSetSharedInfo(SI_DDISC_DEF_PMODE, DDISC_DEF_PLAYBACK_MODE);
#ifdef DDISC_ENB_CONC_AV_MODE
vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_OFF);
vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_ON);
vSetSharedInfo(SI_DDISC_CROSS_FOLDER_MODE, SV_OFF);
#else
//vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_ON);
vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_OFF);
vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_OFF);
vSetSharedInfo(SI_DDISC_CROSS_FOLDER_MODE, SV_OFF);
#endif //DDISC_ENB_CONC_AV_MODE
vSetSharedInfo(SI_DDISC_RANDOM_ACT_MODE, SV_OFF);
// 5. config MP3 module properties
#ifdef AFILE_TRICK_MODE_STILL
vSetSharedInfo(SI_MP3_TRICK_MODE_STILL, SV_ON);
#else
vSetSharedInfo(SI_MP3_TRICK_MODE_STILL, SV_OFF);
#endif // AFILE_TRICK_MODE_STILL
vSetSharedInfo(SI_MP3_CRS_ITEM_AB, SV_OFF);
#ifdef ENABLE_ID3
vSetSharedInfo(SI_MP3_ID3_PARSER, SV_ON);
vSetSharedInfo(SI_WMA_OBJ_PARSER, SV_ON);
#else
vSetSharedInfo(SI_MP3_ID3_PARSER, SV_OFF);
vSetSharedInfo(SI_WMA_OBJ_PARSER, SV_OFF);
#endif
#ifdef SACD_INFO_LIKE_CDDA
vSetSharedInfo(SI_SACD_INFO_STYLE, SACD_INFO_STYLE_CDDA);
#else
vSetSharedInfo(SI_SACD_INFO_STYLE, SACD_INFO_STYLE_ISO);
#endif
#ifdef FSMENU_WITH_FILE_INFO
vSetSharedInfo(SI_DDISC_FILE_INFO_MODE, SV_FI_DIRTY);
#endif
/* turn off the option in default */
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
vSetSharedInfo(SI_DEVMNG_SWITCH_MODE, SV_DEVMNG_SWITCH_DISABLE);
#else
vSetSharedInfo(SI_DEVMNG_SWITCH_MODE, SV_DEVMNG_SWITCH_DEFAULT);
#endif
/* preset the programmed seq of the device switching */
vSetSharedInfo(SI_DEVMNG_PROG_DEV_1, SV_DEVID_USB_SLOT_1);
vSetSharedInfo(SI_DEVMNG_PROG_DEV_2, SV_DEVID_USB_SLOT_5);
vSetSharedInfo(SI_DEVMNG_PROG_DEV_3, SV_DEVID_USB_SLOT_3);
vSetSharedInfo(SI_DEVMNG_PROG_DEV_4, SV_DEVID_CDVDROM);
vSetSharedInfo(SI_DEVMNG_PROG_DEV_5, SV_DEVID_INVALID);
return;
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigJPEG(void) large
{
//#if (defined(PLAYER_2_CHANNEL) || (defined(ISO_STOP_LOGO) && (ISO_STOP_LOGO == SV_LOGO_FILL)))
vSetSharedInfo(SI_JPG_BG_CLR_Y,JPEG_BG_COLOR_Y);
vSetSharedInfo(SI_JPG_BG_CLR_CB,JPEG_BG_COLOR_CB);
vSetSharedInfo(SI_JPG_BG_CLR_CR,JPEG_BG_COLOR_CR);
//#endif
// - JPEG config init.
#ifdef JPEG_SEL_AUTOSLIDE
vSetSharedInfo(SI_JPG_AUTO_SLIDE, SV_ON); // - turn on the auto slide.
#else
vSetSharedInfo(SI_JPG_AUTO_SLIDE, SV_OFF); // - turn off the auto slide.
#endif // JPEG_SEL_AUTO_SLIDE
vSetSharedInfo(SI_JPG_DIGEST_BG, JPEG_BG_FOR_DIGEST_MENU);
vSetSharedInfo(SI_PREVIEW_BG, JPEG_PREVIEW_BG);
vSetSharedInfo(SI_JPG_SLIDESHOW_INTERVAL, JPEG_SLIDESHOW_INTERVAL); //Mars,[2002/3/26],set default slideshow interval
vSetSharedInfo(SI_JPG_TRANSITION_SPEED, JPEG_TRANSITION_SPEED); //Mars,[2002/3/18], set jpg transition speed
#ifdef JPEG_AUTO_SLIDE_AFTER_ROTATE
vSetSharedInfo(SI_JPG_ROTATE_AUTO_SLIDE, (0x80|JPEG_TIME_TO_SLIDE)); //Mars,[2002/4/1]
#else
vSetSharedInfo(SI_JPG_ROTATE_AUTO_SLIDE, 0);
#endif //JPEG_AUTO_SLIDE_AFTER_ROTATE
#ifdef JPEG_PROGRESS_SHOW_ENABLE //Mars,[2002/7/15]
vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 1);
#else
vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 0);
#endif
vSetSharedInfo(SI_PREVIEW_MODE, 0); //Mars,[2002/9/23]
vSetSharedInfo(SI_PREVIEW_START_X, (360/4) /*DIGEST_START_X_DIV_4*/);
vSetSharedInfo(SI_PREVIEW_START_Y, (40/5) /*DIGEST_START_Y_NTSC_DIV_5*/);
vSetSharedInfo(SI_PREVIEW_WIDTH, (320/4) /*DIGEST_WIDTH_DIV_4*/);
vSetSharedInfo(SI_PREVIEW_HEIGHT, (320/5) /*DIGEST_HEIGHT_DIV_5*/);
//Mars,[2002/7/15]
vSetSharedInfo(SI_DIGEST_START_X, DIGEST_START_X_DIV_4);
vSetSharedInfo(SI_DIGEST_START_Y_NTSC, DIGEST_START_Y_NTSC_DIV_5);
vSetSharedInfo(SI_DIGEST_X_DIM_NUMS, DIGEST_X_DIM_NUMS);
vSetSharedInfo(SI_DIGEST_Y_DIM_NUMS, DIGEST_Y_DIM_NUMS);
vSetSharedInfo(SI_DIGEST_H_GAP, DIGEST_H_GAP_DIV_4);
vSetSharedInfo(SI_DIGEST_V_GAP_NTSC, DIGEST_V_GAP_NTSC_DIV_5);
vSetSharedInfo(SI_DIGEST_WIDTH, DIGEST_WIDTH_DIV_4);
vSetSharedInfo(SI_DIGEST_HEIGHT, DIGEST_HEIGHT_DIV_5);
vSetSharedInfo(SI_JPG_PROG_PIC_SIZ_LIMIT, JPG_MAX_PROGRESS_PIC_SIZ);
vSetSharedInfo(SI_JPG_TARGET,SV_JPG_NORMAL);
#ifdef JPG_ADAPTIVE_PAN_STEP //Mars,[2003/3/22]
vSetSharedInfo(SI_JPG_H_PAN_STEP_NUM, JPG_H_PAN_STEP_NUM);
vSetSharedInfo(SI_JPG_V_PAN_STEP_NUM, JPG_V_PAN_STEP_NUM);
#endif
//#if defined(MT1389_REV_E) && (DRAM_SZ == DRAM_8M)
// vSetSharedInfo(SI_JPG_HW_MODE, SV_OFF);
//#else
/* turn on the JPEG HW decoding mode by default */
vSetSharedInfo(SI_JPG_HW_MODE, SV_ON);
//#endif
return;
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigMp4(void) large
{
BYTE i;
vSetSharedInfo(SI_AVI_SCAN_MODE, AVI_FSCAN_MODE | (AVI_RSCAN_MODE << 4));
vSetSharedInfo(SI_AVI_FF_JMP_SPEED, AVI_FF_JMP_SPEED);
i = 0
#ifdef AV_PLAY_MPG
| SV_PLAY_MPG
#endif
#ifdef AV_PLAY_AVI
| SV_PLAY_AVI
#endif
#ifdef AV_PLAY_OGG
| SV_PLAY_OGG
#endif
;
vSetSharedInfo(SI_AV_PLAY_CTRL, i);
i = 0
#ifdef AV_PLAY_A_ONLY_FILE
| SV_PLAY_A_ONLY
#endif
#ifdef AVI_FAST_BM
| SV_AVI_FAST_BM
#endif
#ifdef AVI_FAST_TIME_PLAY
| SV_AVI_FAST_TIME_PLAY
#endif
#ifdef FITLONG_TV_SQ_PXL
| SV_FITLONG_TV_SQ_PXL
#endif
#ifdef AV_CFG_KEEP_ZOOM
| SV_AV_KEEP_ZOOM
#endif
;
vSetSharedInfo(SI_AV_CFG, i);
i = 0
#ifdef AV_PLAY_UNSUP_A
| SV_PLAY_UNSUP_A
#endif
#ifdef AV_PLAY_UNSUP_V
| SV_PLAY_UNSUP_V
#endif
#ifdef AV_PLAY_UNSUP_FPS
| SV_PLAY_UNSUP_FPS
#endif
;
vSetSharedInfo(SI_AV_PLAY_UNSUP, i);
vSetSharedInfo(SI_AVI_ILLILV_A_FST, AVI_ILLILV_A_FST_MODE);
vSetSharedInfo(SI_AVI_DELAY_INDIS_BASE, AVI_DELAY_INDIS_BASE);
vSetSharedInfo(SI_MP4_WIDE_FULL, SV_OFF);
#ifdef SUPPORT_DRM
vSetSharedInfo(SI_DRM_MODEL_ID_LOW, MODEL_ID_LOW_BYTE);
vSetSharedInfo(SI_DRM_MODEL_ID_TOP, MODEL_ID_TOP_BYTE);
#endif
}
// *********************************************************************
// Function :
// Description : System Control Share Memory Initial Routine,
// called from vUserInit()
// Parameter :
// Return :
// *********************************************************************
void vInitSystemShareInfo(void) large
{
vSystemConfigGeneral();
vSystemConfigDVD();
vSystemConfigVCD();
vSystemConfigCDDA();
vSystemConfigISO();
vSystemConfigJPEG();
vSystemConfigMp4();
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vSystemCloseCaption(BOOL fgOnOff) large
{
vSetSharedInfo(SI_CC_SWITCH, fgOnOff);
vNotifySharedInfo(SI_CC_SWITCH, 0, 0);
if (fgOnOff == SV_ON)
{
vTvCCEnable(1);
}
else
{
vTvCCEnable(0);
}
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vSystemTvMode(BYTE bMode) large
{
BYTE bDefMode, bSQZMode;
if( bMode == SV_WIDESQZ)
{
bSQZMode = SV_ON;
bMode = SV_WIDE;
}
else
bSQZMode = SV_OFF;
#ifdef MT1389_PSCALER
if(bSQZMode == bSharedInfo(SI_PANEL_SQZ)) //PANEL SQZ setting change
{
if(bSQZMode == SV_ON)
vSetSharedInfo(SI_PANEL_SQZ, TRUE );
else
vSetSharedInfo(SI_PANEL_SQZ, FALSE);
vNotifySharedInfo(SI_PANEL_SQZ,0,0);
}
#endif
bDefMode = bSharedInfo(SI_ASPECT_CHG_VALID) ;
//bDefMode = SV_PSCAN_ON | SV_WIDE_ON ;
#if 0 //#ifdef TREAT_PS_LB_AS_THE_SAME
if ((bMode == SV_4_3_PS) && (!(SV_PSCAN_ON & bDefMode)))
{
bMode = SV_4_3_LB ;
}
else if ((bMode == SV_4_3_LB) && (!(SV_LB_ON & bDefMode)))
{
bMode = SV_4_3_PS ;
}
#endif
if (bSharedInfo(SI_G_SYNC) == SV_OFF)
{
if ( (bMode == SV_WIDE))
vTvScartAspect(1);
else
vTvScartAspect(0);
}
if (SV_BLOCK_ON & bDefMode)
{
bMode |= 0x80;
}
//Max'0416'04, it is not necessary to switch to P-Scan on while wide squeeze.
vSetSharedInfo(SI_ASPECT_RATIO, bMode);
vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
vSetSharedInfo(SI_PSCAN_SQUEEZE, bSQZMode);
vNotifySharedInfo(SI_PSCAN_SQUEEZE, 0, 0);
#ifdef SUPPORT_HDMI
if(bSharedInfo(SI_HDCP_SERVICE_ROUTINE) == 1)
{
vSendPeriCmd(HDMI_CMD_VIDEO_FORMAT, 0, 0);
}
#endif //#ifdef SUPPORT_HDMI
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
BOOL fgCheckUopBlock(BYTE bNvUop) large
{
BYTE bFlag;
if (bNvUop >= SV_NV_UOP_BLK_MAX)
{
/* not valid UOP */
return (TRUE);
}
if (bNvUop >= 24)
{
bFlag = bSharedInfo(SI_UOP_CTRL_3);
bNvUop -= 24;
}
else if (bNvUop >= 16)
{
bFlag = bSharedInfo(SI_UOP_CTRL_2);
bNvUop -= 16;
}
else if (bNvUop >= 8)
{
bFlag = bSharedInfo(SI_UOP_CTRL_1);
bNvUop -= 8;
}
else /* if if (bNvUop < 8) */
{
bFlag = bSharedInfo(SI_UOP_CTRL_0);
}
if (bFlag & (1 << bNvUop))
{
return (TRUE);
}
else
{
return (FALSE);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -