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

📄 osdshow.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 3 页
字号:
    case SV_A_CODE_AAC:
      wMsgId = OSD_MSG_AAC;
      break;

    case SV_A_CODE_HDCD:
      wMsgId = OSD_MSG_HDCD;
      break;

    case SV_A_CODE_PCM:
      if (fgIsDvdPlay())
      {
        wMsgId = OSD_MSG_LPCM;
      }
      else
      {
        wMsgId = OSD_MSG_PCM;
      }
      break;

    case SV_A_CODE_AC3:
      if (fgIsAinPlay())
      {
        wMsgId = OSD_MSG_ICON_DOLBY_DIGITAL;
      }
      else
      {
        wMsgId = OSD_MSG_AC3;
      }
      break;

    case SV_A_CODE_MPEG:
      wMsgId = OSD_MSG_MPEG;
      break;

    case SV_A_CODE_DTS:
      wMsgId = OSD_MSG_DTS;
      break;

    case SV_A_CODE_SDDS:
      wMsgId = OSD_MSG_SDDS;
      break;

    case SV_A_CODE_MP3:
      wMsgId = OSD_MSG_MP3;
      break;

    case SV_A_CODE_WAV:
      wMsgId = OSD_MSG_WAV;
      break;

#ifdef SUPPORT_DVD_AUDIO
    case SV_A_CODE_MLP:
      wMsgId = OSD_MSG_MLP;
      break;
#endif

    case SV_A_CODE_NONE:
    default:
#if 0
      if (fgIsDvdPlay())
      {
        wMsgId = OSD_MSG_AC3;
      }
      else if (fgIsVcdPlay())
      {
        wMsgId = OSD_MSG_MPEG;
      }
      else if (fgIsIsoPlay())
      {
        wMsgId = OSD_MSG_MP3;
      }
      else if (fgIsCddaPlay())
      {
        wMsgId = OSD_MSG_PCM;
      }
#else
      wMsgId = OSD_MSG_NULL;
#endif
      break;
  }

  return (wMsgId);
}

