Group pjmedia_codec_config

group pjmedia_codec_config

Various compile time settings such as to enable/disable codecs.

Defines

PJMEDIA_HAS_L16_CODEC

Unless specified otherwise, L16 codec is included by default.

PJMEDIA_HAS_GSM_CODEC

Unless specified otherwise, GSM codec is included by default.

PJMEDIA_HAS_SPEEX_CODEC

Unless specified otherwise, Speex codec is included by default.

PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY

Speex codec default complexity setting.

PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY

Speex codec default quality setting. Please note that pjsua-lib may override this setting via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY).

PJMEDIA_HAS_ILBC_CODEC

Unless specified otherwise, iLBC codec is included by default.

PJMEDIA_HAS_G722_CODEC

Unless specified otherwise, G.722 codec is included by default.

PJMEDIA_G722_DEFAULT_PCM_SHIFT

Default G.722 codec encoder and decoder level adjustment. The G.722 specifies that it uses 14 bit PCM for input and output, while PJMEDIA normally uses 16 bit PCM, so the conversion is done by applying level adjustment. If the value is non-zero, then PCM input samples to the encoder will be shifted right by this value, and similarly PCM output samples from the decoder will be shifted left by this value.

This can be changed at run-time after initialization by calling pjmedia_codec_g722_set_pcm_shift().

Default: 2.

PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING

Specifies whether G.722 PCM shifting should be stopped when clipping detected in the decoder. Enabling this feature can be useful when talking to G.722 implementation that uses 16 bit PCM for G.722 input/ output (for any reason it seems to work) and the PCM shifting causes audio clipping.

See also PJMEDIA_G722_DEFAULT_PCM_SHIFT.

Default: enabled.

PJMEDIA_HAS_INTEL_IPP

Enable the features provided by Intel IPP libraries, for example codecs such as G.729, G.723.1, G.726, G.728, G.722.1, and AMR.

By default this is disabled. Please follow the instructions in http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs on how to setup Intel IPP with PJMEDIA.

Visual Studio only: when this option is set, the Intel IPP libraries will be automatically linked to application using pragma(comment) constructs. This is convenient, however it will only link with the stub libraries and the Intel IPP DLL’s will be required when distributing the application.

If application wants to link with the different types of the Intel IPP libraries (for example, the static libraries), it must set this option to zero and specify the Intel IPP libraries in the application’s input library specification manually.

Default 1.

PJMEDIA_HAS_INTEL_IPP_CODEC_AMR

Enable Intel IPP AMR codec. This also needs to be enabled when AMR WB codec is enabled. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB

Enable Intel IPP AMR wideband codec. The PJMEDIA_HAS_INTEL_IPP_CODEC_AMR option must also be enabled to use this codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_G729

Enable Intel IPP G.729 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1

Enable Intel IPP G.723.1 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_G726

Enable Intel IPP G.726 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_G728

Enable Intel IPP G.728 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1

Enable Intel IPP G.722.1 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.

Default: 1

PJMEDIA_HAS_PASSTHROUGH_CODECS

Enable Passthrough codecs.

Default: 0

PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR

Enable AMR passthrough codec.

Default: 1

PJMEDIA_HAS_PASSTHROUGH_CODEC_G729

Enable G.729 passthrough codec.

Default: 1

PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC

Enable iLBC passthrough codec.

Default: 1

PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU

Enable PCMU passthrough codec.

Default: 1

PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA

Enable PCMA passthrough codec.

Default: 1

PJMEDIA_HAS_G7221_CODEC

G.722.1 codec is disabled by default.

PJMEDIA_HAS_OPENCORE_AMRNB_CODEC

Enable OpenCORE AMR-NB codec. See https://trac.pjsip.org/repos/ticket/1388 for some info.

Default: 0

Link with libopencore-amrXX via pragma comment on Visual Studio. This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC is enabled.

Default: 1

PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC

Link with libopencore-amrXX.a that has been produced with gcc. This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC and PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS are enabled.

Default: 1

PJMEDIA_G7221_DEFAULT_PCM_SHIFT

Default G.722.1 codec encoder and decoder level adjustment. If the value is non-zero, then PCM input samples to the encoder will be shifted right by this value, and similarly PCM output samples from the decoder will be shifted left by this value.

This can be changed at run-time after initialization by calling pjmedia_codec_g7221_set_pcm_shift().