27 #ifndef OPAL_CODEC_VIDCODEC_H
28 #define OPAL_CODEC_VIDCODEC_H
54 #define OpalRGB24 GetOpalRGB24()
55 #define OpalRGB32 GetOpalRGB32()
56 #define OpalBGR24 GetOpalBGR24()
57 #define OpalBGR32 GetOpalBGR32()
58 #define OpalYUV420P GetOpalYUV420P()
60 #define OPAL_REGISTER_RAW_VIDEO() \
104 const PTimeInterval & minThrottle,
105 const PTimeInterval & maxThrottle,
106 const PTimeInterval & periodic,
107 const PTimeInterval & retry
231 const PTimeInterval & minThrottle,
232 const PTimeInterval & maxThrottle,
233 const PTimeInterval & periodic,
234 const PTimeInterval & retry
238 const PTimeInterval & minThrottle,
239 const PTimeInterval & maxThrottle,
240 const PTimeInterval & periodic,
241 const PTimeInterval & retry
277 unsigned sessionID = 0,
280 virtual PString
GetName()
const;
293 unsigned sequenceNumber = 0,
294 unsigned timestamp = 0,
295 unsigned sessionID = 0,
299 virtual PString
GetName()
const;
324 unsigned sessionID = 0,
328 virtual PString
GetName()
const;
344 #endif // OPAL_CODEC_VIDCODEC_H
const OpalVideoFormat & GetOpalYUV420P()
RTP_Timestamp m_lastTimestamp
Definition: vidcodec.h:255
virtual PBoolean ExecuteCommand(const OpalMediaCommand &command)
void SetEncodingIntraFrameControlTimes(const PTimeInterval &minThrottle, const PTimeInterval &maxThrottle, const PTimeInterval &periodic, const PTimeInterval &retry)
Definition: vidcodec.h:230
OPAL_DEFINE_MEDIA_COMMAND(OpalVideoFreezePicture,"Freeze Picture", OpalMediaType::Video())
virtual void GetStatistics(OpalMediaStatistics &statistics) const
OpalVideoUpdatePicture(unsigned sessionID=0, unsigned ssrc=0)
unsigned m_timestamp
Definition: vidcodec.h:306
virtual PBoolean Convert(const RTP_DataFrame &input, RTP_DataFrame &output)
virtual void SendIFrameRequest(unsigned sequenceNumber, unsigned timestamp)
PINDEX m_outDataSize
Definition: vidcodec.h:247
OpalVideoTranscoder(const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
const OpalVideoFormat & GetOpalRGB24()
void SetDecodingIntraFrameControlTimes(const PTimeInterval &minThrottle, const PTimeInterval &maxThrottle, const PTimeInterval &periodic, const PTimeInterval &retry)
Definition: vidcodec.h:237
PTime m_lastRequest
Definition: vidcodec.h:129
State
Definition: vidcodec.h:117
Definition: vidcodec.h:121
OpalIntraFrameControl m_encodingIntraFrameControl
Definition: vidcodec.h:258
static PTimeInterval const DefaultMinThrottle
Definition: vidcodec.h:78
PTimeInterval m_minThrottleTime
Definition: vidcodec.h:111
static PTimeInterval const DefaultPeriodic
Definition: vidcodec.h:80
virtual PString GetName() const
static PTimeInterval const DefaultMaxThrottle
Definition: vidcodec.h:79
unsigned GetSequenceNumber() const
Definition: vidcodec.h:301
bool WasLastFrameIFrame() const
Definition: vidcodec.h:226
PTimeInterval m_periodicTime
Definition: vidcodec.h:113
PINDEX m_inDataSize
Definition: vidcodec.h:246
virtual PString GetName() const
OpalTemporalSpatialTradeOff(unsigned tradeoff, unsigned sessionID=0, unsigned ssrc=0)
Definition: vidcodec.h:123
bool m_freezeTillIFrame
Definition: vidcodec.h:249
void IntraFrameDetected()
OpalIntraFrameControl m_decodingIntraFrameControl
Definition: vidcodec.h:259
virtual bool ShouldDropFrame(RTP_Timestamp ts)
Definition: vidcodec.h:331
bool m_frozenTillIFrame
Definition: vidcodec.h:250
PDECLARE_NOTIFIER(PTimer, OpalIntraFrameControl, OnTimedRequest)
PluginCodec_Video_FrameHeader FrameHeader
Definition: vidcodec.h:146
Definition: transcoders.h:134
PTimeInterval m_retryTime
Definition: vidcodec.h:114
const OpalVideoFormat & GetOpalRGB32()
int m_frameDropBits
Definition: vidcodec.h:254
bool m_errorConcealment
Definition: vidcodec.h:248
virtual PString GetName() const
PTimer m_requestTimer
Definition: vidcodec.h:130
virtual bool HasErrorConcealment() const
Definition: vidcodec.h:221
Definition: vidcodec.h:120
virtual void UpdateFrameDrop(const RTP_DataFrameList &encoded)
Definition: vidcodec.h:122
bool m_lastFrameWasIFrame
Definition: vidcodec.h:251
Definition: vidcodec.h:74
uint32_t RTP_Timestamp
Definition: rtp.h:44
OpalVideoPictureLoss(unsigned sequenceNumber=0, unsigned timestamp=0, unsigned sessionID=0, unsigned ssrc=0)
virtual bool HandleIFrameRequest()
Definition: vidcodec.h:318
Definition: vidcodec.h:272
PTimeInterval m_currentThrottleTime
Definition: vidcodec.h:115
Definition: vidcodec.h:332
unsigned m_framesDropped
Definition: vidcodec.h:256
enum OpalIntraFrameControl::State m_state
virtual PINDEX GetOptimalDataFrameSize(PBoolean input) const
Definition: vidcodec.h:119
PTimeInterval m_maxThrottleTime
Definition: vidcodec.h:112
const OpalVideoFormat & GetOpalBGR32()
virtual bool UpdateMediaFormats(const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
OpalIntraFrameControl(const PTimeInterval &minThrottle=DefaultMinThrottle, const PTimeInterval &maxThrottle=DefaultMaxThrottle, const PTimeInterval &periodic=DefaultPeriodic)
void SetTimes(const PTimeInterval &minThrottle, const PTimeInterval &maxThrottle, const PTimeInterval &periodic, const PTimeInterval &retry)
unsigned m_tradeOff
Definition: vidcodec.h:338
unsigned m_frameDropRate
Definition: vidcodec.h:253
unsigned GetTimestamp() const
Definition: vidcodec.h:302
Definition: vidcodec.h:288
unsigned GetTradeOff() const
Definition: vidcodec.h:335
unsigned m_sequenceNumber
Definition: vidcodec.h:305
Definition: vidcodec.h:142
const OpalVideoFormat & GetOpalBGR24()
unsigned m_stuckCount
Definition: vidcodec.h:126