mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-02 18:31:22 +02:00
neutrino: Add switch osd resolution when supported from hardware
- At the moment supported hardware: CS HD2 Currently known problems: ------------------------- - Display menus after changing resolution (Reboot required) - Display headers after changing resolution hd => fullhd (Reboot required) - Display infobar after changing resolution hd => fullhd (Reboot required) - Screenshot broken (With new driver and set resolution to 1280x720)
This commit is contained in:
@@ -185,12 +185,32 @@ void CFbAccelCSHD2::blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_
|
||||
CFrameBuffer::blitBox2FB(boxBuf, width, height, xoff, yoff);
|
||||
}
|
||||
|
||||
void CFbAccelCSHD2::setOsdResolutions()
|
||||
{
|
||||
/* FIXME: Infos available in driver? */
|
||||
osd_resolution_t res;
|
||||
osd_resolutions.clear();
|
||||
res.xRes = 1280;
|
||||
res.yRes = 720;
|
||||
res.bpp = 32;
|
||||
osd_resolutions.push_back(res);
|
||||
if (fullHdAvailable()) {
|
||||
res.xRes = 1920;
|
||||
res.yRes = 1080;
|
||||
res.bpp = 32;
|
||||
osd_resolutions.push_back(res);
|
||||
}
|
||||
}
|
||||
|
||||
int CFbAccelCSHD2::setMode(unsigned int nxRes, unsigned int nyRes, unsigned int nbpp)
|
||||
{
|
||||
if (!available&&!active)
|
||||
return -1;
|
||||
|
||||
if (available >= 16588800) { /* new fb driver with maxres 1920x1080(*8) */
|
||||
if (osd_resolutions.empty())
|
||||
setOsdResolutions();
|
||||
|
||||
if (fullHdAvailable()) {
|
||||
screeninfo.xres_virtual=screeninfo.xres=nxRes;
|
||||
screeninfo.yres_virtual=screeninfo.yres=nyRes;
|
||||
screeninfo.height=0;
|
||||
@@ -272,3 +292,10 @@ int CFbAccelCSHD2::scaleFont(int size)
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
bool CFbAccelCSHD2::fullHdAvailable()
|
||||
{
|
||||
if (available >= 16588800) /* new fb driver with maxres 1920x1080(*8) */
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user