Copy of QTDec.h

00001 #pragma once
00002 
00003 #include <afxtempl.h>
00004 #include "..\..\..\..\include\qt\qt.h"
00005 
00006 //
00007 // CQTDec
00008 //
00009 
00010 // {2D261619-3822-4856-A422-DC77BF0FB947}
00011 DEFINE_GUID(CLSID_QTDec, 
00012 0x2d261619, 0x3822, 0x4856, 0xa4, 0x22, 0xdc, 0x77, 0xbf, 0xf, 0xb9, 0x47);
00013 
00014 class CQTDec : public CTransformFilter
00015 {
00016         bool m_fQtInitialized;
00017         CArray<CMediaType> m_mts;
00018 
00019         bool CanDecompress(QT::OSType fourcc, bool& fYUY2, bool& fUYVY);
00020         QT::ImageDescriptionHandle MakeImageDescription();
00021         QT::GWorldPtr MakeGWorld();
00022         void FreeImageDescription(QT::ImageDescriptionHandle& hImageDescription);
00023         void FreeGWorld(QT::GWorldPtr& pImageGWorld);
00024 
00025         QT::ImageDescriptionHandle m_hImageDescription;
00026         QT::GWorldPtr m_pImageGWorld;
00027     QT::ImageSequence m_outSeqID;
00028 
00029 public:
00030         CQTDec(LPUNKNOWN lpunk, HRESULT* phr);
00031         virtual ~CQTDec();
00032 
00033 #ifdef REGISTER_FILTER
00034     static CUnknown* WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT* phr);
00035 #endif
00036 
00037     HRESULT BreakConnect(PIN_DIRECTION dir);
00038         HRESULT CompleteConnect(PIN_DIRECTION dir, IPin* pReceivePin);
00039 
00040         HRESULT StartStreaming();
00041         HRESULT StopStreaming();
00042 
00043         HRESULT Transform(IMediaSample* pIn, IMediaSample* pOut);
00044         HRESULT CheckInputType(const CMediaType* mtIn);
00045         HRESULT CheckTransform(const CMediaType* mtIn, const CMediaType* mtOut);
00046         HRESULT DecideBufferSize(IMemAllocator* pAllocator, ALLOCATOR_PROPERTIES* pProperties);
00047         HRESULT GetMediaType(int iPosition, CMediaType* pMediaType);
00048 };

Generated on Tue Dec 13 14:47:51 2005 for guliverkli by  doxygen 1.4.5