| Index: webrtc/modules/audio_coding/codecs/opus/opus/src/celt/os_support.h
|
| diff --git a/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/os_support.h b/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/os_support.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a2171971e9d657849210a6f90549a5d867002dd1
|
| --- /dev/null
|
| +++ b/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/os_support.h
|
| @@ -0,0 +1,92 @@
|
| +/* Copyright (C) 2007 Jean-Marc Valin
|
| +
|
| + File: os_support.h
|
| + This is the (tiny) OS abstraction layer. Aside from math.h, this is the
|
| + only place where system headers are allowed.
|
| +
|
| + Redistribution and use in source and binary forms, with or without
|
| + modification, are permitted provided that the following conditions are
|
| + met:
|
| +
|
| + 1. Redistributions of source code must retain the above copyright notice,
|
| + this list of conditions and the following disclaimer.
|
| +
|
| + 2. 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.
|
| +
|
| + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 OS_SUPPORT_H
|
| +#define OS_SUPPORT_H
|
| +
|
| +#ifdef CUSTOM_SUPPORT
|
| +# include "custom_support.h"
|
| +#endif
|
| +
|
| +#include "opus_types.h"
|
| +#include "opus_defines.h"
|
| +
|
| +#include <string.h>
|
| +#include <stdio.h>
|
| +#include <stdlib.h>
|
| +
|
| +/** Opus wrapper for malloc(). To do your own dynamic allocation, all you need to do is replace this function and opus_free */
|
| +#ifndef OVERRIDE_OPUS_ALLOC
|
| +static OPUS_INLINE void *opus_alloc (size_t size)
|
| +{
|
| + return malloc(size);
|
| +}
|
| +#endif
|
| +
|
| +/** Same as celt_alloc(), except that the area is only needed inside a CELT call (might cause problem with wideband though) */
|
| +#ifndef OVERRIDE_OPUS_ALLOC_SCRATCH
|
| +static OPUS_INLINE void *opus_alloc_scratch (size_t size)
|
| +{
|
| + /* Scratch space doesn't need to be cleared */
|
| + return opus_alloc(size);
|
| +}
|
| +#endif
|
| +
|
| +/** Opus wrapper for free(). To do your own dynamic allocation, all you need to do is replace this function and opus_alloc */
|
| +#ifndef OVERRIDE_OPUS_FREE
|
| +static OPUS_INLINE void opus_free (void *ptr)
|
| +{
|
| + free(ptr);
|
| +}
|
| +#endif
|
| +
|
| +/** Copy n elements from src to dst. The 0* term provides compile-time type checking */
|
| +#ifndef OVERRIDE_OPUS_COPY
|
| +#define OPUS_COPY(dst, src, n) (memcpy((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) ))
|
| +#endif
|
| +
|
| +/** Copy n elements from src to dst, allowing overlapping regions. The 0* term
|
| + provides compile-time type checking */
|
| +#ifndef OVERRIDE_OPUS_MOVE
|
| +#define OPUS_MOVE(dst, src, n) (memmove((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) ))
|
| +#endif
|
| +
|
| +/** Set n elements of dst to zero */
|
| +#ifndef OVERRIDE_OPUS_CLEAR
|
| +#define OPUS_CLEAR(dst, n) (memset((dst), 0, (n)*sizeof(*(dst))))
|
| +#endif
|
| +
|
| +/*#ifdef __GNUC__
|
| +#pragma GCC poison printf sprintf
|
| +#pragma GCC poison malloc free realloc calloc
|
| +#endif*/
|
| +
|
| +#endif /* OS_SUPPORT_H */
|
| +
|
|
|