annotate loader/dshow/graph.h @ 36368:3bc37e1228ee

Support H.264 fourcc UMSV. Allows playing the sample from FFmpeg ticket #3046.
author cehoyos
date Mon, 14 Oct 2013 14:25:47 +0000
parents b946a0c28e65
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30828
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
1 #ifndef MPLAYER_GRAPH_H
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
2 #define MPLAYER_GRAPH_H
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
3
30831
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
4 /*
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
5 * Copyright 2010 Steinar H. Gunderson
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
6 *
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
7 * This file is part of MPlayer.
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
8 *
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
9 * MPlayer is free software; you can redistribute it and/or modify
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
10 * it under the terms of the GNU General Public License as published by
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
12 * (at your option) any later version.
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
13 *
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
14 * MPlayer is distributed in the hope that it will be useful,
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
17 * GNU General Public License for more details.
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
18 *
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
19 * You should have received a copy of the GNU General Public License along
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
30832
9e81c17f6e73 Fix a syntax error in graph.h.
sesse
parents: 30831
diff changeset
22 */
30831
9f57c99fce86 Add copyright headers.
sesse
parents: 30830
diff changeset
23
30828
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
24 #include "interfaces.h"
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
25 #include "cmediasample.h"
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
26
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
27 typedef struct FilterGraph FilterGraph;
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
28
30830
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
29 struct FilterGraph {
30828
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
30 IFilterGraph_vt* vt;
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
31 DECLARE_IUNKNOWN();
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
32 GUID interfaces[2];
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
33
30830
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
34 HRESULT STDCALL (*AddFilter)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
35 /* [in] */ IBaseFilter* pFilter,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
36 /* [string][in] */ unsigned short* pName);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
37 HRESULT STDCALL (*RemoveFilter)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
38 /* [in] */ IBaseFilter* pFilter);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
39 HRESULT STDCALL (*EnumFilters)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
40 /* [out] */ IEnumFilters** ppEnum);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
41 HRESULT STDCALL (*FindFilterByName)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
42 /* [string][in] */ unsigned short* pName,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
43 /* [out] */ IBaseFilter** ppFilter);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
44 HRESULT STDCALL (*ConnectDirect)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
45 /* [in] */ IPin* ppinOut,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
46 /* [in] */ IPin* ppinIn,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
47 /* [in] */ const AM_MEDIA_TYPE* pmt);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
48 HRESULT STDCALL (*Reconnect)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
49 /* [in] */ IPin* ppin);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
50 HRESULT STDCALL (*Disconnect)(FilterGraph* This,
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
51 /* [in] */ IPin* ppin);
a25ab9c878f9 Style changes as requested by Diego.
sesse
parents: 30828
diff changeset
52 HRESULT STDCALL (*SetDefaultSyncSource)(FilterGraph* This);
30828
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
53 };
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
54
31485
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
55
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
56 HRESULT STDCALL FilterGraph_AddFilter(FilterGraph* This,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
57 IBaseFilter* pFilter,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
58 unsigned short* pName);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
59 HRESULT STDCALL FilterGraph_RemoveFilter(FilterGraph* This,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
60 IBaseFilter* pFilter);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
61 HRESULT STDCALL FilterGraph_EnumFilters(FilterGraph* This,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
62 IEnumFilters** ppEnum);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
63 HRESULT STDCALL FilterGraph_FindFilterByName(FilterGraph* This,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
64 unsigned short* pName,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
65 IBaseFilter** ppFilter);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
66 HRESULT STDCALL FilterGraph_ConnectDirect(FilterGraph* This,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
67 IPin* ppinOut,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
68 IPin* ppinIn,
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
69 const AM_MEDIA_TYPE* pmt);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
70 HRESULT STDCALL FilterGraph_Reconnect(FilterGraph* This, IPin* ppin);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
71 HRESULT STDCALL FilterGraph_Disconnect(FilterGraph* This, IPin* ppin);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
72 HRESULT STDCALL FilterGraph_SetDefaultSyncSource(FilterGraph* This);
b946a0c28e65 Add prototypes for exported FilterGraph_ functions.
diego
parents: 30832
diff changeset
73
30828
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
74 FilterGraph* FilterGraphCreate(void);
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
75
5f145a3b3832 Commit files by Steinar Gunderson, forgotten in r30866.
cehoyos
parents:
diff changeset
76 #endif /* MPLAYER_GRAPH_H */