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

📄 avshow.c

📁 MTK portableDVD 采用mtk1389方案的代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 05/05/24 1:10p    $       ****************/
/***************  $Revision: 2.0 $       ****************/
/***************                                       ****************/
/***************   Description : OSD                   ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#define _AVSHOW_C_

#pragma NOAREGS

#include "general.h"
#include "osdshow.h"

#ifdef BBK_NEW_GUI
extern BYTE xdata _bVolLimit;
#endif


// *********************************************************************
// Function : void vOsdShowVol(BYTE bLevel, BYTE bTime) large
// Description :
// Parameter :  cLevel
// Return    : None
// *********************************************************************
#ifdef RUSSIAN_BUYER_REQUEST2			//songchen 061210
#define VOLUME_SETP        (5)
void vOsdShowVol(BYTE bLevel, BYTE bTime) large
{
  BYTE pbStr[14];
  BYTE i;
	BYTE bTemp;

	if (bLevel > _bVolLimit)
	{
		bLevel = _bVolLimit;
	}

  if (bLevel < 0)
  {
    bLevel = 0;
  }

  #ifdef SUPPORT_OGG
  if(fgIsIsoItemAV(bSharedInfo(SI_ISO_ITEM_TYPE))|| bSharedInfo(SI_DISC_TYPE)==SV_PCD)//billy[070401]
  #else
  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
  #endif
  {
    vOsdPosClear(OSD_POS_REMAIN_MSG);

    bLevel = bLevel * VOLUME_SETP;
		if(bLevel > 99)
		{
      pbStr[0] = 3;
			pbStr[1] = (bLevel / 100) + '0';
			bLevel = bHEXToBCD(bLevel % 100);
			pbStr[2] = BCD_HI(bLevel) + '0';
      pbStr[3] = BCD_LO(bLevel) + '0';
			vOsdPosShowArg(OSD_POS_ISO_VOL, OSD_MSG_ISO_VOLUME_ADJ3, bTime, pbStr);
		}
    else
    {
      pbStr[0] = 2;
			bLevel = bHEXToBCD(bLevel);
			pbStr[1] = BCD_HI(bLevel) + '0';
      pbStr[2] = BCD_LO(bLevel) + '0';
			vOsdPosShowArg(OSD_POS_ISO_VOL, OSD_MSG_ISO_VOLUME_ADJ2, bTime, pbStr);
		}
  }
	else
	{
	
    pbStr[0] = 12;

    if(0 == bLevel)
    {
      bTemp = 0;
    }
	  else
	  {
      bTemp = (bLevel - 1) / 2;
	  }
	
	  for(i = 0; i < 10; i++)
    {
      if(i < bTemp)
      {
        pbStr[i+1] = ICON_VOL_3;
      }
      else if(bLevel > 0 && i == bTemp)
      {
        if(bLevel % 2)   //odd number
        {
          pbStr[i+1] = ICON_VOL_1;
        }
			  else        //even number
			  {
          pbStr[i+1] = ICON_VOL_2; 
			  }
      }
		  else
		  {
        pbStr[i+1] = ICON_VOL_0; 
		  }
    }

  bLevel = bHEXToBCD(bLevel);
  pbStr[11] = BCD_HI(bLevel) + '0';
  pbStr[12] = BCD_LO(bLevel) + '0';
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
    vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_VOLUME_ADJ, bTime, pbStr);
  	vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}
#else
void vOsdShowVol(BYTE bLevel, BYTE bTime) large
{
  BYTE pbStr[13];
  BYTE i;

#ifdef BBK_NEW_GUI
	if (bLevel > _bVolLimit)
	{
		bLevel = _bVolLimit;
	}
#else
	if (bLevel > MAX_VOL_LEVEL)
	{
		bLevel = MAX_VOL_LEVEL;
	}
#endif

  if (bLevel < 0)
  {
    bLevel = 0;
  }

  pbStr[0] = 12;

  for(i=0; i<bLevel/2; i++)
  {
    if (i == 10)
    {
      break;
    }
    pbStr[i+1] = ICON_VOL_1; //3;
  }
  if (bLevel % 2)
  {
    pbStr[i+1] = ICON_VOL_2; //4;
    i ++;
  }
  for(; i<20/2; i++)
  {
    pbStr[i+1] = ICON_VOL_0; //2;
  }
  bLevel = bHEXToBCD(bLevel);
  pbStr[11] = BCD_HI(bLevel) + '0';
  pbStr[12] = BCD_LO(bLevel) + '0';

#ifdef PCD_SHOW_AUD_CTRL
  if (fgIsPcdPlay())
  {
    vOsdPosShowArg(OSD_POS_PCD_AUD_CTRL, OSD_MSG_VOLUME_ADJ, bTime, pbStr);
  }
  else
#endif
  {
    #ifdef MPEG4_TXT_SP //Vincent @04-04-04
    #ifdef SUPPORT_OGG
        if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG \
	   ||bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_DAT || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
    #else
         if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI )
    #endif
        vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_VOLUME_ADJ, bTime, pbStr);
        else   
    #endif   	
        vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_VOLUME_ADJ, bTime, pbStr);
  }
}
#endif

#ifdef ID_NO
void vOsdDispID(void) large
{
  BYTE pbStr[ID_LEN + 1];
  BYTE i;
  BYTE pos,tmp;

  pbStr[0] = ID_LEN;

  pos=SERIAL_NO_POS1;
  for(i=0; i<(ID_LEN/2); i++)
  {
    tmp=bEepromReadByte(pos);
    pbStr[2*i+1] = tmp/10 + '0';
    pbStr[2*i+2] = tmp%10 + '0';
    pos++;
  }

  vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_ID, OSD_TIMEOUT_LONG, pbStr);
}
#endif
// *********************************************************************
#ifdef BRIGHT_VALUE_DISPLAY
void vOsdShowBrightPercent(BYTE bPercent1,BYTE bPercent2) large
{ BYTE pbStr[4];

       pbStr[0] = 2;
	pbStr[1] = BCD_HI(bPercent1)+ '0';
	pbStr[2] = BCD_LO(bPercent1)+ '0';
	//pbStr[3] = BCD_HI(bPercent2)+ '0';
	//pbStr[4] = BCD_LO(bPercent2)+ '0';
if(fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
   if(bPercent1 == 0xA0)
   vOsdPosShowArg(OSD_POS_FS_AUD_CTRL, OSD_MSG_BRIGHT_HUNDRED_PERCENT, OSD_TIMEOUT, pbStr); 
   else if(bPercent1 == 0)
   vOsdPosShowArg(OSD_POS_FS_AUD_CTRL, OSD_MSG_BRIGHT_ZERO_PERCENT, OSD_TIMEOUT, pbStr); 
   else
   vOsdPosShowArg(OSD_POS_FS_AUD_CTRL, OSD_MSG_BRIGHT_PERCENT, OSD_TIMEOUT, pbStr); 
  }
else  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI
	    || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG 
	    || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
   {
   if(bPercent1 == 0xA0)
   vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_BRIGHT_HUNDRED_PERCENT, OSD_TIMEOUT, pbStr); 
   else if(bPercent1 == 0)
   vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_BRIGHT_ZERO_PERCENT, OSD_TIMEOUT, pbStr); 
   else
   vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_BRIGHT_PERCENT, OSD_TIMEOUT, pbStr); 
  }
else
  {
   if(bPercent1 == 0xA0)
   vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_BRIGHT_HUNDRED_PERCENT, OSD_TIMEOUT, pbStr); 
   else if(bPercent1 == 0)
   vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_BRIGHT_ZERO_PERCENT, OSD_TIMEOUT, pbStr); 
   else
  vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_BRIGHT_PERCENT, OSD_TIMEOUT, pbStr); 
  }
}
#endif

#ifdef SCREENSAVE_KEY
void vOsdShowScrSaveOnOff(fgOnOff) large
{
#ifdef RUSSIAN_BUYER_REQUEST2	
vOsdClearPosXY(0, FS_JPG_RES_Y, FL_MENU_WB, 700, 30) ;//billy[070409]  for osd 残留
#endif
  switch(fgOnOff)
  	{
         case 0: 
		 	  if(fgFlCheckStatus(FL_STATUS_IN_MENU))
		 	         vOsdPosShow(OSD_POS_FS_AUD_CTRL, OSD_MSG_SSON, OSD_TIMEOUT) ;
			  else  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG 
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	                       vOsdPosShow(OSD_POS_LAYER2_LINE4, OSD_MSG_SSON, OSD_TIMEOUT) ;              
	                else
		 	         vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_SSON, OSD_TIMEOUT) ;
			  break;
	  case 1: 
	  	         if(fgFlCheckStatus(FL_STATUS_IN_MENU))
	  	                vOsdPosShow(OSD_POS_FS_AUD_CTRL, OSD_MSG_SSOFF, OSD_TIMEOUT);
			  else  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG 
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	                       vOsdPosShow(OSD_POS_LAYER2_LINE4, OSD_MSG_SSOFF, OSD_TIMEOUT) ;              
	                else
	  	                vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_SSOFF, OSD_TIMEOUT);
		         break;
				 
	  default: break;
  	}

}
#endif
#ifdef ASPECT_IN_REMOTE
void vOsdShowAspect(BYTE bMode) large
{
  vOsdPosClear(OSD_POS_REMAIN_MSG);

#ifdef RUSSIAN_BUYER_REQUEST2	
vOsdClearPosXY(0, FS_JPG_RES_Y, FL_MENU_WB, 700, 30) ;//billy[070409]  for osd 残留
#endif

if(fgFlCheckStatus(FL_STATUS_IN_MENU))
{
   if(bMode == SV_4_3_PS)
    {
      vOsdPosShow(OSD_POS_FS_AUD_CTRL, OSD_MSG_TV_4_3PS, OSD_TIMEOUT);
    }
  else if(bMode == SV_4_3_LB)
    {
      vOsdPosShow(OSD_POS_FS_AUD_CTRL, OSD_MSG_TV_4_3LB, OSD_TIMEOUT);
    }
  else
      vOsdPosShow(OSD_POS_FS_AUD_CTRL, OSD_MSG_TV_16_9WIDE, OSD_TIMEOUT);
}
else  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG 
	                               || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
{
if(bMode == SV_4_3_PS)
    {
      vOsdPosShow(OSD_POS_LAYER2_LINE4, OSD_MSG_TV_4_3PS, OSD_TIMEOUT);
    }
  else if(bMode == SV_4_3_LB)
    {
      vOsdPosShow(OSD_POS_LAYER2_LINE4, OSD_MSG_TV_4_3LB, OSD_TIMEOUT);
    }
  else
      vOsdPosShow(OSD_POS_LAYER2_LINE4, OSD_MSG_TV_16_9WIDE, OSD_TIMEOUT);
}
else
{
if(bMode == SV_4_3_PS)
    {
      vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_TV_4_3PS, OSD_TIMEOUT);
    }
  else if(bMode == SV_4_3_LB)
    {
      vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_TV_4_3LB, OSD_TIMEOUT);
    }
  else
      vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_TV_16_9WIDE, OSD_TIMEOUT);
}

}
#endif
// Function : void vOsdShowMute(BYTE bMode) large
// Description :
// Parameter :  
// Return    : None
// *********************************************************************
#ifdef RUSSIAN_BUYER_REQUEST2		//songchen 061213
void vOsdShowMute(BYTE bMode) large
{
  WORD wPos;
  BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);

  #ifdef SUPPORT_OGG
  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
  #else
  if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
  #endif	
  {
    vOsdPosClear(OSD_POS_REMAIN_MSG);
    wPos = OSD_POS_ISO_VOL;		 
  }
  else
  {
    wPos = OSD_POS_AUD_CTRL;
  }

  switch (bMode)
  {
    case OSD_MUTE_OFF:
    {
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_OFF | FLIP_VOLUME_REDRAW);
	  vOsdPosShow(OSD_POS_AUD_CTRL, OSD_MSG_MUTEOFF, OSD_TIMEOUT);//billy[070416]
      }
	else  
      {
        vOsdPosShow(wPos, OSD_MSG_MUTEOFF, OSD_TIMEOUT);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
	#ifdef TEMP_VERIFY_FOR_OSD_ERROR
	_bClearAudCtl = 160;        
	#endif
      }
      break;
    }

    case OSD_MUTE_ON:
    {
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_ON);
      }
      else  
      {   	
#ifdef TEMP_VERIFY_FOR_OSD_ERROR          
        vOsdPosClear(wPos);          //guosong 0805
#endif    

        vOsdPosShow(wPos, OSD_MSG_MUTE, OSD_NO_DISAPPEAR);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_MUTE, OSD_NO_DISAPPEAR);
      }
      break;
    }

    case OSD_MUTE_CLEAR:
    default:
    {
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_REDRAW);
      }
			else
      {
        vOsdPosClear(wPos);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
      }
      break;
    }
  }
  
}
#else
void vOsdShowMute(BYTE bMode) large
{
  WORD wPos;
#ifdef PLAYER_FLMENU
  BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);
#endif

#ifdef PCD_SHOW_AUD_CTRL
  if (fgIsPcdPlay())
  {
    wPos = OSD_POS_PCD_AUD_CTRL;
  }

⌨️ 快捷键说明

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