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_
31 VS_DEINTERLACEMODE_OFF=0,
32 VS_DEINTERLACEMODE_AUTO=1,
33 VS_DEINTERLACEMODE_FORCE=2
38 VS_INTERLACEMETHOD_NONE=0, // Legacy
39 VS_INTERLACEMETHOD_AUTO=1,
40 VS_INTERLACEMETHOD_RENDER_BLEND=2,
42 VS_INTERLACEMETHOD_RENDER_WEAVE_INVERTED=3,
43 VS_INTERLACEMETHOD_RENDER_WEAVE=4,
45 VS_INTERLACEMETHOD_RENDER_BOB_INVERTED=5,
46 VS_INTERLACEMETHOD_RENDER_BOB=6,
48 VS_INTERLACEMETHOD_DEINTERLACE=7,
50 VS_INTERLACEMETHOD_VDPAU_BOB=8,
51 VS_INTERLACEMETHOD_INVERSE_TELECINE=9,
53 VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE=11,
54 VS_INTERLACEMETHOD_VDPAU_TEMPORAL=12,
55 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF=13,
56 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL=14,
57 VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF=15,
58 VS_INTERLACEMETHOD_DEINTERLACE_HALF=16,
59 VS_INTERLACEMETHOD_DXVA_BOB = 17,
60 VS_INTERLACEMETHOD_DXVA_BEST = 18,
61 // VS_INTERLACEMETHOD_DXVA_ANY = 19, Legacy
63 VS_INTERLACEMETHOD_SW_BLEND = 20,
64 VS_INTERLACEMETHOD_AUTO_ION = 21,
66 VS_INTERLACEMETHOD_MAX // do not use and keep as last enum value.
71 VS_SCALINGMETHOD_NEAREST=0,
72 VS_SCALINGMETHOD_LINEAR,
74 VS_SCALINGMETHOD_CUBIC,
75 VS_SCALINGMETHOD_LANCZOS2,
76 VS_SCALINGMETHOD_LANCZOS3_FAST,
77 VS_SCALINGMETHOD_LANCZOS3,
78 VS_SCALINGMETHOD_SINC8,
79 VS_SCALINGMETHOD_NEDI,
81 VS_SCALINGMETHOD_BICUBIC_SOFTWARE,
82 VS_SCALINGMETHOD_LANCZOS_SOFTWARE,
83 VS_SCALINGMETHOD_SINC_SOFTWARE,
84 VS_SCALINGMETHOD_VDPAU_HARDWARE,
85 VS_SCALINGMETHOD_DXVA_HARDWARE,
87 VS_SCALINGMETHOD_AUTO,
89 VS_SCALINGMETHOD_SPLINE36_FAST,
90 VS_SCALINGMETHOD_SPLINE36,
92 VS_SCALINGMETHOD_MAX // do not use and keep as last enum value.
97 VS_DECODEMETHOD_SOFTWARE=0,
98 VS_DECODEMETHOD_HARDWARE=1
115 ~CVideoSettings() {};
117 bool operator!=(const CVideoSettings &right) const;
119 EDEINTERLACEMODE m_DeinterlaceMode;
120 EINTERLACEMETHOD m_InterlaceMethod;
121 ESCALINGMETHOD m_ScalingMethod;
122 int m_ViewMode; // current view mode
123 float m_CustomZoomAmount; // custom setting zoom amount
124 float m_CustomPixelRatio; // custom setting pixel ratio
125 float m_CustomVerticalShift; // custom setting vertical shift
126 bool m_CustomNonLinStretch;
128 float m_VolumeAmplification;
129 bool m_OutputToAllSpeakers;
130 int m_SubtitleStream;
131 float m_SubtitleDelay;
133 bool m_SubtitleCached;
137 float m_NoiseReduction;
153 #endif // !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)