Fix keymap.
[vuplus_xbmc] / xbmc / settings / VideoSettings.h
1 /*
2  *      Copyright (C) 2005-2013 Team XBMC
3  *      http://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 #pragma once
28
29 enum EDEINTERLACEMODE
30 {
31   VS_DEINTERLACEMODE_OFF=0,
32   VS_DEINTERLACEMODE_AUTO=1,
33   VS_DEINTERLACEMODE_FORCE=2
34 };
35
36 enum EINTERLACEMETHOD
37 {
38   VS_INTERLACEMETHOD_NONE=0, // Legacy
39   VS_INTERLACEMETHOD_AUTO=1,
40   VS_INTERLACEMETHOD_RENDER_BLEND=2,
41
42   VS_INTERLACEMETHOD_RENDER_WEAVE_INVERTED=3,
43   VS_INTERLACEMETHOD_RENDER_WEAVE=4,
44   
45   VS_INTERLACEMETHOD_RENDER_BOB_INVERTED=5,
46   VS_INTERLACEMETHOD_RENDER_BOB=6,
47
48   VS_INTERLACEMETHOD_DEINTERLACE=7,
49
50   VS_INTERLACEMETHOD_VDPAU_BOB=8,
51   VS_INTERLACEMETHOD_INVERSE_TELECINE=9,
52
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
62
63   VS_INTERLACEMETHOD_SW_BLEND = 20,
64   VS_INTERLACEMETHOD_AUTO_ION = 21,
65
66   VS_INTERLACEMETHOD_MAX // do not use and keep as last enum value.
67 };
68
69 enum ESCALINGMETHOD
70 {
71   VS_SCALINGMETHOD_NEAREST=0,
72   VS_SCALINGMETHOD_LINEAR,
73
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,
80   
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,
86
87   VS_SCALINGMETHOD_AUTO,
88
89   VS_SCALINGMETHOD_SPLINE36_FAST,
90   VS_SCALINGMETHOD_SPLINE36,
91
92   VS_SCALINGMETHOD_MAX // do not use and keep as last enum value.
93 };
94
95 enum EDECODEMETHOD
96 {
97   VS_DECODEMETHOD_SOFTWARE=0,
98   VS_DECODEMETHOD_HARDWARE=1
99 };
100
101 typedef enum {
102   ViewModeNormal      = 0,
103   ViewModeZoom,
104   ViewModeStretch4x3,
105   ViewModeWideZoom,
106   ViewModeStretch16x9,
107   ViewModeOriginal,
108   ViewModeCustom
109 } ViewMode;
110
111 class CVideoSettings
112 {
113 public:
114   CVideoSettings();
115   ~CVideoSettings() {};
116
117   bool operator!=(const CVideoSettings &right) const;
118
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;
127   int m_AudioStream;
128   float m_VolumeAmplification;
129   bool m_OutputToAllSpeakers;
130   int m_SubtitleStream;
131   float m_SubtitleDelay;
132   bool m_SubtitleOn;
133   bool m_SubtitleCached;
134   float m_Brightness;
135   float m_Contrast;
136   float m_Gamma;
137   float m_NoiseReduction;
138   bool m_PostProcess;
139   float m_Sharpness;
140   float m_AudioDelay;
141   int m_ResumeTime;
142   bool m_Crop;
143   int m_CropTop;
144   int m_CropBottom;
145   int m_CropLeft;
146   int m_CropRight;
147   int m_StereoMode;
148   bool m_StereoInvert;
149
150 private:
151 };
152
153 #endif // !defined(AFX_VIDEOSETTINGS_H__562A722A_CD2A_4B4A_8A67_32DE8088A7D3__INCLUDED_)