home *** CD-ROM | disk | FTP | other *** search
- //==========================================================================;
- //
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
- // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
- // PURPOSE.
- //
- // Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved.
- //
- //--------------------------------------------------------------------------;
- //
- // EZrgb24
- //
- // CTransformFilter derived. Performs image processing FX on the supplied video image.
-
-
-
- //
- // CEZrgb24
- //
- class CEZrgb24 : public CTransformFilter,
- public IIPEffect,
- public ISpecifyPropertyPages,
- public CPersistStream {
-
- public:
-
- //
- // --- COM Stuff ---
- //
-
- static CUnknown *CreateInstance(LPUNKNOWN punk, HRESULT *phr);
-
- // Reveals IEZrgb24 & ISpecifyPropertyPages
- STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
-
- // CPersistStream stuff
- HRESULT ScribbleToStream(IStream *pStream);
- HRESULT ReadFromStream(IStream *pStream);
-
-
- DECLARE_IUNKNOWN;
-
-
- //
- // --- CTransformFilter Overrides --
- //
-
- HRESULT Transform(IMediaSample *pIn, IMediaSample *pOut);
- HRESULT CheckInputType(const CMediaType *mtIn);
- HRESULT CheckTransform(const CMediaType *mtIn, const CMediaType *mtOut);
- HRESULT DecideBufferSize(IMemAllocator *pAlloc,
- ALLOCATOR_PROPERTIES *pProperties);
- HRESULT GetMediaType(int iPosition, CMediaType *pMediaType);
-
-
- //
- // --- IEZrgb24 ---
- //
-
- STDMETHODIMP get_IPEffect(int *IPEffect, REFTIME *StartTime, REFTIME *Length);
- STDMETHODIMP put_IPEffect(int IPEffect, REFTIME StartTime, REFTIME Length);
-
-
- //
- // --- ISpecifyPropertyPages ---
- //
-
- STDMETHODIMP GetPages(CAUUID *pPages);
-
- // CPersistStream override
- STDMETHODIMP GetClassID(CLSID *pClsid);
-
- LPAMOVIESETUP_FILTER GetSetupData();
-
- private:
-
- CEZrgb24(TCHAR *tszName, LPUNKNOWN punk, HRESULT *phr);
-
- BOOL CanPerformEZrgb24(const CMediaType *pMediaType) const;
-
- HRESULT Copy(IMediaSample *pSource, IMediaSample *pDest) const;
- HRESULT Transform(IMediaSample *pMediaSample);
-
- CCritSec m_EZrgb24Lock;
-
- int m_effect;
- CRefTime m_effectStartTime;
- CRefTime m_effectTime;
-
- const long m_lBufferRequest; // the number of buffers to request on the output allocator
-
- };
-