#include <vidcodec.h>
Inheritance diagram for OpalVideoTranscoder:
Public Types | |
typedef PluginCodec_Video_FrameHeader | FrameHeader |
Public Member Functions | |
Operations | |
virtual BOOL | UpdateOutputMediaFormat (const OpalMediaFormat &mediaFormat) |
virtual BOOL | ExecuteCommand (const OpalMediaCommand &command) |
virtual BOOL | Convert (const RTP_DataFrame &input, RTP_DataFrame &output) |
Protected Attributes | |
unsigned | frameWidth |
unsigned | frameHeight |
unsigned | videoQuality |
unsigned | targetBitRate |
bool | dynamicVideoQuality |
bool | adaptivePacketDelay |
unsigned | fillLevel |
bool | forceIFrame |
An application may create a descendent off this class and override functions as required for descibing a specific transcoder.
OpalVideoTranscoder::OpalVideoTranscoder | ( | const OpalMediaFormat & | inputMediaFormat, | |
const OpalMediaFormat & | outputMediaFormat | |||
) |
Create a new video transcoder implementation.
inputMediaFormat | Input media format |
outputMediaFormat | Output media format |
OpalVideoTranscoder::OpalVideoTranscoder | ( | const OpalMediaFormat & | inputMediaFormat, | |
const OpalMediaFormat & | outputMediaFormat | |||
) |
Create a new video transcoder implementation.
inputMediaFormat | Input media format |
outputMediaFormat | Output media format |
virtual BOOL OpalVideoTranscoder::UpdateOutputMediaFormat | ( | const OpalMediaFormat & | mediaFormat | ) | [virtual] |
Update the output media format. This can be used to adjust the parameters of a codec at run time. Note you cannot change the basic media format, eg change GSM0610 to G.711, only options for that format, eg 6k3 mode to 5k3 mode in G.723.1.
The default behaviour updates the outputMediaFormat member variable and sets the outputMediaFormatUpdated flag.
mediaFormat | New media format |
Reimplemented from OpalTranscoder.
virtual BOOL OpalVideoTranscoder::ExecuteCommand | ( | const OpalMediaCommand & | command | ) | [virtual] |
Execute the command specified to the transcoder. The commands are highly context sensitive, for example VideoFastUpdate would only apply to a video transcoder.
The default behaviour checks for a OpalVideoUpdatePicture and sets the updatePicture member variable if that is the command.
command | Command to execute. |
Reimplemented from OpalTranscoder.
virtual BOOL OpalVideoTranscoder::Convert | ( | const RTP_DataFrame & | input, | |
RTP_DataFrame & | 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 into the RTP_DataFrame provided.
This is a dummy function as nearly all video conversion will does not have a one to one input to output frames ratio, so the ConvertFrames() function is used instead.
Returns FALSE if the conversion fails.
input | Input data |
output | Output data |
Implements OpalTranscoder.
unsigned OpalVideoTranscoder::frameWidth [protected] |
Reimplemented in OpalRFC4175Encoder, and OpalRFC4175Decoder.
unsigned OpalVideoTranscoder::frameHeight [protected] |
Reimplemented in OpalRFC4175Encoder, and OpalRFC4175Decoder.
unsigned OpalVideoTranscoder::videoQuality [protected] |
unsigned OpalVideoTranscoder::targetBitRate [protected] |
bool OpalVideoTranscoder::dynamicVideoQuality [protected] |
bool OpalVideoTranscoder::adaptivePacketDelay [protected] |
unsigned OpalVideoTranscoder::fillLevel [protected] |
bool OpalVideoTranscoder::forceIFrame [protected] |