summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--omx.c6
-rw-r--r--po/de_DE.po13
-rw-r--r--po/fi_FI.po11
-rw-r--r--po/fr_FR.po11
-rw-r--r--po/hu_HU.po11
-rw-r--r--po/it_IT.po11
-rw-r--r--setup.c13
-rw-r--r--setup.h13
9 files changed, 80 insertions, 10 deletions
diff --git a/HISTORY b/HISTORY
index ed58435..5cba947 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2,6 +2,7 @@ VDR Plugin 'rpihddevice' Revision History
-----------------------------------------
- new:
+ - make use of advanced deinterlacer configurable
- add debug option to log number of executed OpenVG commands and flushes
2016-04-23: Version 1.0.3
diff --git a/omx.c b/omx.c
index 3881c14..cc83a9c 100644
--- a/omx.c
+++ b/omx.c
@@ -21,6 +21,7 @@
#include "omx.h"
#include "display.h"
+#include "setup.h"
#include <vdr/tools.h>
#include <vdr/thread.h>
@@ -362,8 +363,9 @@ void cOmx::HandlePortSettingsChanged(unsigned int portId)
if (cRpiDisplay::IsProgressive() && m_videoFrameFormat.Interlaced())
{
- bool fastDeinterlace = portdef.format.video.nFrameWidth *
- portdef.format.video.nFrameHeight > 576 * 720;
+ bool fastDeinterlace = !cRpiSetup::UseAdvancedDeinterlacer(
+ portdef.format.video.nFrameWidth,
+ portdef.format.video.nFrameHeight);
filterparam.nNumParams = 4;
filterparam.nParams[0] = 3;
diff --git a/po/de_DE.po b/po/de_DE.po
index 3c37270..a221585 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-rpihddevice 1.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-03-14 19:22+0100\n"
-"PO-Revision-Date: 2015-10-12 09:33+0100\n"
+"POT-Creation-Date: 2016-04-27 15:09+0200\n"
+"PO-Revision-Date: 2016-04-27 15:11+0100\n"
"Last-Translator: Thomas Reufer <thomas@reufer.ch>\n"
"Language-Team: German\n"
"Language: de\n"
@@ -54,12 +54,21 @@ msgstr "Voreinstellung"
msgid "follow video"
msgstr "wie Video"
+msgid "for SD video only"
+msgstr "nur für SD-Video"
+
+msgid "always"
+msgstr "immer"
+
msgid "Resolution"
msgstr "Auflösung"
msgid "Frame Rate"
msgstr "Bildwiederholrate"
+msgid "Use Advanced Deinterlacer"
+msgstr "Benutze erweiterten Deinterlacer"
+
msgid "Video Framing"
msgstr "Seitenverhältnis-Anpassung"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 2b2258f..2dcff96 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-rpihddevice 0.0.8\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-03-14 19:22+0100\n"
+"POT-Creation-Date: 2016-04-27 15:09+0200\n"
"PO-Revision-Date: 2014-03-22 03:22+0200\n"
"Last-Translator: Rolf Ahrenberg\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@@ -52,12 +52,21 @@ msgstr "oletus"
msgid "follow video"
msgstr "lähetteen mukaan"
+msgid "for SD video only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
msgid "Resolution"
msgstr "Resoluutio"
msgid "Frame Rate"
msgstr "Ruudunpäivitys"
+msgid "Use Advanced Deinterlacer"
+msgstr ""
+
msgid "Video Framing"
msgstr "Kuvan rajaustapa"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index dfb92b9..a0dd2cd 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-rpihddevice 1.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-10-14 17:58+0200\n"
+"POT-Creation-Date: 2016-04-27 15:09+0200\n"
"PO-Revision-Date: 2015-10-15 06:56+0100\n"
"Last-Translator: Cyril Jaquier <cyril.jaquier@jaqpot.net>\n"
"Language-Team: French\n"
@@ -53,12 +53,21 @@ msgstr "par défaut"
msgid "follow video"
msgstr "comme l'original"
+msgid "for SD video only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
msgid "Resolution"
msgstr "Résolution"
msgid "Frame Rate"
msgstr "Cadence d'images"
+msgid "Use Advanced Deinterlacer"
+msgstr ""
+
msgid "Video Framing"
msgstr "Aspect de l'image"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 7206b02..81b356d 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-rpihddevice 1.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-03-14 19:22+0100\n"
+"POT-Creation-Date: 2016-04-27 15:09+0200\n"
"PO-Revision-Date: 2015-10-16 13:49+0200\n"
"Last-Translator: Füley István <ifuley at tigercomp dot ro>\n"
"Language-Team: Hungarian\n"
@@ -54,12 +54,21 @@ msgstr "alapértelmezett"
msgid "follow video"
msgstr "video szerinti"
+msgid "for SD video only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
msgid "Resolution"
msgstr "Felbontás"
msgid "Frame Rate"
msgstr "Képfrissítés"
+msgid "Use Advanced Deinterlacer"
+msgstr ""
+
msgid "Video Framing"
msgstr "Video képarány"
diff --git a/po/it_IT.po b/po/it_IT.po
index c21fd2e..3b35087 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-rpihddevice 1.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-10-14 17:58+0200\n"
+"POT-Creation-Date: 2016-04-27 15:09+0200\n"
"PO-Revision-Date: 2015-10-15 07:01+0100\n"
"Last-Translator: Gerlando Falauto <gerlando.falauto@gmail.com>\n"
"Language-Team: Italian\n"
@@ -53,12 +53,21 @@ msgstr "default"
msgid "follow video"
msgstr "come nel video"
+msgid "for SD video only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
msgid "Resolution"
msgstr "Risoluzione"
msgid "Frame Rate"
msgstr "Frequenza fotogrammi"
+msgid "Use Advanced Deinterlacer"
+msgstr ""
+
msgid "Video Framing"
msgstr "Rapporto d'aspetto"
diff --git a/setup.c b/setup.c
index 99b90d6..4359e11 100644
--- a/setup.c
+++ b/setup.c
@@ -74,6 +74,10 @@ public:
m_videoFrameRate[7] = "60i";
m_videoFrameRate[8] = "60p";
+ m_useAdvancedDeinterlacer[0] = trVDR("no");
+ m_useAdvancedDeinterlacer[1] = tr("for SD video only");
+ m_useAdvancedDeinterlacer[2] = tr("always");
+
Setup();
}
@@ -101,6 +105,7 @@ protected:
SetupStore("VideoFraming", m_video.framing);
SetupStore("Resolution", m_video.resolution);
SetupStore("FrameRate", m_video.frameRate);
+ SetupStore("AdvancedDeinterlacer", m_video.advancedDeinterlacer);
SetupStore("AcceleratedOsd", m_osd.accelerated);
@@ -122,6 +127,11 @@ private:
Add(new cMenuEditStraItem(
tr("Frame Rate"), &m_video.frameRate, 9, m_videoFrameRate));
}
+ if (cRpiDisplay::IsProgressive())
+ Add(new cMenuEditStraItem(
+ tr("Use Advanced Deinterlacer"),
+ &m_video.advancedDeinterlacer, 3,
+ m_useAdvancedDeinterlacer));
Add(new cMenuEditStraItem(
tr("Video Framing"), &m_video.framing, 3, m_videoFraming));
@@ -151,6 +161,7 @@ private:
const char *m_videoFraming[3];
const char *m_videoResolution[6];
const char *m_videoFrameRate[9];
+ const char *m_useAdvancedDeinterlacer[3];
};
/* ------------------------------------------------------------------------- */
@@ -310,6 +321,8 @@ bool cRpiSetup::Parse(const char *name, const char *value)
m_video.resolution = atoi(value);
else if (!strcasecmp(name, "FrameRate"))
m_video.frameRate = atoi(value);
+ else if (!strcasecmp(name, "AdvancedDeinterlacer"))
+ m_video.advancedDeinterlacer = atoi(value);
else if (!strcasecmp(name, "AcceleratedOsd"))
m_osd.accelerated = atoi(value);
else return false;
diff --git a/setup.h b/setup.h
index a91b8e1..39224c4 100644
--- a/setup.h
+++ b/setup.h
@@ -52,15 +52,18 @@ public:
VideoParameters() :
framing(0),
resolution(0),
- frameRate(0) { }
+ frameRate(0),
+ advancedDeinterlacer(1){ }
int framing;
int resolution;
int frameRate;
+ int advancedDeinterlacer;
bool operator!=(const VideoParameters& a) {
return (a.framing != framing) || (a.resolution != resolution) ||
- (a.frameRate != frameRate);
+ (a.frameRate != frameRate) ||
+ (a.advancedDeinterlacer != advancedDeinterlacer);
}
};
@@ -126,6 +129,12 @@ public:
cVideoFrameRate::eDontChange;
}
+ static bool UseAdvancedDeinterlacer(int width, int height) {
+ return !GetInstance()->m_video.advancedDeinterlacer ? false :
+ GetInstance()->m_video.advancedDeinterlacer == 1 &&
+ (width * height <= 576 * 720) ? true : true;
+ }
+
static bool IsAudioFormatSupported(cAudioCodec::eCodec codec,
int channels, int samplingRate);