bool aml_probe_resolutions(std::vector<RESOLUTION_INFO> &resolutions) { std::string valstr, dcapfile; dcapfile = CSpecialProtocol::TranslatePath("special://home/userdata/disp_cap"); if (SysfsUtils::GetString(dcapfile, valstr) < 0) { if (SysfsUtils::GetString("/sys/class/amhdmitx/amhdmitx0/disp_cap", valstr) < 0) return false; } std::vector<std::string> probe_str = StringUtils::Split(valstr, "\n"); resolutions.clear(); RESOLUTION_INFO res; for (std::vector<std::string>::const_iterator i = probe_str.begin(); i != probe_str.end(); ++i) { if (((StringUtils::StartsWith(i->c_str(), "4k2k")) && (aml_support_h264_4k2k() > AML_NO_H264_4K2K)) || !(StringUtils::StartsWith(i->c_str(), "4k2k"))) { if (aml_mode_to_resolution(i->c_str(), &res)) resolutions.push_back(res); } } return resolutions.size() > 0; }
bool CEGLNativeTypeAmlogic::GetPreferredResolution(RESOLUTION_INFO *res) const { // check display/mode, it gets defaulted at boot if (!GetNativeResolution(res)) { // punt to 720p if we get nothing aml_mode_to_resolution("720p", res); } return true; }
bool aml_get_preferred_resolution(RESOLUTION_INFO *res) { // check display/mode, it gets defaulted at boot if (!aml_get_native_resolution(res)) { // punt to 720p if we get nothing aml_mode_to_resolution("720p", res); } return true; }
bool CEGLNativeTypeAmlogic::SetDisplayResolution(const char *resolution) { std::string mode = resolution; // switch display resolution SysfsUtils::SetString("/sys/class/display/mode", mode.c_str()); RESOLUTION_INFO res; aml_mode_to_resolution(mode.c_str(), &res); SetFramebufferResolution(res); return true; }
bool aml_set_display_resolution(const char *resolution, std::string framebuffer_name) { std::string mode = resolution; // switch display resolution SysfsUtils::SetString("/sys/class/display/mode", mode.c_str()); RESOLUTION_INFO res; aml_mode_to_resolution(mode.c_str(), &res); aml_set_framebuffer_resolution(res, framebuffer_name); return true; }
bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resolutions) { std::string valstr; SysfsUtils::GetString("/sys/class/amhdmitx/amhdmitx0/disp_cap", valstr); std::vector<std::string> probe_str = StringUtils::Split(valstr, "\n"); resolutions.clear(); RESOLUTION_INFO res; for (std::vector<std::string>::const_iterator i = probe_str.begin(); i != probe_str.end(); ++i) { if(aml_mode_to_resolution(i->c_str(), &res)) resolutions.push_back(res); } return resolutions.size() > 0; }
bool CEGLNativeTypeAmlAndroid::GetNativeResolution(RESOLUTION_INFO *res) const { CEGLNativeTypeAndroid::GetNativeResolution(&m_fb_res); std::string mode; RESOLUTION_INFO hdmi_res; if (SysfsUtils::GetString("/sys/class/display/mode", mode) == 0 && aml_mode_to_resolution(mode.c_str(), &hdmi_res)) { m_curHdmiResolution = mode; *res = hdmi_res; res->iWidth = m_fb_res.iWidth; res->iHeight = m_fb_res.iHeight; res->iSubtitles = (int)(0.965 * res->iHeight); } else *res = m_fb_res; return true; }
bool CEGLNativeTypeAmlAndroid::ProbeResolutions(std::vector<RESOLUTION_INFO> &resolutions) { CEGLNativeTypeAndroid::GetNativeResolution(&m_fb_res); std::string valstr; if (SysfsUtils::GetString("/sys/class/amhdmitx/amhdmitx0/disp_cap", valstr) < 0) return false; std::vector<std::string> probe_str = StringUtils::Split(valstr, "\n"); resolutions.clear(); RESOLUTION_INFO res; for (size_t i = 0; i < probe_str.size(); i++) { if(aml_mode_to_resolution(probe_str[i].c_str(), &res)) { res.iWidth = m_fb_res.iWidth; res.iHeight = m_fb_res.iHeight; res.iSubtitles = (int)(0.965 * res.iHeight); resolutions.push_back(res); } } return resolutions.size() > 0; }
bool CEGLNativeTypeAmlogic::GetNativeResolution(RESOLUTION_INFO *res) const { std::string mode; SysfsUtils::GetString("/sys/class/display/mode", mode); return aml_mode_to_resolution(mode.c_str(), res); }
bool CEGLNativeTypeAmlogic::GetNativeResolution(RESOLUTION_INFO *res) const { char mode[256] = {0}; aml_get_sysfs_str("/sys/class/display/mode", mode, 255); return aml_mode_to_resolution(mode, res); }
bool aml_get_native_resolution(RESOLUTION_INFO *res) { std::string mode; SysfsUtils::GetString("/sys/class/display/mode", mode); return aml_mode_to_resolution(mode.c_str(), res); }