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

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