summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY8
-rw-r--r--Makefile27
-rw-r--r--README22
-rw-r--r--decoder.c57
-rw-r--r--decoder.h24
-rw-r--r--i18n.c19
-rw-r--r--osd.c104
-rw-r--r--osd.h10
-rw-r--r--osdpip.c12
-rw-r--r--po/ca_ES.po7
-rw-r--r--po/cs_CZ.po7
-rw-r--r--po/da_DK.po7
-rw-r--r--po/de_DE.po9
-rw-r--r--po/el_GR.po7
-rw-r--r--po/es_ES.po7
-rw-r--r--po/et_EE.po7
-rw-r--r--po/fi_FI.po9
-rw-r--r--po/fr_FR.po9
-rw-r--r--po/hr_HR.po7
-rw-r--r--po/hu_HU.po7
-rw-r--r--po/it_IT.po7
-rw-r--r--po/nl_NL.po7
-rw-r--r--po/nn_NO.po7
-rw-r--r--po/pl_PL.po7
-rw-r--r--po/pt_PT.po7
-rw-r--r--po/ro_RO.po7
-rw-r--r--po/ru_RU.po7
-rw-r--r--po/sl_SI.po7
-rw-r--r--po/sv_SE.po7
-rw-r--r--po/tr_TR.po7
30 files changed, 349 insertions, 87 deletions
diff --git a/HISTORY b/HISTORY
index 0b4ec45..ad0efe3 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,14 @@
VDR Plugin 'osdpip' Revision History
------------------------------------
+2008-05-03: Version 0.0.10 (written by Andreas Regel)
+- support swscale functions of recent FFMPEG versions. Have a look at
+ README to see how to deactivate it for older FFPMEG versions.
+- support changed header file structure of recent FFMPEG versions. Have
+ a look at README to see how to activate this.
+- added zapping through PiP channel based on a patch by pinky666 from
+ vdr-portal. You can activate it via the green button.
+
2008-04-27: Version 0.0.9 (written by Andreas Regel)
- dropped support for VDR version lower than 1.3.47.
- Now using palette replacemen introduced in VDR 1.4.27, so palette
diff --git a/Makefile b/Makefile
index 5e27692..dc5bf38 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,18 @@
#
# $Id: Makefile,v 1.1.1.1 2004/11/19 16:45:31 lordjaxom Exp $
+# You can change the compile options here or create a Make.config
+# in the VDR directory an set them there.
+#
+### uncomment the following line, if you don't want to use swscale functions
+### for scaling and color format conversions. Then deprecated img_convert and
+### img_resample will be used instead.
+#WITHOUT_SWSCALE=1
+#
+### uncomment the following line, if you have a recent FFMPEG version that
+### has a changed structure of its header files.
+#WITH_NEW_FFMPEG_HEADERS=1
+
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
@@ -51,7 +63,20 @@ DEFINES += -D_GNU_SOURCE
OBJS = $(PLUGIN).o osd_info.o osd.o receiver.o setup.o i18n.o pes.o quantize.o decoder.o
ifdef FFMPEG_STATIC
- DEFINES += -DHAVE_FFMPEG_STATIC
+ DEFINES += -DHAVE_FFMPEG_STATIC
+endif
+
+ifndef WITHOUT_SWSCALE
+ DEFINES += -DUSE_SWSCALE
+ ifneq ($(shell which pkg-config),)
+ LIBS += $(shell pkg-config --silence-errors --libs libswscale)
+ else
+ LIBS += -lswscale
+ endif
+endif
+
+ifdef WITH_NEW_FFMPEG_HEADERS
+ DEFINES += -DUSE_NEW_FFMPEG_HEADERS
endif
### Implicit rules:
diff --git a/README b/README
index 306aa5d..fcba680 100644
--- a/README
+++ b/README
@@ -5,7 +5,7 @@ Written by: Sascha Volkenandt <sascha@akv-soft.de>
Project's homepage: http://www.magoa.net/linux/index.php?view=osdpip
-Latest version available at: http://www.magoa.net/linux/index.php?view=osdpip
+Latest version available at: http://www.powarman.de/files/osdpip
See the file COPYING for license information.
@@ -65,6 +65,16 @@ you have it next to your vdr folder (e.g. as the DXR3 plugin needs it), you
have to compile with "make FFMPEG_STATIC=1 plugins". Ffmpeg must then be
present in a folder (or symlink) called "ffmpeg".
+In recent FFMPEG versions the functions img_convert and img_replace where
+replaced by swscale functions. This are used by default. If you don't want to
+use swscale functions for scaling and color format conversions, you will have
+to add WITHOUT_SWSCALE=1 to your Make.config or uncomment this line in
+vdr-osdpip's Makefile. Then deprecated img_convert and img_resample will be
+used instead.
+
+If you have a recent FFMPEG version that has a changed structure of its header
+files you will have to add WITH_NEW_FFMPEG_HEADERS=1 to your Make.config or
+uncomment this line in vdr-osdpip's Makefile.
Controls:
---------
@@ -75,6 +85,7 @@ Left/Right Select channel group (only when info window enabled)
1-9 Select channel (only when info window enabled)
Red Swap PiP channel with currently viewed channel
Green Switch to move mode
+Yellow Switch to zapping mode
Ok Show/hide channel info window
0 Switch back to PiP channel and exit PiP
Back Exit PiP without switching back
@@ -84,3 +95,12 @@ Cursor keys Move PiP window around
Green Switch to normal mode
0 Switch back to PiP channel and exit PiP
Back Exit PiP without switching back
+
+Zapping Mode:
+Up/Down Switch PiP channel up/down
+Red Swap PiP channel with currently viewed channel
+Green Switch to move mode
+Yellow Switch to normal mode
+0 Switch back to PiP channel and exit PiP
+Back Exit PiP without switching back
+
diff --git a/decoder.c b/decoder.c
index 5bc790b..df6940b 100644
--- a/decoder.c
+++ b/decoder.c
@@ -27,17 +27,21 @@ int cDecoder::Open()
}
m_PicDecoded = avcodec_alloc_frame();
m_PicResample = avcodec_alloc_frame();
- m_BufferResample = new unsigned char[(400 * 300 * 3) / 2]; // size for YUV 420
+ m_BufferResample = new unsigned char[400 * 300 * 4]; // size for RGBA32
+#ifndef USE_SWSCALE
m_PicConvert = avcodec_alloc_frame();
m_BufferConvert = new unsigned char[400 * 300 * 4]; // size for RGBA32
+#endif
return 0;
}
int cDecoder::Close()
{
+#ifndef USE_SWSCALE
delete[] m_BufferConvert;
free(m_PicConvert);
+#endif
delete[] m_BufferResample;
free(m_PicResample);
avcodec_close(m_Context);
@@ -65,24 +69,47 @@ int cDecoder::Decode(unsigned char * data, int length)
return 0;
}
-int cDecoder::Resample(int width, int height)
+int cDecoder::Resample(int width, int height, bool ConvertToRGB)
{
- ImgReSampleContext * contextResample;
-
m_Width = width;
m_Height = height;
-#if LIBAVCODEC_BUILD < 4708
+
+#ifdef USE_SWSCALE
+ AVPicture pic_crop;
+ struct SwsContext * context;
+
+ av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft);
+ context = sws_getContext(m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight),
+ m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom),
+ PIX_FMT_YUV420P,
+ m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
+ SWS_LANCZOS, NULL, NULL, NULL);
+ if (!context) {
+ printf("Error initializing scale context.\n");
+ return -1;
+ }
+ avpicture_fill((AVPicture *) m_PicResample, m_BufferResample,
+ ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
+ m_Width, m_Height);
+ sws_scale(context, pic_crop.data, pic_crop.linesize,
+ 0, m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom),
+ m_PicResample->data, m_PicResample->linesize);
+ sws_freeContext(context);
+#else
+ ImgReSampleContext * contextResample;
+
+ #if LIBAVCODEC_BUILD < 4708
contextResample = img_resample_full_init(m_Width, m_Height,
m_Context->width, m_Context->height,
OsdPipSetup.CropTop, OsdPipSetup.CropBottom,
OsdPipSetup.CropLeft, OsdPipSetup.CropRight);
-#else
+ #else
contextResample = img_resample_full_init(m_Width, m_Height,
m_Context->width, m_Context->height,
OsdPipSetup.CropTop, OsdPipSetup.CropBottom,
OsdPipSetup.CropLeft, OsdPipSetup.CropRight,
0, 0, 0, 0);
-#endif
+ #endif
if (!contextResample) {
printf("Error initializing resample context.\n");
return -1;
@@ -91,17 +118,15 @@ int cDecoder::Resample(int width, int height)
PIX_FMT_YUV420P, m_Width, m_Height);
img_resample(contextResample, (AVPicture *) m_PicResample, (AVPicture *) m_PicDecoded);
img_resample_close(contextResample);
-
- return 0;
-}
-
-int cDecoder::ConvertToRGB()
-{
- avpicture_fill((AVPicture *) m_PicConvert, m_BufferConvert,
- PIX_FMT_RGBA32, m_Width, m_Height);
- img_convert((AVPicture *) m_PicConvert, PIX_FMT_RGBA32,
+ if (ConvertToRGB)
+ {
+ avpicture_fill((AVPicture *) m_PicConvert, m_BufferConvert,
+ PIX_FMT_RGBA32, m_Width, m_Height);
+ img_convert((AVPicture *) m_PicConvert, PIX_FMT_RGBA32,
(AVPicture *) m_PicResample, PIX_FMT_YUV420P,
m_Width, m_Height);
+ }
+#endif
return 0;
}
diff --git a/decoder.h b/decoder.h
index f38870e..f503402 100644
--- a/decoder.h
+++ b/decoder.h
@@ -10,9 +10,20 @@
extern "C"
{
#ifdef HAVE_FFMPEG_STATIC
-# include <avcodec.h>
+ #include <avcodec.h>
+ #ifdef USE_SWSCALE
+ #include <swscale.h>
+ #endif
+#elif defined USE_NEW_FFMPEG_HEADERS
+ #include <libavcodec/avcodec.h>
+ #ifdef USE_SWSCALE
+ #include <libswscale/swscale.h>
+ #endif
#else
-# include <ffmpeg/avcodec.h>
+ #include <ffmpeg/avcodec.h>
+ #ifdef USE_SWSCALE
+ #include <ffmpeg/swscale.h>
+ #endif
#endif
}
@@ -22,19 +33,22 @@ private:
AVCodecContext * m_Context;
AVFrame * m_PicDecoded;
AVFrame * m_PicResample;
- AVFrame * m_PicConvert;
unsigned char * m_BufferResample;
+#ifndef USE_SWSCALE
+ AVFrame * m_PicConvert;
unsigned char * m_BufferConvert;
+#endif
int m_Width;
int m_Height;
public:
int Open();
int Close();
int Decode(unsigned char * data, int length);
- int Resample(int width, int height);
- int ConvertToRGB();
+ int Resample(int width, int height, bool ConvertToRGB);
AVFrame * PicResample() { return m_PicResample; }
+#ifndef USE_SWSCALE
AVFrame * PicConvert() { return m_PicConvert; }
+#endif
double AspectRatio();
};
diff --git a/i18n.c b/i18n.c
index 25bb047..ffe874a 100644
--- a/i18n.c
+++ b/i18n.c
@@ -655,6 +655,25 @@ const tI18nPhrase Phrases[] = {
"", // Russian
"", // Croatian
},
+ { "Zapping mode", // English
+ "Umschaltmodus", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Português
+ "", // Français
+ "", // Norsk
+ "", // Suomi
+ "", // Polski
+ "", // Español
+ "", // Ellinika
+ "", // Svenska
+ "", // Romaneste
+ "", // Magyar
+ "", // Catala
+ "", // Russian
+ "", // Croatian
+ },
{ NULL }
};
diff --git a/osd.c b/osd.c
index 0a7773e..00cfde8 100644
--- a/osd.c
+++ b/osd.c
@@ -31,7 +31,7 @@ cOsdPipObject::cOsdPipObject(cDevice *Device, const cChannel *Channel)
m_Active = false;
m_Ready = false;
m_Reset = true;
- m_MoveMode = false;
+ m_PipMode = pipModeNormal;
m_Width = m_Height = -1;
m_Bitmap = NULL;
m_InfoWindow = NULL;
@@ -92,6 +92,31 @@ void cOsdPipObject::SwapChannels(void)
}
}
+void cOsdPipObject::SwitchOsdPipChan(int i)
+{
+ const cChannel *pipChan = m_Channel;
+ pipChan = Channels.GetByNumber(m_Channel->Number() + i );
+ if (pipChan)
+ {
+ Stop();
+ DELETENULL(m_Receiver);
+#if (APIVERSNUM < 10500)
+ cDevice *dev = cDevice::GetDevice(pipChan, 1);
+#else
+ cDevice *dev = cDevice::GetDevice(pipChan, 1, false);
+#endif
+ if (dev)
+ {
+ m_Channel = pipChan;
+ dev->SwitchChannel(m_Channel, false);
+ m_Receiver = new cOsdPipReceiver(m_Channel, m_ESBuffer);
+ dev->AttachReceiver(m_Receiver);
+ }
+ Start();
+ m_InfoWindow->Hide();
+ }
+}
+
static inline uint8_t clip(int x)
{
if (x<=0)
@@ -285,7 +310,9 @@ void cOsdPipObject::ProcessImage(unsigned char * data, int length)
height = (int) ((float) m_Width / decoder.AspectRatio() * 16.0f / 15.0f + 0.5);
else
height = m_Height;
- if (decoder.Resample(m_Width, height) != 0)
+ bool convertToRGB = OsdPipSetup.ColorDepth == kDepthColor256fix
+ || OsdPipSetup.ColorDepth == kDepthColor128var;
+ if (decoder.Resample(m_Width, height, convertToRGB) != 0)
return;
int size;
@@ -364,12 +391,13 @@ void cOsdPipObject::ProcessImage(unsigned char * data, int length)
else if (OsdPipSetup.ColorDepth == kDepthColor256fix ||
OsdPipSetup.ColorDepth == kDepthColor128var)
{
- if (decoder.ConvertToRGB() != 0)
- return;
-
if (OsdPipSetup.SwapFfmpeg)
{
+#ifdef USE_SWSCALE
+ unsigned int * bufPtr = (unsigned int *) decoder.PicResample()->data[0];
+#else
unsigned int * bufPtr = (unsigned int *) decoder.PicConvert()->data[0];
+#endif
unsigned char red, green, blue, alpha;
for (int i = 0; i < size; i++)
{
@@ -384,7 +412,11 @@ void cOsdPipObject::ProcessImage(unsigned char * data, int length)
}
}
+#ifdef USE_SWSCALE
+ quantizer->Quantize(decoder.PicResample()->data[0], size, 127);
+#else
quantizer->Quantize(decoder.PicConvert()->data[0], size, 127);
+#endif
outputPalette = quantizer->OutputPalette();
outputImage = quantizer->OutputImage();
@@ -531,16 +563,29 @@ eOSState cOsdPipObject::ProcessKey(eKeys Key)
eOSState state = cOsdObject::ProcessKey(Key);
if (state == osUnknown)
{
- if (m_MoveMode)
+ if (m_PipMode == pipModeZapping)
{
switch (Key & ~k_Repeat)
{
+ case kNone:
+ return osContinue;
case k0:
Channels.SwitchTo(m_Channel->Number());
case kBack:
return osEnd;
+ case kRed:
+ SwapChannels();
+ break;
case kGreen:
- m_MoveMode = false;
+ m_PipMode = pipModeMoving;
+ if (m_Ready && m_InfoWindow)
+ {
+ m_InfoWindow->SetMessage(tr("Move mode"));
+ m_InfoWindow->Show();
+ }
+ break;
+ case kYellow:
+ m_PipMode = pipModeNormal;
if (m_Ready && m_InfoWindow)
{
m_InfoWindow->SetMessage(tr("Normal mode"));
@@ -548,6 +593,41 @@ eOSState cOsdPipObject::ProcessKey(eKeys Key)
}
break;
case kUp:
+ SwitchOsdPipChan(1);
+ break;
+ case kDown:
+ SwitchOsdPipChan(-1);
+ break;
+ default:
+ return state;
+ }
+ state = osContinue;
+ }
+ else if (m_PipMode == pipModeMoving)
+ {
+ switch (Key & ~k_Repeat)
+ {
+ case k0:
+ Channels.SwitchTo(m_Channel->Number());
+ case kBack:
+ return osEnd;
+ case kGreen:
+ m_PipMode = pipModeNormal;
+ if (m_Ready && m_InfoWindow)
+ {
+ m_InfoWindow->SetMessage(tr("Normal mode"));
+ m_InfoWindow->Show();
+ }
+ break;
+ case kYellow:
+ m_PipMode = pipModeZapping;
+ if (m_Ready && m_InfoWindow)
+ {
+ m_InfoWindow->SetMessage(tr("Zapping mode"));
+ m_InfoWindow->Show();
+ }
+ break;
+ case kUp:
if (OsdPipSetup.YPosition >= 10)
OsdPipSetup.YPosition -= 10;
m_Reset = true;
@@ -590,13 +670,21 @@ eOSState cOsdPipObject::ProcessKey(eKeys Key)
SwapChannels();
break;
case kGreen:
- m_MoveMode = true;
+ m_PipMode = pipModeMoving;
if (m_Ready && m_InfoWindow)
{
m_InfoWindow->SetMessage(tr("Move mode"));
m_InfoWindow->Show();
}
break;
+ case kYellow:
+ m_PipMode = pipModeZapping;
+ if (m_Ready && m_InfoWindow)
+ {
+ m_InfoWindow->SetMessage(tr("Zapping mode"));
+ m_InfoWindow->Show();
+ }
+ break;
case kUp:
case kDown:
cDevice::SwitchChannel(NORMALKEY(Key) == kUp ? 1 : -1);
diff --git a/osd.h b/osd.h
index 48f2312..2f62d80 100644
--- a/osd.h
+++ b/osd.h
@@ -17,6 +17,13 @@
#include "decoder.h"
#include "osd_info.h"
+typedef enum _ePipMode
+{
+ pipModeNormal,
+ pipModeMoving,
+ pipModeZapping
+} ePipMode;
+
class cRingBufferFrame;
class cOsdPipReceiver;
class cQuantize;
@@ -33,7 +40,7 @@ private:
bool m_Active;
bool m_Ready;
bool m_Reset;
- bool m_MoveMode;
+ ePipMode m_PipMode;
int m_Width, m_Height;
int m_FrameDrop;
@@ -48,6 +55,7 @@ private:
void Stop(void);
void SwapChannels(void);
+ void SwitchOsdPipChan(int i);
protected:
virtual void Action(void);
virtual void ChannelSwitch(const cDevice * device, int channelNumber);
diff --git a/osdpip.c b/osdpip.c
index 3c9b7b2..ac5764f 100644
--- a/osdpip.c
+++ b/osdpip.c
@@ -4,15 +4,7 @@
* See the README file for copyright information and how to reach the author.
*/
-extern "C"
-{
-#ifdef HAVE_FFMPEG_STATIC
-# include <avcodec.h>
-#else
-# include <ffmpeg/avcodec.h>
-#endif
-}
-
+#include "decoder.h"
#include "osd.h"
#include "setup.h"
#if (APIVERSNUM < 10507)
@@ -21,7 +13,7 @@ extern "C"
#include <vdr/plugin.h>
-static const char *VERSION = "0.0.9";
+static const char *VERSION = "0.0.10";
static const char *DESCRIPTION = trNOOP("OSD Picture-in-Picture");
static const char *MAINMENUENTRY = trNOOP("Picture-in-Picture");
diff --git a/po/ca_ES.po b/po/ca_ES.po
index ecb85af..1bdbf46 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -17,10 +17,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 0853a4f..b2c3f40 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/da_DK.po b/po/da_DK.po
index 47110d7..79fb6df 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/de_DE.po b/po/de_DE.po
index 5b062ca..1a9e1d3 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,11 +15,14 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr "Bewegungsmodus"
+
msgid "Normal mode"
msgstr "Normaler Modus"
-msgid "Move mode"
-msgstr "Bewegungsmodus"
+msgid "Zapping mode"
+msgstr "Umschaltmodus"
msgid "OSD Picture-in-Picture"
msgstr "OSD Bild-in-Bild"
diff --git a/po/el_GR.po b/po/el_GR.po
index 3ce492b..5205e12 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-7\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/es_ES.po b/po/es_ES.po
index 1f07eb3..4a13bc0 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/et_EE.po b/po/et_EE.po
index 6436419..96d92ce 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-13\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index d28a9e8..1cce199 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -18,11 +18,14 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr "Siirtotoiminto"
+
msgid "Normal mode"
msgstr "Normaalitoiminto"
-msgid "Move mode"
-msgstr "Siirtotoiminto"
+msgid "Zapping mode"
+msgstr ""
msgid "OSD Picture-in-Picture"
msgstr "Kuva kuvassa -toiminto (OSD)"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index e701b71..638825e 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -18,11 +18,14 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr "Mode mouvement"
+
msgid "Normal mode"
msgstr "Mode normale"
-msgid "Move mode"
-msgstr "Mode mouvement"
+msgid "Zapping mode"
+msgstr ""
msgid "OSD Picture-in-Picture"
msgstr "OSD-PIP Incrustation d'image dans l'image"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index f3bea62..a8de102 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 34486c6..d250094 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/it_IT.po b/po/it_IT.po
index 1becc5b..9c8182b 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Sean Carlos <seanc@libero.it>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -17,10 +17,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 1f3bd2a..3fef0f8 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -17,10 +17,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 677d260..60f33d5 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 4ffbd14..61d7d1b 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index c09dd2b..92522c7 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/ro_RO.po b/po/ro_RO.po
index ffbccfc..f74dd22 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 0749eca..8723fd1 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index f2ed125..88d3894 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 73bd2dc..39b311f 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -16,10 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"
diff --git a/po/tr_TR.po b/po/tr_TR.po
index 3fd0acb..505e145 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <andreas.regel@powarman.de>\n"
-"POT-Creation-Date: 2008-04-27 18:04+0200\n"
+"POT-Creation-Date: 2008-05-03 21:57+0200\n"
"PO-Revision-Date: 2008-04-27 18:00+0200\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -15,10 +15,13 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-9\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Move mode"
+msgstr ""
+
msgid "Normal mode"
msgstr ""
-msgid "Move mode"
+msgid "Zapping mode"
msgstr ""
msgid "OSD Picture-in-Picture"