[svn] / branches / dev-api-3 / dshow / src / CXvidDecoder.h Repository:
ViewVC logotype

Annotation of /branches/dev-api-3/dshow/src/CXvidDecoder.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 613 - (view) (download)

1 : Isibaar 6 #ifndef _FILTER_H_
2 :     #define _FILTER_H_
3 :    
4 : Isibaar 382 #include <xvid.h>
5 : Isibaar 6 #include "IXvidDecoder.h"
6 :    
7 :    
8 : suxen_drol 613 #if defined(_DEBUG)
9 :     #define DEBUG(X) OutputDebugString(X)
10 :     #else
11 :     #define DEBUG(X)
12 :     #endif
13 : Isibaar 6
14 : suxen_drol 613
15 : Isibaar 6 #define XVID_NAME_L L"XviD MPEG-4 Video Decoder"
16 :    
17 :     /* --- fourcc --- */
18 :    
19 :     #define FOURCC_XVID mmioFOURCC('X','V','I','D')
20 :     #define FOURCC_DIVX mmioFOURCC('D','I','V','X')
21 :    
22 :     /* --- media uids --- */
23 :    
24 :     DEFINE_GUID(CLSID_XVID,
25 :     0x64697678, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
26 :    
27 :     DEFINE_GUID(CLSID_XVID_UC,
28 :     0x44495658, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
29 :    
30 :     DEFINE_GUID(CLSID_DIVX,
31 :     0x78766964, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
32 :    
33 :     DEFINE_GUID(CLSID_DIVX_UC,
34 :     0x58564944, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
35 :    
36 :    
37 :     class CXvidDecoder : public CVideoTransformFilter, public IXvidDecoder, public ISpecifyPropertyPages
38 :     {
39 :    
40 :     public :
41 :    
42 :     static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);
43 :     STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
44 :     DECLARE_IUNKNOWN;
45 :    
46 :     CXvidDecoder(LPUNKNOWN punk, HRESULT *phr);
47 :     ~CXvidDecoder();
48 :    
49 :     HRESULT CheckInputType(const CMediaType * mtIn);
50 :     HRESULT GetMediaType(int iPos, CMediaType * pmt);
51 :     HRESULT SetMediaType(PIN_DIRECTION direction, const CMediaType *pmt);
52 :    
53 :     HRESULT CheckTransform(const CMediaType *mtIn, const CMediaType *mtOut);
54 :     HRESULT DecideBufferSize(IMemAllocator * pima, ALLOCATOR_PROPERTIES * pProperties);
55 :    
56 :     HRESULT Transform(IMediaSample *pIn, IMediaSample *pOut);
57 :    
58 :     STDMETHODIMP GetPages(CAUUID * pPages);
59 :     STDMETHODIMP FreePages(CAUUID * pPages);
60 :    
61 :     private :
62 :    
63 :     HRESULT ChangeColorspace(GUID subtype, GUID formattype, void * format);
64 :    
65 :     // data
66 :    
67 :     HINSTANCE m_hdll;
68 :     int (*m_xvid_init)(void *, int, void *, void *);
69 :     int (*m_xvid_decore)(void *, int, void *, void *);
70 :    
71 :     XVID_DEC_PARAM m_param;
72 :     XVID_DEC_FRAME m_frame;
73 :     };
74 :    
75 :    
76 :     #endif /* _FILTER_H_ */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4