summaryrefslogtreecommitdiffstats
path: root/loader/dmo/DMO_Filter.h
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-26 22:54:11 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-26 22:54:11 +0000
commitc989ead81b1629d601fbc25975a33a28952485e7 (patch)
tree0255f8b5026f62c77cb6b66ea850e0b536b4412e /loader/dmo/DMO_Filter.h
parentc665efef4a3f27182ff2305da94ba7fa3329bdff (diff)
downloadmpv-c989ead81b1629d601fbc25975a33a28952485e7.tar.bz2
mpv-c989ead81b1629d601fbc25975a33a28952485e7.tar.xz
DMO interfaces (copied/converted(c++->c) from avifile)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8295 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader/dmo/DMO_Filter.h')
-rw-r--r--loader/dmo/DMO_Filter.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/loader/dmo/DMO_Filter.h b/loader/dmo/DMO_Filter.h
new file mode 100644
index 0000000000..0c5855ad73
--- /dev/null
+++ b/loader/dmo/DMO_Filter.h
@@ -0,0 +1,47 @@
+ #ifndef DMO_FILTER_H
+#define DMO_FILTER_H
+
+#include "dmo_guids.h"
+#include "dmo_interfaces.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+typedef struct _DMO_Filter
+{
+ int m_iHandle;
+ IDMOVideoOutputOptimizations* m_pOptim;
+ IMediaObject* m_pMedia;
+ IMediaObjectInPlace* m_pInPlace;
+ AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
+} DMO_Filter;
+
+typedef struct _CMediaBuffer CMediaBuffer;
+
+/**
+ * Create DMO_Filter object - similar syntax as for DS_Filter
+ */
+DMO_Filter* DMO_FilterCreate(const char* dllname, const GUID* id,
+ AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
+/**
+ * Destroy DMO_Filter object - release all allocated resources
+ */
+void DMO_Filter_Destroy(DMO_Filter* This);
+
+
+/**
+ * Create IMediaBuffer object - to pass/receive data from DMO_Filter
+ *
+ * maxlen - maximum size for this buffer
+ * mem - initial memory 0 - creates memory
+ * len - initial size of used portion of the buffer
+ * copy - make a local copy of data
+ */
+CMediaBuffer* CMediaBufferCreate(unsigned long maxlen, void* mem, unsigned long len, int copy);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* DS_FILTER_H */