readme.txt

January 11, 2016 ยท View on GitHub


Fixed Point SILK SDK 1.0.9 ARM source code package Copyright 2012 (c), Skype Limited https://developer.skype.com/silk/


Date: 03/08/2012 (Format: DD/MM/YYYY)

I. Description

This package contains files for compilation and evaluation of the fixed point SILK SDK library. The following is included in this package:

o Source code for the fixed point SILK SDK library
o Source code for creating encoder and decoder executables
o Test vectors
o Comparison tool
o Microsoft Visual Studio solutions and project files
o Makefile for GNU C-compiler (GCC)

II. Files and Folders

o doc/          - contains more information about the SILK SDK
o interface/    - contains API header files
o src/          - contains all SILK SDK library source files
o test/         - contains source files for testing the SILK SDK
o test_vectors/ - contains test vectors   
o Makefile      - Makefile for compiling with GCC
o readme.txt    - this file
o Silk_SDK.sln  - Visual Studio 2010 solution for all SILK SDK code
o Silk_SDK_VS2005.sln - Visual Studio 2005 solution for all SILK SDK code

III. How to use the Makefile

1. How to clean and compile the SILK SDK library:
  	  
   make clean lib

2. How to compile an encoder executable:

   make encoder

3. How to compile a decoder executable:

   make decoder

4. How to compile the comparison tool:

   make signalcompare

5. How to clean and compile all of the above:

   make clean all

6. How to clean and compile for ARM based device using a cross compiler:

   make clean all TOOLCHAIN_PREFIX=(1) TARGET_CPU=(2) TARGET_ARCH=(3)

   (1) Compiler toolchain prefix, most cross-compilers do need to specify that.
   (2) Target CPU, e.g. arm1136jf-s or cortex-a8, depends on the compiler. (makefile passes -mcpu= to the compiler)
   (3) Target architecture, e.g. armv6 or armv7, depends on the compiler. (makefile passes -march= to the compiler)

7. How to build for big endian CPU's

   make clean all ADDED_DEFINES+=_SYSTEM_IS_BIG_ENDIAN
   To be able to use the test vectors with big endian CPU's the test programs
   need to be compiled in a different way. Note that the 16 bit input and output 
   from the test programs will have the upper and lower bytes swapped with this setting. 

8. How to build native C code (no assembly code)

   make clean all ADDED_DEFINES+=NO_ASM

9. How to use the comparison tool:

   See 'How to use the test vectors.txt' in the test_vectors folder.     	

IV. History

Version 1.0.9 - Added 64-bit support. Added iOS LLVM compiler support. Lowered DTX mode bitrate. Bugfixes for ARM builds. Various other small fixes.
Version 1.0.8 - Improved noise shaping, various other improvements, and various bugfixes. Added a MIPS version
Version 1.0.7 - Updated with bugfixes for LBRR and pitch estimator. SignalCompare updated
Version 1.0.6 - Updated with bugfixes for ARM builds
Version 1.0.5 - Updated with bugfixes for ARM builds
Version 1.0.4 - Updated with various bugfixes and improvements, including some API changes
                Added support for big endian platforms
                Added resampler support for additional API sample rates
Version 1.0.3 - Updated with various bugfixes and improvements 
Version 1.0.2 - Updated with various bugfixes and improvements
Version 1.0.1 - First beta source code release

V. Compatibility

This package has been tested on the following platforms:

Windows 7 Professional,  32-bit version, Intel Core i7 CPU
Windows 7 Professional,  64-bit version, Intel Core i7 CPU
Mac OS X Version 10.7.4, 64-bit version, Intel Core i7 CPU
Ubuntu Linux 10.04 LTS,  32-bit version, Intel Core i7 CPU
Ubuntu Linux 12.04 LTS,  64-bit version, Intel Core 2 Duo CPU

ARM:
Android 2.3, compiled with NDK r7.
iOS 5.0

VI. Known Issues

None

VII. Additional Resources

For more information, visit the SILK SDK web site at:

<https://developer.skype.com/silk/>