mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
VDPAU: Enable inverse telecine configuration.
This commit is contained in:
parent
6775173e4f
commit
8dd95dab5e
@ -1,5 +1,6 @@
|
||||
User johns
|
||||
|
||||
VDPAU: Enables inverse telecine configuration.
|
||||
Find AC3 (Dolby Digital) inside PES packet.
|
||||
Fix bug: audio increments invalid audio PTS.
|
||||
Fix bug: dvd plugin not working.
|
||||
|
@ -127,6 +127,9 @@ Setup: /etc/vdr/setup.conf
|
||||
softhddevice.<res>.SkipChromaDeinterlace = 0
|
||||
0 = disabled, 1 = enabled (for slower cards, poor qualität)
|
||||
|
||||
softhddevice.<res>.InverseTelecine = 0
|
||||
0 = disabled, 1 = enabled
|
||||
|
||||
softhddevice.<res>.Denoise = 0
|
||||
0 .. 1000 noise reduction level (0 off, 1000 max)
|
||||
|
||||
|
@ -70,6 +70,9 @@ static int ConfigVideoDeinterlace[RESOLUTIONS];
|
||||
/// config skip chroma
|
||||
static int ConfigVideoSkipChromaDeinterlace[RESOLUTIONS];
|
||||
|
||||
/// config inverse telecine
|
||||
static int ConfigVideoInverseTelecine[RESOLUTIONS];
|
||||
|
||||
/// config denoise
|
||||
static int ConfigVideoDenoise[RESOLUTIONS];
|
||||
|
||||
@ -389,6 +392,7 @@ class cMenuSetupSoft:public cMenuSetupPage
|
||||
int Scaling[RESOLUTIONS];
|
||||
int Deinterlace[RESOLUTIONS];
|
||||
int SkipChromaDeinterlace[RESOLUTIONS];
|
||||
int InverseTelecine[RESOLUTIONS];
|
||||
int Denoise[RESOLUTIONS];
|
||||
int Sharpen[RESOLUTIONS];
|
||||
int AudioDelay;
|
||||
@ -469,6 +473,9 @@ cMenuSetupSoft::cMenuSetupSoft(void)
|
||||
SkipChromaDeinterlace[i] = ConfigVideoSkipChromaDeinterlace[i];
|
||||
Add(new cMenuEditBoolItem(tr("SkipChromaDeinterlace (vdpau)"),
|
||||
&SkipChromaDeinterlace[i], trVDR("no"), trVDR("yes")));
|
||||
InverseTelecine[i] = ConfigVideoInverseTelecine[i];
|
||||
Add(new cMenuEditBoolItem(tr("Inverse Telecine (vdpau)"),
|
||||
&InverseTelecine[i], trVDR("no"), trVDR("yes")));
|
||||
Denoise[i] = ConfigVideoDenoise[i];
|
||||
Add(new cMenuEditIntItem(tr("Denoise (0..1000) (vdpau)"), &Denoise[i],
|
||||
0, 1000));
|
||||
@ -538,6 +545,8 @@ void cMenuSetupSoft::Store(void)
|
||||
"SkipChromaDeinterlace");
|
||||
SetupStore(buf, ConfigVideoSkipChromaDeinterlace[i] =
|
||||
SkipChromaDeinterlace[i]);
|
||||
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "InverseTelecine");
|
||||
SetupStore(buf, ConfigVideoInverseTelecine[i] = InverseTelecine[i]);
|
||||
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Denoise");
|
||||
SetupStore(buf, ConfigVideoDenoise[i] = Denoise[i]);
|
||||
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Sharpen");
|
||||
@ -546,6 +555,7 @@ void cMenuSetupSoft::Store(void)
|
||||
VideoSetScaling(ConfigVideoScaling);
|
||||
VideoSetDeinterlace(ConfigVideoDeinterlace);
|
||||
VideoSetSkipChromaDeinterlace(ConfigVideoSkipChromaDeinterlace);
|
||||
VideoSetInverseTelecine(ConfigVideoInverseTelecine);
|
||||
VideoSetDenoise(ConfigVideoDenoise);
|
||||
VideoSetSharpen(ConfigVideoSharpen);
|
||||
|
||||
@ -1292,6 +1302,12 @@ bool cPluginSoftHdDevice::SetupParse(const char *name, const char *value)
|
||||
VideoSetSkipChromaDeinterlace(ConfigVideoSkipChromaDeinterlace);
|
||||
return true;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "InverseTelecine");
|
||||
if (!strcmp(name, buf)) {
|
||||
ConfigVideoInverseTelecine[i] = atoi(value);
|
||||
VideoSetInverseTelecine(ConfigVideoInverseTelecine);
|
||||
return true;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Denoise");
|
||||
if (!strcmp(name, buf)) {
|
||||
ConfigVideoDenoise[i] = atoi(value);
|
||||
|
18
video.c
18
video.c
@ -291,12 +291,12 @@ static VideoDeinterlaceModes VideoDeinterlace[VideoResolutionMax];
|
||||
/// Default number of deinterlace surfaces
|
||||
static const int VideoDeinterlaceSurfaces = 4;
|
||||
|
||||
/// Default Inverse telecine flag (VDPAU only).
|
||||
static char VideoInverseTelecine[VideoResolutionMax];
|
||||
|
||||
/// Default skip chroma deinterlace flag (VDPAU only).
|
||||
static char VideoSkipChromaDeinterlace[VideoResolutionMax];
|
||||
|
||||
/// Default inverse telecine flag (VDPAU only).
|
||||
static char VideoInverseTelecine[VideoResolutionMax];
|
||||
|
||||
/// Default amount of noise reduction algorithm to apply (0 .. 1000).
|
||||
static int VideoDenoise[VideoResolutionMax];
|
||||
|
||||
@ -9060,6 +9060,18 @@ void VideoSetSkipChromaDeinterlace(int onoff[VideoResolutionMax])
|
||||
VideoSurfaceModesChanged = 1;
|
||||
}
|
||||
|
||||
///
|
||||
/// Set inverse telecine on/off.
|
||||
///
|
||||
void VideoSetInverseTelecine(int onoff[VideoResolutionMax])
|
||||
{
|
||||
VideoInverseTelecine[0] = onoff[0];
|
||||
VideoInverseTelecine[1] = onoff[1];
|
||||
VideoInverseTelecine[2] = onoff[2];
|
||||
VideoInverseTelecine[3] = onoff[3];
|
||||
VideoSurfaceModesChanged = 1;
|
||||
}
|
||||
|
||||
///
|
||||
/// Set denoise level (0 .. 1000).
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user