source: trunk/src/3rdparty/phonon/ds9/qevr9.h

Last change on this file was 846, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 5.4 KB
Line 
1/* This file is part of the KDE project.
2
3Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
5This library is free software: you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation, either version 2.1 or 3 of the License.
8
9This library is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU Lesser General Public License for more details.
13
14You should have received a copy of the GNU Lesser General Public License
15along with this library. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include <d3d9.h>
19
20#define DXVA2_ProcAmp_Brightness 1
21#define DXVA2_ProcAmp_Contrast 2
22#define DXVA2_ProcAmp_Hue 4
23#define DXVA2_ProcAmp_Saturation 8
24
25typedef enum {
26 MFVideoARMode_None = 0x00000000,
27 MFVideoARMode_PreservePicture = 0x00000001,
28 MFVideoARMode_PreservePixel = 0x00000002,
29 MFVideoARMode_NonLinearStretch = 0x00000004,
30 MFVideoARMode_Mask = 0x00000007
31} MFVideoAspectRatioMode;
32
33typedef struct {
34 float left;
35 float top;
36 float right;
37 float bottom;
38} MFVideoNormalizedRect;
39
40typedef struct {
41 UINT DeviceCaps;
42 D3DPOOL InputPool;
43 UINT NumForwardRefSamples;
44 UINT NumBackwardRefSamples;
45 UINT Reserved;
46 UINT DeinterlaceTechnology;
47 UINT ProcAmpControlCaps;
48 UINT VideoProcessorOperations;
49 UINT NoiseFilterTechnology;
50 UINT DetailFilterTechnology;
51} DXVA2_VideoProcessorCaps;
52
53typedef struct {
54 union {
55 struct {
56 USHORT Fraction;
57 SHORT Value;
58 };
59 LONG ll;
60 };
61} DXVA2_Fixed32;
62
63typedef struct {
64 DXVA2_Fixed32 MinValue;
65 DXVA2_Fixed32 MaxValue;
66 DXVA2_Fixed32 DefaultValue;
67 DXVA2_Fixed32 StepSize;
68} DXVA2_ValueRange;
69
70typedef struct {
71 DXVA2_Fixed32 Brightness;
72 DXVA2_Fixed32 Contrast;
73 DXVA2_Fixed32 Hue;
74 DXVA2_Fixed32 Saturation;
75} DXVA2_ProcAmpValues;
76
77DXVA2_Fixed32 DXVA2FloatToFixed(const float _float_)
78{
79 DXVA2_Fixed32 _fixed_;
80 _fixed_.Fraction = LOWORD(_float_ * 0x10000);
81 _fixed_.Value = HIWORD(_float_ * 0x10000);
82 return _fixed_;
83}
84
85float DXVA2FixedToFloat(const DXVA2_Fixed32 _fixed_)
86{
87 return (FLOAT)_fixed_.Value + (FLOAT)_fixed_.Fraction / 0x10000;
88}
89
90#undef INTERFACE
91#define INTERFACE IMFVideoDisplayControl
92DECLARE_INTERFACE_(IMFVideoDisplayControl, IUnknown)
93{
94 STDMETHOD(GetNativeVideoSize)(THIS_ SIZE* pszVideo, SIZE* pszARVideo) PURE;
95 STDMETHOD(GetIdealVideoSize)(THIS_ SIZE* pszMin, SIZE* pszMax) PURE;
96 STDMETHOD(SetVideoPosition)(THIS_ const MFVideoNormalizedRect* pnrcSource, const LPRECT prcDest) PURE;
97 STDMETHOD(GetVideoPosition)(THIS_ MFVideoNormalizedRect* pnrcSource, LPRECT prcDest) PURE;
98 STDMETHOD(SetAspectRatioMode)(THIS_ DWORD dwAspectRatioMode) PURE;
99 STDMETHOD(GetAspectRatioMode)(THIS_ DWORD* pdwAspectRatioMode) PURE;
100 STDMETHOD(SetVideoWindow)(THIS_ HWND hwndVideo) PURE;
101 STDMETHOD(GetVideoWindow)(THIS_ HWND* phwndVideo) PURE;
102 STDMETHOD(RepaintVideo)(THIS_) PURE;
103 STDMETHOD(GetCurrentImage)(THIS_ BITMAPINFOHEADER* pBih, BYTE** pDib, DWORD* pcbDib, LONGLONG* pTimeStamp) PURE;
104 STDMETHOD(SetBorderColor)(THIS_ COLORREF Clr) PURE;
105 STDMETHOD(GetBorderColor)(THIS_ COLORREF* pClr) PURE;
106 STDMETHOD(SetRenderingPrefs)(THIS_ DWORD dwRenderFlags) PURE;
107 STDMETHOD(GetRenderingPrefs)(THIS_ DWORD* pdwRenderFlags) PURE;
108 STDMETHOD(SetFullScreen)(THIS_ BOOL fFullscreen) PURE;
109 STDMETHOD(GetFullScreen)(THIS_ BOOL* pfFullscreen) PURE;
110};
111#undef INTERFACE
112#define INTERFACE IMFVideoMixerControl
113DECLARE_INTERFACE_(IMFVideoMixerControl, IUnknown)
114{
115 STDMETHOD(SetStreamZOrder)(THIS_ DWORD dwStreamID, DWORD dwZ) PURE;
116 STDMETHOD(GetStreamZOrder)(THIS_ DWORD dwStreamID, DWORD* pdwZ) PURE;
117 STDMETHOD(SetStreamOutputRect)(THIS_ DWORD dwStreamID, const MFVideoNormalizedRect* pnrcOutput) PURE;
118 STDMETHOD(GetStreamOutputRect)(THIS_ DWORD dwStreamID, MFVideoNormalizedRect* pnrcOutput) PURE;
119};
120#undef INTERFACE
121#define INTERFACE IMFVideoProcessor
122DECLARE_INTERFACE_(IMFVideoProcessor, IUnknown)
123{
124 STDMETHOD(GetAvailableVideoProcessorModes)(THIS_ UINT* lpdwNumProcessingModes, GUID** ppVideoProcessingModes) PURE;
125 STDMETHOD(GetVideoProcessorCaps)(THIS_ LPGUID lpVideoProcessorMode, DXVA2_VideoProcessorCaps* lpVideoProcessorCaps) PURE;
126 STDMETHOD(GetVideoProcessorMode)(THIS_ LPGUID lpMode) PURE;
127 STDMETHOD(SetVideoProcessorMode)(THIS_ LPGUID lpMode) PURE;
128 STDMETHOD(GetProcAmpRange)(THIS_ DWORD dwProperty, DXVA2_ValueRange* pPropRange) PURE;
129 STDMETHOD(GetProcAmpValues)(THIS_ DWORD dwFlags, DXVA2_ProcAmpValues* Values) PURE;
130 STDMETHOD(SetProcAmpValues)(THIS_ DWORD dwFlags, DXVA2_ProcAmpValues* pValues) PURE;
131 STDMETHOD(GetFilteringRange)(THIS_ DWORD dwProperty, DXVA2_ValueRange* pPropRange) PURE;
132 STDMETHOD(GetFilteringValue)(THIS_ DWORD dwProperty, DXVA2_Fixed32* pValue) PURE;
133 STDMETHOD(SetFilteringValue)(THIS_ DWORD dwProperty, DXVA2_Fixed32* pValue) PURE;
134 STDMETHOD(GetBackgroundColor)(THIS_ COLORREF* lpClrBkg) PURE;
135 STDMETHOD(SetBackgroundColor)(THIS_ COLORREF ClrBkg) PURE;
136};
137#undef INTERFACE
138#define INTERFACE IMFGetService
139DECLARE_INTERFACE_(IMFGetService, IUnknown)
140{
141 STDMETHOD(GetService)(THIS_ REFGUID guidService, REFIID riid, LPVOID* ppvObject) PURE;
142};
143#undef INTERFACE
Note: See TracBrowser for help on using the repository browser.