TheoraDecodeFilter Class Reference

#include <TheoraDecodeFilter.h>

Collaboration diagram for TheoraDecodeFilter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TheoraDecodeFilter (void)
virtual ~TheoraDecodeFilter (void)
virtual HRESULT CheckInputType (const CMediaType *inMediaType)
virtual HRESULT CheckTransform (const CMediaType *inInputMediaType, const CMediaType *inOutputMediaType)
virtual HRESULT DecideBufferSize (IMemAllocator *inAllocator, ALLOCATOR_PROPERTIES *inPropertyRequest)
virtual HRESULT GetMediaType (int inPosition, CMediaType *outOutputMediaType)
virtual HRESULT Transform (IMediaSample *inInputSample, IMediaSample *outOutputSample)
virtual HRESULT SetMediaType (PIN_DIRECTION inDirection, const CMediaType *inMediaType)
virtual HRESULT NewSegment (REFERENCE_TIME inStart, REFERENCE_TIME inEnd, double inRate)
virtual CBasePin * GetPin (int inPinNo)
sTheoraFormatBlockgetTheoraFormatBlock ()
void setTheoraFormat (sTheoraFormatBlock *inFormatBlock)

Static Public Member Functions

CUnknown *WINAPI CreateInstance (LPUNKNOWN pUnk, HRESULT *pHr)

Protected Member Functions

virtual void ResetFrameCount ()
void FillMediaType (CMediaType *outMediaType, unsigned long inSampleSize)
bool FillVideoInfoHeader (VIDEOINFOHEADER *inFormatBuffer)
bool SetSampleParams (IMediaSample *outMediaSample, unsigned long inDataSize, REFERENCE_TIME *inStartTime, REFERENCE_TIME *inEndTime, BOOL inIsSync)
int TheoraDecoded (yuv_buffer *inYUVBuffer, IMediaSample *outSample, bool inIsKeyFrame)

Protected Attributes

unsigned long mHeight
unsigned long mWidth
unsigned long mFrameSize
unsigned long mFrameCount
unsigned long mYOffset
unsigned long mXOffset
__int64 mFrameDuration
bool mBegun
TheoraDecodermTheoraDecoder
__int64 mSeekTimeBase
__int64 mLastSeenStartGranPos
sTheoraFormatBlockmTheoraFormatInfo
fstream debugLog

Constructor & Destructor Documentation

TheoraDecodeFilter::TheoraDecodeFilter void   ) 
 

Definition at line 56 of file TheoraDecodeFilter.cpp.

References debugLog, false, TheoraDecoder::initCodec(), and mTheoraDecoder.

Referenced by CreateInstance().

Here is the call graph for this function:

TheoraDecodeFilter::~TheoraDecodeFilter void   )  [virtual]
 

Definition at line 78 of file TheoraDecodeFilter.cpp.

References debugLog, mTheoraDecoder, and mTheoraFormatInfo.


Member Function Documentation

HRESULT TheoraDecodeFilter::CheckInputType const CMediaType *  inMediaType  )  [virtual]
 

Definition at line 137 of file TheoraDecodeFilter.cpp.

Referenced by CheckTransform().

HRESULT TheoraDecodeFilter::CheckTransform const CMediaType *  inInputMediaType,
const CMediaType *  inOutputMediaType
[virtual]
 

Definition at line 148 of file TheoraDecodeFilter.cpp.

References CheckInputType(), mHeight, and mWidth.

Here is the call graph for this function:

CUnknown *WINAPI TheoraDecodeFilter::CreateInstance LPUNKNOWN  pUnk,
HRESULT *  pHr
[static]
 

Definition at line 88 of file TheoraDecodeFilter.cpp.

References TheoraDecodeFilter().

Here is the call graph for this function:

HRESULT TheoraDecodeFilter::DecideBufferSize IMemAllocator *  inAllocator,
ALLOCATOR_PROPERTIES *  inPropertyRequest
[virtual]
 

Definition at line 166 of file TheoraDecodeFilter.cpp.

void TheoraDecodeFilter::FillMediaType CMediaType *  outMediaType,
unsigned long  inSampleSize
[protected]
 

Definition at line 97 of file TheoraDecodeFilter.cpp.

References FALSE.

Referenced by GetMediaType().

bool TheoraDecodeFilter::FillVideoInfoHeader VIDEOINFOHEADER *  inFormatBuffer  )  [protected]
 

Definition at line 105 of file TheoraDecodeFilter.cpp.

References sTheoraFormatBlock::frameRateDenominator, sTheoraFormatBlock::frameRateNumerator, mTheoraFormatInfo, sTheoraFormatBlock::pictureHeight, sTheoraFormatBlock::pictureWidth, and sTheoraFormatBlock::targetBitrate.

Referenced by GetMediaType().

HRESULT TheoraDecodeFilter::GetMediaType int  inPosition,
CMediaType *  outOutputMediaType
[virtual]
 

Definition at line 300 of file TheoraDecodeFilter.cpp.

References FillMediaType(), and FillVideoInfoHeader().

Here is the call graph for this function:

CBasePin * TheoraDecodeFilter::GetPin int  inPinNo  )  [virtual]
 

Definition at line 678 of file TheoraDecodeFilter.cpp.

sTheoraFormatBlock * TheoraDecodeFilter::getTheoraFormatBlock  ) 
 

Definition at line 667 of file TheoraDecodeFilter.cpp.

