opus-codec 0.0.85 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/es/actions/Client.d.ts +1 -1
  2. package/es/actions/Client.d.ts.map +1 -1
  3. package/es/actions/Client.js +6 -22
  4. package/es/actions/Client.js.map +1 -1
  5. package/es/actions/actions.d.ts +2 -2
  6. package/es/actions/actions.d.ts.map +1 -1
  7. package/es/actions/actions.js +1 -1
  8. package/es/actions/actions.js.map +1 -1
  9. package/es/actions/index.d.ts +1 -1
  10. package/es/actions/index.d.ts.map +1 -1
  11. package/es/actions/index.js +1 -1
  12. package/es/actions/index.js.map +1 -1
  13. package/es/opus/Decoder.d.ts +3 -2
  14. package/es/opus/Decoder.d.ts.map +1 -1
  15. package/es/opus/Decoder.js +8 -5
  16. package/es/opus/Decoder.js.map +1 -1
  17. package/es/opus/Encoder.d.ts +4 -3
  18. package/es/opus/Encoder.d.ts.map +1 -1
  19. package/es/opus/Encoder.js +9 -6
  20. package/es/opus/Encoder.js.map +1 -1
  21. package/es/opus/OpusGettersAndSetters.d.ts +1 -1
  22. package/es/opus/OpusGettersAndSetters.d.ts.map +1 -1
  23. package/es/opus/OpusGettersAndSetters.js +119 -41
  24. package/es/opus/OpusGettersAndSetters.js.map +1 -1
  25. package/es/opus/RingBuffer.d.ts +2 -7
  26. package/es/opus/RingBuffer.d.ts.map +1 -1
  27. package/es/opus/RingBuffer.js +1 -58
  28. package/es/opus/RingBuffer.js.map +1 -1
  29. package/es/opus/constants.d.ts +0 -11
  30. package/es/opus/constants.d.ts.map +1 -1
  31. package/es/opus/constants.js +30 -41
  32. package/es/opus/constants.js.map +1 -1
  33. package/es/opus/index.d.ts +4 -4
  34. package/es/opus/index.d.ts.map +1 -1
  35. package/es/opus/index.js +4 -4
  36. package/es/opus/index.js.map +1 -1
  37. package/es/runtime/Buffer.d.ts +3 -3
  38. package/es/runtime/Buffer.d.ts.map +1 -1
  39. package/es/runtime/Buffer.js.map +1 -1
  40. package/es/runtime/Integer.d.ts +3 -2
  41. package/es/runtime/Integer.d.ts.map +1 -1
  42. package/es/runtime/Integer.js +6 -3
  43. package/es/runtime/Integer.js.map +1 -1
  44. package/es/runtime/ResourcesHolder.d.ts +1 -0
  45. package/es/runtime/ResourcesHolder.d.ts.map +1 -1
  46. package/es/runtime/ResourcesHolder.js +9 -2
  47. package/es/runtime/ResourcesHolder.js.map +1 -1
  48. package/es/runtime/Runtime.d.ts +4 -17
  49. package/es/runtime/Runtime.d.ts.map +1 -1
  50. package/es/runtime/Runtime.js +5 -9
  51. package/es/runtime/Runtime.js.map +1 -1
  52. package/es/runtime/index.d.ts +4 -5
  53. package/es/runtime/index.d.ts.map +1 -1
  54. package/es/runtime/index.js +4 -5
  55. package/es/runtime/index.js.map +1 -1
  56. package/native/index.d.ts +14 -49
  57. package/native/index.js +45 -15
  58. package/native/index.wasm +0 -0
  59. package/opus/Decoder.d.ts +3 -2
  60. package/opus/Decoder.d.ts.map +1 -1
  61. package/opus/Decoder.js +14 -14
  62. package/opus/Decoder.js.map +1 -1
  63. package/opus/Encoder.d.ts +4 -3
  64. package/opus/Encoder.d.ts.map +1 -1
  65. package/opus/Encoder.js +14 -14
  66. package/opus/Encoder.js.map +1 -1
  67. package/opus/OpusGettersAndSetters.d.ts +1 -1
  68. package/opus/OpusGettersAndSetters.d.ts.map +1 -1
  69. package/opus/OpusGettersAndSetters.js +160 -89
  70. package/opus/OpusGettersAndSetters.js.map +1 -1
  71. package/opus/RingBuffer.d.ts +2 -7
  72. package/opus/RingBuffer.d.ts.map +1 -1
  73. package/opus/RingBuffer.js +1 -61
  74. package/opus/RingBuffer.js.map +1 -1
  75. package/opus/constants.d.ts +0 -11
  76. package/opus/constants.d.ts.map +1 -1
  77. package/opus/constants.js +31 -44
  78. package/opus/constants.js.map +1 -1
  79. package/opus/index.d.ts +4 -4
  80. package/opus/index.d.ts.map +1 -1
  81. package/opus/index.js +4 -14
  82. package/opus/index.js.map +1 -1
  83. package/package.json +19 -22
  84. package/runtime/Buffer.d.ts +3 -3
  85. package/runtime/Buffer.d.ts.map +1 -1
  86. package/runtime/Buffer.js +1 -4
  87. package/runtime/Buffer.js.map +1 -1
  88. package/runtime/Integer.d.ts +3 -2
  89. package/runtime/Integer.d.ts.map +1 -1
  90. package/runtime/Integer.js +7 -7
  91. package/runtime/Integer.js.map +1 -1
  92. package/runtime/ResourcesHolder.d.ts +1 -0
  93. package/runtime/ResourcesHolder.d.ts.map +1 -1
  94. package/runtime/ResourcesHolder.js +10 -6
  95. package/runtime/ResourcesHolder.js.map +1 -1
  96. package/runtime/Runtime.d.ts +4 -17
  97. package/runtime/Runtime.d.ts.map +1 -1
  98. package/runtime/Runtime.js +6 -13
  99. package/runtime/Runtime.js.map +1 -1
  100. package/runtime/index.d.ts +4 -5
  101. package/runtime/index.d.ts.map +1 -1
  102. package/runtime/index.js +4 -16
  103. package/runtime/index.js.map +1 -1
  104. package/es/runtime/RuntimeString.d.ts +0 -9
  105. package/es/runtime/RuntimeString.d.ts.map +0 -1
  106. package/es/runtime/RuntimeString.js +0 -42
  107. package/es/runtime/RuntimeString.js.map +0 -1
  108. package/native/index.wasm.map +0 -1
  109. package/native/libopusenc-cmake/src/COPYING +0 -29
  110. package/native/libopusenc-cmake/src/README.md +0 -11
  111. package/native/opus/COPYING +0 -44
  112. package/native/opus/README +0 -161
  113. package/native/opus/README.draft +0 -54
  114. package/native/speexdsp-cmake/src/COPYING +0 -35
  115. package/native/speexdsp-cmake/src/README +0 -3
  116. package/native/speexdsp-cmake/src/README.Trimedia +0 -103
  117. package/native/speexdsp-cmake/src/README.blackfin +0 -22
  118. package/native/speexdsp-cmake/src/README.win32 +0 -11
  119. package/runtime/RuntimeString.d.ts +0 -9
  120. package/runtime/RuntimeString.d.ts.map +0 -1
  121. package/runtime/RuntimeString.js +0 -45
  122. package/runtime/RuntimeString.js.map +0 -1
