Rene Hertell wrote:
Hi Guys,

I remember that someone had some kind of patch for increasing the
OSD-resoluion in VDR. I just can't find that post that mentioned about
that...

Could anyone post a link to that site that had that patch.. I would like
to try that out :-)

Regards,

René

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


The patches are here: http://www.netholic.com/viewtopic.php?t=1622
Unfortunately, if you do not speak Finnish, it might a bit hard to follow that thread....

What comes to VDR, you just need to change the defines for MAXOSDHEIGHT and -WIDTH in config.h (this is against 1.4.3-4):


--- config.h.orig       2006-10-28 02:30:20.000000000 +0300
+++ config.h    2006-10-28 00:14:11.000000000 +0300
@@ -41,9 +41,9 @@
 #define MAXLIFETIME 99

 #define MINOSDWIDTH  480
-#define MAXOSDWIDTH  672
+#define MAXOSDWIDTH  1280
 #define MINOSDHEIGHT 324
-#define MAXOSDHEIGHT 567
+#define MAXOSDHEIGHT 720

 #define MaxFileName 256
 #define MaxSkinName 16


In order to increase the resolution of the OSD you should use xineliboutput-plugin and patch it like this (patch will most likely be broken because it is inline):


--- osd.c.orig  2006-10-30 02:37:03.000000000 +0200
+++ osd.c       2006-10-30 03:46:49.000000000 +0200
@@ -155,7 +155,12 @@

   m_Device = Device;
   m_Shown = false;
-  CmdSize(m_Device, 0, 720, 576);
+
+ if(Setup.OSDWidth + (2*Setup.OSDLeft) > 720 || Setup.OSDHeight + (2*Setup.OSDTop) > 576) { + CmdSize(m_Device, 0, Setup.OSDWidth + (2*Setup.OSDLeft), Setup.OSDHeight + (2*Setup.OSDTop));
+  } else {
+    CmdSize(m_Device, 0, 720, 576);
+  }
 }

 cXinelibOsd::~cXinelibOsd()
@@ -182,11 +187,11 @@
   if(Result == oeOk)
     m_Shown = false;

-  if(Left() + Width() > 720 || Top() + Height() > 576) {
+  if(2*Left() + Width() > 720 || 2*Top() + Height() > 576) {
     LOGDBG("Detected HD OSD, size > %dx%d, using setup values %dx%d",
-          Left() + Width(), Top() + Height(),
-          Setup.OSDWidth, Setup.OSDHeight);
-    CmdSize(m_Device, 0, Setup.OSDWidth, Setup.OSDHeight);
+          2*Left() + Width(), 2*Top() + Height(),
+ Setup.OSDWidth + (2*Setup.OSDLeft), Setup.OSDHeight + (2*Setup.OSDTop)); + CmdSize(m_Device, 0, Setup.OSDWidth + (2*Setup.OSDLeft), Setup.OSDHeight + (2*Setup.OSDTop));
   } else {
     CmdSize(m_Device, 0, 720, 576);
   }


After that you should change the resolution via VDR's setup menu. Note that menu plugins are not really compatible with the larger resolution, like for example the ttxtsubs plugin unless you make some changes in to them. Here is an example fix for the ttxtsubs plugin:

--- ttxtsubsdisplay.c.orig      2006-10-28 02:22:29.000000000 +0300
+++ ttxtsubsdisplay.c   2006-10-28 02:23:42.000000000 +0300
@@ -332,13 +332,13 @@

 enum {
   SCREENLEFT = 0,
-  SCREENRIGHT = 719,
+  SCREENRIGHT = 1280,
   SCREENTOP = 150,
-  SCREENBOTTOM = 575,
+  SCREENBOTTOM = 720,

   SIDEMARGIN = 125,
-  BOTNORM = 540,
-  BOTLETTERBOX = 482,
+  BOTNORM = 640,
+  BOTLETTERBOX = 520,

   ROWINCR = 43,
   ROWH = 34,

-Petri

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to