HRESULT TheoraDecodeFilter::NewSegment REFERENCE_TIME  inStart,
REFERENCE_TIME  inEnd,
double  inRate
[virtual]
 

Definition at line 324 of file TheoraDecodeFilter.cpp.

References debugLog, and ResetFrameCount().

Here is the call graph for this function:

void TheoraDecodeFilter::ResetFrameCount  )  [protected, virtual]
 

Definition at line 319 of file TheoraDecodeFilter.cpp.

References mFrameCount.

Referenced by NewSegment().

HRESULT TheoraDecodeFilter::SetMediaType PIN_DIRECTION  inDirection,
const CMediaType *  inMediaType
[virtual]
 

Definition at line 614 of file TheoraDecodeFilter.cpp.

References mXOffset, mYOffset, and setTheoraFormat().

Here is the call graph for this function:

bool TheoraDecodeFilter::SetSampleParams IMediaSample *  outMediaSample,
unsigned long  inDataSize,
REFERENCE_TIME *  inStartTime,
REFERENCE_TIME *  inEndTime,
BOOL  inIsSync
[protected]
 

Definition at line 651 of file TheoraDecodeFilter.cpp.

References FALSE.

Referenced by TheoraDecoded().

void TheoraDecodeFilter::setTheoraFormat sTheoraFormatBlock inFormatBlock  ) 
 

Definition at line 671 of file TheoraDecodeFilter.cpp.

References mTheoraFormatInfo.

Referenced by SetMediaType().

int TheoraDecodeFilter::TheoraDecoded yuv_buffer inYUVBuffer,
IMediaSample *  outSample,
bool  inIsKeyFrame
[protected]
 

Definition at line 411 of file TheoraDecodeFilter.cpp.

References debugLog, sTheoraFormatBlock::frameRateDenominator, sTheoraFormatBlock::frameRateNumerator, mBegun, mFrameCount, mFrameDuration, mFrameSize, mHeight, mTheoraFormatInfo, mWidth, mXOffset, SetSampleParams(), yuv_buffer::u, yuv_buffer::uv_stride, yuv_buffer::v, yuv_buffer::y, yuv_buffer::y_height, and yuv_buffer::y_stride.

Referenced by Transform().

Here is the call graph for this function:

HRESULT TheoraDecodeFilter::Transform IMediaSample *  inInputSample,
IMediaSample *  outOutputSample
[virtual]
 

Definition at line 331 of file TheoraDecodeFilter.cpp.

References TheoraDecoder::decodeTheora(), TheoraDecoder::isKeyFrame(), mLastSeenStartGranPos, mSeekTimeBase, mTheoraDecoder, and TheoraDecoded().

Here is the call graph for this function:


Member Data Documentation

fstream TheoraDecodeFilter::debugLog [protected]
 

Definition at line 92 of file TheoraDecodeFilter.h.

Referenced by NewSegment(), TheoraDecoded(), TheoraDecodeFilter(), and ~TheoraDecodeFilter().

bool TheoraDecodeFilter::mBegun [protected]
 

Definition at line 81 of file TheoraDecodeFilter.h.

Referenced by TheoraDecoded().

unsigned long TheoraDecodeFilter::mFrameCount [protected]
 

Definition at line 77 of file TheoraDecodeFilter.h.

Referenced by ResetFrameCount(), and TheoraDecoded().

__int64 TheoraDecodeFilter::mFrameDuration [protected]
 

Definition at line 80 of file TheoraDecodeFilter.h.

Referenced by TheoraDecoded().

unsigned long TheoraDecodeFilter::mFrameSize [protected]
 

Definition at line 76 of file TheoraDecodeFilter.h.

Referenced by TheoraDecoded().

unsigned long TheoraDecodeFilter::mHeight [protected]
 

Definition at line 74 of file TheoraDecodeFilter.h.

Referenced by CheckTransform(), and TheoraDecoded().

__int64 TheoraDecodeFilter::mLastSeenStartGranPos [protected]
 

Definition at line 89 of file TheoraDecodeFilter.h.

Referenced by Transform().

__int64 TheoraDecodeFilter::mSeekTimeBase [protected]
 

Definition at line 88 of file TheoraDecodeFilter.h.

Referenced by Transform().

TheoraDecoder* TheoraDecodeFilter::mTheoraDecoder [protected]
 

Definition at line 82 of file TheoraDecodeFilter.h.

Referenced by TheoraDecodeFilter(), Transform(), and ~TheoraDecodeFilter().

sTheoraFormatBlock* TheoraDecodeFilter::mTheoraFormatInfo [protected]
 

Definition at line 91 of file TheoraDecodeFilter.h.

Referenced by FillVideoInfoHeader(), setTheoraFormat(), TheoraDecoded(), and ~TheoraDecodeFilter().

unsigned long TheoraDecodeFilter::mWidth [protected]
 

Definition at line 75 of file TheoraDecodeFilter.h.

Referenced by CheckTransform(), and TheoraDecoded().

unsigned long TheoraDecodeFilter::mXOffset [protected]
 

Definition at line 79 of file TheoraDecodeFilter.h.

Referenced by SetMediaType(), and TheoraDecoded().

unsigned long TheoraDecodeFilter::mYOffset [protected]
 

Definition at line 78 of file TheoraDecodeFilter.h.

Referenced by SetMediaType().


The documentation for this class was generated from the following files:
Generated on Tue Feb 15 15:05:04 2005 for oggdsf by  doxygen 1.3.9