[cosmetics] update date in GPL header
[vuplus_xbmc] / xbmc / settings / VideoSettings.h
1 /*
2  *      Copyright (C) 2005-2013 Team XBMC
3  *      http://www.xbmc.org
4  *
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)
8  *  any later version.
9  *
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.
14  *
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/>.
18  *
19  */
20 // VideoSettings.h: interface for the CVideoSettings class.
21 //
22 //////////////////////////////////////////////////////////////////////
23
24 #if !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)
25 #define AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_
26
27 #if _MSC_VER > 1000
28 #pragma once
29 #endif // _MSC_VER > 1000
30
31 enum EDEINTERLACEMODE
32 {
33   VS_DEINTERLACEMODE_OFF=0,
34   VS_DEINTERLACEMODE_AUTO=1,
35   VS_DEINTERLACEMODE_FORCE=2
36 };
37
38 enum EINTERLACEMETHOD
39 {
40   VS_INTERLACEMETHOD_NONE=0, // Legacy
41   VS_INTERLACEMETHOD_AUTO=1,
42   VS_INTERLACEMETHOD_RENDER_BLEND=2,
43
44   VS_INTERLACEMETHOD_RENDER_WEAVE_INVERTED=3,
45   VS_INTERLACEMETHOD_RENDER_WEAVE=4,
46   
47   VS_INTERLACEMETHOD_RENDER_BOB_INVERTED=5,
48   VS_INTERLACEMETHOD_RENDER_BOB=6,
49
50   VS_INTERLACEMETHOD_DEINTERLACE=7,
51
52   VS_INTERLACEMETHOD_VDPAU_BOB=8,
53   VS_INTERLACEMETHOD_INVERSE_TELECINE=9,
54
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
64
65   VS_INTERLACEMETHOD_SW_BLEND = 20,
66   VS_INTERLACEMETHOD_AUTO_ION = 21,
67
68   VS_INTERLACEMETHOD_MAX // do not use and keep as last enum value.
69 };
70
71 enum ESCALINGMETHOD
72 {
73   VS_SCALINGMETHOD_NEAREST=0,
74   VS_SCALINGMETHOD_LINEAR,
75
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,
82   
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,
88
89   VS_SCALINGMETHOD_AUTO,
90
91   VS_SCALINGMETHOD_SPLINE36_FAST,
92   VS_SCALINGMETHOD_SPLINE36,
93
94   VS_SCALINGMETHOD_MAX // do not use and keep as last enum value.
95 };
96
97 class CVideoSettings
98 {
99 public:
100   CVideoSettings();
101   ~CVideoSettings() {};
102
103   bool operator!=(const CVideoSettings &right) const;
104
105   EDEINTERLACEMODE m_DeinterlaceMode;
106   EINTERLACEMETHOD m_InterlaceMethod;
107   ESCALINGMETHOD   m_ScalingMethod;
108   int m_ViewMode;   // current view mode
109   float m_CustomZoomAmount; // custom setting zoom amount
110   float m_CustomPixelRatio; // custom setting pixel ratio
111   float m_CustomVerticalShift; // custom setting vertical shift
112   bool  m_CustomNonLinStretch;
113   int m_AudioStream;
114   float m_VolumeAmplification;
115   bool m_OutputToAllSpeakers;
116   int m_SubtitleStream;
117   float m_SubtitleDelay;
118   bool m_SubtitleOn;
119   bool m_SubtitleCached;
120   float m_Brightness;
121   float m_Contrast;
122   float m_Gamma;
123   float m_NoiseReduction;
124   bool m_PostProcess;
125   float m_Sharpness;
126   float m_AudioDelay;
127   int m_ResumeTime;
128   bool m_Crop;
129   int m_CropTop;
130   int m_CropBottom;
131   int m_CropLeft;
132   int m_CropRight;
133
134 private:
135 };
136
137 #endif // !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)