26 |
#ifndef _FILTER_H_ |
#ifndef _FILTER_H_ |
27 |
#define _FILTER_H_ |
#define _FILTER_H_ |
28 |
|
|
29 |
|
#include <time.h> |
30 |
#include <xvid.h> |
#include <xvid.h> |
31 |
#include "IXvidDecoder.h" |
#include "IXvidDecoder.h" |
32 |
|
|
|
#ifndef HWND_MESSAGE |
|
|
#define HWND_MESSAGE ((HWND)-3) |
|
|
#endif |
|
|
|
|
33 |
#define XVID_NAME_L L"Xvid MPEG-4 Video Decoder" |
#define XVID_NAME_L L"Xvid MPEG-4 Video Decoder" |
34 |
#define XVID_NAME_MFT_L L"Xvid MPEG-4 Video Decoder MFT" |
#define XVID_NAME_MFT_L L"Xvid MPEG-4 Video Decoder MFT" |
35 |
|
|
155 |
|
|
156 |
private : |
private : |
157 |
|
|
158 |
HRESULT ChangeColorspace(GUID subtype, GUID formattype, void * format, int noflip); |
HRESULT ChangeColorspace(GUID subtype, GUID formattype, void * format, int *bitdepth, int noflip); |
159 |
HRESULT OpenLib(); |
HRESULT OpenLib(); |
160 |
void CloseLib(); |
void CloseLib(); |
161 |
|
|
163 |
xvid_dec_frame_t m_frame; |
xvid_dec_frame_t m_frame; |
164 |
|
|
165 |
HINSTANCE m_hdll; |
HINSTANCE m_hdll; |
166 |
int (__cdecl *xvid_global_func)(void *handle, int opt, void *param1, void *param2); |
int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2); |
167 |
int (__cdecl *xvid_decore_func)(void *handle, int opt, void *param1, void *param2); |
int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2); |
168 |
UINT ar_x, ar_y; |
int ar_x, ar_y; |
169 |
bool forced_ar; |
bool forced_ar; |
170 |
|
|
171 |
int rgb_flip; |
int rgb_flip; |
172 |
int out_stride; |
int out_stride; |
173 |
|
|
174 |
|
clock_t m_startClock; |
175 |
|
int m_tray_icon; |
176 |
|
|
177 |
/* mft stuff */ |
/* mft stuff */ |
178 |
#if defined(XVID_USE_MFT) |
#if defined(XVID_USE_MFT) |
179 |
BOOL HasPendingOutput() const { return m_frame.output.plane[1] != NULL; } |
BOOL HasPendingOutput() const { return m_frame.output.plane[1] != NULL; } |
181 |
HRESULT OnSetInputType(IMFMediaType *pmt); |
HRESULT OnSetInputType(IMFMediaType *pmt); |
182 |
HRESULT OnCheckInputType(IMFMediaType *pmt); |
HRESULT OnCheckInputType(IMFMediaType *pmt); |
183 |
|
|
184 |
HRESULT OnSetOutputType(IMFMediaType *pmt); |
HRESULT OnSetOutputType(IMFMediaType *pmt, int bitdepth); |
185 |
|
|
186 |
IMFMediaType *m_pInputType; |
IMFMediaType *m_pInputType; |
187 |
IMFMediaType *m_pOutputType; |
IMFMediaType *m_pOutputType; |
188 |
|
int m_pOutputTypeBPP; |
189 |
|
|
190 |
CRITICAL_SECTION m_mft_lock; |
CRITICAL_SECTION m_mft_lock; |
191 |
REFERENCE_TIME m_timestamp; |
REFERENCE_TIME m_timestamp; |
197 |
REFERENCE_TIME m_rtFrame; |
REFERENCE_TIME m_rtFrame; |
198 |
MFRatio m_frameRate; |
MFRatio m_frameRate; |
199 |
UINT64 m_duration; |
UINT64 m_duration; |
|
#endif |
|
200 |
|
|
201 |
HWND MSG_hwnd; /* message handler window */ |
HANDLE m_thread_handle; |
202 |
|
#endif |
203 |
}; |
}; |
204 |
#define WM_ICONMESSAGE (WM_USER + 1) |
#define WM_ICONMESSAGE (WM_USER + 1) |
205 |
|
|