/src/mozilla-central/media/libopus/celt/os_support.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* Copyright (C) 2007 Jean-Marc Valin |
2 | | |
3 | | File: os_support.h |
4 | | This is the (tiny) OS abstraction layer. Aside from math.h, this is the |
5 | | only place where system headers are allowed. |
6 | | |
7 | | Redistribution and use in source and binary forms, with or without |
8 | | modification, are permitted provided that the following conditions are |
9 | | met: |
10 | | |
11 | | 1. Redistributions of source code must retain the above copyright notice, |
12 | | this list of conditions and the following disclaimer. |
13 | | |
14 | | 2. Redistributions in binary form must reproduce the above copyright |
15 | | notice, this list of conditions and the following disclaimer in the |
16 | | documentation and/or other materials provided with the distribution. |
17 | | |
18 | | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
19 | | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
20 | | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
21 | | DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, |
22 | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
23 | | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
24 | | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
25 | | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
26 | | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
27 | | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
28 | | POSSIBILITY OF SUCH DAMAGE. |
29 | | */ |
30 | | |
31 | | #ifndef OS_SUPPORT_H |
32 | | #define OS_SUPPORT_H |
33 | | |
34 | | #ifdef CUSTOM_SUPPORT |
35 | | # include "custom_support.h" |
36 | | #endif |
37 | | |
38 | | #include "opus_types.h" |
39 | | #include "opus_defines.h" |
40 | | |
41 | | #include <string.h> |
42 | | #include <stdio.h> |
43 | | #include <stdlib.h> |
44 | | |
45 | | /** Opus wrapper for malloc(). To do your own dynamic allocation, all you need to do is replace this function and opus_free */ |
46 | | #ifndef OVERRIDE_OPUS_ALLOC |
47 | | static OPUS_INLINE void *opus_alloc (size_t size) |
48 | 0 | { |
49 | 0 | return malloc(size); |
50 | 0 | } Unexecuted instantiation: celt.c:opus_alloc Unexecuted instantiation: celt_decoder.c:opus_alloc Unexecuted instantiation: celt_encoder.c:opus_alloc Unexecuted instantiation: celt_lpc_sse4_1.c:opus_alloc Unexecuted instantiation: pitch_sse.c:opus_alloc Unexecuted instantiation: pitch_sse2.c:opus_alloc Unexecuted instantiation: pitch_sse4_1.c:opus_alloc Unexecuted instantiation: vq_sse2.c:opus_alloc Unexecuted instantiation: Unified_c_media_libopus0.c:opus_alloc Unexecuted instantiation: Unified_c_media_libopus2.c:opus_alloc Unexecuted instantiation: Unified_c_media_libopus7.c:opus_alloc Unexecuted instantiation: Unified_c_media_libopus8.c:opus_alloc |
51 | | #endif |
52 | | |
53 | | /** Same as celt_alloc(), except that the area is only needed inside a CELT call (might cause problem with wideband though) */ |
54 | | #ifndef OVERRIDE_OPUS_ALLOC_SCRATCH |
55 | | static OPUS_INLINE void *opus_alloc_scratch (size_t size) |
56 | 0 | { |
57 | 0 | /* Scratch space doesn't need to be cleared */ |
58 | 0 | return opus_alloc(size); |
59 | 0 | } Unexecuted instantiation: celt.c:opus_alloc_scratch Unexecuted instantiation: celt_decoder.c:opus_alloc_scratch Unexecuted instantiation: celt_encoder.c:opus_alloc_scratch Unexecuted instantiation: celt_lpc_sse4_1.c:opus_alloc_scratch Unexecuted instantiation: pitch_sse.c:opus_alloc_scratch Unexecuted instantiation: pitch_sse2.c:opus_alloc_scratch Unexecuted instantiation: pitch_sse4_1.c:opus_alloc_scratch Unexecuted instantiation: vq_sse2.c:opus_alloc_scratch Unexecuted instantiation: Unified_c_media_libopus0.c:opus_alloc_scratch Unexecuted instantiation: Unified_c_media_libopus2.c:opus_alloc_scratch Unexecuted instantiation: Unified_c_media_libopus7.c:opus_alloc_scratch Unexecuted instantiation: Unified_c_media_libopus8.c:opus_alloc_scratch |
60 | | #endif |
61 | | |
62 | | /** Opus wrapper for free(). To do your own dynamic allocation, all you need to do is replace this function and opus_alloc */ |
63 | | #ifndef OVERRIDE_OPUS_FREE |
64 | | static OPUS_INLINE void opus_free (void *ptr) |
65 | 0 | { |
66 | 0 | free(ptr); |
67 | 0 | } Unexecuted instantiation: celt.c:opus_free Unexecuted instantiation: celt_decoder.c:opus_free Unexecuted instantiation: celt_encoder.c:opus_free Unexecuted instantiation: celt_lpc_sse4_1.c:opus_free Unexecuted instantiation: pitch_sse.c:opus_free Unexecuted instantiation: pitch_sse2.c:opus_free Unexecuted instantiation: pitch_sse4_1.c:opus_free Unexecuted instantiation: vq_sse2.c:opus_free Unexecuted instantiation: Unified_c_media_libopus0.c:opus_free Unexecuted instantiation: Unified_c_media_libopus2.c:opus_free Unexecuted instantiation: Unified_c_media_libopus7.c:opus_free Unexecuted instantiation: Unified_c_media_libopus8.c:opus_free |
68 | | #endif |
69 | | |
70 | | /** Copy n elements from src to dst. The 0* term provides compile-time type checking */ |
71 | | #ifndef OVERRIDE_OPUS_COPY |
72 | 0 | #define OPUS_COPY(dst, src, n) (memcpy((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) |
73 | | #endif |
74 | | |
75 | | /** Copy n elements from src to dst, allowing overlapping regions. The 0* term |
76 | | provides compile-time type checking */ |
77 | | #ifndef OVERRIDE_OPUS_MOVE |
78 | 0 | #define OPUS_MOVE(dst, src, n) (memmove((dst), (src), (n)*sizeof(*(dst)) + 0*((dst)-(src)) )) |
79 | | #endif |
80 | | |
81 | | /** Set n elements of dst to zero */ |
82 | | #ifndef OVERRIDE_OPUS_CLEAR |
83 | 0 | #define OPUS_CLEAR(dst, n) (memset((dst), 0, (n)*sizeof(*(dst)))) |
84 | | #endif |
85 | | |
86 | | /*#ifdef __GNUC__ |
87 | | #pragma GCC poison printf sprintf |
88 | | #pragma GCC poison malloc free realloc calloc |
89 | | #endif*/ |
90 | | |
91 | | #endif /* OS_SUPPORT_H */ |
92 | | |