📄 sys_ctrl.c
字号:
#ifdef SUPPORT_VCD_1X
| SV_VCD_1X_SUPPORT
#endif
#ifdef SUPPORT_VCD_20
| SV_VCD_20_SUPPORT
#endif
#ifdef SUPPORT_VCD_30
| SV_VCD_30_SUPPORT
#endif
#ifdef SUPPORT_SVCD
| SV_SVCD_SUPPORT
#endif
#ifdef SUPPORT_CVD
| SV_CVD_SUPPORT
#endif
#ifdef NOT_SUPPORT_VCD_AS_DATA
| SV_VCD_AS_DATA
#endif
;
}
#ifdef CHK_PASSWD_VCD_EN
else
{
i = 0
#ifdef SUPPORT_SVCD
| SV_SVCD_SUPPORT
#endif
#ifdef SUPPORT_CVD
| SV_CVD_SUPPORT
#endif
#ifdef NOT_SUPPORT_VCD_AS_DATA
| SV_VCD_AS_DATA
#endif
;
}
#endif
vSetSharedInfo(SI_VCD_SUPPORT, i);
}
#endif /* #ifdef VCD_SUPPORT */
// *********************************************************************
// 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
#ifdef CDG_SUPPORT
| SV_CDG_SUPPORT
#endif
;
vSetSharedInfo(SI_CDDA_SUPPORT, i);
#ifdef CDG_SUPPORT
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);
#endif /* CDG_SUPPORT */
}
// *********************************************************************
// 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, 128); // - 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
#if 0
vSetSharedInfo(SI_FS_PRE_SESSION_MODE, SV_OFF);
#endif
#ifdef SUPPORT_PCD
vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_SUPPORT);
#else
#ifdef PCD_AS_DATA_DISC
vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_AS_DATA_DISC);
#else
vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_AS_UNKNOWN_DISC);
#endif
#endif // SUPPORT_PCD
// 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);
#else
vSetSharedInfo(SI_MP3_ID3_PARSER, SV_OFF);
#endif
return;
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigJPEG(void) large
{
vSetSharedInfo(SI_JPG_BG_CLR_Y,JPEG_BG_COLOR_Y);//refer in av_play/Mpvcmd.c
vSetSharedInfo(SI_JPG_BG_CLR_CB,JPEG_BG_COLOR_CB);
vSetSharedInfo(SI_JPG_BG_CLR_CR,JPEG_BG_COLOR_CR);
// - 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_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
vSetSharedInfo(SI_JPG_DECODE_STATUS, 0); //CL return _dwJPGErrorType from RISC
#if defined(ROTATE_SLIDE_SHOW_ON)
#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
#endif
#ifdef JPEG_PROGRESS_SHOW_ENABLE //Mars,[2002/7/15]
vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 1);
#else
vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 0);
#endif
#ifdef JPG_PREVIEW_SUPPORT
vSetSharedInfo(SI_PREVIEW_BG, JPEG_PREVIEW_BG);
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*/);
#endif
#if defined(JPEG_DDISC_DIGEST_ENABLE)
//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_DIGEST_BG, JPEG_BG_FOR_DIGEST_MENU);
#endif
vSetSharedInfo(SI_JPG_PROG_PIC_SIZ_LIMIT, JPG_MAX_PROGRESS_PIC_SIZ);
#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 0 // 1389 Rev D chip doens't support MPEG4
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
static void vSystemConfigMp4(void) large
{
vSetSharedInfo(SI_AVI_FF_MODE, AVI_FF_MODE);
}
#endif // #if 0
// *********************************************************************
// Function :
// Description : System Control Share Memory Initial Routine,
// called from vUserInit()
// Parameter :
// Return :
// *********************************************************************
void vInitSystemShareInfo(void) large
{
vSystemConfigGeneral();
vSystemConfigDVD();
#ifdef VCD_SUPPORT
vSystemConfigVCD();
#endif
vSystemConfigCDDA();
vSystemConfigISO();
vSystemConfigJPEG();
#if 0 // 1389 Rev D chip doens't support MPEG4
vSystemConfigMp4();
#endif // #if 0
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vSystemCloseCaption(BOOL fgOnOff) large
{
vSetSharedInfo(SI_CC_SWITCH, fgOnOff);
vNotifySharedInfo(SI_CC_SWITCH, 0, 0);
#ifndef MT1389_512K
if (fgOnOff == SV_ON)
{
vTvCCEnable(1);
}
else
{
vTvCCEnable(0);
}
#endif //#ifndef MT1389_REV_D
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vSystemTvMode(BYTE bMode) large
{
BYTE bDefMode ;
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;
}
vSetSharedInfo(SI_ASPECT_RATIO, bMode);
vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
/*
vSetSharedInfo(SI_FORCE_ASPECT_RATIO, bMode);
vSetSharedInfo(SI_ASPECT_RATIO, bMode);
if (SV_BLOCK_ON & bDefMode)
{
vNotifySharedInfo(SI_FORCE_ASPECT_RATIO, 0, 0);
}
else
{
vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
}
*/
// vSetSharedInfo(SI_ASPECT_RATIO, bMode);
// vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
}
// *********************************************************************
// 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 + -