// *********************************************************************
// Function : WORD wOsdGetAudChMsg(BYTE bType)
// Description : Audio Channel Config
// Parameter :  bState
// Return    : None
// *********************************************************************
WORD wOsdGetAudChMsg(BYTE bType) large
{
#ifdef DVD_AUDIO_INFO_NO_CHNL
  return (OSD_MSG_NULL);
#else /* !DVD_AUDIO_INFO_NO_CHNL */
  WORD wMsgId = OSD_MSG_NULL;

  switch (bType)
  {
    case SV_A_CH_MN:
    case SV_A_CH_LL:
    case SV_A_CH_RR:
      wMsgId = OSD_MSG_1CH;
      break;

    case SV_A_CH_33_1:
      wMsgId = OSD_MSG_61CH;
      break;

    case SV_A_CH_32_1:
      wMsgId = OSD_MSG_51CH;
      break;

    case SV_A_CH_31_1:
    case SV_A_CH_22_1:
      wMsgId = OSD_MSG_41CH;
      break;

    case SV_A_CH_21_1:
    case SV_A_CH_30_1:
      wMsgId = OSD_MSG_31CH;
      break;

    case SV_A_CH_20_1:
      wMsgId = OSD_MSG_21CH;
      break;

    case SV_A_CH_33_0:
      wMsgId = OSD_MSG_6CH;
      break;

    case SV_A_CH_32_0:
      wMsgId = OSD_MSG_5CH;
      break;

    case SV_A_CH_31_0:
    case SV_A_CH_22_0:
      wMsgId = OSD_MSG_4CH;
      break;

    case SV_A_CH_21_0:
    case SV_A_CH_30_0:
      wMsgId = OSD_MSG_3CH;
      break;

    case SV_A_CH_20_0:
    default:
      wMsgId = OSD_MSG_2CH;
      break;
  }

  return (wMsgId);
#endif /* !DVD_AUDIO_INFO_NO_CHNL */
}
#ifdef MT1379_MANUFACTURE_TEST
#ifdef RS232_LOG
extern void DRS232LogS(char *pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif

xdata struct
{
	BYTE bTestStart:1;
	BYTE bDVDTestSuccess:1;
	BYTE bCDTestSuccess:1;
	BYTE bY7Pressed:1;
	BYTE bReserve:4;

}
_stFWVerify;

static code const BYTE pbMPTestModuleError[]={20, 'W', 'R', 'O','N','G',' ','D','I','S','C',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
#ifdef MT1389_REV_L
#ifdef MT1389_PTCON
static code const BYTE pbMPTestModuleInit[]={19, 'M', 'T', '1', '3','8','9', 'L', 'P', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#else
static code const BYTE pbMPTestModuleInit[]={18, 'M', 'T', '1', '3','8','9', 'L', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','4'};
#endif
#elif defined (MT1389_REV_K)
#ifdef MT1389_PTCON
static code const BYTE pbMPTestModuleInit[]={19, 'M', 'T', '1', '3','8','9', 'K', 'P', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#else
static code const BYTE pbMPTestModuleInit[]={18, 'M', 'T', '1', '3','8','9', 'K', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#endif
#else
static code const BYTE pbMPTestModuleInit[]={17, 'M', 'T', '1', '3','8','9',' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','1'};
#endif
static code const BYTE pbMPTestModulePassed[]={20, 'T', 'E', 'S','T',' ','P','A','S','S','E','D',' ',' ',' ',' ',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleInsertDVD[]={20	,'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'D' ,'V' ,'D',' ',' ',' '};
static code const BYTE pbMPTestModuleInsertCD[]={20, 'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'C' ,'D',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleBothPassed[]={20, 'A', 'L', 'R', 'E', 'A' ,'D' ,'Y',  ' ', 'P','A','S','S','E','D',' ',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleWrongDisc[]={20, 'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'D' ,'V' ,'D', '/', 'C' ,'D'};


#define MSG_INVALID_DISC	0x10
#define MSG_DVD_OK			0x20
#define MSG_CD_OK			0x30

static code const BYTE pbMPTestDVDOk[] ={6 ,'D' ,'V', 'D', ' ','O', 'K'};
static code const BYTE pbMPTestCDOk[] ={5 ,'C', 'D', ' ','O', 'K'};
static code const BYTE* ppbMPTestHdrMsg[3] ={
	pbMPTestModuleError,
	pbMPTestDVDOk,
	pbMPTestCDOk
};

enum{
		MSG_INIT=0,
		MSG_PASSED,
		MSG_INSERT_DVD,
		MSG_INSERT_CD,
		MSG_HAVE_PASSED,
		MSG_WRONG_DISC
};

static code const BYTE* ppbMPTestModuleMsg[6] ={
	//pbMPTestModuleError,
	pbMPTestModuleInit,
	pbMPTestModulePassed,
	pbMPTestModuleInsertDVD,
	pbMPTestModuleInsertCD,
	pbMPTestModuleBothPassed,
	pbMPTestModuleError
	//pbMPTestModuleWrongDisc
	};

static code const WORD wBgColor[6]={
	TRUECOLOR_BLUE,
	TRUECOLOR_DARK_GREEN,
	TRUECOLOR_RED,
	TRUECOLOR_RED,
	TRUECOLOR_RED,
	TRUECOLOR_RED
};

void vShowTestVer() large
{
  BYTE pbStr[30], i;

	#ifdef RS232_LOG
    	DRS232LogS("vShowTestVer");
	#endif

  vCreateWB(WB_SELMENU, TRUE);
  vSetWBTcColor(WB_SELMENU);

  vSetTcPal(WB_SELMENU, 2, BLEND_3, wBgColor[MSG_INIT]);
  vSetTcPal(WB_SELMENU, 0, BLEND_3, wBgColor[MSG_INIT]);
  vSetMsgCol4(WB_SELMENU, 0, 2, 2, 3);

  for (i=0;i<ppbMPTestModuleMsg[MSG_INIT][0]+1;i++)
    pbStr[i] = ppbMPTestModuleMsg[MSG_INIT][i];
//  vOsdShowStrXY(160, 65, WB_SELMENU, ppbMPTestModuleMsg[MSG_INIT]);
  vOsdShowStrXY(160, 65, WB_SELMENU, pbStr);
  vEnableWB(WB_SELMENU);
}

void vOsdShowTestInfo(BYTE bIndex) large
{
  BYTE pbStr[30], i;
  BYTE bHdrMsg;

if ((bIndex == MSG_INIT && !_stFWVerify.bTestStart) ||bIndex != MSG_INIT )
{
	 if (bIndex == MSG_INIT)
	 	_stFWVerify.bTestStart=1;

  vCreateWB(WB_SELMENU, TRUE);
  vClearWB(WB_SELMENU);
  vSetWBTcColor(WB_SELMENU);

  vSetTcPal(WB_SELMENU, 2, BLEND_3, wBgColor[bIndex]);
  vSetTcPal(WB_SELMENU, 0, BLEND_3, wBgColor[bIndex]);
  //vSetTransEn(WB_SELMENU,2);
  vSetMsgCol4(WB_SELMENU, 0, 2, 2, 3);

  bHdrMsg= bIndex & 0xf0;

  if (bHdrMsg)
  {
    for (i=0;i<ppbMPTestHdrMsg[(bHdrMsg>>4)-1][0]+1;i++)
      pbStr[i] = ppbMPTestHdrMsg[(bHdrMsg>>4)-1][i];
	  //vOsdShowStrXY(160, 65, WB_SELMENU, ppbMPTestHdrMsg[(bHdrMsg>>4)-1]);
	  vOsdShowStrXY(160, 65, WB_SELMENU, pbStr);
  }

  if (bIndex & 0x0f)
  {
    for (i=0;i<ppbMPTestModuleMsg[bIndex & 0x0f][0]+1;i++)
      pbStr[i] = ppbMPTestModuleMsg[bIndex & 0x0f][i];
    //vOsdShowStrXY(160, 95, WB_SELMENU, ppbMPTestModuleMsg[bIndex & 0x0f]);
    vOsdShowStrXY(160, 95, WB_SELMENU, pbStr);
  }
  vEnableWB(WB_SELMENU);
}

}

void vInitTestStatus() large
{

	#ifdef RS232_LOG
    	DRS232LogS("InitTest");
	#endif
      _stFWVerify.bTestStart = 0;
	_stFWVerify.bDVDTestSuccess=0;
	_stFWVerify.bCDTestSuccess=0;
	_stFWVerify.bY7Pressed=0;
	//init Y7 pin

	ClrBitBIM(BIM_IODIH, IOH_YUV7);

}

void vNotMp4CD() large
{
	vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_CD);
	//vY7TrayIn();
	WriteBIM(BIM_IODIH, bReadBIM(BIM_IODIH) | IOH_YUV7);

}
BOOL fgCheckIfTested() large
{
	#ifndef MT1389_SINGLE_TEST

	if (_stFWVerify.bDVDTestSuccess && _stFWVerify.bCDTestSuccess)
	{
		vOsdShowTestInfo(MSG_HAVE_PASSED);
		return TRUE;
	}

	if(bSharedInfo(SI_DISC_TYPE) == SV_DVD_VIDEO && _stFWVerify.bDVDTestSuccess )
	{
		vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_CD);
		return TRUE;
	}
	if(bSharedInfo(SI_DISC_TYPE) == SV_DATA && _stFWVerify.bCDTestSuccess )
	{
		vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_DVD);
		return TRUE;
	}
	#endif

	return FALSE;

}


void vCheckTestStatus() large
{
	#ifdef MT1389_SINGLE_TEST
	vOsdShowTestInfo(MSG_PASSED);
	#else

	if (!_stFWVerify.bDVDTestSuccess)
		_stFWVerify.bDVDTestSuccess = (bSharedInfo(SI_MANU_TEST_ST) == SV_DVD_VIDEO);

	if (!_stFWVerify.bCDTestSuccess)
		_stFWVerify.bCDTestSuccess = (bSharedInfo(SI_MANU_TEST_ST) == SV_DATA);

	#ifdef RS232_LOG
    	DRS232LogS("CheckTest");
	DRS232LogB(_stFWVerify.bDVDTestSuccess,_stFWVerify.bCDTestSuccess,0,0);
	#endif

	if (_stFWVerify.bDVDTestSuccess && _stFWVerify.bCDTestSuccess)
	{
	      	vOsdShowTestInfo(MSG_PASSED);
	}
	else if (_stFWVerify.bDVDTestSuccess)
	{
		vOsdShowTestInfo(MSG_DVD_OK|MSG_INSERT_CD);
	}
	else if (_stFWVerify.bCDTestSuccess)
	{
		vOsdShowTestInfo(MSG_CD_OK|MSG_INSERT_DVD);
	}
	#endif

}


void vY7TrayIn()large
{

	if (!(bReadBIM(BIM_IODIH) & IOH_YUV7))
	{
		#ifdef RS232LOG
		DBGLogB(_bTrayStatus, _stFWVerify.bY7Pressed, 0,0);
		#endif

		if (_bTrayStatus == TRAY_ST_OUT && !_stFWVerify.bY7Pressed)
		{
			_bPlayPostKey = IR_EJECT;
			_bTrayStatus = TRAY_ST_MIDDLE;
			_stFWVerify.bY7Pressed=1;
		}

		if (_bTrayStatus == TRAY_ST_IN && !_stFWVerify.bY7Pressed)
		{
			_bPlayPostKey = IR_EJECT;
			_bTrayStatus = TRAY_ST_MIDDLE;
			_stFWVerify.bY7Pressed=1;
		}

	}

	if (_bTrayStatus == TRAY_ST_IN && _stFWVerify.bY7Pressed)
	{
		_stFWVerify.bY7Pressed=0;
	}

	if (_bTrayStatus == TRAY_ST_OUT && _stFWVerify.bY7Pressed)
		_stFWVerify.bY7Pressed=0;

}
#endif
// *********************************************************************
// Number message table
// *********************************************************************
#if (defined(PLAYER_PROGRAM) || defined(PLAYER_BOOKMARK))
static code WORD pwNum2Msg[24] = {
  OSD_MSG_NUM_01, OSD_MSG_NUM_02, OSD_MSG_NUM_03, OSD_MSG_NUM_04,
  OSD_MSG_NUM_05, OSD_MSG_NUM_06, OSD_MSG_NUM_07, OSD_MSG_NUM_08,
  OSD_MSG_NUM_09, OSD_MSG_NUM_10, OSD_MSG_NUM_11, OSD_MSG_NUM_12,
  OSD_MSG_NUM_13, OSD_MSG_NUM_14, OSD_MSG_NUM_15, OSD_MSG_NUM_16,
  OSD_MSG_NUM_17, OSD_MSG_NUM_18, OSD_MSG_NUM_19, OSD_MSG_NUM_20,
  OSD_MSG_NUM_21, OSD_MSG_NUM_22, OSD_MSG_NUM_23, OSD_MSG_NUM_24
};

WORD wOsdGetNumMsg(BYTE bNum) large
{
  if ((bNum == 0) || (bNum > 24))
  {
    return (OSD_MSG_NULL);
  }

  return (pwNum2Msg[bNum-1]);
}
#endif /* PLAYER_PROGRAM || PLAYER_BOOKMARK */



void vOsdPosRefreshDynaWb(WORD wPosIndex) large
{
#ifdef WB_ALLOC_MIN
  BYTE  bWbIdx;


  bWbIdx = bPosWB(wPosIndex);

  if (_rOsdStateCtx.bDynamicWB == bWbIdx)
    return;

  vDeleteWB(_rOsdStateCtx.bDynamicWB);
  vCreateWBEx(bWbIdx);
  _rOsdStateCtx.bDynamicWB = bWbIdx;
#endif
}

⌨️ 快捷键说明

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