1 #ifndef MPLAYER_DMO_FILTER_H
2 #define MPLAYER_DMO_FILTER_H
5 #include "dmo_interfaces.h"
7 typedef struct DMO_Filter
10 IDMOVideoOutputOptimizations
* m_pOptim
;
11 IMediaObject
* m_pMedia
;
12 IMediaObjectInPlace
* m_pInPlace
;
13 AM_MEDIA_TYPE
*m_pOurType
, *m_pDestType
;
16 typedef struct CMediaBuffer CMediaBuffer
;
19 * Create DMO_Filter object - similar syntax as for DS_Filter
21 DMO_Filter
* DMO_FilterCreate(const char* dllname
, const GUID
* id
,
22 AM_MEDIA_TYPE
* in_fmt
, AM_MEDIA_TYPE
* out_fmt
);
24 * Destroy DMO_Filter object - release all allocated resources
26 void DMO_Filter_Destroy(DMO_Filter
* This
);
30 * Create IMediaBuffer object - to pass/receive data from DMO_Filter
32 * maxlen - maximum size for this buffer
33 * mem - initial memory 0 - creates memory
34 * len - initial size of used portion of the buffer
35 * copy - make a local copy of data
37 CMediaBuffer
* CMediaBufferCreate(unsigned long maxlen
, void* mem
, unsigned long len
, int copy
);
39 #endif /* MPLAYER_DMO_FILTER_H */