Microsoft DirectShow

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

DirectShow (DS, DShow, Quartz) je multimediální framework od firmy Microsoft, který se stal nástupcem frameworku Video for Windows (VfW).

Je založen na objektovém modelu COM. Moduly pro tento framework jsou tři typy filtrů - zdrojové, transformační a renderovací. +more Oproti VfW má mnohé výhody, např. možnost automatické konverze barevných modelů. Pro vývoj je nutno nainstalovat příslušné SDK (dnes součást Windows SDK, dříve v DirectX SDK). Framework je zpětně kompatibilní se svým předchůdcem VfW, jehož kodeky jsou zde obaleny filtrem AVI Decompressor. Součástí SDK je mimo jiné také nástroj GraphEdit, který umožňuje poskládat renderovací graf pomocí myši. Microsoft jej dnes označuje za zastaralý ve prospěch Media Foundation ze systému Windows Vista.

Ukázka

Kostra dekodéru videa (transformační filtr):

class CDBVDecoder: public CVideoTransformFilter, public IDBVDecoder { public: static CUnknown *WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr); STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv); DECLARE_IUNKNOWN;

CDBVDecoder(LPUNKNOWN punk, HRESULT *phr);

HRESULT CheckInputType(const CMediaType *mtIn); HRESULT GetMediaType(int iPos, CMediaType *pmt); HRESULT SetMediaType(PIN_DIRECTION direction, const CMediaType *pmt); HRESULT CheckTransform(const CMediaType *mtIn, const CMediaType *mtOut); HRESULT DecideBufferSize(IMemAllocator *pima, ALLOCATOR_PROPERTIES *pProperties);

HRESULT Transform(IMediaSample *pIn, IMediaSample *pOut); };

Externí odkazy

[url=http://msdn.microsoft.com/en-us/library/ms783323.aspx]dokumentace[/url] na MSDN

Kategorie:API Microsoftu Kategorie:Komponenty Windows Kategorie:Multimediální frameworky

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top