1 #ifndef MPLAYER_DMO_H
2 #define MPLAYER_DMO_H
3 
4 /*
5  *
6  * Definition of important DMO interfaces.
7  * Created using freely-available DirectX 8.1 SDK
8  * ( http://msdn.microsoft.com )
9  *
10  */
11 
12 #include "loader/dshow/iunk.h"
13 #include "loader/dshow/guids.h"
14 
15 typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
16 
17 
18 
19 enum DMO_INPUT_DATA_BUFFER_FLAGS
20 {
21     DMO_INPUT_DATA_BUFFERF_SYNCPOINT	= 0x1,
22     DMO_INPUT_DATA_BUFFERF_TIME		= 0x2,
23     DMO_INPUT_DATA_BUFFERF_TIMELENGTH	= 0x4
24 };
25 
26 enum DMO_OUTPUT_DATA_BUFFER_FLAGS
27 {
28     DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT	= 0x1,
29     DMO_OUTPUT_DATA_BUFFERF_TIME	= 0x2,
30     DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH	= 0x4,
31     DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE	= 0x1000000
32 };
33 
34 enum DMO_INPUT_STATUS_FLAGS
35 {
36     DMO_INPUT_STATUSF_ACCEPT_DATA	= 0x1
37 };
38 
39 enum DMO_INPUT_STREAM_INFO_FLAGS
40 {
41     DMO_INPUT_STREAMF_WHOLE_SAMPLES	= 0x1,
42     DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER	= 0x2,
43     DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE	= 0x4,
44     DMO_INPUT_STREAMF_HOLDS_BUFFERS	= 0x8
45 };
46 
47 enum DMO_OUTPUT_STREAM_INFO_FLAGS
48 {
49     DMO_OUTPUT_STREAMF_WHOLE_SAMPLES	= 0x1,
50     DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER	= 0x2,
51     DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE	= 0x4,
52     DMO_OUTPUT_STREAMF_DISCARDABLE	= 0x8,
53     DMO_OUTPUT_STREAMF_OPTIONAL		= 0x10
54 };
55 
56 enum DMO_SET_TYPE_FLAGS
57 {
58     DMO_SET_TYPEF_TEST_ONLY		= 0x1,
59     DMO_SET_TYPEF_CLEAR			= 0x2
60 };
61 
62 enum DMO_PROCESS_OUTPUT_FLAGS
63 {
64     DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER	= 0x1
65 };
66 
67 enum DMO_VIDEO_OUTPUT_STREAM_FLAGS
68 {
69     DMO_VOSF_NEEDS_PREVIOUS_SAMPLE	= 0x1
70 };
71 
72 
73 /* MediaErr.h */
74 #define DMO_E_INVALIDSTREAMINDEX 0x80040201
75 #define DMO_E_INVALIDTYPE        0x80040202
76 #define DMO_E_TYPE_NOT_SET       0x80040203
77 #define DMO_E_NOTACCEPTING       0x80040204
78 #define DMO_E_TYPE_NOT_ACCEPTED  0x80040205
79 #define DMO_E_NO_MORE_ITEMS      0x80040206
80 
81 #endif /* MPLAYER_DMO_H */
82