pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication
Loading

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJMEDIA Reference

PJMEDIA-CODEC Compile Time Settings
[Codec Framework]

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

Defines

#define PJMEDIA_HAS_GSM_CODEC   1
#define PJMEDIA_HAS_SPEEX_CODEC   1
#define PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY   2
#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY   8
#define PJMEDIA_HAS_ILBC_CODEC   1
#define PJMEDIA_HAS_G722_CODEC   1
#define PJMEDIA_G722_DEFAULT_PCM_SHIFT   2
#define PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING   1
#define PJMEDIA_HAS_INTEL_IPP   0
#define PJMEDIA_AUTO_LINK_IPP_LIBS   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G729   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G726   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G728   1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1   1
#define PJMEDIA_HAS_PASSTHROUGH_CODECS   0
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR   1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729   1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC   1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU   1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA   1
#define PJMEDIA_HAS_G7221_CODEC   0
#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC   0
#define PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS   1
#define PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC   1
#define PJMEDIA_G7221_DEFAULT_PCM_SHIFT   1

Define Documentation

#define PJMEDIA_HAS_GSM_CODEC   1

Unless specified otherwise, L16 codec is included by default. Unless specified otherwise, GSM codec is included by default.

#define PJMEDIA_HAS_SPEEX_CODEC   1

Unless specified otherwise, Speex codec is included by default.

#define PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY   2

Speex codec default complexity setting.

#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY   8

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).

#define PJMEDIA_HAS_ILBC_CODEC   1

Unless specified otherwise, iLBC codec is included by default.

#define PJMEDIA_HAS_G722_CODEC   1

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

#define PJMEDIA_G722_DEFAULT_PCM_SHIFT   2

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.

#define PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING   1

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.

#define PJMEDIA_HAS_INTEL_IPP   0

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.

#define PJMEDIA_AUTO_LINK_IPP_LIBS   1

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.

#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR   1

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

#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB   1

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

#define PJMEDIA_HAS_INTEL_IPP_CODEC_G729   1

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

Default: 1

#define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1   1

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

Default: 1

#define PJMEDIA_HAS_INTEL_IPP_CODEC_G726   1

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

Default: 1

#define PJMEDIA_HAS_INTEL_IPP_CODEC_G728   1

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

Default: 1

#define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1   1

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

Default: 1

#define PJMEDIA_HAS_PASSTHROUGH_CODECS   0

Enable Passthrough codecs.

Default: 0

#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR   1

Enable AMR passthrough codec.

Default: 1

#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729   1

Enable G.729 passthrough codec.

Default: 1

#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC   1

Enable iLBC passthrough codec.

Default: 1

#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU   1

Enable PCMU passthrough codec.

Default: 1

#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA   1

Enable PCMA passthrough codec.

Default: 1

#define PJMEDIA_HAS_G7221_CODEC   0

G.722.1 codec is disabled by default.

#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC   0

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

Default: 0

#define PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS   1

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

#define PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC   1

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

#define PJMEDIA_G7221_DEFAULT_PCM_SHIFT   1

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().

 


PJMEDIA small footprint Open Source media stack
Copyright (C) 2006-2008 Teluu Inc.