@@ -1,29 +0,0 @@
1
- Copyright (c) 1994-2013 Xiph.Org Foundation and contributors
2
- Copyright (c) 2017 Jean-Marc Valin
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions
6
- are met:
7
-
8
- - Redistributions of source code must retain the above copyright
9
- notice, this list of conditions and the following disclaimer.
10
-
11
- - Redistributions in binary form must reproduce the above copyright
12
- notice, this list of conditions and the following disclaimer in the
13
- documentation and/or other materials provided with the distribution.
14
-
15
- - Neither the name of the Xiph.Org Foundation nor the names of its
16
- contributors may be used to endorse or promote products derived from
17
- this software without specific prior written permission.
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
23
- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,11 +0,0 @@
1
- # Libopusenc
2
-
3
- The libopusenc libraries provide a high-level API for
4
- encoding .opus files. libopusenc depends only on libopus.
5
-
6
- The library is in very early development.
7
- Please give feedback
8
- in #opus on irc.libera.chat or at opus@xiph.org.
9
-
10
- Programming documentation is available in tree and online at
11
- https://opus-codec.org/docs/
@@ -1,44 +0,0 @@
1
- Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
2
- Jean-Marc Valin, Timothy B. Terriberry,
3
- CSIRO, Gregory Maxwell, Mark Borgerding,
4
- Erik de Castro Lopo
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions
8
- are met:
9
-
10
- - Redistributions of source code must retain the above copyright
11
- notice, this list of conditions and the following disclaimer.
12
-
13
- - Redistributions in binary form must reproduce the above copyright
14
- notice, this list of conditions and the following disclaimer in the
15
- documentation and/or other materials provided with the distribution.
16
-
17
- - Neither the name of Internet Society, IETF or IETF Trust, nor the
18
- names of specific contributors, may be used to endorse or promote
19
- products derived from this software without specific prior written
20
- permission.
21
-
22
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
26
- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
-
34
- Opus is subject to the royalty-free patent licenses which are
35
- specified at:
36
-
37
- Xiph.Org Foundation:
38
- https://datatracker.ietf.org/ipr/1524/
39
-
40
- Microsoft Corporation:
41
- https://datatracker.ietf.org/ipr/1914/
42
-
43
- Broadcom Corporation:
44
- https://datatracker.ietf.org/ipr/1526/
@@ -1,161 +0,0 @@
1
- == Opus audio codec ==
2
-
3
- Opus is a codec for interactive speech and audio transmission over the Internet.
4
-
5
- Opus can handle a wide range of interactive audio applications, including
6
- Voice over IP, videoconferencing, in-game chat, and even remote live music
7
- performances. It can scale from low bit-rate narrowband speech to very high
8
- quality stereo music.
9
-
10
- Opus, when coupled with an appropriate container format, is also suitable
11
- for non-realtime stored-file applications such as music distribution, game
12
- soundtracks, portable music players, jukeboxes, and other applications that
13
- have historically used high latency formats such as MP3, AAC, or Vorbis.
14
-
15
- Opus is specified by IETF RFC 6716:
16
- https://tools.ietf.org/html/rfc6716
17
-
18
- The Opus format and this implementation of it are subject to the royalty-
19
- free patent and copyright licenses specified in the file COPYING.
20
-
21
- This package implements a shared library for encoding and decoding raw Opus
22
- bitstreams. Raw Opus bitstreams should be used over RTP according to
23
- https://tools.ietf.org/html/rfc7587
24
-
25
- The package also includes a number of test tools used for testing the
26
- correct operation of the library. The bitstreams read/written by these
27
- tools should not be used for Opus file distribution: They include
28
- additional debugging data and cannot support seeking.
29
-
30
- Opus stored in files should use the Ogg encapsulation for Opus which is
31
- described at:
32
- https://tools.ietf.org/html/rfc7845
33
-
34
- An opus-tools package is available which provides encoding and decoding of
35
- Ogg encapsulated Opus files and includes a number of useful features.
36
-
37
- Opus-tools can be found at:
38
- https://gitlab.xiph.org/xiph/opus-tools.git
39
- or on the main Opus website:
40
- https://opus-codec.org/
41
-
42
- == Compiling libopus ==
43
-
44
- To build from a distribution tarball, you only need to do the following:
45
-
46
- % ./configure
47
- % make
48
-
49
- To build from the git repository, the following steps are necessary:
50
-
51
- 0) Set up a development environment:
52
-
53
- On an Ubuntu or Debian family Linux distribution:
54
-
55
- % sudo apt-get install git autoconf automake libtool gcc make
56
-
57
- On a Fedora/Redhat based Linux:
58
-
59
- % sudo dnf install git autoconf automake libtool gcc make
60
-
61
- Or for older Redhat/Centos Linux releases:
62
-
63
- % sudo yum install git autoconf automake libtool gcc make
64
-
65
- On Apple macOS, install Xcode and brew.sh, then in the Terminal enter:
66
-
67
- % brew install autoconf automake libtool
68
-
69
- 1) Clone the repository:
70
-
71
- % git clone https://gitlab.xiph.org/xiph/opus.git
72
- % cd opus
73
-
74
- 2) Compiling the source
75
-
76
- % ./autogen.sh
77
- % ./configure
78
- % make
79
-
80
- 3) Install the codec libraries (optional)
81
-
82
- % sudo make install
83
-
84
- Once you have compiled the codec, there will be a opus_demo executable
85
- in the top directory.
86
-
87
- Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
88
- <bits per second> [options] <input> <output>
89
- opus_demo -d <sampling rate (Hz)> <channels (1/2)> [options]
90
- <input> <output>
91
-
92
- mode: voip | audio | restricted-lowdelay
93
- options:
94
- -e : only runs the encoder (output the bit-stream)
95
- -d : only runs the decoder (reads the bit-stream as input)
96
- -cbr : enable constant bitrate; default: variable bitrate
97
- -cvbr : enable constrained variable bitrate; default:
98
- unconstrained
99
- -bandwidth <NB|MB|WB|SWB|FB>
100
- : audio bandwidth (from narrowband to fullband);
101
- default: sampling rate
102
- -framesize <2.5|5|10|20|40|60>
103
- : frame size in ms; default: 20
104
- -max_payload <bytes>
105
- : maximum payload size in bytes, default: 1024
106
- -complexity <comp>
107
- : complexity, 0 (lowest) ... 10 (highest); default: 10
108
- -inbandfec : enable SILK inband FEC
109
- -forcemono : force mono encoding, even for stereo input
110
- -dtx : enable SILK DTX
111
- -loss <perc> : simulate packet loss, in percent (0-100); default: 0
112
-
113
- input and output are little-endian signed 16-bit PCM files or opus
114
- bitstreams with simple opus_demo proprietary framing.
115
-
116
- == Testing ==
117
-
118
- This package includes a collection of automated unit and system tests
119
- which SHOULD be run after compiling the package especially the first
120
- time it is run on a new platform.
121
-
122
- To run the integrated tests:
123
-
124
- % make check
125
-
126
- There is also collection of standard test vectors which are not
127
- included in this package for size reasons but can be obtained from:
128
- https://opus-codec.org/docs/opus_testvectors-rfc8251.tar.gz
129
-
130
- To run compare the code to these test vectors:
131
-
132
- % curl -OL https://opus-codec.org/docs/opus_testvectors-rfc8251.tar.gz
133
- % tar -zxf opus_testvectors-rfc8251.tar.gz
134
- % ./tests/run_vectors.sh ./ opus_newvectors 48000
135
-
136
- == Portability notes ==
137
-
138
- This implementation uses floating-point by default but can be compiled to
139
- use only fixed-point arithmetic by setting --enable-fixed-point (if using
140
- autoconf) or by defining the FIXED_POINT macro (if building manually).
141
- The fixed point implementation has somewhat lower audio quality and is
142
- slower on platforms with fast FPUs, it is normally only used in embedded
143
- environments.
144
-
145
- The implementation can be compiled with either a C89 or a C99 compiler.
146
- While it does not rely on any _undefined behavior_ as defined by C89 or
147
- C99, it relies on common _implementation-defined behavior_ for two's
148
- complement architectures:
149
-
150
- o Right shifts of negative values are consistent with two's
151
- complement arithmetic, so that a>>b is equivalent to
152
- floor(a/(2^b)),
153
-
154
- o For conversion to a signed integer of N bits, the value is reduced
155
- modulo 2^N to be within range of the type,
156
-
157
- o The result of integer division of a negative value is truncated
158
- towards zero, and
159
-
160
- o The compiler provides a 64-bit integer type (a C99 requirement
161
- which is supported by most C89 compilers).
@@ -1,54 +0,0 @@
1
- To build this source code, simply type:
2
-
3
- % make
4
-
5
- If this does not work, or if you want to change the default configuration
6
- (e.g., to compile for a fixed-point architecture), simply edit the options
7
- in the Makefile.
8
-
9
- An up-to-date implementation conforming to this standard is available in a
10
- Git repository at https://gitlab.xiph.org/xiph/opus.git or on a website at:
11
- https://opus-codec.org/
12
- However, although that implementation is expected to remain conformant
13
- with the standard, it is the code in this RFC that shall remain normative.
14
- To build from the git repository instead of using this RFC, follow these
15
- steps:
16
-
17
- 1) Clone the repository (latest implementation of this standard at the time
18
- of publication)
19
-
20
- % git clone https://gitlab.xiph.org/xiph/opus.git
21
- % cd opus
22
-
23
- 2) Compile
24
-
25
- % ./autogen.sh
26
- % ./configure
27
- % make
28
-
29
- Once you have compiled the codec, there will be a opus_demo executable in
30
- the top directory.
31
-
32
- Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
33
- <bits per second> [options] <input> <output>
34
- opus_demo -d <sampling rate (Hz)> <channels (1/2)> [options]
35
- <input> <output>
36
-
37
- mode: voip | audio | restricted-lowdelay
38
- options:
39
- -e : only runs the encoder (output the bit-stream)
40
- -d : only runs the decoder (reads the bit-stream as input)
41
- -cbr : enable constant bitrate; default: variable bitrate
42
- -cvbr : enable constrained variable bitrate; default: unconstrained
43
- -bandwidth <NB|MB|WB|SWB|FB> : audio bandwidth (from narrowband to fullband);
44
- default: sampling rate
45
- -framesize <2.5|5|10|20|40|60> : frame size in ms; default: 20
46
- -max_payload <bytes> : maximum payload size in bytes, default: 1024
47
- -complexity <comp> : complexity, 0 (lowest) ... 10 (highest); default: 10
48
- -inbandfec : enable SILK inband FEC
49
- -forcemono : force mono encoding, even for stereo input
50
- -dtx : enable SILK DTX
51
- -loss <perc> : simulate packet loss, in percent (0-100); default: 0
52
-
53
- input and output are little endian signed 16-bit PCM files or opus bitstreams
54
- with simple opus_demo proprietary framing.
@@ -1,35 +0,0 @@
1
- Copyright 2002-2008 Xiph.org Foundation
2
- Copyright 2002-2008 Jean-Marc Valin
3
- Copyright 2005-2007 Analog Devices Inc.
4
- Copyright 2005-2008 Commonwealth Scientific and Industrial Research
5
- Organisation (CSIRO)
6
- Copyright 1993, 2002, 2006 David Rowe
7
- Copyright 2003 EpicGames
8
- Copyright 1992-1994 Jutta Degener, Carsten Bormann
9
-
10
- Redistribution and use in source and binary forms, with or without
11
- modification, are permitted provided that the following conditions
12
- are met:
13
-
14
- - Redistributions of source code must retain the above copyright
15
- notice, this list of conditions and the following disclaimer.
16
-
17
- - Redistributions in binary form must reproduce the above copyright
18
- notice, this list of conditions and the following disclaimer in the
19
- documentation and/or other materials provided with the distribution.
20
-
21
- - Neither the name of the Xiph.org Foundation nor the names of its
22
- contributors may be used to endorse or promote products derived from
23
- this software without specific prior written permission.
24
-
25
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
29
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,3 +0,0 @@
1
- See INSTALL file for instructions on how to install SpeexDSP.
2
-
3
- SpeexDSP is a patent-free, Open Source/Free Software DSP library.
@@ -1,103 +0,0 @@
1
- ################# REMOVE warnings on trimedia compiler ##############################
2
- ################# Not critical to compilation ##############################
3
-
4
- 1. Change the following statements to remove warning for constant expression
5
- (i) mdf.c [if(0) --> #if 0]
6
- (ii) preprocess.c [if(1) --> #if 1]
7
-
8
- 2. add REMARK_ON macro to remove warning on not reference variable
9
- -- uses (void)<variable> to remove warning on not referenced variable
10
- -- #define REMARK_ON
11
- -- (void)<variable>
12
- -- #endif
13
- -- search for REMARK_ON on the following files
14
- (i) jitter.c
15
- (ii) mdf.c
16
- (iii) filterbank.c
17
- (iv) preprocess.c
18
-
19
- 3. commented out the following in pseudofloat.h for unused variable
20
- //static const spx_float_t FLOAT_HALF = {16384,-15};
21
-
22
- ################# Patches for trimedia compiler ##############################
23
- ################# Critical to compilation ##############################
24
-
25
- -- added the #elif defined (TM_ASM) to the following files for optimized codes
26
- (1) arch.h
27
- (2) fftwrap.c
28
- (3) filterbank.c
29
- (4) kiss_fft.c
30
- (5) kiss_fftr.c
31
- (6) mdf.c
32
- (7) preprocess.c
33
-
34
- -- added macro PREPROCESS_MDF_FLOAT to allow using of floating point
35
- -- in mdf and preprocess while keeping fixed point in encoder/decoder
36
- -- This is due to the fact that preprocess/mdf run faster on floating
37
- -- point on trimedia
38
- -- added the following 3 lines to the files below
39
- #ifdef PREPROCESS_MDF_FLOAT
40
- #undef FIXED_POINT
41
- #endif
42
- (1) mdf.c
43
- (2) preprocess.c
44
- (3) filterbank.c
45
- (4) fftwrap.c
46
- (5) kiss_fft.c
47
- (6) kiss_fftr.c
48
-
49
- -- created a new USE_COMPACT_KISS_FFT for fftwrap.c and shifted defination
50
- -- to config file so that user configure the usage of fft on config.h
51
- -- TOEXPLORE:is it possible to share table between mdf/preprocess?
52
- -- Introducing this macro made the following changes in C code
53
- -- New macro to facilitate integration
54
- (grouping real/complex for dc and nyquist frequency seems to require a large
55
- amount of memory for mdf, therefore did not made the changes for that)
56
- (1) modify preprocess.c on init and destroy
57
- (2) modify mdf.c on init and destroy
58
- (3) shifted power_spectrum to fftwrap.c to share optimised code between
59
- preprocess.c and mdf.c
60
-
61
- ################# NOTES ##############################
62
- (1) fixed point encoding/decoding is tested on narrowband
63
- - some of the QX fractions are packed together to
64
- (frac1 * a + frac2 * a) >> X (should be more accurate in rounding)
65
- instead of
66
- ((frac1 * a) >> X) + ((frac2 * a) >> X)
67
- will cause some different between optimized and unoptimized code.
68
- tried decoding/encoding optimized code on some audio files retains
69
- the clearity of the word
70
-
71
- - wideband/ultrawideband is not heavily tested yet
72
-
73
- (2) optimized fixed point code requires memory alignment
74
- - used config to debug on functions where memory is not align
75
-
76
- (3) floating point optimization for preprocess/mdf is tested
77
- fixed point is not tested yet (except fft/filterbank)
78
- Note (1) also applies to sround in fft for fixed point
79
- some optimization is provided for fixed point as it requires lesser
80
- memory compared to floating point.
81
-
82
- (4) unroll configurations provided to reduce code size if required
83
-
84
- (5) use profile options only if compiler profiling fails to work
85
-
86
- (6) can't include the makefile as it is close proprietary
87
-
88
- ################# TODO:For Trimedia ##############################
89
- (1) Optimizations for fixed point in mdf/preprocess
90
-
91
- ################# Added Files ##############################
92
- - _kiss_fft_guts_tm.h
93
- - fftwrap_tm.h
94
- - filterbank_tm.h
95
- - filters_tm.h
96
- - fixed_tm.h
97
- - kiss_fft_tm.h
98
- - kiss_fftr_tm.h
99
- - mdf_tm.h
100
- - misc_tm.h
101
- - preprocess_tm.h
102
- - config.h
103
- - speex_config_types.h
@@ -1,22 +0,0 @@
1
- SpeexDSP has been ported to the Blackfin DSP, for the STAMP development board.
2
-
3
- This port has been tested on the STAMP development board and requires the
4
- toolchain available at http://blackfin.uclinux.org/
5
-
6
- 1/ In order to cross-compile for uClinux from the SpeexDSP tarball:
7
-
8
- ./configure --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux
9
- cd libspeexdsp
10
- make
11
-
12
- The --enable-blackfin-asm option is not required, but it speeds up Speex by
13
- approximately a factor of two.
14
-
15
- 2/ In order to cross-compile for uClinux from the SpeexDSP git:
16
-
17
- git clone git://git.xiph.org/speexdsp.git
18
- cd speexdsp
19
- ./autogen.sh
20
- ./configure --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux
21
- cd libspeexdsp
22
- make
@@ -1,11 +0,0 @@
1
- Win32 Specific options
2
-
3
- In order to enable the following options within SpeexDSP, you will need to manually edit the project options for the appropriate VC configuration. These macros can be specified by adding them as "Preprocessor Definitions" under the appropriate Configuration's project options. If you don't know how to do this, please check your Visual C documentation.
4
-
5
- Feature:
6
-
7
- Intel Streaming SIMD Extensions - SSE - macro: USE_SSE
8
- Fixed point - macro: FIXED_POINT
9
- Epic 48 - macro: EPIC_48K
10
-
11
- Note: USE_SSE and FIXED_POINT are mutually exclusive.
@@ -1,9 +0,0 @@
1
- import Runtime from './Runtime';
2
- export default class RuntimeString {
3
- #private;
4
- constructor(runtime: Runtime);
5
- set(value: Uint8Array): number;
6
- offset(): number | null;
7
- read(): Uint8Array | null;
8
- }
9
- //# sourceMappingURL=RuntimeString.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RuntimeString.d.ts","sourceRoot":"","sources":["RuntimeString.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAa;;gBAMX,OAAO,EAAE,OAAO;IAI5B,GAAG,CAAC,KAAK,EAAE,UAAU;IAqBrB,MAAM;IAGN,IAAI,IAAI,UAAU,GAAG,IAAI;CAWnC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class RuntimeString {
4
- #runtime;
5
- #value;
6
- constructor(runtime) {
7
- this.#runtime = runtime;
8
- this.#value = null;
9
- }
10
- set(value) {
11
- if (this.#value === null || this.#value.size - 1 < value.byteLength) {
12
- if (this.#value !== null) {
13
- this.#runtime.free(this.#value.offset);
14
- this.#value = null;
15
- }
16
- this.#value = {
17
- offset: this.#runtime.malloc(value.byteLength),
18
- size: (value.byteLength + 1) * 2,
19
- };
20
- }
21
- const view = this.#runtime
22
- .originalRuntime()
23
- .HEAPU8.subarray(this.#value.offset, this.#value.offset + value.byteLength + 1);
24
- view.set(value);
25
- view[view.byteLength - 1] = 0;
26
- return this.#value.offset;
27
- }
28
- offset() {
29
- return this.#value?.offset ?? null;
30
- }
31
- read() {
32
- if (this.#value === null)
33
- return null;
34
- const view = this.#runtime
35
- .originalRuntime()
36
- .HEAPU8.subarray(this.#value.offset);
37
- let i = 0;
38
- while (i < view.byteLength && view[i] !== 0) {
39
- i++;
40
- }
41
- return view.subarray(0, i);
42
- }
43
- }
44
- exports.default = RuntimeString;
45
- //# sourceMappingURL=RuntimeString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RuntimeString.js","sourceRoot":"","sources":["RuntimeString.ts"],"names":[],"mappings":";;AAEA,MAAqB,aAAa;IACrB,QAAQ,CAAU;IAC3B,MAAM,CAGG;IACT,YAAmB,OAAgB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IACM,GAAG,CAAC,KAAiB;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE;YACjE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACtB;YACD,IAAI,CAAC,MAAM,GAAG;gBACV,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9C,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;aACnC,CAAC;SACL;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;aACrB,eAAe,EAAE;aACjB,MAAM,CAAC,QAAQ,CACZ,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAC5C,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IACM,MAAM;QACT,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IACvC,CAAC;IACM,IAAI;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;aACrB,eAAe,EAAE;aACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACzC,CAAC,EAAE,CAAC;SACP;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;CACJ;AA7CD,gCA6CC"}