#include <time.h>
Include dependency graph for opalplugin.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
#define __INTERNAL_STRINGIZE__ | ( | v | ) | #v |
#define __TIMESTAMP__ "0" |
#define _CRT_NONSTDC_NO_DEPRECATE 1 |
#define _CRT_SECURE_NO_WARNINGS 1 |
#define H261_ANNEX_D "Annex D - Still Image Transmit" |
#define H263_ANNEX_D "Annex D - Unrestricted Motion Vector" |
#define H263_ANNEX_F "Annex F - Advanced Prediction" |
#define H263_ANNEX_I "Annex I - Advanced INTRA Coding" |
#define H263_ANNEX_J "Annex J - Deblocking Filter" |
#define H263_ANNEX_K "Annex K - Slice Structure" |
#define H263_ANNEX_N "Annex N - Reference Picture Selection" |
#define H263_ANNEX_S "Annex S - Alternative INTER VLC" |
#define H263_ANNEX_T "Annex T - Modified Quantization" |
#define OpalPluginCodec_Identifer_AMR "0.0.8.245.1.1.1" |
#define OpalPluginCodec_Identifer_AMR_NB "0.0.8.245.1.1.9" |
#define OpalPluginCodec_Identifer_AMR_WB "0.0.8.245.1.1.10" |
#define OpalPluginCodec_Identifer_G7221 "0.0.7.7221.1.0" |
#define OpalPluginCodec_Identifer_G7221ext "0.0.7.7221.1.1.0" |
#define OpalPluginCodec_Identifer_G7222 "0.0.7.7222.1.0" |
#define OpalPluginCodec_Identifer_H264_Aligned "0.0.8.241.0.0.0.0" |
#define OpalPluginCodec_Identifer_H264_Generic "0.0.8.241.0.0.1" |
#define OpalPluginCodec_Identifer_H264_Interleaved "0.0.8.241.0.0.0.2" |
#define OpalPluginCodec_Identifer_H264_NonInterleaved "0.0.8.241.0.0.0.1" |
#define OpalPluginCodec_Identifer_iLBC "0.0.8.245.1.1.11" |
#define OpalPluginCodec_Identifer_MPEG4 "0.0.8.245.1.0.0" |
#define PLUGIN_CODEC_API_VER_FN PWLibPlugin_GetAPIVersion |
#define PLUGIN_CODEC_API_VER_FN_DECLARE |
Value:
PLUGIN_CODEC_DLL_API unsigned int PLUGIN_CODEC_API_VER_FN() \ { return PWLIB_PLUGIN_API_VERSION; }
#define PLUGIN_CODEC_API_VER_FN_STR "PWLibPlugin_GetAPIVersion" |
#define PLUGIN_CODEC_DLL_API |
#define PLUGIN_CODEC_GET_CODEC_FN OpalCodecPlugin_GetCodecs |
#define PLUGIN_CODEC_GET_CODEC_FN_STR "OpalCodecPlugin_GetCodecs" |
#define PLUGIN_CODEC_IMPLEMENT | ( | name | ) |
Value:
PLUGIN_CODEC_DLL_API unsigned int PLUGIN_CODEC_API_VER_FN() \ { return PWLIB_PLUGIN_API_VERSION; } \
#define PLUGIN_CODEC_IMPLEMENT_ALL | ( | name, | |||
table, | |||||
ver | ) |
Value:
PLUGIN_CODEC_IMPLEMENT(name) \ PLUGIN_CODEC_DLL_API const struct PluginCodec_Definition * PLUGIN_CODEC_GET_CODEC_FN(unsigned * count, unsigned version) \ { *count = sizeof(table)/sizeof(struct PluginCodec_Definition); return version < ver ? NULL : table; }
#define PLUGIN_CODEC_VERSION PLUGIN_CODEC_VERSION_H245_DEF_GEN_PARAM |
#define PLUGIN_CODEC_VERSION_FAX 4 |
#define PLUGIN_CODEC_VERSION_FIRST 1 |
#define PLUGIN_CODEC_VERSION_H245_DEF_GEN_PARAM 7 |
#define PLUGIN_CODEC_VERSION_INTERSECT 6 |
#define PLUGIN_CODEC_VERSION_OPTIONS 5 |
#define PLUGIN_CODEC_VERSION_VIDEO 3 |
#define PLUGIN_CODEC_VERSION_WIDEBAND 2 |
#define PLUGINCODEC_AUDIO_CODEC | ( | MediaFormat, | |||
PayloadName, | |||||
Description, | |||||
SampleRate, | |||||
BitsPerSecond, | |||||
SamplesPerFrame, | |||||
RecFramesPerPacket, | |||||
MaxFramesPerPacket, | |||||
RtpFlags, | |||||
PayloadType, | |||||
H323type, | |||||
H323data, | |||||
CreateEncoder, | |||||
DestroyEncoder, | |||||
EncodeAudio, | |||||
CreateDecoder, | |||||
DestroyDecoder, | |||||
DecodeAudio, | |||||
ControlsTable | ) |
Value:
PLUGINCODEC_CODEC_PAIR(MediaFormat, \ PayloadName, \ Description, \ SampleRate, \ BitsPerSecond, \ (SamplesPerFrame)*1000000/(SampleRate), \ SamplesPerFrame, \ (BitsPerSecond)*(SampleRate)/(SamplesPerFrame)/8, \ RecFramesPerPacket, \ MaxFramesPerPacket, \ PayloadType, \ H323type, \ H323data, \ CreateEncoder, \ DestroyEncoder, \ EncodeAudio, \ CreateDecoder, \ DestroyDecoder, \ DecodeAudio, \ ControlsTable, \ PluginCodec_MediaTypeAudio | /* audio codec */ \ PluginCodec_InputTypeRaw | /* raw input data */ \ PluginCodec_OutputTypeRaw | /* raw output data */ \ (RtpFlags), \ PLUGINCODEC_RAW_AUDIO, \ NULL)
#define PLUGINCODEC_CIF16_HEIGHT (PLUGINCODEC_CIF_HEIGHT*4) |
#define PLUGINCODEC_CIF16_MPI "CIF16 MPI" |
#define PLUGINCODEC_CIF16_WIDTH (PLUGINCODEC_CIF_WIDTH*4) |
#define PLUGINCODEC_CIF4_HEIGHT (PLUGINCODEC_CIF_HEIGHT*2) |
#define PLUGINCODEC_CIF4_MPI "CIF4 MPI" |
#define PLUGINCODEC_CIF4_WIDTH (PLUGINCODEC_CIF_WIDTH*2) |
#define PLUGINCODEC_CIF_HEIGHT 288 |
#define PLUGINCODEC_CIF_MPI "CIF MPI" |
#define PLUGINCODEC_CIF_WIDTH 352 |
#define PLUGINCODEC_CODEC_PAIR | ( | MediaFormat, | |||
PayloadName, | |||||
Description, | |||||
SampleRate, | |||||
BitsPerSecond, | |||||
FrameTime, | |||||
p1, | |||||
p2, | |||||
p3, | |||||
p4, | |||||
PayloadType, | |||||
H323type, | |||||
H323data, | |||||
CreateEncoder, | |||||
DestroyEncoder, | |||||
EncodeMedia, | |||||
CreateDecoder, | |||||
DestroyDecoder, | |||||
DecodeMedia, | |||||
ControlsTable, | |||||
Flags, | |||||
RawFormat, | |||||
UserData | ) |
Value:
{ \ PLUGIN_CODEC_VERSION, &MyLicenseInfo, Flags, Description, RawFormat, MediaFormat, UserData, \ SampleRate, BitsPerSecond, FrameTime, {{ p1,p2,p3,p4 }}, PayloadType, PayloadName, \ CreateEncoder, DestroyEncoder, EncodeMedia, ControlsTable, H323type, H323data \ }, \ { \ PLUGIN_CODEC_VERSION, &MyLicenseInfo, Flags, Description, MediaFormat, RawFormat, UserData, \ SampleRate, BitsPerSecond, FrameTime, {{ p1,p2,p3,p4 }}, PayloadType, PayloadName, \ CreateDecoder, DestroyDecoder, DecodeMedia, ControlsTable, H323type, H323data \ }
< User Data Media Format IANA RTP payload code Description text Sample rate Maximum bits per second Samples per audio frame Recommended frames per packet Maximum frames per packet Extra flags typically if RTP payload type is fixed IANA RTP payload type code h323CapabilityType enumeration Data to go with h323CapabilityType Create encoder function Destroy encoder function Encode media function Create decoder function Destroy decoder function Decode media function Codec controls tables Media Format IANA RTP payload code Description text Sample rate Maximum bits per second Samples per audio frame Recommended frames per packet Maximum frames per packet Extra flags typically if RTP payload type is fixed IANA RTP payload type code h323CapabilityType enumeration Data to go with h323CapabilityType Media Format IANA RTP payload code Description text Maximum bits per second Max resolution (width) Max resolution (height) Extra flags typically if RTP payload type is fixed IANA RTP payload type code h323CapabilityType enumeration Data to go with h323CapabilityType Create encoder function Destroy encoder function Encode media function Create decoder function Destroy decoder function Decode media function Codec controls tables Media Format IANA RTP payload code Description text Maximum bits per second Max resolution (width) Max resolution (height) Extra flags typically if RTP payload type is fixed IANA RTP payload type code h323CapabilityType enumeration Data to go with h323CapabilityType
#define PLUGINCODEC_CONTROL_FREE_CODEC_OPTIONS "free_codec_options" |
#define PLUGINCODEC_CONTROL_GET_ACTIVE_OPTIONS "get_active_options" |
#define PLUGINCODEC_CONTROL_GET_CODEC_OPTIONS "get_codec_options" |
#define PLUGINCODEC_CONTROL_GET_OUTPUT_DATA_SIZE "get_output_data_size" |
#define PLUGINCODEC_CONTROL_GET_STATISTICS "get_statistics" |
#define PLUGINCODEC_CONTROL_SET_CODEC_OPTIONS "set_codec_options" |
#define PLUGINCODEC_CONTROL_SET_INSTANCE_ID "set_instance_id" |
#define PLUGINCODEC_CONTROL_SET_LOG_FUNCTION "set_log_function" |
#define PLUGINCODEC_CONTROL_TERMINATE_CODEC "terminate_codec" |
#define PLUGINCODEC_CONTROL_TO_CUSTOMISED_OPTIONS "to_customised_options" |
#define PLUGINCODEC_CONTROL_TO_NORMALISED_OPTIONS "to_normalised_options" |
#define PLUGINCODEC_CONTROL_VALID_FOR_PROTOCOL "valid_for_protocol" |
#define PLUGINCODEC_CUSTOM_MPI "Custom MPI" |
#define PluginCodec_H245_BooleanArray 0x08000000 |
#define PluginCodec_H245_Collapsing 0x40000000 |
#define PluginCodec_H245_NonCollapsing 0x20000000 |
#define PluginCodec_H245_OLC 0x02000000 |
#define PluginCodec_H245_OrdinalMask 0x0000ffff |
#define PluginCodec_H245_PositionMask 0x00ff0000 |
#define PluginCodec_H245_PositionShift 16 |
#define PluginCodec_H245_ReqMode 0x01000000 |
#define PluginCodec_H245_TCS 0x04000000 |
#define PluginCodec_H245_Unsigned32 0x10000000 |
#define PLUGINCODEC_LICENSE | ( | p1, | |||
p2, | |||||
p3, | |||||
p4, | |||||
p5, | |||||
p6, | |||||
p7, | |||||
p8, | |||||
p9, | |||||
p10, | |||||
p11, | |||||
p12, | |||||
p13, | |||||
p14, | |||||
p15 | ) | static struct PluginCodec_information MyLicenseInfo = { 0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,__TIMESTAMP__ } |
#define PLUGINCODEC_MAX_FRAME_RATE 30 |
#define PLUGINCODEC_MEDIA_PACKETIZATION "Media Packetization" |
#define PLUGINCODEC_MEDIA_PACKETIZATIONS "Media Packetizations" |
#define PLUGINCODEC_MPI_DISABLED 33 |
#define PLUGINCODEC_ONE_AUDIO_CODEC | ( | MediaFormat, | |||
PayloadName, | |||||
Description, | |||||
SampleRate, | |||||
BitsPerSecond, | |||||
SamplesPerFrame, | |||||
RecFramesPerPacket, | |||||
MaxFramesPerPacket, | |||||
RtpFlags, | |||||
PayloadType, | |||||
H323type, | |||||
H323data | ) |
Value:
static struct PluginCodec_Definition CodecDefinitionTable[] = { \ PLUGINCODEC_AUDIO_CODEC(MediaFormat, \ PayloadName, \ Description, \ SampleRate, \ BitsPerSecond, \ SamplesPerFrame, \ RecFramesPerPacket, \ MaxFramesPerPacket, \ RtpFlags, \ PayloadType, \ H323type, \ H323data, \ MyCreateEncoder, \ MyDestroyEncoder, \ MyEncodeAudio, \ MyCreateDecoder, \ MyDestroyDecoder, \ MyDecodeAudio, \ MyControlsTable \ ) \ }
#define PLUGINCODEC_ONE_VIDEO_CODEC | ( | MediaFormat, | |||
PayloadName, | |||||
Description, | |||||
BitsPerSecond, | |||||
MaxWidth, | |||||
MaxHeight, | |||||
RtpFlags, | |||||
PayloadType, | |||||
H323type, | |||||
H323data | ) |
Value:
static struct PluginCodec_Definition CodecDefinitionTable[] = { \ PLUGINCODEC_VIDEO_CODEC(MediaFormat, \ PayloadName, \ Description, \ BitsPerSecond, \ MaxWidth, \ MaxHeight, \ RtpFlags, \ PayloadType, \ H323type, \ H323data, \ CreateEncoder, \ DestroyEncoder, \ EncodeAudio, \ CreateDecoder, \ DestroyDecoder, \ DecodeAudio, \ ControlsTable \ ) \ }
#define PLUGINCODEC_OPTION_CHANNELS "Channels" |
#define PLUGINCODEC_OPTION_CLOCK_RATE "Clock Rate" |
#define PLUGINCODEC_OPTION_FRAME_HEIGHT "Frame Height" |
#define PLUGINCODEC_OPTION_FRAME_TIME "Frame Time" |
#define PLUGINCODEC_OPTION_FRAME_WIDTH "Frame Width" |
#define PLUGINCODEC_OPTION_MAX_BIT_RATE "Max Bit Rate" |
#define PLUGINCODEC_OPTION_MAX_FRAME_SIZE "Max Frame Size" |
#define PLUGINCODEC_OPTION_MAX_RX_FRAME_HEIGHT "Max Rx Frame Height" |
#define PLUGINCODEC_OPTION_MAX_RX_FRAME_WIDTH "Max Rx Frame Width" |
#define PLUGINCODEC_OPTION_MAX_TX_PACKET_SIZE "Max Tx Packet Size" |
#define PLUGINCODEC_OPTION_MIN_RX_FRAME_HEIGHT "Min Rx Frame Height" |
#define PLUGINCODEC_OPTION_MIN_RX_FRAME_WIDTH "Min Rx Frame Width" |
#define PLUGINCODEC_OPTION_NEEDS_JITTER "Needs Jitter" |
#define PLUGINCODEC_OPTION_PROTOCOL "Protocol" |
#define PLUGINCODEC_OPTION_PROTOCOL_H323 "H.323" |
#define PLUGINCODEC_OPTION_PROTOCOL_SIP "SIP" |
#define PLUGINCODEC_OPTION_RATE_CONTROL_PERIOD "Rate Control Period" |
#define PLUGINCODEC_OPTION_RX_FRAMES_PER_PACKET "Rx Frames Per Packet" |
#define PLUGINCODEC_OPTION_TARGET_BIT_RATE "Target Bit Rate" |
#define PLUGINCODEC_OPTION_TEMPORAL_SPATIAL_TRADE_OFF "Temporal Spatial Trade Off" |
#define PLUGINCODEC_OPTION_TX_FRAMES_PER_PACKET "Tx Frames Per Packet" |
#define PLUGINCODEC_OPTION_TX_KEY_FRAME_PERIOD "Tx Key Frame Period" |
#define PLUGINCODEC_QCIF4_HEIGHT (PLUGINCODEC_CIF4_HEIGHT/2) |
#define PLUGINCODEC_QCIF4_WIDTH (PLUGINCODEC_CIF4_WIDTH/2) |
#define PLUGINCODEC_QCIF_HEIGHT (PLUGINCODEC_CIF_HEIGHT/2) |
#define PLUGINCODEC_QCIF_MPI "QCIF MPI" |
#define PLUGINCODEC_QCIF_WIDTH (PLUGINCODEC_CIF_WIDTH/2) |
#define PLUGINCODEC_RAW_AUDIO "L16" |
#define PLUGINCODEC_RAW_VIDEO "YUV420P" |
#define PluginCodec_RTP_GetCSRCHdrLength | ( | ptr | ) | ((((unsigned char*)(ptr))[0] & 0x0f)*4 + PluginCodec_RTP_MinHeaderSize) |
#define PluginCodec_RTP_GetDWORD | ( | ptr, | |||
off | ) |
Value:
((((unsigned char*)(ptr))[off ] << 24)|\ (((unsigned char*)(ptr))[off+1] << 16)|\ (((unsigned char*)(ptr))[off+2] << 8 )|\ ((unsigned char*)(ptr))[off+3])
#define PluginCodec_RTP_GetExtHdrLength | ( | ptr | ) | ((((unsigned char*)(ptr))[0] & 0x10) ? (PluginCodec_RTP_GetWORD(ptr, PluginCodec_RTP_GetCSRCHdrLength(ptr)+2)*4+4) : 0) |
#define PluginCodec_RTP_GetHeaderLength | ( | ptr | ) | (PluginCodec_RTP_GetCSRCHdrLength(ptr) + PluginCodec_RTP_GetExtHdrLength(ptr)) |
#define PluginCodec_RTP_GetMarker | ( | ptr | ) | ((((unsigned char*)(ptr))[1] & 0x80) != 0) |
#define PluginCodec_RTP_GetPayloadPtr | ( | ptr | ) | ((unsigned char*)(ptr) + PluginCodec_RTP_GetHeaderLength(ptr)) |
#define PluginCodec_RTP_GetPayloadType | ( | ptr | ) | (((unsigned char*)(ptr))[1] & 0x7f) |
#define PluginCodec_RTP_GetSequenceNumber | ( | ptr | ) | PluginCodec_RTP_GetWORD(ptr, 2) |
#define PluginCodec_RTP_GetSSRC | ( | ptr | ) | PluginCodec_RTP_GetDWORD(ptr, 8) |
#define PluginCodec_RTP_GetTimestamp | ( | ptr | ) | PluginCodec_RTP_GetDWORD(ptr, 4) |
#define PluginCodec_RTP_GetWORD | ( | ptr, | |||
off | ) | ((((unsigned char*)(ptr))[off] << 8) | ((unsigned char*)(ptr))[off+1]) |
#define PluginCodec_RTP_MaxPacketSize (1518-14-4-8-20-16) |
#define PluginCodec_RTP_MaxPayloadSize (PluginCodec_RTP_MaxPacketSize - PluginCodec_RTP_MinHeaderSize) |
#define PluginCodec_RTP_MinHeaderSize (12) |
#define PluginCodec_RTP_SetDWORD | ( | ptr, | |||
off, | |||||
val | ) |
Value:
((((unsigned char*)(ptr))[off ] = (unsigned char)((val) >> 24)),\ (((unsigned char*)(ptr))[off+1] = (unsigned char)((val) >> 16)),\ (((unsigned char*)(ptr))[off+2] = (unsigned char)((val) >> 8 )),\ (((unsigned char*)(ptr))[off+3] = (unsigned char) (val) ))
#define PluginCodec_RTP_SetMarker | ( | ptr, | |||
mark | ) | (((unsigned char*)(ptr))[1] = (unsigned char)((((unsigned char*)(ptr))[1] & 0x7f) | (mark != 0 ? 0x80 : 0))) |
#define PluginCodec_RTP_SetPayloadType | ( | ptr, | |||
type | ) | (((unsigned char*)(ptr))[1] = (unsigned char)((((unsigned char*)(ptr))[1] & 0x80) | (type & 0x7f))) |
#define PluginCodec_RTP_SetSequenceNumber | ( | ptr, | |||
sn | ) | PluginCodec_RTP_SetWORD(ptr, 2, sn) |
#define PluginCodec_RTP_SetSSRC | ( | ptr, | |||
ssrc | ) | PluginCodec_RTP_SetDWORD(ptr, 8, ssrc) |
#define PluginCodec_RTP_SetTimestamp | ( | ptr, | |||
ts | ) | PluginCodec_RTP_SetDWORD(ptr, 4, ts) |
#define PluginCodec_RTP_SetWORD | ( | ptr, | |||
off, | |||||
val | ) |
Value:
((((unsigned char*)(ptr))[off ] = (unsigned char)((val) >> 8 )),\ (((unsigned char*)(ptr))[off+1] = (unsigned char) (val) ))
#define PluginCodec_SetChannels | ( | n | ) | (((n-1)<<PluginCodec_ChannelsPos)&PluginCodec_ChannelsMask) |
#define PLUGINCODEC_SQCIF_HEIGHT 96 |
#define PLUGINCODEC_SQCIF_MPI "SQCIF MPI" |
#define PLUGINCODEC_SQCIF_WIDTH 128 |
#define PLUGINCODEC_VIDEO_CLOCK 90000 |
#define PLUGINCODEC_VIDEO_CODEC | ( | MediaFormat, | |||
PayloadName, | |||||
Description, | |||||
BitsPerSecond, | |||||
MaxWidth, | |||||
MaxHeight, | |||||
RtpFlags, | |||||
PayloadType, | |||||
H323type, | |||||
H323data, | |||||
CreateEncoder, | |||||
DestroyEncoder, | |||||
EncodeVideo, | |||||
CreateDecoder, | |||||
DestroyDecoder, | |||||
DecodeVideo, | |||||
ControlsTable | ) |
Value:
PLUGINCODEC_CODEC_PAIR(MediaFormat, \ PayloadName, \ Description, \ SampleRate, \ BitsPerSecond, \ PLUGINCODEC_VIDEO_CLOCK, \ BitsPerSecond, \ 1000000/PLUGINCODEC_MAX_FRAME_RATE, \ MaxWidth, \ MaxHeight, \ 0,PLUGINCODEC_MAX_FRAME_RATE, \ PayloadType, \ H323type, \ H323data, \ CreateEncoder, \ DestroyEncoder, \ EncodeVideo, \ CreateDecoder, \ DestroyDecoder, \ DecodeVideo, \ ControlsTable, \ PluginCodec_MediaTypeVideo | /* video codec */ \ PluginCodec_InputTypeRTP | /* RTP input data */ \ PluginCodec_OutputTypeRTP | /* RTP output data */ \ (RtpFlags), \ PLUGINCODEC_RAW_VIDEO, \ NULL)
#define PWLIB_PLUGIN_API_VERSION 1 |
#define STRINGIZE | ( | v | ) | __INTERNAL_STRINGIZE__(v) |
typedef void(*) PluginCodec_FreeFunction(char *string) |
typedef unsigned(* ) PluginCodec_GetAPIVersionFunction() |
typedef struct PluginCodec_Definition*(* ) PluginCodec_GetCodecFunction(unsigned int *, unsigned int) |
typedef int(*) PluginCodec_LogFunction(unsigned level, const char *file, unsigned line, const char *section, const char *log) |
typedef int(*) PluginCodec_MergeFunction(char **result, const char *dest, const char *src) |
anonymous enum |
anonymous enum |
enum PluginCodec_Flags |