Memorynoepgcxflags-patch

From VDR Wiki
Jump to navigation Jump to search

Description

The memorynoepgcxflags patch disables the EPG scan on all channels and boosts the OSD memory to 1MB.

Hardware requirements

  • DVB card with 4MB memory

Software requirements

  • patch

Applying the patch

If the patch is compressed you have to unpack it before

gunzip patch

Now you can install it with

cd $SOURCEDIR/VDR
patch -p 1 < /path/to/patch

Note, VDR has to be recompiled now, see VDR installation.

Problems

Patch

diff -ur vdr-1.3.15.orig/Makefile vdr-1.3.15.new/Makefile
--- vdr-1.3.15.orig/Makefile    2004-11-11 22:49:35.000000000 +0100
+++ vdr-1.3.15.new/Makefile     2004-11-11 23:38:10.000000000 +0100
@@ -9,10 +9,10 @@
 .DELETE_ON_ERROR:

 CC       ?= gcc
-CFLAGS   ?= -O2
+CFLAGS   ?= -O2 -march=pentium3 -funroll-loops -pipe -fomit-frame-pointer

 CXX      ?= g++
-CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual
+CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -march=pentium3 -funroll-loops -pipe -fomit-frame-pointer

 DVBDIR   = ../DVB
 LSIDIR   = ./libsi
diff -ur vdr-1.3.15.orig/dvbosd.c vdr-1.3.15.new/dvbosd.c
--- vdr-1.3.15.orig/dvbosd.c    2004-11-12 11:04:28.000000000 +0100
+++ vdr-1.3.15.new/dvbosd.c     2004-11-10 21:06:51.000000000 +0100
@@ -18,7 +18,7 @@
 // --- cDvbOsd ---------------------------------------------------------------

 #define MAXNUMWINDOWS 7 // OSD windows are counted 1...7
-#define MAXOSDMEMORY  92000 // number of bytes available to the OSD (depends on firmware version, but there is no way of determining the actual value)
+#define MAXOSDMEMORY  1000000 // number of bytes available to the OSD (depends on firmware version, but there is no way of determining the actual value)

 class cDvbOsd : public cOsd {
 private:
diff -ur vdr-1.3.15.orig/eit.c vdr-1.3.15.new/eit.c
--- vdr-1.3.15.orig/eit.c       2004-11-11 23:30:49.000000000 +0100
+++ vdr-1.3.15.new/eit.c        2004-11-11 23:21:56.000000000 +0100
@@ -54,6 +54,7 @@
          // If we don't have that event yet, we create a new one.
          // Otherwise we copy the information into the existing event anyway, because the data might have changed.
          pEvent = pSchedule->AddEvent(new cEvent(channelID, SiEitEvent.getEventId()));
+        break;
          if (!pEvent)
             continue;
          }