diff options
author | Andreas Regel <andreas.regel@powarman.de> | 2004-01-28 19:11:00 +0100 |
---|---|---|
committer | Andreas Regel <andreas.regel@powarman.de> | 2004-01-28 19:11:00 +0100 |
commit | 64fe6b70d0a5b34a80ff458fbf1664018d5c0182 (patch) | |
tree | 4fe036adaf90fef0d0dc910b84dbc11269e40008 /patches | |
parent | 310f5b2a62343d0c9b7624c09efe35828785ef26 (diff) | |
download | vdr-plugin-osdpip-64fe6b70d0a5b34a80ff458fbf1664018d5c0182.tar.gz vdr-plugin-osdpip-64fe6b70d0a5b34a80ff458fbf1664018d5c0182.tar.bz2 |
Release version 0.0.3v0.0.3
- new TS->ES remuxer: now using VDR's cRemux for TS->PES and some own code
for PES->ES
- now using libavcodec from ffmpeg instead of mpeg2dec
- frames to decode configurable (I-frames, I-/P-frames, all frames)
- frame dropping configurable
- added new color depths:
- 128 shades greyscale
- 128 colors with variable palette using Wu's quantizer (patch needed)
- changed osd size setting to 6 configurable values
Diffstat (limited to 'patches')
-rw-r--r-- | patches/vdr-1.2.6.diff | 77 | ||||
-rw-r--r-- | patches/vdr-1.2.6_256.diff | 75 |
2 files changed, 152 insertions, 0 deletions
diff --git a/patches/vdr-1.2.6.diff b/patches/vdr-1.2.6.diff new file mode 100644 index 0000000..5554889 --- /dev/null +++ b/patches/vdr-1.2.6.diff @@ -0,0 +1,77 @@ +diff -u vdr-1.2.6/osdbase.c vdr/osdbase.c +--- vdr-1.2.6/osdbase.c 2003-08-24 13:38:27.000000000 +0200 ++++ vdr/osdbase.c 2004-01-13 09:33:21.000000000 +0100 +@@ -104,6 +104,12 @@ + } + } + ++void cPalette::Replace(const cPalette &Palette) ++{ ++ for (int i = 0; i < Palette.numColors; i++) ++ SetColor(i, Palette.color[i]); ++} ++ + // --- cBitmap --------------------------------------------------------------- + + cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground) +@@ -220,6 +226,17 @@ + } + } + ++void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap) ++{ ++ if (bitmap && Bitmap.bitmap) { ++ Replace(Bitmap); ++ for (int ix = 0; ix < Bitmap.width; ix++) { ++ for (int iy = 0; iy < Bitmap.height; iy++) ++ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]); ++ } ++ } ++} ++ + int cBitmap::Width(unsigned char c) + { + return font ? font->Width(c) : -1; +@@ -317,7 +334,10 @@ + x -= x0; + y -= y0; + } +- cBitmap::SetBitmap(x, y, Bitmap); ++ if (bpp == 8) ++ cBitmap::SetBitmap256(x, y, Bitmap); ++ else ++ cBitmap::SetBitmap(x, y, Bitmap); + } + + void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg) +diff -u vdr-1.2.6/osdbase.h vdr/osdbase.h +--- vdr-1.2.6/osdbase.h 2002-09-08 16:12:41.000000000 +0200 ++++ vdr/osdbase.h 2004-01-13 09:22:24.000000000 +0100 +@@ -13,7 +13,8 @@ + #include <stdio.h> + #include "font.h" + +-#define MAXNUMCOLORS 16 ++#define MAXNUMCOLORS 256 ++#define VDR_OSDPIP_PATCHED + + enum eDvbColor { + #ifdef DEBUG_OSD +@@ -69,7 +70,8 @@ + // stored yet, NumColors will be set to 0 and the function will + // return NULL. + void Take(const cPalette &Palette, tIndexes *Indexes = NULL); +- }; ++ void Replace(const cPalette &Palette); ++}; + + class cBitmap : public cPalette { + private: +@@ -89,6 +91,7 @@ + void SetIndex(int x, int y, char Index); + void SetPixel(int x, int y, eDvbColor Color); + void SetBitmap(int x, int y, const cBitmap &Bitmap); ++ void SetBitmap256(int x, int y, const cBitmap &Bitmap); + int Width(void) { return width; } + int Width(unsigned char c); + int Width(const char *s); diff --git a/patches/vdr-1.2.6_256.diff b/patches/vdr-1.2.6_256.diff new file mode 100644 index 0000000..843bbf5 --- /dev/null +++ b/patches/vdr-1.2.6_256.diff @@ -0,0 +1,75 @@ +diff -u vdr-1.2.6/osdbase.c vdr/osdbase.c +--- vdr-1.2.6/osdbase.c 2003-08-24 13:38:27.000000000 +0200 ++++ vdr/osdbase.c 2004-01-13 09:33:21.000000000 +0100 +@@ -104,6 +104,12 @@ + } + } + ++void cPalette::Replace(const cPalette &Palette) ++{ ++ for (int i = 0; i < Palette.numColors; i++) ++ SetColor(i, Palette.color[i]); ++} ++ + // --- cBitmap --------------------------------------------------------------- + + cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground) +@@ -220,6 +226,17 @@ + } + } + ++void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap) ++{ ++ if (bitmap && Bitmap.bitmap) { ++ Replace(Bitmap); ++ for (int ix = 0; ix < Bitmap.width; ix++) { ++ for (int iy = 0; iy < Bitmap.height; iy++) ++ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]); ++ } ++ } ++} ++ + int cBitmap::Width(unsigned char c) + { + return font ? font->Width(c) : -1; +@@ -317,7 +334,10 @@ + x -= x0; + y -= y0; + } +- cBitmap::SetBitmap(x, y, Bitmap); ++ if (bpp == 8) ++ cBitmap::SetBitmap256(x, y, Bitmap); ++ else ++ cBitmap::SetBitmap(x, y, Bitmap); + } + + void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg) +diff -u vdr-1.2.6/osdbase.h vdr/osdbase.h +--- vdr-1.2.6/osdbase.h 2002-09-08 16:12:41.000000000 +0200 ++++ vdr/osdbase.h 2004-01-13 09:22:24.000000000 +0100 +@@ -14,6 +14,7 @@ + #include "font.h" + + #define MAXNUMCOLORS 256 ++#define VDR_OSDPIP_PATCHED + + enum eDvbColor { + #ifdef DEBUG_OSD +@@ -69,7 +70,8 @@ + // stored yet, NumColors will be set to 0 and the function will + // return NULL. + void Take(const cPalette &Palette, tIndexes *Indexes = NULL); +- }; ++ void Replace(const cPalette &Palette); ++}; + + class cBitmap : public cPalette { + private: +@@ -89,6 +91,7 @@ + void SetIndex(int x, int y, char Index); + void SetPixel(int x, int y, eDvbColor Color); + void SetBitmap(int x, int y, const cBitmap &Bitmap); ++ void SetBitmap256(int x, int y, const cBitmap &Bitmap); + int Width(void) { return width; } + int Width(unsigned char c); + int Width(const char *s); |