Fix #1106:
 - Added PCM signal adjustment in IPP G722.1 implementation. The default setting is configurable via (the existing compile-time config) PJMEDIA_G7221_DEFAULT_PCM_SHIFT.
 - Added new APIs to get and set IPP codecs settings: pjmedia_codec_ipp_set/get_config(). At run-time, the G722.1 PCM signal adjustment setting can be set using these functions.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3261 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/include/pjmedia-codec/ipp_codecs.h b/pjmedia/include/pjmedia-codec/ipp_codecs.h
index 98eb8a8..42db8a0 100644
--- a/pjmedia/include/pjmedia-codec/ipp_codecs.h
+++ b/pjmedia/include/pjmedia-codec/ipp_codecs.h
@@ -291,6 +291,24 @@
 
 PJ_BEGIN_DECL
 
+/** 
+ * IPP codecs configuration settings.
+ */
+typedef struct pjmedia_codec_ipp_config
+{
+    /**
+     * Specifies the 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.
+     *
+     * Default value is PJMEDIA_G7221_DEFAULT_PCM_SHIFT.
+     */
+    unsigned		 g7221_pcm_shift;
+
+} pjmedia_codec_ipp_config;
+
+
 /**
  * Initialize and register IPP codecs factory to pjmedia endpoint.
  *
@@ -301,6 +319,27 @@
 PJ_DECL(pj_status_t) pjmedia_codec_ipp_init( pjmedia_endpt *endpt );
 
 
+/**
+ * Get current IPP codecs configuration settings.
+ *
+ * @param cfg	    The IPP codecs configuration settings buffer.
+ *
+ * @return	    PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjmedia_codec_ipp_get_config(
+				pjmedia_codec_ipp_config *cfg);
+
+
+/**
+ * Set IPP codecs configuration settings.
+ *
+ * @param setting   The IPP codecs configuration settings to be applied.
+ *
+ * @return	    PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjmedia_codec_ipp_set_config(
+				const pjmedia_codec_ipp_config *cfg);
+
 
 /**
  * Unregister IPP codecs factory from pjmedia endpoint and deinitialize