Changes between Initial Version and Version 1 of Intel_IPP_Codecs


Ignore:
Timestamp:
Aug 18, 2008 9:10:41 PM (13 years ago)
Author:
bennylp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Intel_IPP_Codecs

    v1 v1  
     1= Using Intel Integrated Performance Primitive (IPP) with PJMEDIA = 
     2 
     3Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of multi-core-ready, highly optimized software functions for multimedia data processing, and communications applications. 
     4 
     5The Intel IPP can be used with PJMEDIA library to provide the following codecs: 
     6 * '''AMR NB''' (4.75 to 12.2 Kbps) 
     7 * '''AMB WB''' (6.6 to 23.85 Kbps 
     8 * '''G.722.1''' (16/24/32/40 Kbps) 
     9 * '''G.723.1''' (5.3/6.3 Kbps) 
     10 * '''G.726''' (16/24/32/40 Kbps) 
     11 * '''G.728''' (16 Kbps) 
     12 * '''G.729A''' (8 Kbps) with Annex B, and annex D/E support for decoding only. 
     13 
     14 
     15== Requirements == 
     16 
     17The following are required: 
     18 * PJSIP version 1.0-rc1 or above 
     19 * Intel IPP library for your platform 
     20 * Intel IPP samples 
     21 
     22We tested with Intel IPP version 5.3. You may be able to use different Intel IPP version with PJMEDIA, however this has not been tested. As usual, your mileage may vary. 
     23 
     24Note that the use of Intel IPP may require license, both from Intel and the parties who own the royalty of the codec. 
     25 
     26 
     27== Installation == 
     28 
     29=== Windows Instructions === 
     30 
     31==== Download and install IPP and IPP samples ==== 
     32 
     33 1. Download Intel IPP and Intel IPP samples from http://www.intel.com/cd/software/products/asmo-na/eng/302910.htm 
     34 1. Run the Intel IPP installer (e.g. ''w_ipp_ia32_p_5.3.3.082.exe''). The default installation will install it to {{{C:\Program Files\Intel\IPP\5.3.3.082}}} folder, and this is the folder that will be referred to by this tutorial. 
     35 1. Unzip the Intel IPP samples (e.g. ''w_ipp-samples_p_5.3.095.zip'') to a folder. This tutorial assumes that the samples are installed in {{{C:\ipp-samples}}}. 
     36 
     37==== Build the IPP samples ==== 
     38 1. Go to the IPP samples unzipped folder (e.g. {{{C:\ipp-samples}}}). 
     39 1. Go to {{{speech-codecs}}} folder. 
     40 1. Open the {{{readme.htm}}} file, and follow the instructions there to build the samples from the source. 
     41 
     42Once the build process done, you should have '''{{{usc.lib}}}''' file somewhere inside {{{speech-codecs\bin}}} directory (in my case, it's in {{{C:\ipp-samples\speech-codecs\bin\win32_cl9\lib}}} folder). 
     43 
     44If you have any problems with installing and/or building the IPP or IPP samples, please read the documentation or contact Intel for support. 
     45 
     46==== Configure Visual Studio ==== 
     47 
     48 1. Add Intel IPP include and library path to Visual Studio paths. For example if 32bit Intel IPP is installed in {{{C:\Program Files\Intel\IPP\5.3.3.082\ia32}}} directory: 
     49       - add {{{C:\Program Files\Intel\IPP\5.3.3.082\ia32\include}}} to the include path 
     50       - add {{{C:\Program Files\Intel\IPP\5.3.3.082\ia32\stublib}}} to the library path 
     51 1. Add Intel IPP samples include and library path to Visual Studio directory options. For example, if Intel IPP samples are in {{{C:\ipp-samples}}}: 
     52    - add {{{C:\ipp-samples\speech-codecs\core\usc\include}}} to the include path 
     53    - add {{{C:\ipp-samples\speech-codecs\bin\win32_cl9\lib}}} to the library path 
     54 
     55 
     56== PJMEDIA Configuration == 
     57 
     58=== Enable IPP Support === 
     59 
     60By default, IPP support is disabled in PJMEDIA. To enable IPP support, declare the following in your {{{config.site.h}}}: 
     61 
     62 {{{ 
     63#define PJMEDIA_HAS_INTEL_IPP   1 
     64 }}} 
     65 
     66=== Enable/Disable Individual IPP Codec === 
     67 
     68Once IPP support is enabled, by default all IPP codecs are enabled. To disable parcular codecs, use the following constructs: 
     69 
     70 {{{ 
     71#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR     0 
     72#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB   0 
     73#define PJMEDIA_HAS_INTEL_IPP_CODEC_G729    0 
     74#define PJMEDIA_HAS_INTEL_IPP_CODEC_G723    0 
     75#define PJMEDIA_HAS_INTEL_IPP_CODEC_G726    0 
     76#define PJMEDIA_HAS_INTEL_IPP_CODEC_G728    0 
     77#define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1  0 
     78 }}} 
     79