summaryrefslogtreecommitdiffstats
path: root/loader/dmo/dmo.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dmo/dmo.h')
-rw-r--r--loader/dmo/dmo.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/loader/dmo/dmo.h b/loader/dmo/dmo.h
new file mode 100644
index 0000000000..bd94e75022
--- /dev/null
+++ b/loader/dmo/dmo.h
@@ -0,0 +1,81 @@
+#ifndef DMO_H
+#define DMO_H
+
+/*
+ *
+ * Definition of important DMO interfaces.
+ * Created using freely-available DirectX 8.1 SDK
+ * ( http://msdn.microsoft.com )
+ *
+ */
+
+#include "dshow/iunk.h"
+#include "dshow/guids.h"
+
+typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
+
+
+
+enum _DMO_INPUT_DATA_BUFFER_FLAGS
+{
+ DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
+ DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
+ DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4
+};
+
+enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
+{
+ DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
+ DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
+ DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
+ DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
+};
+
+enum _DMO_INPUT_STATUS_FLAGS
+{
+ DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
+};
+
+enum _DMO_INPUT_STREAM_INFO_FLAGS
+{
+ DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
+ DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
+ DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
+ DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
+};
+
+enum _DMO_OUTPUT_STREAM_INFO_FLAGS
+{
+ DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
+ DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
+ DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
+ DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
+ DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
+};
+
+enum _DMO_SET_TYPE_FLAGS
+{
+ DMO_SET_TYPEF_TEST_ONLY = 0x1,
+ DMO_SET_TYPEF_CLEAR = 0x2
+};
+
+enum _DMO_PROCESS_OUTPUT_FLAGS
+{
+ DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
+};
+
+enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS
+{
+ DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1
+};
+
+
+/* MediaErr.h */
+#define DMO_E_INVALIDSTREAMINDEX 0x80040201
+#define DMO_E_INVALIDTYPE 0x80040202
+#define DMO_E_TYPE_NOT_SET 0x80040203
+#define DMO_E_NOTACCEPTING 0x80040204
+#define DMO_E_TYPE_NOT_ACCEPTED 0x80040205
+#define DMO_E_NO_MORE_ITEMS 0x80040206
+
+#endif /* DMO_H */