📄 ainshow.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 08-05-22 13:39 $ ****************/
/*************** $Revision:: 1 $ ****************/
/*************** ****************/
/*************** Description : OSD ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Peter Huang ****************/
/**********************************************************************/
#define _AINSHOW_C_
#pragma NOAREGS
#include "general.h"
#include "osdshow.h"
#ifdef AUDIO_IN_EN
static code WORD pwAINSrcMsg[EV_AIN_MAX] = {
OSD_MSG_OFF,
OSD_MSG_LINE_1,
OSD_MSG_LINE_2,
OSD_MSG_LINE_3,
OSD_MSG_LINE_4,
OSD_MSG_SPDIF_1,
OSD_MSG_SPDIF_2,
OSD_MSG_SPDIF_3,
OSD_MSG_SPDIF_4
};
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowInputSource(BYTE bMode) large
{
WORD wMsg;
BYTE pbStr[3];
if (bMode >= EV_AIN_MAX)
{
wMsg = OSD_MSG_NULL;
}
else
{
wMsg = pwAINSrcMsg[bMode];
}
pbStr[0] = 2;
pbStr[1] = bLoByte(wMsg);
pbStr[2] = bHiByte(wMsg);
vOsdPosShowArg(OSD_POS_AIN_INPUT_SRC, OSD_MSG_INPUT_SOURCE, OSD_NO_DISAPPEAR, pbStr);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowKaraFlag(BYTE bMode) large
{
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
if (bMode == SV_A_APPL_KARA)
{
// show karaoke flag here
}
else
{
vOsdPosClear(OSD_POS_AIN_KARA_FLAG);
}
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowStreamType(BYTE bType) large
{
WORD wMsg;
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
if (bType == SV_A_CODE_NONE)
{
wMsg = OSD_MSG_NO_SYNC;
}
else
{
wMsg = wOsdGetAudAtrMsg(bType);
}
vOsdPosShow(OSD_POS_AIN_STREAM_TYPE, wMsg, OSD_NO_DISAPPEAR);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowFsBit(BYTE bFreq, BYTE bBitLen) large
{
BYTE pbStr[8];
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
pbStr[0] = '7';
pbStr[1] = ' ';
pbStr[2] = '-';
pbStr[3] = '-';
pbStr[4] = '.';
pbStr[5] = '-';
pbStr[6] = '-';
pbStr[7] = '-';
switch (bFreq)
{
case FS256_16K:
pbStr[2] = '1';
pbStr[3] = '6';
break;
case FS256_22K:
pbStr[2] = '2';
pbStr[3] = '2';
break;
case FS256_24K:
pbStr[2] = '2';
pbStr[3] = '4';
break;
case FS256_32K:
pbStr[2] = '3';
pbStr[3] = '2';
break;
case FS256_44K:
case FS512_44K:
pbStr[2] = '4';
pbStr[3] = '4';
pbStr[5] = '1';
break;
case FS256_48K:
pbStr[2] = '4';
pbStr[3] = '8';
break;
case FS256_64K:
pbStr[2] = '6';
pbStr[3] = '4';
break;
case FS256_88K:
pbStr[2] = '8';
pbStr[3] = '8';
pbStr[5] = '2';
break;
case FS256_96K:
pbStr[2] = '9';
pbStr[3] = '6';
break;
case FS256_176K:
pbStr[1] = '1';
pbStr[2] = '7';
pbStr[3] = '6';
pbStr[5] = '4';
break;
case FS256_192K:
pbStr[1] = '1';
pbStr[2] = '9';
pbStr[3] = '2';
break;
default:
break;
}
switch (bBitLen)
{
case 16:
pbStr[6] = '1';
pbStr[7] = '6';
break;
case 18:
pbStr[6] = '1';
pbStr[7] = '8';
break;
case 20:
pbStr[6] = '2';
pbStr[7] = '0';
break;
case 24:
pbStr[6] = '2';
pbStr[7] = '4';
break;
default:
break;
}
vOsdPosPasteArg(OSD_POS_AIN_FS_BIT, OSD_MSG_FS_BIT, pbStr, 0);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowChInfo(BYTE bType) large
{
WORD wMsg;
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
wMsg = wOsdGetAudChMsg(bType);
if (wMsg == OSD_MSG_NULL)
{
vOsdPosClear(OSD_POS_AIN_CH_INFO);
}
else
{
vOsdPosShow(OSD_POS_AIN_CH_INFO, wMsg, OSD_NO_DISAPPEAR);
}
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowBitRate(WORD wRate) large
{
BYTE pbStr[5];
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
wRate = wWRDToBCD(wRate);
pbStr[0] = bHiByte(wRate);
if (pbStr[0] > 9)
{
pbStr[1] = BCD_HI(pbStr[0]) + '0';
}
else
{
pbStr[1] = ' ';
}
if (pbStr[0] > 0)
{
pbStr[2] = BCD_LO(pbStr[0]) + '0';
}
else
{
pbStr[2] = ' ';
}
pbStr[0] = bLoByte(wRate);
if (pbStr[0] > 9)
{
pbStr[3] = BCD_HI(pbStr[0]) + '0';
}
else if (pbStr[2] >= '0')
{
pbStr[3] = '0';
}
else
{
pbStr[3] = ' ';
}
pbStr[4] = BCD_LO(pbStr[0]) + '0';
pbStr[0] = 4;
vOsdPosPasteArg(OSD_POS_AIN_BITRATE, OSD_MSG_N_KBPS, pbStr, 0);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShowOutputMode(BYTE bUpSampling) large
{
BYTE pbStr[3];
WORD wMsg;
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
switch (bUpSampling)
{
case UPSAMPLE_1X:
wMsg = OSD_MSG_1X;
break;
case UPSAMPLE_2X:
wMsg = OSD_MSG_2X;
break;
case UPSAMPLE_4X:
wMsg = OSD_MSG_4X;
break;
case UPSAMPLE_8X:
wMsg = OSD_MSG_8X;
break;
case UPSAMPLE_OFF:
default:
wMsg = OSD_MSG_OFF;
break;
}
pbStr[0] = '2';
pbStr[1] = bLoByte(wMsg);
pbStr[2] = bHiByte(wMsg);
vOsdPosShowArg(OSD_POS_AIN_UPSAMPLING, OSD_MSG_UPSAMPLING_MODE, OSD_NO_DISAPPEAR, pbStr);
}
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return :
// *********************************************************************
void vAINShow3DMode(BYTE bMode) large
{
WORD wMsg = OSD_MSG_NULL;
if (_rOsdStateCtx.fgPlayInfoShow == FALSE)
{
return;
}
switch (bMode)
{
case AIN_3D_PL2:
wMsg = OSD_MSG_ICON_PL2;
break;
case AIN_3D_N22:
wMsg = OSD_MSG_N22;
break;
case AIN_3D_VSURR:
wMsg = OSD_MSG_V_SURR;
break;
case AIN_3D_OFF:
default:
vOsdPosClear(OSD_POS_AIN_3D);
break;
}
if (wMsg != OSD_MSG_NULL)
{
vOsdPosShow(OSD_POS_AIN_3D, wMsg, OSD_NO_DISAPPEAR);
}
}
#endif /* AUDIO_IN_EN */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -