www.pudn.com > 8032.RAR > config.h
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 04/07/02 5:14p $ ****************/
/*************** $Revision:: 69 $ ****************/
/*************** ****************/
/*************** Description : This file contains all ****************/
/*************** Vendor relative ****************/
/*************** prototype definition ****************/
/*************** used for Channel decoder****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Joseph Lin ****************/
/*************** Yih-Shin Weng ****************/
/**********************************************************************/
#ifndef _H_VENDOR_
#define _H_VENDOR_
#define MT1389
#define MT1389_REV_D
#define MT1389_512K
#define GCY_EDIT_SETUP
#define GCY_EDIT
#define zzf_modify
#define ROCKY_MODIFY
//#define TEST_CODE
//#define MT1379_MANUFACTURE_TEST
//#define MT1389_SINGLE_TEST
//*********************************CUSTOME************************************//
//***********************************END**************************************//
/*=======================================================================*/
// Version Ch HDCD/WMA DTS
// ----------------------------------------------------------------------
// MT1369A 2ch no no
// MT1369B 5.1ch no yes
// MT1369C 2ch yes no
// MT1369D 5.1ch yes yes
// MT1369E Support ALL audio functions (DTS/WMA/DVD-A/.....)
// MT1369F 5.1ch no no
// MT1369G Support ALL audio functions (WMA/DVD-A/.....) except DTS
// MT1369H (not defined, reserved for future)
/*=======================================================================*/
#define MT1369A 0
#define MT1369B 1
#define MT1369C 2
#define MT1369D 3
#define MT1369E 4
#define MT1369F 5
#define MT1369G 6
#define MT1369H 7
/*========================================================================*/
// Select you target here
/*========================================================================*/
#if (defined(MTK_2CH) || defined(MTK_TINY))
#define MT1369_CHIP_VER MT1369A
#elif defined(MTK_FULL)
#define MT1369_CHIP_VER MT1369E
#elif defined(MTK_1379)
// include all 1369 function
#define MT1369_CHIP_VER MT1369E
#define MT1379
#elif defined(MTK_2CH79)
#define MT1369_CHIP_VER MT1369A
#define MT1379
#elif defined(NUI_1379)
// default not include DVD-Audio
#define MT1369_CHIP_VER MT1369D
#define MT1379
#define PLAYER_NUI
#elif defined(NUI_2CH)
#define MT1369_CHIP_VER MT1369A
#define MT1379
#define PLAYER_NUI
#elif defined(NUI_BAS)
#define MT1369_CHIP_VER MT1369A
#define MT1379
#define PLAYER_BASIC
#define PLAYER_NUI
#else
#define MT1369_CHIP_VER MT1369A // release default setting
//#define MT1369_CHIP_VER MT1369B
//#define MT1369_CHIP_VER MT1369C // original 2 channel
//#define MT1369_CHIP_VER MT1369D
//#define MT1369_CHIP_VER MT1369E // original full function
//#define MT1369_CHIP_VER MT1369F
#endif
/*========================================================================*/
// Compile Target Setting, for vendor.h only, don't use in code directly
/*========================================================================*/
#if (MT1369_CHIP_VER == MT1369A)
// 2 channel
#define PLAYER_2_CHANNEL
#define NO_DTS_DECODE
#elif (MT1369_CHIP_VER == MT1369B)
// 5.1 channel
#elif (MT1369_CHIP_VER == MT1369C)
// 2 channel
#define PLAYER_2_CHANNEL
#define NO_DTS_DECODE
#define DDISC_FTYPE_WMA_SUPPORT
#define HDCD_EN
#elif (MT1369_CHIP_VER == MT1369D)
// 5.1 channel //use this project zzf mark
#define DDISC_FTYPE_WMA_SUPPORT
#define HDCD_EN
#define NO_DTS_DECODE
#elif (MT1369_CHIP_VER == MT1369E)
// 5.1 channel
#define DDISC_FTYPE_WMA_SUPPORT
#define HDCD_EN
#define SUPPORT_DVD_AUDIO
//#define DVD_AUDIO_TEST
#elif (MT1369_CHIP_VER == MT1369F)
// 5.1 channel
#define NO_DTS_DECODE
#elif (MT1369_CHIP_VER == MT1369G)
// 5.1 channel
#define DDISC_FTYPE_WMA_SUPPORT
#define HDCD_EN
#define SUPPORT_DVD_AUDIO
#define NO_DTS_DECODE
#endif
#ifdef MT1379
//#define AUDIO_IN_ONLY
//#define AUDIO_IN_EN // not yet
//#define VIDEO_IN_EN // not yet
#define MTK_TVE // use internal TVE
//#define SPDIF_ON_ANALOG_MUTE // not yet
//#define USE_3W_SIF // not yet
//#define USE_VRAM2
#endif
//#define RS232_LOG
//#define RS232_WB_DEBUG
//#define RS232_LOG_UI
//#define RS232_LOG_TOC
#ifdef AUDIO_IN_ONLY
#define TRAY_NOT_CONNECT
#define AIN_USE_SPDIF_1
//#define AIN_USE_LINE_1
#endif
#ifdef MTK_TVE
#define PSCAN_EN
#endif
#ifdef PSCAN_EN
//#define PSCAN_FORCE_TV_AUTO
//#define SETUP_NO_PSCAN_CTRL
#ifndef SETUP_NO_PSCAN_CTRL
#define PSCAN_SIMPLE_MENU
#endif
#endif
#ifdef AUDIO_IN_EN
//#define AUDIO_IN_TEST
#endif
#ifdef VIDEO_IN_EN
//#define VIN_USE_PORT_A // this needs 16-bit DRAM setting
#define VIN_USE_PORT_B
#endif
#define DROP_DUMMY_FUNC
/*========================================================================*/
// Internal test related definition
/*========================================================================*/
//#define INTERNAL_TEST // enable internal test
#define NEW_SHOW //use show_com to shrink show_dvd,show_vcd and show_iso
#define NEW_PLAY //use PLAY_com to shrink PLAY_dvd,PLAY_vcd and PLAY_iso
#define ENFORCE_OSD_SHOW_TIME_LEFT //enforce show time_osd on the left side because it can reduce some code
//#define BOOTUP_RAM_TEST
//#define LOW_SPEED_TEST
//#define DELAY_UI_STARTUP
#ifdef MT1379
//#define RISC_PROTECT_EN
#define MT1379_REV_C
#if (defined(MT1379_REV_C) && defined(PSCAN_EN))
// need to check PCB layout and DRAM speed
//#define HIGH_SPEED_DRAM
#endif
//#define ADSP_USE_APLL
#if (defined(MT1379_REV_C) && defined(ADSP_USE_APLL))
#define DSP_LOAD_FORCE_SYNC
#endif
#ifdef MT1379_REV_C
// original is defined in dec2srv.h
#undef UP_RATE_27M
#undef UP_RATE_24M
#define UP_RATE_27M 0
#define UP_RATE_24M 1
#endif
#endif /* MT1379 */
//#define RS232_LOG_UI
#ifdef RS232_LOG_UI // log timer task
#else // log main task
//#define RS232_LOG
//#define RS232_LOG_EEPROM
//#define RS232_LOG_FLASH
#endif
#define USE_FLASH_DMA
// This option need special RISC binary
//#define RISC_BOOT_CODE_CHKSUM
#define USE_FLASH_70NS
/*========================================================================*/
// Certification
/*========================================================================*/
#define DVD_CERTIFICATION
#ifdef INTERNAL_TEST
#undef DVD_CERTIFICATION
#endif
//#define HDCD_CERTIFICATION
//#define AC3_CERTIFICATION
//#define DTS_CERTIFICATION
//#define WMA_CERTIFICATION
//#define MLP_CERTIFICATION
//#define N22_CERTIFICATION
/*========================================================================*/
// MEGA I/O PORT DEFINITION &
// BOARD COMPONENTS RELATED SETTING
/*========================================================================*/
#define DRAM_2M 0x200000
#define DRAM_4M 0x400000
#define DRAM_8M 0x800000
#define DRAM_16M 0x1000000
// DRAM size selection
#define DRAM_SZ DRAM_2M
#ifdef MT1389_REV_D
#if (DRAM_SZ == DRAM_2M)
#define PURE_2M
#elif (DRAM_SZ == DRAM_4M)
#define DRAM_CASCADE
#endif
#endif
// not use auto detect, assign DRAM type
//#define DRAM_1B1M16X2 // 4MB
//#define DRAM_4B1M16X1 // 8MB
// use auto detect
//#define DRAM_16BIT_ONLY
#ifdef MT1379
#define DRAM_REFRESH_PERIOD 0x20 // DRAM refresh period
#ifdef MT1379_REV_C
#define DRAM_RAMPC 0x96 // 12mA DRAM driving strength, clock invert
#else
#define DRAM_RAMPC 0x16 // 12mA DRAM driving strength
#endif
#else // MT1369
#define DRAM_REFRESH_PERIOD 0x40 // DRAM refresh period
#define DRAM_RAMPC 0x9A // 4mA DRAM driving strength
#endif
#ifdef MT1379_REV_C
//#define DRAM_CASCADE
//#define DRAM_CL3T
#endif
#define DLL_RESET
/*========================================================================*/
// Flash Upgrade
/*========================================================================*/
#define DISC_UPDATE_CODE
#ifdef DISC_UPDATE_CODE
//#define DISC_UPG_PATCH
#endif
#ifdef DISC_UPDATE_CODE
// #define VOLUME_ID 'M', 'E', 'D', 'I', 'A', 'T', 'E', 'K', '\0'
#define VOLUME_ID 'M', 'T', 'K', '\0' //Samuel Zhou use the simple define
#define UPDATE_FILE 'M', 'T', 'K', '.', 'B', 'I', 'N', '\0'
#define FLASH_UPG_RETRY_CNT 5
//#define UPG_FINISH_TRAY_OUT
//#define UPG_VFD_STATUS
#define FLASH_8BIT
//#define FLASH_16BIT_SWAP
//#define FLASH_16BIT_NO_SWAP
//#define UPDATE_KEEP_CPPM_KEY // default is replace
#endif
//#define FLASH_USE_POLLING
//#define FLASH_USE_RESET
//#define FLASH_CHECK_DQ5
//#define FLASH_LOOP_CNT
#define FLASH_BYTE_RETRY 3
#ifdef FLASH_LOOP_CNT
#define FLASH_WRITE_LOOP_MAX 100
#define FLASH_ERASE_LOOP_MAX 5000 // 1 seconds
#endif
/*========================================================================*/
// For Password File
/*========================================================================*/
//#define LOAD_USR_PWD_FILE
#ifdef LOAD_USR_PWD_FILE
#define PWD_FILENAME 'M', 'T', 'K', '.', 'T', 'X', 'T', '\0'
#endif
/*========================================================================*/
// Disc Supporting
/*========================================================================*/
//#define SUPPORT_CDI
#define SUPPORT_DTS_CD // support DTS CD or not
#ifdef SUPPORT_DTS_CD
#define DTS_CD_DETECT_TIMEOUT 20 // (400ms) detect DTS CD timeout
#endif
#define SUPPORT_DACD // support DACD
//#define CHK_PASSWD_VCD_EN // vcd control by password
#define VCD_SUPPORT
#ifdef VCD_SUPPORT
#define SUPPORT_VCD_1X
#define SUPPORT_VCD_20
#define SUPPORT_VCD_30
#define SUPPORT_SVCD
//#define SUPPORT_CVD
#endif
#define SUPPORT_PCD // - enable Kodak PCD support
#ifndef SUPPORT_PCD
#define PCD_AS_DATA_DISC
//#define PCD_AS_UNKNOWN_DISC
#endif // !SUPPORT_PCD
#define NOT_SUPPORT_VCD_AS_DATA
//#define SUPPORT_CD_TEXT // support CD-Text reading
#define MINI_DVD_SUPPORT
#ifndef PLAYER_BASIC
#define SUPPORT_DATA_DISC
#endif
/*========================================================================*/
// EEPROM related option
/*========================================================================*/
#define I2C_EEPROM
/* set retry number to 0 to disable retry timeout */
#if 0
#define EEPROM_INIT_RETRY 10 /* at least 1 */
#define EEPROM_RUN_RETRY 3 /* at lesat 2 */
#else
#define EEPROM_INIT_RETRY 0
#define EEPROM_RUN_RETRY 0
#endif
#ifdef I2C_EEPROM
#ifdef PLAYER_2_CHANNEL
#define _24C01_
#else
#define _24C02_
#endif
#ifdef DISC_UPDATE_CODE
//#define DISC_UPG_RESET_DEFAULT
#ifdef DISC_UPG_RESET_DEFAULT
#define DISC_UPG_RESET_KEEP_REGION
#endif
#endif /* DISC_UPDATE_CODE */
//#define EEPROM_CHK_2ND_MAGIC
//#define EEPROM_SLOW_ACK_POLLING
#endif
/*========================================================================*/
// Audio DAC related option //default : Right-Justified, 24-bit
/*========================================================================*/
//#define AC3_DITHER_MUTE
//#define AC3_BASS_OVERFLOW_DETECT
//#define DAC_AUTO_MUTE
//#define DAC_DEEMPH
//#define DAC_EXTPIN_MUTE
#define PLAYER_51_CHANNEL
#ifdef MT1389_REV_D
#ifndef PLAYER_51_CHANNEL
#define INT_ADAC
#ifdef INT_ADAC
#define MTK_ADAC
#undef _NPADAC_
#define TWO_CHANNEL_ONLY
#else
// #define _WM8756_
#undef MTK_ADAC
#endif
#endif
#endif
#define _INTACLK_ // use MT1369 audio clock
#if (defined(AUDIO_IN_EN) || defined(_WM8714_))
#define AUDIO_256FS
#else
#define AUDIO_384FS
#endif
#ifdef ADSP_USE_APLL
#ifdef AUDIO_256FS
#define ADSP_APLL_RATIO AC_APLD2
#else // AUDIO_384FS
#define ADSP_APLL_RATIO AC_APLD3
#endif
#endif /* ADSP_USE_APLL */
#ifdef _AKM4381_
#define _AKM4382_
#endif
#ifdef _CS4337_
#define AUDIO_DATA_18BIT
#define _NPADAC_ //define no programming ADAC
#elif (defined(_CS4330_) || defined(_CS4339_))
#define AUDIO_DATA_20BIT
#define _NPADAC_ //define no programming ADAC
#elif defined(_CS4335_)
#define AUDIO_DATA_LTJ
#define AUDIO_DATA_24BIT
#define _NPADAC_ //define no programming ADAC
#elif defined(_CS4331_)
#define AUDIO_DATA_I2S
#define AUDIO_DATA_18BIT
#define _NPADAC_ //define no programming ADAC
#elif (defined(_CS4334_) || defined(_CS4340_) || defined(_WM8728_) || \
defined(_WM8714_) || defined(_WM8720_) || defined(_PCM1606_))
#define AUDIO_DATA_I2S
#define AUDIO_DATA_24BIT
#define _NPADAC_ //define no programming ADAC
#elif (defined(_CS4360HW_) || defined(_WM8725_) || defined(_WM8746HW_))
#define AUDIO_DATA_24BIT // DIF1=1, DIF0=1, M2=0, M1=0
#define AUDIO_DATA_RTJ
#define _NPADAC_ // hardware mode no need programming ADAC
#elif (defined(_CS4360_) || defined(_AK4382_) || defined(_CS4362_) || \
defined(_CS4391_)) //programable
#define AUDIO_DATA_LTJ
#define AUDIO_DATA_24BIT
#else
#define AUDIO_DATA_24BIT
#define AUDIO_DATA_RTJ
#endif
#if (defined(_PCM1602_) || defined(_PCM1605_))
#define _PCM1604_
#endif
#if defined(_PCM1748_)
#define _PCM1742_
#endif
#ifdef WMA_CERTIFICATION
#define AUDIO_POLARITY_NINV //Use even stages
#define AUDIO_LR_INV
#endif
//#define AUDIO_LR_INV //Inverse the channel(L->R, R->L), analog circuit
#ifdef _NPADAC_ // Still AudioClk output in the PowerDown Mode
#define POWERDOWN_AUDIOOUT_CLK
#endif
///Define Mute Pin Control
#ifdef MT1379
#define USE_1379_MUTE
#else
//#define USE_1336_MUTE
#define USE_1369_MUTE
#endif
//#define USE_IOA20_MUTE //USE 1379 IOA20 as mute function
//#ifdef USE_IOA20_MUTE
// #define LOW_MUTE
//#endif
///Define Use 1336C IO Switch DSD/PCM
#ifdef MT1379_REV_C
#define MT1336_REV_C
#endif
/*========================================================================*/
// Audio DAC related option //default : Right-Justified, 24-bit
/*========================================================================*/
#ifdef AUDIO_IN_EN
#define _AK4114_
#endif /* AUDIO_IN_EN */
/*========================================================================*/
// TV Encoder related option
/*========================================================================*/
#ifdef MTK_TVE
#define NO_PEDESTAL_OFFSET // No 7.5IRE
#define NTSC_ADJUST_H 0 /* 2 pixel base, only positive*/
#define NTSC_ADJUST_V 0 /* 1 pixel base */
#define PAL_ADJUST_H 0 /* 2 pixel base, only positive*/
#define PAL_ADJUST_V 6 /* 1 pixel base */
#define OSD_NTSC_ADJUST_H 0 /* 2 pixel base */
#define OSD_NTSC_ADJUST_V 0 /* 1 pixel base */
#define OSD_PAL_ADJUST_H 0 /* 2 pixel base */
#define OSD_PAL_ADJUST_V 0 /* 1 pixel base */
#else /* for external TVE */
#define ENCODER_MASTER
#define NO_PEDESTAL_OFFSET // No 7.5IRE
#define TVE_YCDELAY_ON
#define TVE_REDGE_ON
#if (defined(_AV3168_) || defined(_AV3169_))
#undef TVE_YCDELAY_ON
#undef TVE_REDGE_ON
#endif
// These 4 Parameters is used to adjust TV Main Video Position
// value from (-10 ~ 10)
#define NTSC_ADJUST_H 0 /* 2 pixel base */
#define NTSC_ADJUST_V 0 /* 1 pixel base */
#if (defined(_CS4954_) || defined(_CS4955_))
#define PAL_ADJUST_H 0 /* 2 pixel base */
#else
#define PAL_ADJUST_H 4 /* 2 pixel base */
#endif
#define PAL_ADJUST_V 0 /* 1 pixel base */
#define OSD_NTSC_ADJUST_H 0 /* 2 pixel base */
#define OSD_NTSC_ADJUST_V 0 /* 1 pixel base */
#if (defined(_CS4954_) || defined(_CS4955_))
#define OSD_PAL_ADJUST_H 0 /* 2 pixel base */
#else
#define OSD_PAL_ADJUST_H 4 /* 2 pixel base */
#endif
#define OSD_PAL_ADJUST_V 0 /* 1 pixel base */
#endif /* for external TVE */
/* yes->turn off video, no->turn on video with macrovision title
Only for non-support-macrovision chip */
#define MACROVISION_CERTIFICATION
#ifdef INTERNAL_TEST
#undef MACROVISION_CERTIFICATION
#endif
//#define VDO_CFG_NO SV_HI_IMP_FLT_FRONT
//#define VDO_CFG_NO SV_HI_IMP_FLT_BACK
#define VDO_CFG_NO SV_LO_IMP
//#define SHARPNESS_USE_YLPF
// TV encoder output mode
//#define COMPONENT_ON_S_OFF // When Component is turned on, turn off S-video
#define SV_TVE_DIRECT (SV_DA0_S_CVBS | SV_DA0_CVBS_ON | SV_DA1_CVBS) // CVBS1 , S-Video, CVBS2
#ifdef COMPONENT_ON_S_OFF
#define SV_TVE_YCBCR (SV_DA0_S_CVBS | SV_DA0_CVBS_ON | SV_DA1_CPNT) // CVBS, YCbCr
#define SV_TVE_RGB (SV_DA0_S_CVBS | SV_DA0_CVBS_ON | SV_DA1_CPNT | SV_CPNT_RGB) // CVBS, RGB
#else
#define SV_TVE_YCBCR (SV_DA0_S_CVBS | SV_DA0_CVBS_ON | SV_DA1_CPNT) // CVBS, YCbCr
#define SV_TVE_RGB (SV_DA0_S_CVBS | SV_DA0_CVBS_ON | SV_DA1_CPNT | SV_CPNT_RGB) // CVBS, RGB
#endif
#define SV_TVE_VGA (SV_TVE_RGB | SV_CPNT_VGA) // Off, Off, VGA, force P-Scan on
#define SV_TVE_SCART 0xFF
#define CVBS2_OUTPUT_ON_G //Max'0623'04, ifdef -> CVBS2 will be on G (new schematics)
/* yes->no support macrovision, only for video quality testing*/
//#define NO_SUPPORT_MACROVISION
//#define P_DEVICE_DEBUG /* I2C peripheral debug */
/*========================================================================*/
// Playback Behavior Setup
/*========================================================================*/
#define TRICK_MODE_USE_PLAY
#define PLAY_PAUSE_TRICK_PLAY
#ifdef PLAYER_2_CHANNEL
#define PAUSE_NO_TRICK
#endif
//#define PROGRAM_NO_REPEAT
//#define RANDOM_SHUFFLE_NO_REPEAT
#define USR_CTRL_CANCEL_REPEAT
#define STOP_RESUME_CANCEL_REPEAT
//#define DIGIT_CANCEL_REPEAT // user select digit button or time search will cancel repeat mode
//#define REVERSE_END_RESTART_PLAY // restart playing instead of continue trick mode reverse
//#define KEEP_TRICK_AFTER_SEARCH // keep the trick mode after search
//#defien FF_2X_PLAY_AUDIO // let dsp play at 2X speed instead of mute
//#define BM_CLR_REARRANGE // 021031: when one bookmark is cleared, rearrange others.
//#define DVD_TITLE_SHUFFLE // use title to do shuffle, instead of PG.
//#define FFSCAN_NO_STILL // forward scan no vobu still, no cell still
//#define BAN_STEP_WHEN_PAUSE_BLOCK // If Pause is blocked, prohibit Step
//#define FF_2X4X_NOSP // fast forward 2X/4X, the sub-picture will be disabled
#define TITLE_PLAY_RESET_ASTN // reset ASTN after a Title_Play()
//#define TITLE_PLAY_RESET_SPSTN // reset SPSTN after a Title_Play()
//#define TIME_SRCH_WITHIN_A_B // time search to C < A then C = A; to C > B then ignore time search
//#define PAUSE_MODE_SWITCH // switch among auto, frame and video pause mode
/*========================================================================*/
// Player System Config
/*========================================================================*/
#define REGION_NO 0
#define PLAYER_POWERDOWN
#define PLAYER_IDLE
#define REDUCE_POWER_MODE
#ifdef PLAYER_POWERDOWN
//#define PLAYER_ACON_STANDBY
#define POWERDOWN_KEY_SCAN
#ifndef _NPADAC_
//#define POWERDOWN_HOLD_RESET
#endif
#endif
#ifdef PLAYER_IDLE
#define IDLE_FORCE_SRV_STOP
//#define PLAYER_IDLE_SPEED_DOWN
#define PLAYER_AUTO_PWR_DOWN
#ifdef PLAYER_AUTO_PWR_DOWN
#define AUTO_PWR_DOWN_TIMEOUT 120 /* 1 tick 5 seconds */
#endif
#endif
#define PLAYER_STOP_SRV_STOP
//#define CDDA_SPEED_DOWN
/*========================================================================*/
// PSCAN RELATED SETTING
/*========================================================================*/
// note this setting could be overide by setup menu setting
#ifdef MT1379_REV_C
#define PSCAN_DEFAULT_VIDEO_MODE SV_PSCAN_HR
#else
#define PSCAN_DEFAULT_VIDEO_MODE SV_PSCAN_NF
#endif
// 030220
//note following settings are for MT1379 REV B, scene-adaptive
#define PSCAN_MOTION_THD_LOW 0x14 // these three threshold must be High > Mid > Low
#define PSCAN_MOTION_THD_MID 0x24 // larger: more scene become still
#define PSCAN_MOTION_THD_HIGH 0x3c // smaller: more scene become motion
#define PSCAN_MODE_SWITCH_THD 0x8 // mode change sensitivity
// smaller: mode change more sensitive
// larger: mode change need longer time
//note following settings are for MT1379 REV C, motion-adaptive
#define PSCAN_M_PXL_THD_LOW 0x5
#define PSCAN_M_PXL_THD_MID 0x8
#define PSCAN_M_PXL_THD_HIGH 0xA
#define PSCAN_M_PXL_THD_STILL 0x10
#define PSCAN_STILL_SCENE_THD 0x3
#define PSCAN_NTSC_MODE PS_NTSC_DEFAULT
#define PSCAN_PAL_MODE PS_PAL_DEFAULT
//for 1389 trick pscan mode setup
#define PSCAN_TRICK_MODE 0 //SV_SLOW_INTRA, SV_FAST_INTRA, SV_STEP_INTRA
/*========================================================================*/
// VIDEO RELATED SETTING
/*========================================================================*/
#define SETUP_MENU_VID_CTRL
#define DISABLE_ZOOM_OUT
#ifdef SETUP_MENU_VID_CTRL
//#define RESET_VDO_TRAY_OUT
//#define POWER_ON_RESET_VDO
#endif
//#define ENABLE_ZOOM_USER_MODE
#define SIMPLE_ZOOM_MODE // for old zoom mode
#define ZOOM_IN_X_FILTER SV_LPF
/*========================================================================*/
// AUDIO RELATED SETTING
/*========================================================================*/
#ifdef MTK_ADAC
#define DSP_AUTO_MUTE
#endif
#ifdef HDCD_EN
//#define HDCD_FILTER // must be defined while certification
#define HDCD_AUTO_LEVEL
#endif
#ifndef MT1389_512K
#define SIMULTANEOUS_DOWNMIX_OUTPUT // only for MT1379
#endif
#ifdef SIMULTANEOUS_DOWNMIX_OUTPUT
//#define SIMULTANEOUS_DOWNMIX_OUTPUT_LTRT //Output is LT/RT, else is LO/RO
#endif
#define SUPPORT_VOLUME_ADJUST //suport volume adjust +,-,mute or not
//#define SUPPORT_AUDIO_KEY_ADJUST
#define MUTE_KEY_MUTE_SPDIF
#ifdef MUTE_KEY_MUTE_SPDIF
#define VOL_ZERO_AS_MUTE
#endif
#ifndef SIMULTANEOUS_DOWNMIX_OUTPUT
#define SPDIF_PCM_CH_SELECT
//#define SPDIF_PCM_FORCE_DOWNMIX
#endif
//#define MUTE_NO_VOL_KEY
//#define DISC_IDENT_AUTO_MUTE_OFF
#define SPDIF_MODE_CHANGE_MUTE
//#define AUDIO_STREAM_CHANGE_MUTE
#define USE_EXTERNAL_KARAOKE
#ifdef PLAYER_2_CHANNEL
#define TWO_CHANNEL_ONLY
#define SPDIF_NO_MPEG_OUT /* with simple menu */
#else /* full version */
#ifndef USE_EXTERNAL_KARAOKE
//#define PLAYER_KARAOKE
#endif
//#define PLAYER_SURROUND
#ifdef MT1379
#define DOLBY_PROLOGIC2
#else
#define DOLBY_PROLOGIC
#endif
#endif
//#define SPDIF_FORCE_MPEG_OUT
#ifdef SPDIF_FORCE_MPEG_OUT
#undef SPDIF_NO_MPEG_OUT
#endif
#ifdef DOLBY_PROLOGIC2
#define PL2_AV_DECODER
//#define PL2_CAR_AUDIO
#endif
#define VOCAL_ASSIST_STREAM_CHANGE
#define AC3_KARA_MODE
#ifdef PLAYER_KARAOKE
#ifdef SPDIF_PCM_FORCE_DOWNMIX
//#define KARA_FORCE_SPDIF_PCM
#endif
#define VOCAL_ASSIST_STREAM_CHANGE
#define AC3_KARA_MODE
#ifdef AC3_KARA_MODE
//#define AC3_KARA_MIC_ON_VOCAL
//#define AC3_KARA_MIC_OFF_BOTH
//#define AC3_KARA_MELODY
#endif
#define KARAOKE_SIMPLE_ECHO
#define KARAOKE_MIC_THRESHOLD
//#define KARAOKE_MIC_REC
#define MIC_AUTOMUTE
#define VOCAL_ASSIST_MIC_CNT 125 // 2.5 seconds, 20ms base
#ifdef VOCAL_ASSIST_MIC_CNT
//#define VCD_VA_MIC_OFF_STEREO
#endif
#define MIC_DOWNSAMPLE_RATIO 0 // 0 for 44K, 1 for 22K, 2 for 11K
#if(DRAM_SZ == DRAM_2M || DRAM_SZ == DRAM_4M)
#undef KARAOKE_MIC_REC //4M bytes can not support mic record
#endif
#ifdef KARAOKE_MIC_REC
#undef MIC_AUTOMUTE //When mic record on, do not use mic auto mute
#endif
// #define KARAOKE_SCORING // define this to enable karaoke scoring
#ifdef KARAOKE_SCORING
#define KSCORE_STG_HARD 3
#define KSCORE_STG_NORMAL 2
#define KSCORE_STG_EASY 1
#define KSCORE_STG_PITCH (0)
#define KSCORE_STG_NO_PITCH (4)
#define KARAOKE_SCORE_TEST
#endif
#endif
#ifdef KARAOKE_MIC_THRESHOLD
#ifdef VOCAL_ASSIST_MIC_CNT
#define MIC_TH_DEFAULT 9
#else
#define MIC_TH_DEFAULT 0
#endif
#endif
#if (!defined(PLAYER_KARAOKE) && defined(USE_EXTERNAL_KARAOKE))
#define MANUAL_MIC_ON_OFF // if no microphone detect pin
#define DSP_STOP_NO_NOTIFY
#endif
#ifdef PLAYER_SURROUND
//#define NO_POST_DRC_ON_OFF
#endif
#ifndef PLAYER_2_CHANNEL
//#define PLAY_AUDIO_CLIP
#define SPDIF_PCM_FREQ_SELECT
#endif
#ifdef SPDIF_PCM_FREQ_SELECT
//#define PCM_FREQ_CHANGE_MUTE
//#define PLAY_NO_PCM_FREQ_SELECT
#endif
#ifdef DOLBY_PROLOGIC
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
#define PROLOGIC_NO_KEY_SHIFT
#endif
#endif
#if (!defined(ADSP_USE_APLL) || defined(MT1379_REV_C))
#define DTS_NO_KEY_SHIFT
//#define CH_EQ_NO_SUPER_EQ
#endif
#define DVD_AUDIO_NO_KEY_SHIFT
// Bass Management Method Select (Old->To L/R, New->To Sub)
//#define BASS_TO_SUB
#define AUD_EN_MIXED_MONO
//#define FAKE_DTS
/*========================================================================*/
// SPECTRUM RELATED SETTING
/*========================================================================*/
#ifndef PLAYER_2_CHANNEL
//#define SPTM_SUPPORT
#endif
#define SPTM_EN_BAR_TYPE
#define SPTM_BAR_NOISE (FALSE) //add noise on bar type spectrum
#define SPTM_GRID_NOISE (FALSE) //add noise on grid type spectrum
//#define SPTM_DATA_OUT //out spectrum data to 8032
#define USE_MED_SPTM
#ifdef USE_LARGE_SPTM
#define SPTM_TOTAL_LINE 15
#define SPTM_LINE_HEIGHT 128
#define SPTM_LINE_WIDTH 24
#define SPTM_LINE_SPACE 4
#endif
#ifdef USE_MED_SPTM
#define SPTM_TOTAL_LINE 13
#define SPTM_LINE_HEIGHT 64
#define SPTM_LINE_WIDTH 24
#define SPTM_LINE_SPACE 8
#endif
/*========================================================================*/
// Auto Play Option
/*========================================================================*/
#define DVD_AUTO_PLAY
#ifdef VCD_SUPPORT
#define VCD_AUTO_PLAY
#endif
#define CDDA_AUTO_PLAY
#ifdef MT1379_MANUFACTURE_TEST
#define ISO_AUTO_PLAY
#endif
//#define USE_8032_AUTO_PLAY
//#define AUTO_LONGEST_TT_PLAY // set this to auto play the longest title
#define LONG_TT_OPTION_MAX_PTT /* set this to use title with max PttNs as
the longest title, otherwise use title
with longest time instead */
/*========================================================================*/
// Last Memory Option
/*========================================================================*/
//#define LAST_MEM_SUPPORT
#if (defined(I2C_EEPROM) && (!defined(PLAYER_2_CHANNEL)))
#if defined(LAST_MEM_SUPPORT)
#ifdef VCD_SUPPORT
//#define VCD_LAST_MEM
#endif
// #define DVD_LAST_MEM
//#define CDDA_LAST_MEM
//#define ISO_LAST_MEM
#endif
#endif
//#define MEMORY_SUPPORT
//#define SHARED_LASTMEM_SLOT
#ifdef SHARED_LASTMEM_SLOT
//#define EEPROM_LASTMEM_EJECT_WR_BACK
#endif
#ifndef EEPROM_LASTMEM_EJECT_WR_BACK
#define EEPROM_CHK_LASTMEM_CHKSUM
#endif
//#define EN_DISC_ID_CHK
#ifdef EN_DISC_ID_CHK
#define DVD_DISC_ID_CHK
#ifdef VCD_SUPPORT
#define VCD_DISC_ID_CHK
#endif
#define CDDA_DISC_ID_CHK
#define ISO_DISC_ID_CHK
#define PCD_DISC_ID_CHK
#ifndef USE_8032_AUTO_PLAY
#define USE_8032_AUTO_PLAY
#endif
#endif
/*========================================================================*/
// DVD Misc. Option
/*========================================================================*/
#define DIRECT_SEARCH
#define TITLE_PLAY_IGNORE_UOP_BLOCK (TRUE)
#define DVD_STOP_PLAY_NO_FP
#define DVD_IGNORE_BTN_NO_CMD
#define MENU_TITLE_KEY_RESUME
//#define DVD_NO_VID_NO_STEP
#define DVD_MENU_NO_ZOOM
#define DVD_SHOW_MSG_FIRST
//#define DVD_SHOW_MENU_TIME
#ifndef DVD_SHOW_MENU_TIME
//#define DVD_MENU_OSD_TIME_ZERO
#endif
//#define DVD_LAST_MEM_WAIT_INPUT // 020731
#define TREAT_PS_LB_AS_THE_SAME
#ifndef PAUSE_MODE_SWITCH
#define VIDEO_PAUSE_SHOW_1FLD
#endif
//#define VIDEO_PN_NO_FRM_YC
#ifdef PLAYER_NUI
#define VIDEO_SHOW_DYNAMIC_BITRATE
#endif
//#define VIDEO_LOGO_KEEP_TVSYS
//#define VIDEO_SPEED_CONTROL
//#define SP_N2P_NO_SCALE
#define ENABLE_LNKPRVC_CHK_PRV_PG // 030605: turn on as default for DVD-Audio "HALLOWEEN FRANK ZAPPA"
//#define USR_CTRL_NO_MENU_TITLE_KEY
#define DVD_NO_PTT_PLAY_UOP_BLOCK
//#define DVD_STOP_NO_MENU_CALL
//#define DVD_NO_REPEAT_ALL
//#define DVD_DGST_SHOW_MSG_ONLY
//#define DVD_CHAP_3_DIGITS
#define DVD_IN_MENU_BLOCK_MENU_CALL
#define DVD_SP_UNKNOWN_LCD_MSG OSD_MSG_NULL // OSD_MSG_SP_OTHERS // OSD_MSG_UNKNOWN
//#define DVD_AUDIO_INFO_NO_CHNL
#define DVDAUD_HIDE_HGR
//#define DVDAUD_PREV_DLIST_CYCLE
//#define DVD_STOP_NO_RESET_PTL
#ifdef DVD_STOP_NO_RESET_PTL
#define NOTIFY_PTL_LV_CHG
#endif
//#define DVD_STOP_NO_RESET_ASTN //020805
//#define DVD_STOP_NO_RESET_SPSTN
//#define DVD_STOP_NO_RESET_AGLN
//#define DVD_REVERSE_END_RESTART_PLAY // restart playing instead of continue trick mode reverse
//#define DVD_KEEP_TRICK_AFTER_SEARCH // keep the trick mode after search
//#define DVD_FORWARD_END_RESTART_PLAY // restart playing instead of continue trick mode forward
//#define DVD_FF_2X_PLAY_AUDIO // let dsp play at 2X speed instead of mute
//#define DVD_SKIP_KEEP_A // keep a point when doing next pg search
//#define DVD_STILL_NO_TRICK // in still menu, trick mode is prohibited.
#define DVD_FAST_ALLOW_NO_VIDEO // in fast mode, allow jumping to a VOBU without video
//#define DVD_FORCE_CHG_ANGLE // allow user to change angle even in non-angle-block cell
#ifdef DVD_FORCE_CHG_ANGLE
#define DVD_FAST_SL_AGL_CHG // seamless angle change doesn't block UOP
#endif
//#define DVD_REP_HLI_NO_FORCED_EXE // in repeat, ignore forced execution of HLI
//#define DVD_AST_FOLLOW_USR // warning: turning this on violates the spec
//#define DVD_SPST_FOLLOW_USR // warning: turning this on violates the spec
//#define DVD_LOCK_INI_LCD // allow INI_LCDs to be changed only in Initial Access
/*========================================================================*/
// VCD Misc. Option
/*========================================================================*/
#ifdef VCD_SUPPORT
#define VCD_PBC_ON_PLAY
//#define VCD_PLAY_PBC_ON
#define VCD_KEEP_FF
#define VCD_KEEP_FR
//#define VCD_KEEP_SF
#define VCD_FORCE_PBC_ON_OFF
//#define VCD_FF2X_NO_MUTE
//#define VCD_SEARCH_KEEP_FF
//#define VCD_SEARCH_KEEP_FR
//#define VCD_SEARCH_KEEP_SF
//#define VCD_SEARCH_KEEP_PAUSE
//#define VCD_REPAB_KEEP_FF
//#define VCD_REPAB_KEEP_SF
// if pbc table is wrong, go to simulate pbc on
#define VCD_FAKE_PBC
// if pbc state of last memory slot is not equal to current pbc state, discard last memory play
//#define VCD_STRICT_MEM_CHK
//#define SETUP_MENU_PBC_CTRL // Enable setup menu PBC control
#ifndef SETUP_MENU_PBC_CTRL
//#define VCD_DEFAULT_PBC_OFF
#endif
//#define VCD_MENU_NO_ZOOM_IN
//#define VCD_MENU_NO_ZOOM_OUT
#define VCD_MENU_NO_ZOOM
// for backward compatibility
#ifdef VCD_MENU_NO_ZOOM
#define VCD_MENU_NO_ZOOM_OUT
#endif
#define SVCD_4AST
#define VCD_USE_BOOKMARK_PBC
//#define VCD_NOT_KEEP_FF_IN_TRK_0
//#define CVD_4AST
//#define VCD_DGST_SHOW_MSG_ONLY
//#define VCD_VFD_SHOW_HOUR
//#define VCD_VFD_TRACK0_SHOW_TIME
//#define VCD_TRACK0_NO_FF_FR
// 0 - 10, the bigger, the higher skip rate
#define VCD_PSR_ERR_SKIP_LV 0
#endif /* #ifdef VCD_SUPPORT */
/*========================================================================*/
// CDDA Misc. Option
/*========================================================================*/
#define CDDA_FF_KEEP_TRICK
#define CDDA_FR_KEEP_TRICK
//#define CDDA_SEARCH_KEEP_TRICK //not support in 1369
#define CDDA_AUTO_DISPLAY
//#ifdef MTK_TINY
//#define CDG_SUPPORT // 1389 Rev D always not support CDG
//#endif
#ifndef PLAYER_2_CHANNEL
#define CDDA_NO_DISPLAY_OFF
#endif
#ifndef CDDA_AUTO_DISPLAY
#ifdef CDDA_NO_DISPLAY_OFF
#define CDDA_AUTO_DISPLAY
#endif
#endif
#ifdef HDCD_EN
//#define SHOW_CD_STREAM_TYPE
#endif /* HDCD_EN */
#define CDDA_RTIME_FROM_ATIME // show RTime from ATime
//#define CDDA_FAST_LOWER_VOL // FF/FR lower volume 2
//#define CDDA_LOWER_LVL 2
#define CDG_START_X 44
#define CDG_START_Y 16
#define CDG_M_WIDTH 72
#define CDG_M_H_PAL 28
#define CDG_M_H_NTSC 36
//#define SHOW_CD_TEXT
//#define SHOW_CD_JACKET
#ifdef SHOW_CD_TEXT
#define SUPPORT_CD_TEXT
#endif
/*========================================================================*/
// SACD Misc. Option
/*========================================================================*/
//#define SUPPORT_SACD
#ifdef SUPPORT_SACD
//#define SACD_PCM_OUTPUT // if not define, SACD will output DSD data to DAC
#endif
/*========================================================================*/
// Picture CD or JPEG behavior Misc. Option
/*========================================================================*/
//#define JPEG_SHOW_DEC_STATUS
#define JPEG_SEL_AUTOSLIDE
//#define JPEG_SHOW_THUMBNAIL_IDX
//#define JPEG_DIGEST_BK_USE_LOGO //add this option to save space.
#ifdef JPEG_DIGEST_BK_USE_LOGO
#define JPEG_BG_FOR_DIGEST_MENU SV_DIGEST_BG_LOGO_MIN
#else
#define JPEG_BG_FOR_DIGEST_MENU (SV_DIGEST_BG_COLOR + SV_DIGEST_BG_COLOR_BLUE)
#define JPEG_BG_COLOR_Y 0x00 // make it bluer
#define JPEG_BG_COLOR_CB 0xA4
#define JPEG_BG_COLOR_CR 0x75
#endif
//#define JPG_PREVIEW_SUPPORT
#ifdef JPG_PREVIEW_SUPPORT
#define JPEG_PREVIEW_BG 0x02
#endif
#define JPEG_SLIDESHOW_INTERVAL 3
#define JPEG_TRANSITION_SPEED 10 // 0 ~ 255, 0:fastest, 255:slowest
//#define JPEG_AUTO_SLIDE_AFTER_ROTATE
#ifdef JPEG_AUTO_SLIDE_AFTER_ROTATE
#define JPEG_TIME_TO_SLIDE 4 //0 ~ 15
#endif
//#define JPEG_DDISC_DIGEST_ENABLE
//#define JPEG_PROGRESS_SHOW_ENABLE
//#define JPEG_DGST_SHOW_NO
#define JPEG_DIGEST_4x3
#ifdef JPEG_DIGEST_4x3
#define DIGEST_START_X_DIV_4 (100/4)
#define DIGEST_START_Y_NTSC_DIV_5 (105/5)
#define DIGEST_X_DIM_NUMS 4
#define DIGEST_Y_DIM_NUMS 3
#define DIGEST_H_GAP_DIV_4 (40/4)
#define DIGEST_V_GAP_NTSC_DIV_5 (15/5)
#define DIGEST_WIDTH_DIV_4 (100/4)
#define DIGEST_HEIGHT_DIV_5 (80/5)
#else //3x3
#define DIGEST_START_X_DIV_4 (100/4)
#define DIGEST_START_Y_NTSC_DIV_5 (40/5)
#define DIGEST_X_DIM_NUMS 3
#define DIGEST_Y_DIM_NUMS 3
#define DIGEST_H_GAP_DIV_4 (20/4)
#define DIGEST_V_GAP_NTSC_DIV_5 (10/5)
#define DIGEST_WIDTH_DIV_4 (160/4)
#define DIGEST_HEIGHT_DIV_5 (110/5)
#endif
#define JPG_MAX_PROGRESS_PIC_SIZ 0
// n >0: set maximum progressive jpg picture size(width x height) to (n*100000)
// n =0: turn off
//#define JPG_ADAPTIVE_PAN_STEP
#ifdef JPG_ADAPTIVE_PAN_STEP
#define JPG_H_PAN_STEP_NUM 69
#define JPG_V_PAN_STEP_NUM 39
#endif
/*========================================================================*/
// MPEG4 Misc. Option
/*========================================================================*/
#define AVI_FF_MODE SV_AVIFF_QUICK
/*========================================================================*/
// DATA DISC Misc. Option
/*========================================================================*/
//#define DDISC_PB_SINGLE_ENABLED //to solve repeat then shuffle then repeat , display Single
//#define DDISC_PB_SHUFFLE_ENABLED//oneway enable for mico
//#define DDISC_PB_RANDOM_ENABLED//oneway enable for mico
#define DDISC_PB_REP_FOLDER_ENABLED
#define DDISC_DEF_PLAYBACK_MODE SV_REPEAT_NONE
#define DDISC_READ_DISC_RETRY 4
#ifdef PLAYER_NUI
#if (DRAM_SZ == DRAM_8M)
#define DDISC_ENB_CONC_AV_MODE
#endif
#endif
//#define DISABLE_SF
#define DISABLE_SR
//#define SHOW_FS_SLIDER
//#define CDDA_USE_CDFS
#ifdef CDDA_USE_CDFS
#define DDISC_ENB_CDFS
#define SUPPORT_DATA_DISC
#define CDFS_AUTO_PLAY
#endif
#define DDISC_ENB_MIXED_TYPE_MODE
// - for data type support
#define DDISC_FTYPE_MP3_SUPPORT
#define DDISC_FTYPE_MPEGA_SUPPORT
//#define DDISC_FTYPE_AAC_SUPPORT
#if !defined(MTK_TINY) && !defined(PLAYER_BASIC)
#define DDISC_FTYPE_JPEG_SUPPORT
#endif
//#define DDISC_FTYPE_MPG_SUPPORT
#define DDISC_FTYPE_WMA_SUPPORT // config by chip version
#ifndef MTK_TINY
#define DDISC_FTYPE_MLP_SUPPORT
#endif
//#define DDISC_FTYPE_WAV_SUPPORT
#define DDISC_FTYPE_MP3PRO_SUPPORT
//#define DDISC_FTYPE_MAP_SUPPORT
//#define DDISC_FTYPE_CDDA_SUPPORT
/*========================================================================*/
// FSMENU Option
/*========================================================================*/
//#define FSMENU_STYLE_1
#define FSMENU_WITH_BUTTONS
//#define FSMENU_DISABLE_PREV_WHEN_SHUFFLE
#define FSMENU_DEF_OPMODE SV_FSMENU_OPMODE_DIRBWR
//#define FSMENU_DISABLE_OPMODE_SWITCH
#define FSMENU_SYNC_SELECTED_AND_HILIT
#define FSMENU_PARENT_DIR_MSG_IDX OSD_MSG_PARENT_DIR
//#define FSMENU_HLITEM_TEXT_COLOR COLOR_BLACK
#define FSMENU_DENY_PLAYING_ITEM_SELECTION
//#define FS_ENABLE_NEXT_PREV_WHEN_SINGLE
#ifdef PLAYER_NUI
#define FSMENU_INFO_PANEL
#define FSMENU_MTK_STYLE
#endif
#ifdef PLAYER_VRMT
#define ISO_PAUSE_STEP_NO_STEP
#endif
#define ISO_PLAY_KEY_CONTINUE_PLAY //nicle[04\07\27]
/*========================================================================*/
// Audio file Option
/*========================================================================*/
//#define AFILE_TRICK_MODE_STILL
//#define ENABLE_ID3
/*========================================================================*/
// OSD Display Option
/*========================================================================*/
#define MT1389_OSD
#ifdef PLAYER_NUI
#define NUI_OSD_STYLE
#define OSD_SLIDER_SUPPORT
#else
#define FONT_NO_BORDER
#endif
//#define OSD_TRANSPARENT_BG
#define PLAY_INFO_SHOW_TYPE 3
#if (PLAY_INFO_SHOW_TYPE == 1)
#define KEEP_REMAIN_TYPE_SHOW
#define KEEP_PLAY_INFO_SHOW
#elif (PLAY_INFO_SHOW_TYPE == 2)
#define DISPLAY_SHOW_INFO_FIRST
#elif (PLAY_INFO_SHOW_TYPE == 3)
#define KEEP_PLAY_INFO_SHOW
#define TIME_INFO_SAME_LINE
#endif
#define USR_PBC_NO_TOTAL_TIME
#define SHOW_ERROR_TYPE_MSG
#define NO_DISC_STOP_CLEAR // for DEMO
//#define MULTI_LANG
// for test
#define SEARCH_INPUT_SHOW
#ifdef PLAYER_NUI
#define OSD_SWAP_LINE_23
#endif
/*========================================================================*/
// DVD Next/Prev Style
/*========================================================================*/
#define DVD_NEXT_STYLE SV_DVD_NEXT_POST
//#define DVD_NEXT_STYLE (SV_DVD_NEXT_TITLE + SV_DVD_NEXT_POST)
#define DVD_PREV_STYLE (SV_DVD_PREV_TITLE + SV_DVD_PREV_CHAP + SV_PREV_GOTOP)
#define DVD_GOTOP_OFFSET 2 /* vobu */
#define DVD_FIRST_ITEM_PREV_STOP /* for user control mode only */
#define DVD_LAST_ITEM_NEXT_STOP /* for user control mode only */
//#define DVD_SHUFFLE_NO_PREV
/*========================================================================*/
// VCD Next/Prev Style
/*========================================================================*/
#ifdef VCD_SUPPORT
#define VCD_PBC_NEXT_STYLE SV_VCD_NEXT_NORMAL /* NORMAL, RETURN, STOP */
#define VCD_PBC_PREV_STYLE SV_VCD_PREV_NORMAL /* NORMAL, RETURN, STOP */
#ifdef PLAYER_2_CHANNEL
#define VCD_PREV_STYLE SV_PREV_ONLY
#define VCD_GOTOP_OFFSET 0 /* seconds */
#else
#define VCD_PREV_STYLE SV_PREV_ONLY
#define VCD_GOTOP_OFFSET 0 /* seconds */
#endif
#define VCD_FIRST_TRACK_PREV_STOP /* for PBC off sequential play only */
#define VCD_LAST_TRACK_NEXT_STOP /* for PBC off sequential play only */
// #define VCD_SHUFFLE_NO_PREV
//#define PBC_ON_NUM_SEL_TRK
#endif /* #ifdef VCD_SUPPORT */
/*========================================================================*/
// CDDA Next/Prev Style
/*========================================================================*/
#ifdef PLAYER_2_CHANNEL
#define CDDA_PREV_STYLE SV_PREV_ONLY
#define CDDA_GOTOP_OFFSET 0 /* seconds */
#else
#define CDDA_PREV_STYLE SV_PREV_ONLY
#define CDDA_GOTOP_OFFSET 0 /* seconds */
#endif
#define CDDA_FIRST_TRACK_PREV_STOP
#define CDDA_LAST_TRACK_NEXT_STOP
//#define CDDA_SHUFFLE_NO_PREV
/*========================================================================*/
// Stop Mode Option
/*========================================================================*/
#define STOP_RESUME_TWO_KEYS 1
#define STOP_RESUME_TWO_STOP 2
#ifdef DISC_UPDATE_CODE
//#define SUPPORT_CAPTURE_LOGO
#endif
#ifdef SUPPORT_CAPTURE_LOGO
#define DVD_STOP_LOGO SV_LOGO_SETUP
#define DVD_LOGO_COLOR 0
#ifdef VCD_SUPPORT
#define VCD_STOP_LOGO SV_LOGO_SETUP
#define VCD_LOGO_COLOR 0
#endif
/*
#define ISO_STOP_LOGO SV_LOGO_SETUP
#define ISO_LOGO_COLOR 0
*/
#define ISO_STOP_LOGO SV_LOGO_FLASH
#ifdef NUI_OSD_STYLE
#define ISO_LOGO_COLOR 2 //0 [runma] 0->2
#else
#define ISO_LOGO_COLOR 0
#endif
#define CDDA_STOP_LOGO SV_LOGO_SETUP
#define CDDA_LOGO_COLOR 0
#ifdef SUPPORT_DVD_AUDIO
#define CAP_LOGO_SZ SV_CAP_LOGO_SZ_64K_CPPM
#define CAP_LOGO_CPPM_NOT_OVERLAP
#else
#define CAP_LOGO_SZ SV_CAP_LOGO_SZ_64K
#endif
#else
#define DVD_STOP_LOGO SV_LOGO_JACKET
#define DVD_LOGO_COLOR 0
#define VCD_STOP_LOGO SV_LOGO_FLASH
#define VCD_LOGO_COLOR 0
#define ISO_STOP_LOGO SV_LOGO_FILL//SV_LOGO_FLASH
#ifdef NUI_OSD_STYLE
#define ISO_LOGO_COLOR 2 //0 [runma] 0->2
#else
#define ISO_LOGO_COLOR 0
#endif
#define CDDA_STOP_LOGO SV_LOGO_FLASH
#define CDDA_LOGO_COLOR LOGO_BLUE
#endif
/*========================================================================*/
// DVD Audio/Sub-title/Angle Change Option
/*========================================================================*/
#define DVD_STREAM_CHANGE_DIRECT 0
#define DVD_STREAM_CHANGE_INFO 1
#define DVD_STREAM_CHANGE_SELECT 2
#ifdef AUDIO_STREAM_CHANGE_MUTE
#define DVD_USER_STREAM_CHANGE DVD_STREAM_CHANGE_INFO
#else
#define DVD_USER_STREAM_CHANGE DVD_STREAM_CHANGE_DIRECT
#endif
#define DVD_ANGLE_CHANGE_SELECT
/* for DVD change audio stream */
#define DVD_CHG_AST_OPT2 SV_AUDIO_MASTER
#define DVD_CHG_AST_OPT3 SV_UOP_FORCE
#if (DVD_USER_STREAM_CHANGE != DVD_STREAM_CHANGE_DIRECT)
//#define DVD_UOP_BLOCK_NO_STREAM_INFO
#endif
/*========================================================================*/
// Trick Mode Customization
/*========================================================================*/
#if(defined (_SHOW_COM_C_))
#define FAST_MAX 6
#define SLOW_MAX 5
static code BYTE pbFastDispTbl[FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
static code BYTE pbSlowDispTbl[SLOW_MAX] = { 0, 2, 4, 8, 16 };
#endif
#if (defined(_PLAY_DVD_C_) || defined(_SHOW_DVD_C_)) || defined(_GOTO_C_)
#define DVD_FAST_MAX 6 /* 32X */
#define DVD_SLOW_MAX 5 /* 1/16 */
#if defined(_PLAY_DVD_C_)
static code BYTE pbDVDFastSpeedTbl[DVD_FAST_MAX] = { 0, 0, 0, 2, 4, 8 };
#elif defined(_SHOW_DVD_C_) || defined(_GOTO_C_)
static code BYTE pbDVDFastDispTbl[DVD_FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
#if ((!defined DISABLE_SF) && (!defined DISABLE_SR))
static code BYTE pbDVDSlowDispTbl[DVD_SLOW_MAX] = { 0, 2, 4, 8, 16 };
#endif
#endif
#elif (defined(_PLAY_VCD_C_) || defined(_SHOW_VCD_C_))
#define VCD_FAST_MAX 6 /* 32X */
#define VCD_SLOW_MAX 5 /* 1/16 */
#if defined(_PLAY_VCD_C_)
static code BYTE pbVCDFastSpeedTbl[VCD_FAST_MAX] = { 0, 0, 0, 2, 4, 8 };
#elif (defined(_SHOW_VCD_C_))
static code BYTE pbVCDFastDispTbl[VCD_FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
#if ((!defined DISABLE_SF) && (!defined DISABLE_SR))
static code BYTE pbVCDSlowDispTbl[VCD_SLOW_MAX] = { 0, 2, 4, 8, 16 };
#endif
#endif
#elif (defined(_PLAY_ISO_C_) || defined(_SHOW_ISO_C_))
#define ISO_FAST_MAX 6 /* 32X */
#define ISO_SLOW_MAX 5 /* 1/16 */
#if defined(_PLAY_ISO_C_)
static code BYTE pbISOFastSpeedTbl[ISO_FAST_MAX] = { 0, 0, 0, 2, 4, 8 };
#elif (defined(_SHOW_ISO_C_))
static code BYTE pbISOFastDispTbl[ISO_FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
static code BYTE pbISOSlowDispTbl[ISO_SLOW_MAX] = { 0, 2, 4, 8, 16 };
#endif
#elif (defined(_PLAY_CDDA_C_) || defined(_SHOW_CDDA_C_))
#define CDDA_FAST_MAX 6 /* 32X */
#define CDDA_SLOW_MAX 5 /* 1/16 */
#if defined(_PLAY_CDDA_C_)
static code BYTE pbCDDAFastSpeedTbl[CDDA_FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
#elif defined(_SHOW_CDDA_C_)
static code BYTE pbCDDAFastDispTbl[CDDA_FAST_MAX] = { 0, 2, 4, 8, 16, 32 };
static code BYTE pbCDDASlowDispTbl[CDDA_SLOW_MAX] = { 0, 2, 4, 8, 16 };
#endif
#endif /* end of trick mode customization */
/*========================================================================*/
// User Control Option
/*========================================================================*/
#ifndef PLAYER_BASIC
//#ifdef GCY_EDIT
#define PLAYER_PROGRAM
//#endif
#ifdef PLAYER_PROGRAM
#define DVD_PROGRAM
#define VCD_PROGRAM
#define CDDA_PROGRAM
#endif
#endif
#if !defined(PLAYER_2_CHANNEL) && !defined(PLAYER_BASIC)
#ifdef GCY_EDIT
//#define PLAYER_BOOKMARK
#endif
//#define PLAYER_DIGEST
#endif /* PLAYER_2_CHANNEL */
#ifdef PLAYER_NUI
#define MTK_MENU
#ifdef SUPPORT_DATA_DISC
#define PLAYER_FLMENU // new file sustem menu
#endif
#ifndef PLAYER_BASIC
//#define PLAYER_VRMT // Add for NUI
//#define PLAYER_GOTO // Add for NUI
//#define PLAYER_ZOOMIN_INDICATOR
#endif
// #define STPMN_HEAD_GRAY //add for nui, gray header bitmap when unselected.
#endif
#ifdef PLAYER_PROGRAM
//#define PROG_NO_STOP_RESUME
#endif
#if (defined(SUPPORT_DVD_AUDIO) && defined(PLAYER_DIGEST))
#if (DRAM_SZ == DRAM_4M)
#define PLAYER_SCAN
#endif
#endif
#define STOP_CANCEL_USR_CTRL
//#define SINGLE_STOP_KEEP_USR_CTRL
/*========================================================================*/
// VFD display related config
/*========================================================================*/
//#define PLAYER_NO_VFD //turn on VFD function xj_hawk
//#define PANEL_LED
//#define LCD_HT1621
//#define VFD_SHOW_PBC_PLAY
//#define VFDICON_SHOW_CVD_AS_VCD
#ifdef PLAYER_NO_VFD
//#define PLAYER_IO_KEY
//#define PLAYER_IO_LED
#else
#ifdef INTERNAL_TEST
#define VFD_SHOW_ERR
#endif
//#define PANEL_VFD_LED
//#define VFD_VOLATILE_MSG
//#define VFD_WHEEL_REVERSE_ROTATE
//#define DVD_MENU_SHOW_VFD_WHEEL
//#define VCD_MENU_SHOW_VFD_WHEEL
//#define JPEG_DECODING_SHOW_VFD_WHEEL
//#define VFD_NO_DIRECT_MSG
//#define VFD_INIT_STATE_FLASHING
//#define VFD_MULTI_FUNC_KEY
#endif
#ifdef PANEL_VFD_LED
//#define VFD_STANDBY_LED
//#define VFD_HDCD_LED
#endif
#define VFD_DATA_H ".\vfd\vfd_data.h"
#define VFD_DATA_C ".\vfd\vfd_data.c"
#define VFD_KEY_C ".\vfd\vfdkey.c"
// turn RISC_1K_SQUARE_WAVE on will ask RISC to generate 1K HZ square wave in P3.5
//#define RISC_1K_SQUARE_WAVE
/*========================================================================*/
// Password
/*========================================================================*/
#if 1//def PLAYER_2_CHANNEL
#define PASSWORD_LEN 4 /* 4 ~ 6 */
#else
#define PASSWORD_LEN 6 /* 4 ~ 6 */
#define NO_DEFAULT_PASSWORD
#endif
// Universal Password
#ifdef __STPPASS_C_
#if (PASSWORD_LEN == 4)
static code BYTE _pbSuperPass[4] = {8, 8, 0, 6};
#elif (PASSWORD_LEN == 5)
static code BYTE _pbSuperPass[5] = {1, 3, 6, 9, 0};
#elif (PASSWORD_LEN == 6)
static code BYTE _pbSuperPass[6] = {1, 3, 6, 9, 0, 0};
#endif
#endif /* _PASSR_C_ */
// Factory Default Password
#ifdef _EEPROM_C_
#ifdef NO_DEFAULT_PASSWORD
#if (PASSWORD_LEN == 4)
static code BYTE _pbFactoryPass[4] = {0xff, 0xff, 0xff, 0xff};
#elif (PASSWORD_LEN == 5)
static code BYTE _pbFactoryPass[5] = {0xff, 0xff, 0xff, 0xff, 0xff};
#elif (PASSWORD_LEN == 6)
static code BYTE _pbFactoryPass[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
#endif
#else /* set default password */
#if (PASSWORD_LEN == 4)
static code BYTE _pbFactoryPass[4] = {8, 8, 0, 6};
#elif (PASSWORD_LEN == 5)
static code BYTE _pbFactoryPass[5] = {1, 2, 3, 4, 5};
#elif (PASSWORD_LEN == 6)
static code BYTE _pbFactoryPass[6] = {1, 2, 3, 4, 5, 6};
#endif
#endif /* end of default password */
#endif /* _EEPROM_C_ */
#ifdef PLAYER_GOTO
#ifdef DVD_MENU_NO_ZOOM
#define GOTO_VTSTT_DOM_ONLY // allow entering Goto in VTSTT_DOM only
#endif
#ifdef VCD_MENU_NO_ZOOM
#define GOTO_IN_TRACK_ONLY
#endif
//#define NO_SCROLL_OVER // define this to disable scrolling over behaviior
// such as setup menu, goto menu
//#define GOTO_VCD_SEGMENT // define this to enable VCD's segment search
#define GOTO_STATUS_NO_TTCH // define this to show displayed time type and bitrate number
//#define GOTO_SEPARATE_KEY IR_XXX // define this to use another key for entering Goto
#endif
/*========================================================================*/
// Setup Menu
/*========================================================================*/
//#define SETUP_MENU_OPTION_SELECT_RETAIN_OPTION //Retain in option area when option is selected.
#define SETUP_USE_TAB
#define BITMAP_DEF 0
#define BITMAP_JYC1 1
#define BITMAP_JYC2 2
#define SETUP_HEAD_BITMAP BITMAP_DEF
#ifndef MTK_MENU
#define SETUP_NO_BORDER
//#define SETUP_SHOW_BMP
#endif
//#define NO_REGION_CODE //do not show region code
//#define NO_INT_VER //do not show internal version number
#ifdef MTK_MENU
#ifdef PLAYER_2_CHANNEL
// #define SHOW_MARK
#define SIMPLE_MENU
#endif
#else
#ifdef PLAYER_2_CHANNEL
#define SHOW_MARK
#define SIMPLE_MENU
#else
#define SHOW_MARK
#endif
#endif
//#define SETUP_NO_CC_CTRL
//#define SETUP_NO_AGL_MARK
#if (defined(USE_TYPE_2) && !defined(SIMPLE_MENU))
//#define SETUP_USE_TYPE2_ONLY
#endif
#ifdef MT1379
#define SUPPORT_TRUECOLOR
#define SETUP_MENU_TRUECOLOR
#define ALL_WB_USE_TRUECOLOR
//#define USE_ONE_BIT_WB
#ifdef USE_ONE_BIT_WB
#define TWO_LINE_OSD
#endif
#ifdef PLAYER_VRMT
#define VRMT_WB_USE_TRUECOLOR
#endif
#else // MT1369
//#define SUPPORT_TRUECOLOR
//#define SETUP_MENU_TRUECOLOR
//#define ALL_WB_USE_TRUECOLOR
#endif
#define WB_ALLOC_MIN
#ifndef PLAYER_2_CHANNEL
// #define ENABLE_USER_LANG_CODE
#ifdef MTK_TVE
#define STP_VDO_Q_MENU
#endif
#endif
#if (!defined(TWO_CHANNEL_ONLY) && defined(PLAYER_SURROUND))
#define SET_VSURR_IN_SPKCFG
#endif
#ifndef SUPPORT_TRUECOLOR
#undef SETUP_MENU_TRUECOLOR
#endif
#define RESET_CLOSE_SETUP_MENU
//#define SIMPLE_USE_MULTI_MENU
#define SCART_SELECTION
//#if !defined(SIMPLE_MEUN) && defined(SIMPLE_USE_MULTI_MENU)
//#undef SIMPLE_USE_MULTI_MENU
//#endif
#ifdef PLAYER_NUI
#define SET_PTL_NEED_PWD
#ifndef SIMPLE_MENU
#define PTL_PWD_MODE_SW
#endif
#else
//#define SET_PTL_NEED_PWD
//#define PTL_PWD_MODE_SW
#endif
#ifndef PTL_PWD_MODE_SW
//#define PWD_ON_NO_SET_PTL
#endif
#ifndef PLAYER_2_CHANNEL
//#define SETUP_ENABLE_TEST_TONE
#define SETUP_ENABLE_DIALOG_GAIN
//#define DOWNMIX_NO_SUBWOFFER
#endif
#ifdef SETUP_ENABLE_TEST_TONE
//#define SPDIF_ON_NO_TEST_TONE
//#define SUBWOOFER_TEST_TONE
#endif
#ifdef INTERNAL_TEST
#define MENU_ITEM_PIC_MODE
#endif
//#define MENU_ITEM_PIC_MODE
//#define SETUP_PAUSE_PLAY
//#define PLAY_NO_CHG_TV_FMT
#define PREFERENCE_CHINESE
//#define SETUP_CIRCULAR_ITEM
#ifdef SIMPLE_MENU
#define SIMPLE_AUDIO_SETUP_MENU
#endif
#ifdef SIMPLE_AUDIO_SETUP_MENU
//#define CHNL_DELAY_USE_TIME
#ifdef SIMPLE_MENU
#define SIMPLE_SPDIF_CTRL
#endif
#ifdef SPDIF_PCM_CH_SELECT
#undef SPDIF_PCM_CH_SELECT
#endif
#endif
//#define PLAYER_DELUXE
#ifdef PLAYER_DELUXE
#define SHOW_SPK
#define PLAYER_TRIM
#define PLAYER_SEQ
#define PLAYER_ADV_EQ
#define PLAYER_MIC_EQ
#define PLAYER_3D_GAIN
#endif
/*========================================================================*/
// Setup Menu Default Option
/*========================================================================*/
#ifdef _SETUP_C
#ifdef PREFERENCE_CHINESE
#define TV_SYSTEM_DEFAULT SV_PAL
#define OSD_LANG_DEFAULT EV_OSD_ENGLISH
#define AUDIO_LCD_DEFAULT EV_ENGLISH
#define SP_LCD_DEFAULT EV_ENGLISH
#define MENU_LCD_DEFAULT EV_ENGLISH
#define REGION_DEFAULT EV_CHINA
#define ASPECT_DEFAULT SV_4_3_PS
#else /* original default */
#define TV_SYSTEM_DEFAULT SV_PAL
#define OSD_LANG_DEFAULT EV_OSD_ENGLISH
#define AUDIO_LCD_DEFAULT EV_ENGLISH
#ifdef ENABLE_USER_LANG_CODE
#define SP_LCD_DEFAULT EV_LANG_OFF
#else
#define SP_LCD_DEFAULT EV_LANG_OFF
#endif
#define MENU_LCD_DEFAULT EV_ENGLISH
#define REGION_DEFAULT EV_USA
#define ASPECT_DEFAULT SV_4_3_PS
#endif /* original default */
#ifdef N22_CERTIFICATION
#define GLOBAL_SPDIF_DEFAULT EV_PCM
#define SPEAKER_SET_DEFAULT EV_DOWN_OFF
#define CNTR_SPK_DEFAULT EV_LARGE
#define REAR_SPK_DEFAULT EV_LARGE
#define POST_DRC_DEFAULT EV_POST_DRC_OFF
#else /* normal default */
#define GLOBAL_SPDIF_DEFAULT EV_RAW
#define SPEAKER_SET_DEFAULT EV_DOWN_LORO
#define CNTR_SPK_DEFAULT EV_SMALL
#define REAR_SPK_DEFAULT EV_SMALL
#define POST_DRC_DEFAULT EV_POST_DRC_AUTO
#endif /* normal default */
#endif /* _SETUP_C */
/*========================================================================*/
// Screen Saver
/*========================================================================*/
#ifndef PLAYER_BASIC
//#define SS_RECT
#define SS_BMP
#endif
#define SS_USE_ONE_BMP
#define SCR_SAVER_TIMEOUT 36 /* 3 minute, 1 tick 5 seconds */
#define MOVE_PER_STATE 4 /* move speed, bigger for higher speed */
#define SS_START_X 280 /* start location X */
#define SS_START_Y 280 /* start location Y */
#ifdef SS_USE_ONE_BMP
#ifdef ALL_WB_USE_TRUECOLOR
#define SS_BMP_WIDTH 158
#define SS_BMP_HEIGHT 94
#else
#define SS_BMP_WIDTH 148
#define SS_BMP_HEIGHT 68
#endif
#define SS_NO_LIGHT_COL /* use lighter color or not */
#else
#define SS_BMP_WIDTH 64
#define SS_BMP_HEIGHT 64
#endif
//#define SS_FADE_INOUT /* use fade in / fade out screen saver */
/*========================================================================*/
// Playback Debug Option
/*========================================================================*/
#ifdef INTERNAL_TEST
#define SHOW_ERROR_CODE
#define TRACE_RISC_EEVT
#define TRACE_RESTART
#define TRACE_WRONG_SINFO
//#define TRACE_WRONG_VOL
#ifdef TRACE_WRONG_VOL
//#define TRAP_WRONG_VOL
#endif
#define TRACE_EEPROM_SHADOW_RW
//#define REBOOT_TEST
#else /* for release */
#define ADSP_RECOVERY // Audio DSP recovery
#endif
/*========================================================================*/
// Remote Controller Setup
/*========================================================================*/
//#define PLAYER_NO_IR
#define SHRINK_KEYPROC
#ifndef PLAYER_NO_IR
#define IR_USE_HW
#define IR_USE_REPEAT
#ifndef IR_USE_HW // for software
#define IR_CHECK_DATA_CODE_INV
#define IR_STRICT_TIMING
#else // for hardware mode
// #define IR_USE_RC6
// #define IR_USE_RC5
#ifdef IR_USE_RC6
// use RC5 & RC6 at the same time
#define IR_USE_RC5_UNDER_RC6
#endif
#if (defined(IR_USE_RC6) || defined(IR_USE_RC5))
// for check toggle status..
#define IR_CHECK_DATA_CODE_INV
#endif
#ifdef MT1379
//#define IR_USE_2X
#endif
#endif
#endif /* !PLAYER_NO_IR */
//#define IR_CHECK_KEY_LOCK
#define MTK_REMOTE 2
#if (MTK_REMOTE != 3)
//#define SF_SR_SAME_KEY
#endif
#if (MTK_REMOTE == 4)
#define IR_SUPPORT_SHIFT_KEY
#define ISO_SELECT_USE_ADD10_KEY
#endif
#if (MTK_REMOTE == 5)
#define STOP_RESUME_STYLE STOP_RESUME_TWO_KEYS
#else
#define STOP_RESUME_STYLE STOP_RESUME_TWO_STOP
#endif
#if (MTK_REMOTE == 6)
#define CDDA_NO_STOP_RESUME
#endif
#if ((MTK_REMOTE == 1) || (MTK_REMOTE == 2) || (MTK_REMOTE == 5))
#define USE_NUM0_AS_NUM10
#endif
#if ((MTK_REMOTE == 7) || (MTK_REMOTE == 11))
#define NO_ADD10_KEY
#endif
#if (MTK_REMOTE == 16)
#define ISO_PAUSE_STEP_NO_STEP
#else
// #define PN_IP_SAME_KEY //comment by Samuel Zhou
#endif
#ifndef PLAYER_2_CHANNEL
#define USE_TEMP_DIGEST_KEY
#endif
//#define ADD10_SHOW_10 // by megaa
// ADD5 key related settings begin, by megaa
#define NO_ADD5_KEY
//#define NO_ADD10_KEY
#if !defined(NO_ADD10_KEY) && !defined(NO_ADD5_KEY) && !defined(ADD10_SHOW_10)
#define ADD10_SHOW_10
#endif
// ADD5 key related settings end, by megaa
//#define USE_TEMP_SR_KEY
//#define USE_TEMP_CLEAR_KEY
//#define PTT_TRK_SEARCH_CONFIRM // for DVD PTT and VCD Track search
//#define SHUFFLE_RANDOM_SAME_KEY
//#define ZOOM_IN_OUT_SAME_KEY
#define ISO_TIMEOUT_SELECT // for ISO file select
#define NUM_KEY_SEARCH // for DVD/VCD
#ifdef NUM_KEY_SEARCH
#define NUM_KEY_DIRECT_SEARCH
#define ONE_PTT_NO_SEARCH // DVD
#define ONE_TRACK_NO_SEARCH // VCD
#ifdef NUM_KEY_DIRECT_SEARCH
#define NUM_KEY_DIRECT_SEARCH_CHECK_RANGE
#endif
#endif
#ifdef PLAYER_VRMT
#define ISO_PAUSE_STEP_NO_STEP
#endif
//#define ZOOM_NO_SLOW_STEP
/*========================================================================*/
// TRAY CONTROL DEFINE AREA
/*========================================================================*/
//#define SLOT_IN
//#define THOMSON_TRAY
//#define TOP_LOADER // for top open cover loader
#ifdef TOP_LOADER // [0811 Gary] Tray PWM Function
#define TARY_OPEN_CLOSE_BRAKE 0
#define TARY_OPEN_BRAKE 0
#else
#define TRAY_IN_OUT_DELAY // Add some delay when touch/leave limit S/W
//#define BA5956_DRIVER
#define TARY_OPEN_CLOSE_BRAKE 0 //!!!NOT READY OF BA5956 DRIVER
// #define TARY_OPEN_BRAKE 0// 1 //oneway for mico test1
#define TARY_OPEN_BRAKE 1 //oneway for mico test2
#if (TARY_OPEN_CLOSE_BRAKE == 1)
#define TRAY_OPEN_LEVEL1 0 // Duty Cycle 0/16 H (16/16 L)
#define TRAY_OPEN_TIME1 25 // 500 ms
#define TRAY_OPEN_LEVEL2 3 // Duty Cycle 3/16 H (13/16 L)
#define TRAY_OPEN_TIME2 50 // 1.0 Sec
#define TRAY_OPEN_LEVEL3 5 // Duty Cycle 5/16 H (11/16 L)
#define TRAY_CLOSE_LEVEL1 11 // Duty Cycle 10/16 H (6/16 L)
#define TRAY_CLOSE_TIME1 40 // 800 ms
#define TRAY_CLOSE_LEVEL2 16 // Duty Cycle 16/16 H (0/16 L)
#define TRAY_CLOSE_TIME2 65 // 1.3 Sec
#define TRAY_CLOSE_LEVEL3 13 // Duty Cycle 13/16 H (3/16 L)
#else
#if (TARY_OPEN_BRAKE == 1)
#define TRAY_FULLFORCE_TIME 30 // Tray Open Using Full Force Time = TRAY_FULLFORCE_TIME * 20ms
#define TRAY_START_TIME 0xF0 // Duty Cycle Start Point
#define TRAY_TRAN_TIME 0xFE // Tray Push Time = (TRAY_TRAN_TIME - TRAY_START_TIME) * 2ms //form 0xfb oneway
#define TRAY_STOP_TIME 0xFF // Tray Stop Time = (TRAY_STOP_TIME - TRAY_TRAN_TIME) * 2ms
#endif
#endif
#endif
#define LIMIT_TRAY_ERR
#ifdef LIMIT_TRAY_ERR
#define MAX_TRAY_ERR_CNT 2 // Tray Error Retry Count
#endif
/*========================================================================*/
// Servo Config
/*========================================================================*/
#define SRV_DATA_READ_TIMEOUT 4 // 3 // in second
#define SRV_ERROR_RETRY
//#define SRV_SHOW_ERROR_COUNTER
#if (DRAM_SZ == DRAM_8M)
#define DVD_ARBUF_DEFAULT 0xff // base on 256/90k
#else
#define DVD_ARBUF_DEFAULT 0x30 // base on 256/90k
#endif
//#define LIMIT_READ_RETRY
#ifdef MINI_DVD_SUPPORT
// #define MINI_DVD_8X_SPEED
#endif
/*========================================================================*/
// Define Vendor DEBUG ATAPI CMD ON/OFF
/*========================================================================*/
#define DRS232_DEBUG
#ifdef MT1379
#if (defined(RS232_LOG) || defined(RS232_LOG_EEPROM) || defined(RS232_LOG_UI) || defined(RS232_LOG_TOC))
#define DRS232_LOG_LEN 30
#else
#define DRS232_LOG_LEN 5
#endif
#else
#define DRS232_LOG_LEN 5
#endif
#ifdef DRS232_DEBUG
#define DISABLE_LED_ONOFF
// #define DEBUG_RS232_C1C2 // SERVO RS232 DEBUG MODE
#ifdef DEBUG_RS232_C1C2
#define READ_C1C2PIPO // SERVO C1C2PIPO DEBUG INFO
#ifdef READ_C1C2PIPO
#define READ_PIPO_1ECCBLK
#define READ_PIERR_ONLY
#endif
#endif
#else /* not define DRS232_DEBUG */
#define DISABLE_LED_ONOFF
#endif
//#define DEBUG_CMD_8032
//#define RISC_ICE_MODE
//#define READ_NO_ERROR // DVD READ ERROR NOTIFY CLOSE
/*========================================================================*/
// Certification related definition
/*========================================================================*/
#if defined(HDCD_CERTIFICATION)
#define HDCD_EN
#define HDCD_AUTO_LEVEL
#define SHOW_CD_STREAM_TYPE
#endif
#if defined(DVD_CERTIFICATION)
#undef DVD_IGNORE_BTN_NO_CMD
#undef DVD_NEXT_STYLE
#undef DVD_PREV_STYLE
#undef DVD_GOTOP_OFFSET
#undef DVD_CHG_AST_OPT3
#undef DVD_SHOW_MSG_FIRST
#undef DVD_NO_PTT_PLAY_UOP_BLOCK
#undef TITLE_PLAY_IGNORE_UOP_BLOCK
//#undef TREAT_PS_LB_AS_THE_SAME
//#define DVD_NEXT_STYLE SV_NEXT_NORMAL
#define DVD_NEXT_STYLE SV_DVD_NEXT_TITLE
//#define DVD_NEXT_STYLE (SV_DVD_NEXTCHAP_FST + SV_NEXT_POST)
//#define DVD_PREV_STYLE SV_PREV_ONLY
#define DVD_PREV_STYLE SV_PREV_ONLY
#define DVD_GOTOP_OFFSET 0
#define DVD_CHG_AST_OPT3 SV_UOP_BLOCK
#define TITLE_PLAY_IGNORE_UOP_BLOCK (FALSE)
#define CHECK_TV_ASPECT_SET
#endif
/*========================================================================*/
// Include files
/*========================================================================*/
#ifdef PLAYER_NUI
#define OSD_COLOR_FILE "nui_clr.h"
#define OSD_COLOR_CUST_FILE "..\..\nui_clr.h"
#ifdef _C_OSD8032
#define WB_H_FILE "nuiwb.h"
#endif
#define WB_PUB_FILE "nuiwbpub.h"
#define WB_PUB_CUST_FILE "..\..\nuiwbpub.h"
#else
#define OSD_COLOR_FILE "osd_clr.h"
#define OSD_COLOR_CUST_FILE "..\..\osd_clr.h"
#ifdef _C_OSD8032
#define WB_H_FILE "wb.h"
#endif
#define WB_PUB_FILE "wbpub.h"
#define WB_PUB_CUST_FILE "..\..\wbpub.h"
#endif
#define SETUP_MENU_FILE ".\setupmn\stpmenu1.h"
//#define TEST_VFD
#define zzf_modify_video
#define zzf_restore_video
#ifdef zzf_modify_video
#define SV_S_VIDEO 0
#define SV_YCBCR_VIDEO 1
#define SV_YPBPR_VIDEO 2
#define SV_VGA_VIDEO 3
#define SV_SCART_VIDEO 4
#define SV_LAST_VIDEO SV_SCART_VIDEO
#define SV_DEFAULT_VIDEO SV_YCBCR_VIDEO
#define SV_FIRST_VIDEO SV_S_VIDEO
#endif
#define zzf_region
//#define GCY_EDIT_NO_SCREENSAVER
#endif //_H_VENDOR_