?? isoshow.c
字號:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 07/04/09 11:49a $ ****************/
/*************** $Revision:: 2 $ ****************/
/*************** ****************/
/*************** Description : OSD ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Peter Huang ****************/
/**********************************************************************/
#define _ISOSHOW_C_
#pragma NOAREGS
#include "general.h"
#include "osdshow.h"
// *********************************************************************
// Function : void vOsdShowFile(BYTE bMode, WORD wFileNo, WORD wFileNs, BYTE bTime)
// Description :
// Parameter : bState -
// OSD_TRACK = 0,
// OSD_TOTAL,
// Return : None
// *********************************************************************
void vOsdShowFile(BYTE bMode, WORD wFileNo, WORD wFileNs, BYTE bTime) large
{
BYTE pbNum[7];
wFileNo = wWRDToBCD(wFileNo);
wFileNs = wWRDToBCD(wFileNs);
switch (bMode)
{
case OSD_FILE_NO:
pbNum[0] = 3;
pbNum[1] = BCD_LO(bHiByte(wFileNo)) + '0';
pbNum[2] = BCD_HI(bLoByte(wFileNo)) + '0';
pbNum[3] = BCD_LO(bLoByte(wFileNo)) + '0';
vOsdPosShowArg(OSD_POS_NORMAL, OSD_MSG_FILE_NO, bTime, pbNum);
break;
case OSD_FILE_TOTAL:
pbNum[0] = 3;
pbNum[1] = BCD_LO(bHiByte(wFileNs)) + '0';
pbNum[2] = BCD_HI(bLoByte(wFileNs)) + '0';
pbNum[3] = BCD_LO(bLoByte(wFileNs)) + '0';
vOsdPosShowArg(OSD_POS_NORMAL, OSD_MSG_FILE_TOTAL, bTime, pbNum);
break;
case OSD_FILE_NORMAL:
pbNum[0] = 6;
pbNum[1] = BCD_LO(bHiByte(wFileNo)) + '0';
pbNum[2] = BCD_HI(bLoByte(wFileNo)) + '0';
pbNum[3] = BCD_LO(bLoByte(wFileNo)) + '0';
pbNum[4] = BCD_LO(bHiByte(wFileNs)) + '0';
pbNum[5] = BCD_HI(bLoByte(wFileNs)) + '0';
pbNum[6] = BCD_LO(bLoByte(wFileNs)) + '0';
vOsdClearInputField(OSD_POS_ISO_INFO);
vOsdPosShowArg(OSD_POS_ISO_INFO, OSD_MSG_FILE_NO_TOTAL, bTime, pbNum);
break;
default:
break;
}
}
// *********************************************************************
// Function : void vOsdShowIsoTimeSearch(BYTE bNum, BYTE bType, BYTE *pbTime)
// Description :
// Parameter :
// Return : None
// Note :
// *********************************************************************
void vOsdShowIsoTimeSearch(BYTE bNum, BYTE bType, BYTE *pbTime) large
{
BYTE pbStr[6], fgFlMenuOn;
fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU) ? TRUE : FALSE;
if (bType == OSD_SEARCH_CLEAR)
{
if (fgFlMenuOn)
{
vOsdPosClear(OSD_POS_FS_PLAYTIME);
}
else
{
vOsdClearInputField(OSD_POS_ISO_SEARCH);
vOsdPosClear(OSD_POS_ISO_SEARCH);
}
return;
}
pbStr[0] = 5;
if (bNum <= 5)
{
pbStr[1] = '-';
pbStr[2] = '-';
pbStr[3] = '-';
pbStr[4] = '-';
pbStr[5] = '-';
if (bNum == 0)
{
if (fgFlMenuOn)
vInMsgColEn(FSMENU_INFO);
else
vOsdSetInputField(OSD_POS_ISO_SEARCH);
}
if (bNum >= 1)
{
pbStr[1] = pbTime[0] + '0';
}
if (bNum >= 2)
{
pbStr[2] = pbTime[1] + '0';
}
if (bNum >= 3)
{
pbStr[3] = pbTime[2] + '0';
}
if (bNum >= 4)
{
pbStr[4] = pbTime[3] + '0';
}
if (bNum == 5)
{
pbStr[5] = pbTime[4] + '0';
}
if (fgFlMenuOn)
vOsdPosShowArg(OSD_POS_FS_PLAYTIME, OSD_MSG_FLMENU_HH_SS, OSD_NO_DISAPPEAR, pbStr);
else
vOsdPosShowArg(OSD_POS_ISO_SEARCH, OSD_MSG_GOTO_HMS, OSD_NO_DISAPPEAR, pbStr);
}
else if (bNum == OSD_ISO_SEARCH_END)
{
pbStr[1] = pbTime[0] + '0';
pbStr[2] = pbTime[1] + '0';
pbStr[3] = pbTime[2] + '0';
pbStr[4] = pbTime[3] + '0';
pbStr[5] = pbTime[4] + '0';
if (fgFlMenuOn)
{
vInMsgColDis(FSMENU_INFO);
vOsdPosShowArg(OSD_POS_FS_PLAYTIME, OSD_MSG_FLMENU_HH_SS, OSD_NO_DISAPPEAR, pbStr);
}
else
{
vOsdClearInputField(OSD_POS_ISO_SEARCH);
vOsdPosShowArg(OSD_POS_ISO_SEARCH, OSD_MSG_GOTO_HMS, OSD_TIMEOUT_SHORT, pbStr);
}
}
}
// *********************************************************************
// Function : void vOsdShowIsoTimeRemain2(BYTE bMin, BYTE bSec, BYTE bTime)
// Description :
// Parameter :
// Return : None
// *********************************************************************
void vOsdShowIsoTimeRemain2(BYTE bHour, BYTE bMin, BYTE bSec, BYTE bTime) large
{
BYTE pbTime[6];
vCheckTimeValid2(bMin, bSec);
pbTime[0] = 5;
pbTime[1] = BCD_LO(bHour) + '0';
pbTime[2] = BCD_HI(bMin) + '0';
pbTime[3] = BCD_LO(bMin) + '0';
pbTime[4] = BCD_HI(bSec) + '0';
pbTime[5] = BCD_LO(bSec) + '0';
if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_LEFT)
{
vOsdPosShowArg(OSD_POS_ISO_TIME_LEFT, OSD_MSG_TIME_LEFT_3, bTime, pbTime);
}
else if (_rOsdStateCtx.fgTimePos == OSD_SHOW_TIME_RIGHT)
{
vOsdPosShowArg(OSD_POS_ISO_TIME_RIGHT, OSD_MSG_TIME_RIGHT_3, bTime, pbTime);
}
#ifdef DIVXMENU_INFO
if (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
{
#ifdef DIVXMENU_CHAP_TT_3_DIGITS
BYTE pbNum[13];
WORD wCurTit = 0;//bSharedInfo(SI_TT_NO);
WORD wTotTit = 0;//bSharedInfo(SI_TT_NS);
WORD wCurCha = 0;//bSharedInfo(SI_CHAP_NO);
WORD wTotCha = 0;//bSharedInfo(SI_CHAP_NS);
wCurTit = bSharedInfo(SI_TT_NO);
wTotTit = bSharedInfo(SI_TT_NS);
wCurCha = bSharedInfo(SI_CHAP_NO);
wTotCha = bSharedInfo(SI_CHAP_NS);
if ( wCurTit==0xFF || // DMC_ID_INVALID
wTotTit==0xFF ||
wCurCha==0xFF ||
wTotCha==0xFF
)
{
vOsdPosClear(OSD_POS_MP4_CHAP);
}
else
{
wCurTit = wWRDToBCD(wCurTit);
wTotTit = wWRDToBCD(wTotTit);
wCurCha = wWRDToBCD(wCurCha);
wTotCha = wWRDToBCD(wTotCha);
pbNum[0] = 12;
pbNum[1] = BCD_LO(bHiByte(wCurTit)) + '0';
pbNum[2] = BCD_HI(bLoByte(wCurTit)) + '0';
pbNum[3] = BCD_LO(bLoByte(wCurTit)) + '0';
pbNum[4] = BCD_LO(bHiByte(wTotTit)) + '0';
pbNum[5] = BCD_HI(bLoByte(wTotTit)) + '0';
pbNum[6] = BCD_LO(bLoByte(wTotTit)) + '0';
pbNum[7] = BCD_LO(bHiByte(wCurCha)) + '0';
pbNum[8] = BCD_HI(bLoByte(wCurCha)) + '0';
pbNum[9] = BCD_LO(bLoByte(wCurCha)) + '0';
pbNum[10] = BCD_LO(bHiByte(wTotCha)) + '0';
pbNum[11] = BCD_HI(bLoByte(wTotCha)) + '0';
pbNum[12] = BCD_LO(bLoByte(wTotCha)) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_TT_3_CH_3, OSD_NO_DISAPPEAR, pbNum);
}
#else
BYTE pbNum[9];
BYTE bCurTit = bSharedInfo(SI_TT_NO);
BYTE bTotTit = bSharedInfo(SI_TT_NS);
BYTE bCurCha = bSharedInfo(SI_CHAP_NO);
BYTE bTotCha = bSharedInfo(SI_CHAP_NS);
if ( bCurTit==0xFF || // DMC_ID_INVALID
bTotTit==0xFF ||
bCurCha==0xFF ||
bTotCha==0xFF
)
{
vOsdPosClear(OSD_POS_MP4_CHAP);
}
else
{
bCurTit = bHEXToBCD(bCurTit);
bTotTit = bHEXToBCD(bTotTit);
bCurCha = bHEXToBCD(bCurCha);
bTotCha = bHEXToBCD(bTotCha);
pbNum[0] = 8;
pbNum[1] = BCD_HI(bCurTit) + '0';
pbNum[2] = BCD_LO(bCurTit) + '0';
pbNum[3] = BCD_HI(bTotTit) + '0';
pbNum[4] = BCD_LO(bTotTit) + '0';
pbNum[5] = BCD_HI(bCurCha) + '0';
pbNum[6] = BCD_LO(bCurCha) + '0';
pbNum[7] = BCD_HI(bTotCha) + '0';
pbNum[8] = BCD_LO(bTotCha) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_TT_CH, OSD_NO_DISAPPEAR, pbNum);
}
#endif
}
#endif
//alfonso
#ifdef DDISC_SUPPORT_QT_CHAPTER
// in addition to show out mp4 chapter info
if (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MP4)
{
BYTE pbNum[5];
BYTE bTrkNo = bSharedInfo(SI_TRACK_NO);
BYTE bTrkNs = bSharedInfo(SI_TRACK_NS);
BYTE bState = OSD_TOTAL_TRACK;//bSharedInfo(SI_PBC_STATE);
/* check track range */
if (bTrkNs > 99)
{
bTrkNs = 0;
}
if (bTrkNo > 99)
{
bTrkNo = 0;
}
bTrkNo = bHEXToBCD(bTrkNo);
bTrkNs = bHEXToBCD(bTrkNs);
/*
switch(bState)
{
case OSD_TRACK:
pbNum[0] = 2;
pbNum[1] = BCD_HI(bTrkNo) + '0';
pbNum[2] = BCD_LO(bTrkNo) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_MP4_CH, bTime, pbNum);
break;
case OSD_TOTAL:
pbNum[0] = 2;
pbNum[1] = BCD_HI(bTrkNs) + '0';
pbNum[2] = BCD_LO(bTrkNs) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_MP4_CH, bTime, pbNum);
break;
case OSD_TOTAL_TRACK:
pbNum[0] = 4;
pbNum[1] = BCD_HI(bTrkNo) + '0';
pbNum[2] = BCD_LO(bTrkNo) + '0';
pbNum[3] = BCD_HI(bTrkNs) + '0';
pbNum[4] = BCD_LO(bTrkNs) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_MP4_CH, OSD_NO_DISAPPEAR, pbNum);
break;
default:
break;
}
*/
pbNum[0] = 4;
pbNum[1] = BCD_HI(bTrkNo) + '0';
pbNum[2] = BCD_LO(bTrkNo) + '0';
pbNum[3] = BCD_HI(bTrkNs) + '0';
pbNum[4] = BCD_LO(bTrkNs) + '0';
vOsdPosShowArg(OSD_POS_MP4_CHAP, OSD_MSG_MP4_CH, OSD_NO_DISAPPEAR, pbNum);
}
#endif /* DDISC_SUPPORT_QT_CHAPTER */
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -