| Index: webrtc/modules/audio_coding/codecs/opus/opus/src/silk/API.h | 
| diff --git a/webrtc/modules/audio_coding/codecs/opus/opus/src/silk/API.h b/webrtc/modules/audio_coding/codecs/opus/opus/src/silk/API.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..0131acbb08fb07a8dd0d15502758ded5a1bc7fa6 | 
| --- /dev/null | 
| +++ b/webrtc/modules/audio_coding/codecs/opus/opus/src/silk/API.h | 
| @@ -0,0 +1,134 @@ | 
| +/*********************************************************************** | 
| +Copyright (c) 2006-2011, Skype Limited. All rights reserved. | 
| +Redistribution and use in source and binary forms, with or without | 
| +modification, are permitted provided that the following conditions | 
| +are met: | 
| +- Redistributions of source code must retain the above copyright notice, | 
| +this list of conditions and the following disclaimer. | 
| +- Redistributions in binary form must reproduce the above copyright | 
| +notice, this list of conditions and the following disclaimer in the | 
| +documentation and/or other materials provided with the distribution. | 
| +- Neither the name of Internet Society, IETF or IETF Trust, nor the | 
| +names of specific contributors, may be used to endorse or promote | 
| +products derived from this software without specific prior written | 
| +permission. | 
| +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 
| +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
| +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
| +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 
| +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
| +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
| +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
| +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 
| +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
| +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 
| +POSSIBILITY OF SUCH DAMAGE. | 
| +***********************************************************************/ | 
| + | 
| +#ifndef SILK_API_H | 
| +#define SILK_API_H | 
| + | 
| +#include "control.h" | 
| +#include "typedef.h" | 
| +#include "errors.h" | 
| +#include "entenc.h" | 
| +#include "entdec.h" | 
| + | 
| +#ifdef __cplusplus | 
| +extern "C" | 
| +{ | 
| +#endif | 
| + | 
| +#define SILK_MAX_FRAMES_PER_PACKET  3 | 
| + | 
| +/* Struct for TOC (Table of Contents) */ | 
| +typedef struct { | 
| +    opus_int    VADFlag;                                /* Voice activity for packet                            */ | 
| +    opus_int    VADFlags[ SILK_MAX_FRAMES_PER_PACKET ]; /* Voice activity for each frame in packet              */ | 
| +    opus_int    inbandFECFlag;                          /* Flag indicating if packet contains in-band FEC       */ | 
| +} silk_TOC_struct; | 
| + | 
| +/****************************************/ | 
| +/* Encoder functions                    */ | 
| +/****************************************/ | 
| + | 
| +/***********************************************/ | 
| +/* Get size in bytes of the Silk encoder state */ | 
| +/***********************************************/ | 
| +opus_int silk_Get_Encoder_Size(                         /* O    Returns error code                              */ | 
| +    opus_int                        *encSizeBytes       /* O    Number of bytes in SILK encoder state           */ | 
| +); | 
| + | 
| +/*************************/ | 
| +/* Init or reset encoder */ | 
| +/*************************/ | 
| +opus_int silk_InitEncoder(                              /* O    Returns error code                              */ | 
| +    void                            *encState,          /* I/O  State                                           */ | 
| +    int                              arch,              /* I    Run-time architecture                           */ | 
| +    silk_EncControlStruct           *encStatus          /* O    Encoder Status                                  */ | 
| +); | 
| + | 
| +/**************************/ | 
| +/* Encode frame with Silk */ | 
| +/**************************/ | 
| +/* Note: if prefillFlag is set, the input must contain 10 ms of audio, irrespective of what                     */ | 
| +/* encControl->payloadSize_ms is set to                                                                         */ | 
| +opus_int silk_Encode(                                   /* O    Returns error code                              */ | 
| +    void                            *encState,          /* I/O  State                                           */ | 
| +    silk_EncControlStruct           *encControl,        /* I    Control status                                  */ | 
| +    const opus_int16                *samplesIn,         /* I    Speech sample input vector                      */ | 
| +    opus_int                        nSamplesIn,         /* I    Number of samples in input vector               */ | 
| +    ec_enc                          *psRangeEnc,        /* I/O  Compressor data structure                       */ | 
| +    opus_int32                      *nBytesOut,         /* I/O  Number of bytes in payload (input: Max bytes)   */ | 
| +    const opus_int                  prefillFlag         /* I    Flag to indicate prefilling buffers no coding   */ | 
| +); | 
| + | 
| +/****************************************/ | 
| +/* Decoder functions                    */ | 
| +/****************************************/ | 
| + | 
| +/***********************************************/ | 
| +/* Get size in bytes of the Silk decoder state */ | 
| +/***********************************************/ | 
| +opus_int silk_Get_Decoder_Size(                         /* O    Returns error code                              */ | 
| +    opus_int                        *decSizeBytes       /* O    Number of bytes in SILK decoder state           */ | 
| +); | 
| + | 
| +/*************************/ | 
| +/* Init or Reset decoder */ | 
| +/*************************/ | 
| +opus_int silk_InitDecoder(                              /* O    Returns error code                              */ | 
| +    void                            *decState           /* I/O  State                                           */ | 
| +); | 
| + | 
| +/******************/ | 
| +/* Decode a frame */ | 
| +/******************/ | 
| +opus_int silk_Decode(                                   /* O    Returns error code                              */ | 
| +    void*                           decState,           /* I/O  State                                           */ | 
| +    silk_DecControlStruct*          decControl,         /* I/O  Control Structure                               */ | 
| +    opus_int                        lostFlag,           /* I    0: no loss, 1 loss, 2 decode fec                */ | 
| +    opus_int                        newPacketFlag,      /* I    Indicates first decoder call for this packet    */ | 
| +    ec_dec                          *psRangeDec,        /* I/O  Compressor data structure                       */ | 
| +    opus_int16                      *samplesOut,        /* O    Decoded output speech vector                    */ | 
| +    opus_int32                      *nSamplesOut,       /* O    Number of samples decoded                       */ | 
| +    int                             arch                /* I    Run-time architecture                           */ | 
| +); | 
| + | 
| +#if 0 | 
| +/**************************************/ | 
| +/* Get table of contents for a packet */ | 
| +/**************************************/ | 
| +opus_int silk_get_TOC( | 
| +    const opus_uint8                *payload,           /* I    Payload data                                */ | 
| +    const opus_int                  nBytesIn,           /* I    Number of input bytes                       */ | 
| +    const opus_int                  nFramesPerPayload,  /* I    Number of SILK frames per payload           */ | 
| +    silk_TOC_struct                 *Silk_TOC           /* O    Type of content                             */ | 
| +); | 
| +#endif | 
| + | 
| +#ifdef __cplusplus | 
| +} | 
| +#endif | 
| + | 
| +#endif | 
|  |