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

📄 ainshow.c

📁 手机8032的完整代码。吐血推荐。小做改动就可以生产。
💻 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 + -