2 * Copyright (C) 2005-2013 Team XBMC
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with XBMC; see the file COPYING. If not, see
17 * <http://www.gnu.org/licenses/>.
20 // VideoSettings.h: interface for the CVideoSettings class.
22 //////////////////////////////////////////////////////////////////////
24 #if !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)
25 #define AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_
29 #endif // _MSC_VER > 1000
33 VS_DEINTERLACEMODE_OFF=0,
34 VS_DEINTERLACEMODE_AUTO=1,
35 VS_DEINTERLACEMODE_FORCE=2
40 VS_INTERLACEMETHOD_NONE=0, // Legacy
41 VS_INTERLACEMETHOD_AUTO=1,
42 VS_INTERLACEMETHOD_RENDER_BLEND=2,
44 VS_INTERLACEMETHOD_RENDER_WEAVE_INVERTED=3,
45 VS_INTERLACEMETHOD_RENDER_WEAVE=4,
47 VS_INTERLACEMETHOD_RENDER_BOB_INVERTED=5,
48 VS_INTERLACEMETHOD_RENDER_BOB=6,
50 VS_INTERLACEMETHOD_DEINTERLACE=7,
52 VS_INTERLACEMETHOD_VDPAU_BOB=8,
53 VS_INTERLACEMETHOD_INVERSE_TELECINE=9,
55 VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE=11,
56 VS_INTERLACEMETHOD_VDPAU_TEMPORAL=12,
57 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF=13,
58 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL=14,
59 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF=15,
60 VS_INTERLACEMETHOD_DEINTERLACE_HALF=16,
61 VS_INTERLACEMETHOD_DXVA_BOB = 17,
62 VS_INTERLACEMETHOD_DXVA_BEST = 18,
63 // VS_INTERLACEMETHOD_DXVA_ANY = 19, Legacy
65 VS_INTERLACEMETHOD_SW_BLEND = 20,
66 VS_INTERLACEMETHOD_AUTO_ION = 21,
68 VS_INTERLACEMETHOD_MAX // do not use and keep as last enum value.
73 VS_SCALINGMETHOD_NEAREST=0,
74 VS_SCALINGMETHOD_LINEAR,
76 VS_SCALINGMETHOD_CUBIC,
77 VS_SCALINGMETHOD_LANCZOS2,
78 VS_SCALINGMETHOD_LANCZOS3_FAST,
79 VS_SCALINGMETHOD_LANCZOS3,
80 VS_SCALINGMETHOD_SINC8,
81 VS_SCALINGMETHOD_NEDI,
83 VS_SCALINGMETHOD_BICUBIC_SOFTWARE,
84 VS_SCALINGMETHOD_LANCZOS_SOFTWARE,
85 VS_SCALINGMETHOD_SINC_SOFTWARE,
86 VS_SCALINGMETHOD_VDPAU_HARDWARE,
87 VS_SCALINGMETHOD_DXVA_HARDWARE,
89 VS_SCALINGMETHOD_AUTO,
91 VS_SCALINGMETHOD_SPLINE36_FAST,
92 VS_SCALINGMETHOD_SPLINE36,
94 VS_SCALINGMETHOD_MAX // do not use and keep as last enum value.
111 ~CVideoSettings() {};
113 bool operator!=(const CVideoSettings &right) const;
115 EDEINTERLACEMODE m_DeinterlaceMode;
116 EINTERLACEMETHOD m_InterlaceMethod;
117 ESCALINGMETHOD m_ScalingMethod;
118 int m_ViewMode; // current view mode
119 float m_CustomZoomAmount; // custom setting zoom amount
120 float m_CustomPixelRatio; // custom setting pixel ratio
121 float m_CustomVerticalShift; // custom setting vertical shift
122 bool m_CustomNonLinStretch;
124 float m_VolumeAmplification;
125 bool m_OutputToAllSpeakers;
126 int m_SubtitleStream;
127 float m_SubtitleDelay;
129 bool m_SubtitleCached;
133 float m_NoiseReduction;
147 #endif // !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)