OPAL
Version 3.18.8
|
#include <opalplugin.hpp>
Public Types | |
typedef PluginCodec_MediaFormat< NAME > | MediaFormat |
Public Member Functions | |
virtual | ~PluginCodec () |
virtual bool | Construct () |
Complete construction of the plug in codec. More... | |
virtual bool | Transcode (const void *fromPtr, unsigned &fromLen, void *toPtr, unsigned &toLen, unsigned &flags)=0 |
Convert from one media format to another. More... | |
virtual int | GetStatistics (char *, unsigned) |
Gather any statistics as a string into the provide buffer. More... | |
virtual size_t | GetOutputDataSize () |
Get the required output buffer size to be passed into Transcode. More... | |
virtual bool | SetInstanceID (const char *, unsigned) |
virtual bool | GetActiveOptions (PluginCodec_OptionMap &) |
Get options that are "active" and may be different from the last SetOptions() call. More... | |
virtual bool | SetOptions (const char *const *options) |
Set all the options for the codec. More... | |
virtual bool | OnChangedOptions () |
Callback for if any options are changed. More... | |
virtual bool | SetOption (const char *optionName, const char *optionValue) |
Set an individual option of the given name. More... | |
template<typename T > | |
bool | SetOptionUnsigned (T &oldValue, const char *optionValue, unsigned minimum, unsigned maximum=UINT_MAX) |
bool | SetOptionUnsigned (unsigned &oldValue, const char *optionValue, unsigned minimum, unsigned maximum=UINT_MAX) |
template<typename T > | |
bool | SetOptionBoolean (T &oldValue, const char *optionValue) |
bool | SetOptionBoolean (bool &oldValue, const char *optionValue) |
bool | SetOptionBit (int &oldValue, unsigned bit, const char *optionValue) |
bool | SetOptionBit (unsigned &oldValue, unsigned bit, const char *optionValue) |
Static Public Member Functions | |
static bool | Terminate () |
template<class CodecClass > | |
static void * | Create_s (const PluginCodec_Definition *defn) |
static void | Destroy_s (const PluginCodec_Definition *, void *context) |
static int | Transcode_s (const PluginCodec_Definition *, void *context, const void *fromPtr, unsigned *fromLen, void *toPtr, unsigned *toLen, unsigned int *flags) |
static int | GetOutputDataSize_s (const PluginCodec_Definition *, void *context, const char *, void *, unsigned *) |
static int | ToNormalised_s (const PluginCodec_Definition *defn, void *, const char *, void *parm, unsigned *len) |
static int | ToCustomised_s (const PluginCodec_Definition *defn, void *, const char *, void *parm, unsigned *len) |
static int | GetActiveOptions_s (const PluginCodec_Definition *, void *context, const char *, void *parm, unsigned *parmLen) |
static int | FreeOptions_s (const PluginCodec_Definition *, void *, const char *, void *parm, unsigned *len) |
static int | GetOptions_s (const struct PluginCodec_Definition *codec, void *, const char *, void *parm, unsigned *len) |
static int | SetOptions_s (const PluginCodec_Definition *, void *context, const char *, void *parm, unsigned *len) |
static int | ValidForProtocol_s (const PluginCodec_Definition *defn, void *, const char *, void *parm, unsigned *len) |
static int | SetInstanceID_s (const PluginCodec_Definition *, void *context, const char *, void *parm, unsigned *len) |
static int | GetStatistics_s (const PluginCodec_Definition *, void *context, const char *, void *parm, unsigned *len) |
static int | Terminate_s (const PluginCodec_Definition *, void *context, const char *, void *, unsigned *) |
static struct PluginCodec_ControlDefn * | GetControls () |
![]() | |
static unsigned | String2Unsigned (const std::string &str) |
static void | AppendUnsigned2String (unsigned value, std::string &str) |
static void | Unsigned2String (unsigned value, std::string &str) |
static void | Change (const char *value, PluginCodec_OptionMapBase &original, PluginCodec_OptionMapBase &changed, const char *option) |
static void | Change (unsigned value, PluginCodec_OptionMapBase &original, PluginCodec_OptionMapBase &changed, const char *option) |
static void | ClampMax (unsigned maximum, PluginCodec_OptionMapBase &original, PluginCodec_OptionMapBase &changed, const char *option, bool forceIfZero=false) |
static void | ClampMin (unsigned minimum, PluginCodec_OptionMapBase &original, PluginCodec_OptionMapBase &changed, const char *option) |
static unsigned | GetMacroBlocks (unsigned width, unsigned height) |
static bool | ClampResolution (unsigned &width, unsigned &height, unsigned &maxFrameSize) |
static bool | ClampResolution (PluginCodec_OptionMapBase &original, PluginCodec_OptionMapBase &changed, unsigned maxWidth, unsigned maxHeight, unsigned &maxMacroBlocks, const char *widthKey=PLUGINCODEC_OPTION_FRAME_WIDTH, const char *heightKey=PLUGINCODEC_OPTION_FRAME_HEIGHT, const char *maxWidthKey=PLUGINCODEC_OPTION_MAX_RX_FRAME_WIDTH, const char *maxHeightKey=PLUGINCODEC_OPTION_MAX_RX_FRAME_HEIGHT, const char *minWidthKey=PLUGINCODEC_OPTION_MIN_RX_FRAME_WIDTH, const char *minHeightKey=PLUGINCODEC_OPTION_MIN_RX_FRAME_HEIGHT) |
Protected Member Functions | |
PluginCodec (const PluginCodec_Definition *defn) | |
Protected Attributes | |
const PluginCodec_Definition * | m_definition |
bool | m_optionsSame |
unsigned | m_maxBitRate |
unsigned | m_frameTime |
typedef PluginCodec_MediaFormat<NAME> PluginCodec< NAME >::MediaFormat |
|
inlineprotected |
|
inlinevirtual |
|
inlinevirtual |
Complete construction of the plug in codec.
|
inlinestatic |
References PTRACE.
|
inlinestatic |
|
inlinestatic |
Referenced by PluginCodec< NAME >::GetControls().
|
inlinevirtual |
Get options that are "active" and may be different from the last SetOptions() call.
Reimplemented in PluginVideoEncoder< NAME >.
Referenced by PluginCodec< NAME >::GetActiveOptions_s().
|
inlinestatic |
References PluginCodec< NAME >::GetActiveOptions(), PluginCodec_OptionMap::GetOptions(), and PTRACE.
Referenced by PluginCodec< NAME >::GetControls().
|
inlinestatic |
References PluginCodec< NAME >::FreeOptions_s(), PluginCodec< NAME >::GetActiveOptions_s(), PluginCodec< NAME >::GetOptions_s(), PluginCodec< NAME >::GetOutputDataSize_s(), PluginCodec< NAME >::GetStatistics_s(), PLUGINCODEC_CONTROL_FREE_CODEC_OPTIONS, PLUGINCODEC_CONTROL_GET_ACTIVE_OPTIONS, PLUGINCODEC_CONTROL_GET_CODEC_OPTIONS, PLUGINCODEC_CONTROL_GET_OUTPUT_DATA_SIZE, PLUGINCODEC_CONTROL_GET_STATISTICS, PLUGINCODEC_CONTROL_LOG_FUNCTION_INC, PLUGINCODEC_CONTROL_SET_CODEC_OPTIONS, PLUGINCODEC_CONTROL_SET_INSTANCE_ID, PLUGINCODEC_CONTROL_TERMINATE_CODEC, PLUGINCODEC_CONTROL_TO_CUSTOMISED_OPTIONS, PLUGINCODEC_CONTROL_TO_NORMALISED_OPTIONS, PLUGINCODEC_CONTROL_VALID_FOR_PROTOCOL, PluginCodec< NAME >::SetInstanceID_s(), PluginCodec< NAME >::SetOptions_s(), PluginCodec< NAME >::Terminate_s(), PluginCodec< NAME >::ToCustomised_s(), PluginCodec< NAME >::ToNormalised_s(), and PluginCodec< NAME >::ValidForProtocol_s().
|
inlinestatic |
References PluginCodec_GetCodecFunction::userData.
Referenced by PluginCodec< NAME >::GetControls().
|
inlinevirtual |
Get the required output buffer size to be passed into Transcode.
Reimplemented in PluginVideoDecoder< NAME >, and PluginVideoEncoder< NAME >.
Referenced by PluginCodec< NAME >::GetOutputDataSize_s().
|
inlinestatic |
References PluginCodec< NAME >::GetOutputDataSize().
Referenced by PluginCodec< NAME >::GetControls().
|
inlinevirtual |
Gather any statistics as a string into the provide buffer.
Reimplemented in PluginVideoCodec< NAME >.
Referenced by PluginCodec< NAME >::GetStatistics_s().
|
inlinestatic |
References PluginCodec< NAME >::GetStatistics().
Referenced by PluginCodec< NAME >::GetControls().
|
inlinevirtual |
Callback for if any options are changed.
Referenced by PluginCodec< NAME >::SetOptions().
|
inlinevirtual |
Set the instance ID for the codec. This is used to match up the encode and decoder pairs of instances for a given call. While most codecs like G.723.1 are purely unidirectional, some a bidirectional and have information flow between encoder and decoder.
Referenced by PluginCodec< NAME >::SetInstanceID_s().
|
inlinestatic |
References PluginCodec< NAME >::SetInstanceID().
Referenced by PluginCodec< NAME >::GetControls().
|
inlinevirtual |
Set an individual option of the given name.
Reimplemented in PluginVideoDecoder< NAME >, and PluginVideoEncoder< NAME >.
References PluginCodec< NAME >::m_frameTime, PluginCodec< NAME >::m_maxBitRate, PLUGINCODEC_OPTION_FRAME_TIME, PLUGINCODEC_OPTION_MAX_BIT_RATE, PLUGINCODEC_OPTION_TARGET_BIT_RATE, and PluginCodec< NAME >::SetOptionUnsigned().
Referenced by PluginVideoEncoder< NAME >::SetOption(), PluginVideoDecoder< NAME >::SetOption(), and PluginCodec< NAME >::SetOptions().
|
inline |
|
inline |
References PluginCodec< NAME >::m_optionsSame.
|
inline |
|
inline |
References PluginCodec< NAME >::m_optionsSame.
|
inlinevirtual |
Set all the options for the codec.
References PluginCodec< NAME >::m_optionsSame, PluginCodec< NAME >::OnChangedOptions(), PTRACE, and PluginCodec< NAME >::SetOption().
Referenced by PluginCodec< NAME >::SetOptions_s().
|
inlinestatic |
References PluginCodec< NAME >::SetOptions().
Referenced by PluginCodec< NAME >::GetControls().
|
inline |
|
inline |
References PluginCodec< NAME >::m_optionsSame.
|
inlinestatic |
Terminate operation of plug in codec. This is generally not needed but sometimes (e.g. fax) there is some clean up required to be done on completion of the codec run.
Referenced by PluginCodec< NAME >::Terminate_s().
|
inlinestatic |
References PluginCodec< NAME >::Terminate().
Referenced by PluginCodec< NAME >::GetControls().
|
inlinestatic |
References PluginCodec_MediaFormat< NAME >::ToCustomised(), and PluginCodec_GetCodecFunction::userData.
Referenced by PluginCodec< NAME >::GetControls().
|
inlinestatic |
References PluginCodec_MediaFormat< NAME >::ToNormalised(), and PluginCodec_GetCodecFunction::userData.
Referenced by PluginCodec< NAME >::GetControls().
|
pure virtual |
Convert from one media format to another.
|
inlinestatic |
References PTRACE.
|
inlinestatic |
References PluginCodec_GetCodecFunction::userData.
Referenced by PluginCodec< NAME >::GetControls().
|
protected |
|
protected |
Referenced by PluginVideoEncoder< NAME >::GetActiveOptions(), and PluginCodec< NAME >::SetOption().
|
protected |
Referenced by PluginCodec< NAME >::SetOption().
|
protected |