📄 avshow.c
字号:
/**********************************************************************/
/*************** 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 + -