Permalink
Browse files

vdpau: make inverse telecine an advanced option, since it is no deint…

…erlacing method
  • Loading branch information...
1 parent 367f3b7 commit a52090cd2a43b38d26e6ab13108642aae7e1d2a1 @FernetMenta committed with Mar 19, 2012
View
19 xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -1821,31 +1821,32 @@ void CMixer::SetDeinterlacing()
if (mode == VS_DEINTERLACEMODE_OFF)
{
- VdpBool enabled[]={0,0,0};
+ VdpBool enabled[] = {0,0,0};
vdp_st = m_config.vdpProcs.vdp_video_mixer_set_feature_enables(m_videoMixer, ARSIZE(feature), feature, enabled);
}
else
{
if (method == VS_INTERLACEMETHOD_AUTO)
{
- VdpBool enabled[]={1,1,1};
+ VdpBool enabled[] = {1,1,0};
+ if (g_advancedSettings.m_videoVDPAUtelecine)
+ enabled[2] = 1;
vdp_st = m_config.vdpProcs.vdp_video_mixer_set_feature_enables(m_videoMixer, ARSIZE(feature), feature, enabled);
}
else if (method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF)
{
- VdpBool enabled[]={1,0,0};
+ VdpBool enabled[] = {1,0,0};
+ if (g_advancedSettings.m_videoVDPAUtelecine)
+ enabled[2] = 1;
vdp_st = m_config.vdpProcs.vdp_video_mixer_set_feature_enables(m_videoMixer, ARSIZE(feature), feature, enabled);
}
else if (method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF)
{
- VdpBool enabled[]={1,1,0};
- vdp_st = m_config.vdpProcs.vdp_video_mixer_set_feature_enables(m_videoMixer, ARSIZE(feature), feature, enabled);
- }
- else if (method == VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE)
- {
- VdpBool enabled[]={1,0,1};
+ VdpBool enabled[] = {1,1,0};
+ if (g_advancedSettings.m_videoVDPAUtelecine)
+ enabled[2] = 1;
vdp_st = m_config.vdpProcs.vdp_video_mixer_set_feature_enables(m_videoMixer, ARSIZE(feature), feature, enabled);
}
else
View
2 xbmc/settings/AdvancedSettings.cpp
@@ -98,6 +98,7 @@ void CAdvancedSettings::Initialize()
m_videoCaptureUseOcclusionQuery = -1; //-1 is auto detect
m_videoVDPAUdeintHD = -1;
m_videoVDPAUdeintSD = -1;
+ m_videoVDPAUtelecine = false;
m_videoVDPAUmaxHeight = -1;
m_videoVDPAUdeintSkipChromaHD = false;
m_DXVACheckCompatibility = false;
@@ -478,6 +479,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetInt(pElement,"vdpauHDdeint",m_videoVDPAUdeintHD);
XMLUtils::GetInt(pElement,"vdpauSDdeint",m_videoVDPAUdeintSD);
XMLUtils::GetInt(pElement,"vdpauMaxHeight",m_videoVDPAUmaxHeight);
+ XMLUtils::GetBoolean(pElement,"vdpauInvTelecine",m_videoVDPAUtelecine);
XMLUtils::GetBoolean(pElement,"vdpauHDdeintSkipChroma",m_videoVDPAUdeintSkipChromaHD);
TiXmlElement* pAdjustRefreshrate = pElement->FirstChildElement("adjustrefreshrate");
View
1 xbmc/settings/AdvancedSettings.h
@@ -113,6 +113,7 @@ class CAdvancedSettings
CStdString m_videoPPFFmpegPostProc;
int m_videoVDPAUdeintHD;
int m_videoVDPAUdeintSD;
+ bool m_videoVDPAUtelecine;
int m_videoVDPAUmaxHeight;
bool m_videoVDPAUdeintSkipChromaHD;
bool m_musicUseTimeSeeking;
View
1 xbmc/video/dialogs/GUIDialogVideoSettings.cpp
@@ -110,7 +110,6 @@ void CGUIDialogVideoSettings::CreateSettings()
entries.push_back(make_pair(VS_INTERLACEMETHOD_VDPAU_BOB , 16326));
entries.push_back(make_pair(VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF, 16318));
entries.push_back(make_pair(VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF , 16317));
- entries.push_back(make_pair(VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE , 16314));
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BOB , 16320));
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BEST , 16321));
entries.push_back(make_pair(VS_INTERLACEMETHOD_XVBA , 16327));

0 comments on commit a52090c

Please sign in to comment.