OPAL  Version 3.10.10
OpalRFC4175Decoder Class Referenceabstract

#include <rfc4175.h>

Inheritance diagram for OpalRFC4175Decoder:
OpalRFC4175Transcoder OpalVideoTranscoder OpalTranscoder OpalMediaFormatPair Opal_RFC4175RGB_to_RGB24 Opal_RFC4175YCbCr420_to_YUV420P

Public Member Functions

 OpalRFC4175Decoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
 ~OpalRFC4175Decoder ()
 
virtual PINDEX PixelsToBytes (PINDEX pixels) const =0
 
virtual PINDEX BytesToPixels (PINDEX pixels) const =0
 
bool ConvertFrames (const RTP_DataFrame &input, RTP_DataFrameList &output)
 
- Public Member Functions inherited from OpalRFC4175Transcoder
 OpalRFC4175Transcoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
virtual PINDEX GetPgroupSize () const =0
 
virtual PINDEX GetColsPerPgroup () const =0
 
virtual PINDEX GetRowsPerPgroup () const =0
 
PINDEX RFC4175HeaderSize (PINDEX lines)
 
- Public Member Functions inherited from OpalVideoTranscoder
 OpalVideoTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
virtual bool UpdateMediaFormats (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
virtual PINDEX GetOptimalDataFrameSize (PBoolean input) const
 
virtual PBoolean ExecuteCommand (const OpalMediaCommand &command)
 
virtual PBoolean Convert (const RTP_DataFrame &input, RTP_DataFrame &output)
 
virtual void GetStatistics (OpalMediaStatistics &statistics) const
 
bool WasLastFrameIFrame () const
 
void ForceIFrame ()
 
- Public Member Functions inherited from OpalTranscoder
 OpalTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
PINDEX GetMaxOutputSize () const
 
void SetMaxOutputSize (PINDEX size)
 
void SetCommandNotifier (const PNotifier &notifier)
 
const PNotifier & GetCommandNotifier () const
 
void NotifyCommand (const OpalMediaCommand &command) const
 Notify command notifier of command. More...
 
unsigned GetSessionID () const
 Get session ID for the transcoder (from OpalMediaStream) More...
 
void SetSessionID (unsigned id)
 Set session ID for the transcoder (from OpalMediaStream) More...
 
virtual void SetInstanceID (const BYTE *instance, unsigned instanceLen)
 
RTP_DataFrame::PayloadTypes GetPayloadType (PBoolean input) const
 
virtual bool AcceptComfortNoise () const
 
virtual bool AcceptEmptyPayload () const
 
virtual bool AcceptOtherPayloads () const
 
void CopyTimestamp (RTP_DataFrame &dst, const RTP_DataFrame &src, bool inToOut) const
 
- Public Member Functions inherited from OpalMediaFormatPair
 OpalMediaFormatPair (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
void PrintOn (ostream &strm) const
 
virtual Comparison Compare (const PObject &obj) const
 
const OpalMediaFormatGetInputFormat () const
 
const OpalMediaFormatGetOutputFormat () const
 

Protected Member Functions

void DecodeFramesAndSetFrameSize (RTP_DataFrameList &output)
 
virtual bool DecodeFrames (RTP_DataFrameList &output)=0
 

Protected Attributes

RTP_DataFrameList m_inputFrames
 
std::vector< PINDEX > m_scanlineCounts
 
PINDEX m_frameWidth
 
PINDEX m_frameHeight
 
bool m_first
 
bool m_missingPackets
 
PINDEX m_maxWidth
 
PINDEX m_maxHeight
 
DWORD m_nextSequenceNumber
 
DWORD m_lastTimeStamp
 
DWORD m_timeStampOfFrame
 
DWORD m_firstSequenceOfFrame
 
- Protected Attributes inherited from OpalVideoTranscoder
PINDEX inDataSize
 
PINDEX outDataSize
 
bool forceIFrame
 
bool lastFrameWasIFrame
 
DWORD m_totalFrames
 
DWORD m_keyFrames
 
- Protected Attributes inherited from OpalTranscoder
PINDEX maxOutputSize
 
PNotifier commandNotifier
 
PMutex updateMutex
 
unsigned m_sessionID
 
bool outputIsRTP
 
bool inputIsRTP
 
bool acceptEmptyPayload
 
bool acceptOtherPayloads
 
unsigned m_inClockRate
 
unsigned m_outClockRate
 
- Protected Attributes inherited from OpalMediaFormatPair
OpalMediaFormat inputMediaFormat
 
OpalMediaFormat outputMediaFormat
 

Additional Inherited Members

- Public Types inherited from OpalVideoTranscoder
typedef PluginCodec_Video_FrameHeader FrameHeader
 
- Static Public Member Functions inherited from OpalTranscoder
static OpalTranscoderCreate (const OpalMediaFormat &srcFormat, const OpalMediaFormat &dstFormat, const BYTE *instance=NULL, unsigned instanceLen=0)
 
static bool SelectFormats (const OpalMediaType &mediaType, const OpalMediaFormatList &srcFormats, const OpalMediaFormatList &dstFormats, const OpalMediaFormatList &allFormats, OpalMediaFormat &srcFormat, OpalMediaFormat &dstFormat)
 
static bool FindIntermediateFormat (const OpalMediaFormat &srcFormat, const OpalMediaFormat &dstFormat, OpalMediaFormat &intermediateFormat)
 
static OpalMediaFormatList GetDestinationFormats (const OpalMediaFormat &srcFormat)
 
static OpalMediaFormatList GetSourceFormats (const OpalMediaFormat &dstFormat)
 
static OpalMediaFormatList GetPossibleFormats (const OpalMediaFormatList &formats)
 

Constructor & Destructor Documentation

◆ OpalRFC4175Decoder()

OpalRFC4175Decoder::OpalRFC4175Decoder ( const OpalMediaFormat inputMediaFormat,
const OpalMediaFormat outputMediaFormat 
)
Parameters
inputMediaFormatInput media format
outputMediaFormatOutput media format

◆ ~OpalRFC4175Decoder()

OpalRFC4175Decoder::~OpalRFC4175Decoder ( )

Member Function Documentation

◆ BytesToPixels()

virtual PINDEX OpalRFC4175Decoder::BytesToPixels ( PINDEX  pixels) const
pure virtual

◆ ConvertFrames()

bool OpalRFC4175Decoder::ConvertFrames ( const RTP_DataFrame input,
RTP_DataFrameList &  output 
)
virtual

Convert the data from one format to another. This function takes the input data as a RTP_DataFrame and converts it to its output format, placing it (possibly) into multiple RTP_DataFrame objects.

The default behaviour makes sure the output list has only one element in it and calls the Convert() function.

Returns false if the conversion fails.

Reimplemented from OpalTranscoder.

◆ DecodeFrames()

virtual bool OpalRFC4175Decoder::DecodeFrames ( RTP_DataFrameList &  output)
protectedpure virtual

◆ DecodeFramesAndSetFrameSize()

void OpalRFC4175Decoder::DecodeFramesAndSetFrameSize ( RTP_DataFrameList &  output)
protected

◆ PixelsToBytes()

virtual PINDEX OpalRFC4175Decoder::PixelsToBytes ( PINDEX  pixels) const
pure virtual

Field Documentation

◆ m_first

bool OpalRFC4175Decoder::m_first
protected

◆ m_firstSequenceOfFrame

DWORD OpalRFC4175Decoder::m_firstSequenceOfFrame
protected

◆ m_frameHeight

PINDEX OpalRFC4175Decoder::m_frameHeight
protected

◆ m_frameWidth

PINDEX OpalRFC4175Decoder::m_frameWidth
protected

◆ m_inputFrames

RTP_DataFrameList OpalRFC4175Decoder::m_inputFrames
protected

◆ m_lastTimeStamp

DWORD OpalRFC4175Decoder::m_lastTimeStamp
protected

◆ m_maxHeight

PINDEX OpalRFC4175Decoder::m_maxHeight
protected

◆ m_maxWidth

PINDEX OpalRFC4175Decoder::m_maxWidth
protected

◆ m_missingPackets

bool OpalRFC4175Decoder::m_missingPackets
protected

◆ m_nextSequenceNumber

DWORD OpalRFC4175Decoder::m_nextSequenceNumber
protected

◆ m_scanlineCounts

std::vector<PINDEX> OpalRFC4175Decoder::m_scanlineCounts
protected

◆ m_timeStampOfFrame

DWORD OpalRFC4175Decoder::m_timeStampOfFrame
protected

The documentation for this class was generated from the following file: