Exemplo n.º 1
0
bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
{
  if (res.iScreenWidth == 1920 && res.iScreenHeight == 1080)
  {
    if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
    {
      if ((int)res.fRefreshRate == 60)
        SetDisplayResolution("1080i");
      else
        SetDisplayResolution("1080i50hz");
    }
    else
    {
      if ((int)res.fRefreshRate == 60)
        SetDisplayResolution("1080p");
      else
        SetDisplayResolution("1080p50hz");
    }
  }
  else if (res.iScreenWidth == 1280 && res.iScreenHeight == 720)
  {
    if ((int)res.fRefreshRate == 60)
      SetDisplayResolution("720p");
    else
      SetDisplayResolution("720p50hz");
  }
  else if (res.iScreenWidth == 720  && res.iScreenHeight == 480)
  {
    SetDisplayResolution("480p");
  }
  return true;
}
Exemplo n.º 2
0
bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
{
#if defined(_FBDEV_WINDOW_H_)
  if (m_nativeWindow)
  {
    ((fbdev_window *)m_nativeWindow)->width = res.iScreenWidth;
    ((fbdev_window *)m_nativeWindow)->height = res.iScreenHeight;
  }
#endif

  switch((int)(0.5 + res.fRefreshRate))
  {
    default:
    case 60:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          SetDisplayResolution("720p");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            SetDisplayResolution("1080i");
          else
            SetDisplayResolution("1080p");
          break;
      }
      break;
    case 50:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          SetDisplayResolution("720p50hz");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            SetDisplayResolution("1080i50hz");
          else
            SetDisplayResolution("1080p50hz");
          break;
      }
      break;
    case 30:
      SetDisplayResolution("1080p30hz");
      break;
    case 24:
      SetDisplayResolution("1080p24hz");
      break;
  }

  return true;
}
Exemplo n.º 3
0
bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
{
  switch((int)(0.5 + res.fRefreshRate))
  {
    default:
    case 60:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          SetDisplayResolution("720p");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            SetDisplayResolution("1080i");
          else
            SetDisplayResolution("1080p");
          break;
      }
      break;
    case 50:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          SetDisplayResolution("720p50hz");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            SetDisplayResolution("1080i50hz");
          else
            SetDisplayResolution("1080p50hz");
          break;
      }
      break;
    case 30:
      SetDisplayResolution("1080p30hz");
      break;
    case 24:
      SetDisplayResolution("1080p24hz");
      break;
  }

  return true;
}
Exemplo n.º 4
0
bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res)
{
  if (!m_isWritable)
    return false;

  switch((int)(res.fRefreshRate*10))
  {
    default:
    case 600:
      switch(res.iScreenWidth)
      {
        default:
        case 720:
          if (!aml_IsHdmiConnected())
          {
            if (res.iScreenHeight == 480)
              return SetDisplayResolution("480cvbs");
            else
              return SetDisplayResolution("576cvbs");
          }
          else
          {
            if (res.iScreenHeight == 480)
            {
              if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
                return SetDisplayResolution("480i");
              else
                return SetDisplayResolution("480p");
            }
            else
            {
              if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
                return SetDisplayResolution("576i");
              else
                return SetDisplayResolution("576p");
            }
          }
          break;
        case 1280:
          return SetDisplayResolution("720p");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            return SetDisplayResolution("1080i");
          else
            return SetDisplayResolution("1080p");
          break;
      }
      break;
    case 599:
      switch(res.iScreenWidth)
      {
        default:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            return SetDisplayResolution("1080i59hz");
          else
            return SetDisplayResolution("1080p59hz");
          break;
      }
    case 500:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          return SetDisplayResolution("720p50hz");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            return SetDisplayResolution("1080i50hz");
          else
            return SetDisplayResolution("1080p50hz");
          break;
      }
      break;
    case 300:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k30hz");
          break;
        default:
          return SetDisplayResolution("1080p30hz");
          break;
      }
      break;
    case 299:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k29hz");
          break;
        default:
          return SetDisplayResolution("1080p29hz");
          break;
      }
      break;
    case 250:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k25hz");
          break;
        default:
          return SetDisplayResolution("1080p25hz");
          break;
      }
      break;
    case 240:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k24hz");
          break;
        case 4096:
          return SetDisplayResolution("4k2ksmpte");
          break;
        default:
          return SetDisplayResolution("1080p24hz");
          break;
      }
      break;
    case 239:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k23hz");
          break;
        default:
          return SetDisplayResolution("1080p23hz");
          break;
      }
      break;
  }

  return false;
}
Exemplo n.º 5
0
bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res)
{
  switch((int)(res.fRefreshRate*10))
  {
    default:
    case 600:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          return SetDisplayResolution("720p");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            return SetDisplayResolution("1080i");
          else
            return SetDisplayResolution("1080p");
          break;
      }
      break;
    case 500:
      switch(res.iScreenWidth)
      {
        default:
        case 1280:
          return SetDisplayResolution("720p50hz");
          break;
        case 1920:
          if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
            return SetDisplayResolution("1080i50hz");
          else
            return SetDisplayResolution("1080p50hz");
          break;
      }
      break;
    case 300:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k30hz");
          break;
        default:
          return SetDisplayResolution("1080p30hz");
          break;
      }
      break;
    case 250:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k25hz");
          break;
        default:
          return SetDisplayResolution("1080p25hz");
          break;
      }
      break;
    case 240:
      switch(res.iScreenWidth)
      {
        case 3840:
          return SetDisplayResolution("4k2k24hz");
          break;
        case 4096:
          return SetDisplayResolution("4k2ksmpte");
          break;
        default:
          return SetDisplayResolution("1080p24hz");
          break;
      }
      break;
  }

  return false;
}