Compare commits

...

9 Commits

Author SHA1 Message Date
Infinity 832f310be7
Merge a9f6935aae into 492a5beba4 2024-04-17 16:07:49 -07:00
Earle F. Philhower, III 492a5beba4
Update GH CI actions to latest (#681) 2024-04-17 10:22:17 -07:00
Earle F. Philhower, III 89a5a07712
Get ESP32 CI builds working again (#680) 2024-04-17 10:11:03 -07:00
Earle F. Philhower, III b3c41668a2
Fix GCC12.3 new warnings for RP2040 (#679)
* Fix GCC12.3 new warnings for RP2040

* Remove OPUS encoder, not supported on embedded
2024-04-16 16:32:16 -07:00
Earle F. Philhower, III 139fba4116
Update opusfile.c (#678) 2024-04-16 15:14:14 -07:00
Earle F. Philhower, III b7d89058dd
Update polyphase.c 2024-04-16 15:11:31 -07:00
Earle F. Philhower, III e306df208c
Update AudioOutputSPDIF.h 2024-04-16 15:10:49 -07:00
Earle F. Philhower, III f6c0d562f8
Update AudioOutputSPDIF.cpp (#677) 2024-04-16 15:10:24 -07:00
Infinity a9f6935aae
Update AudioGeneratorRTTTL.cpp 2024-03-09 03:07:18 +08:00
15 changed files with 133 additions and 116 deletions

View File

@ -20,10 +20,10 @@ jobs:
matrix: matrix:
chunk: [0, 1, 2, 3, 4] chunk: [0, 1, 2, 3, 4]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: actions/setup-python@v2 - uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
- name: Build Sketches - name: Build Sketches
@ -43,10 +43,10 @@ jobs:
matrix: matrix:
chunk: [0, 1, 2, 3, 4] chunk: [0, 1, 2, 3, 4]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: actions/setup-python@v2 - uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
- name: Build Sketches - name: Build Sketches
@ -66,10 +66,10 @@ jobs:
matrix: matrix:
chunk: [0, 1, 2, 3, 4] chunk: [0, 1, 2, 3, 4]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: actions/setup-python@v2 - uses: actions/setup-python@v4
with: with:
python-version: '3.x' python-version: '3.x'
- name: Build Sketches - name: Build Sketches
@ -87,10 +87,10 @@ jobs:
name: Host tests name: Host tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: actions/setup-python@v2 - uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
- name: Run host tests - name: Run host tests
@ -115,7 +115,7 @@ jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- uses: arduino/arduino-lint-action@v1 - uses: arduino/arduino-lint-action@v1
with: with:
library-manager: 'update' library-manager: 'update'
@ -128,7 +128,7 @@ jobs:
run: run:
shell: bash shell: bash
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: Run codespell - name: Run codespell

View File

@ -196,7 +196,7 @@ char AudioGeneratorFLAC::error_cb_str[64];
void AudioGeneratorFLAC::error_cb(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status) void AudioGeneratorFLAC::error_cb(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status)
{ {
(void) decoder; (void) decoder;
strncpy_P(error_cb_str, FLAC__StreamDecoderErrorStatusString[status], 64); strncpy_P(error_cb_str, FLAC__StreamDecoderErrorStatusString[status], sizeof(AudioGeneratorFLAC::error_cb_str) - 1);
cb.st((int)status, error_cb_str); cb.st((int)status, error_cb_str);
} }

View File

@ -236,13 +236,13 @@ bool AudioGeneratorRTTTL::GetNextNote()
ptr++; ptr++;
note++; note++;
} }
if (!ReadInt(&scale)) {
scale = defaultOctave;
}
if ((ptr < len) && (buff[ptr] == '.')) { if ((ptr < len) && (buff[ptr] == '.')) {
ptr++; ptr++;
dur += dur / 2; dur += dur / 2;
} }
if (!ReadInt(&scale)) {
scale = defaultOctave;
}
// Eat any trailing whitespace and comma // Eat any trailing whitespace and comma
SkipWhitespace(); SkipWhitespace();
if ((ptr < len) && (buff[ptr]==',')) { if ((ptr < len) && (buff[ptr]==',')) {

View File

@ -7,7 +7,7 @@
See: https://www.epanorama.net/documents/audio/spdif.html See: https://www.epanorama.net/documents/audio/spdif.html
Original idea and sources: Original idea and sources:
Forum thread dicussing implementation Forum thread discussing implementation
https://forum.pjrc.com/threads/28639-S-pdif https://forum.pjrc.com/threads/28639-S-pdif
Teensy Audio Library Teensy Audio Library
https://github.com/PaulStoffregen/Audio/blob/master/output_spdif2.cpp https://github.com/PaulStoffregen/Audio/blob/master/output_spdif2.cpp

View File

@ -7,7 +7,7 @@
See: https://www.epanorama.net/documents/audio/spdif.html See: https://www.epanorama.net/documents/audio/spdif.html
Original idea and sources: Original idea and sources:
Forum thread dicussing implementation Forum thread discussing implementation
https://forum.pjrc.com/threads/28639-S-pdif https://forum.pjrc.com/threads/28639-S-pdif
Teensy Audio Library Teensy Audio Library
https://github.com/PaulStoffregen/Audio/blob/master/output_spdif2.cpp https://github.com/PaulStoffregen/Audio/blob/master/output_spdif2.cpp

View File

@ -54,7 +54,7 @@
* (see comment on Dequantize() for more info) * (see comment on Dequantize() for more info)
*/ */
#define DEF_NFRACBITS (DQ_FRACBITS_OUT - 2 - 2 - 15) #define DEF_NFRACBITS (DQ_FRACBITS_OUT - 2 - 2 - 15)
#define CSHIFT 12 /* coefficients have 12 leading sign bits for early-terminating mulitplies */ #define CSHIFT 12 /* coefficients have 12 leading sign bits for early-terminating multiplies */
static __inline short ClipToShort(int x, int fracBits) static __inline short ClipToShort(int x, int fracBits)
{ {

View File

@ -352,19 +352,18 @@ struct fixedfloat {
root_table[3 + x] = 2^(x/4) root_table[3 + x] = 2^(x/4)
*/ */
static mad_fixed_t const root_table_val[7] PROGMEM = {
MAD_F(0x09837f05) /* 2^(-3/4) == 0.59460355750136 */,
MAD_F(0x0b504f33) /* 2^(-2/4) == 0.70710678118655 */,
MAD_F(0x0d744fcd) /* 2^(-1/4) == 0.84089641525371 */,
MAD_F(0x10000000) /* 2^( 0/4) == 1.00000000000000 */,
MAD_F(0x1306fe0a) /* 2^(+1/4) == 1.18920711500272 */,
MAD_F(0x16a09e66) /* 2^(+2/4) == 1.41421356237310 */,
MAD_F(0x1ae89f99) /* 2^(+3/4) == 1.68179283050743 */
};
static inline mad_fixed_t root_table(int i) static inline mad_fixed_t root_table(int i)
{ {
static mad_fixed_t const root_table_val[7] PROGMEM = { return root_table_val[i];
MAD_F(0x09837f05) /* 2^(-3/4) == 0.59460355750136 */,
MAD_F(0x0b504f33) /* 2^(-2/4) == 0.70710678118655 */,
MAD_F(0x0d744fcd) /* 2^(-1/4) == 0.84089641525371 */,
MAD_F(0x10000000) /* 2^( 0/4) == 1.00000000000000 */,
MAD_F(0x1306fe0a) /* 2^(+1/4) == 1.18920711500272 */,
MAD_F(0x16a09e66) /* 2^(+2/4) == 1.41421356237310 */,
MAD_F(0x1ae89f99) /* 2^(+3/4) == 1.68179283050743 */
};
volatile uint32_t a = *(uint32_t*)&root_table_val[i];
return *(mad_fixed_t*)&a;
} }
/* /*
coefficients for aliasing reduction coefficients for aliasing reduction
@ -374,28 +373,26 @@ static inline mad_fixed_t root_table(int i)
cs[i] = 1 / sqrt(1 + c[i]^2) cs[i] = 1 / sqrt(1 + c[i]^2)
ca[i] = c[i] / sqrt(1 + c[i]^2) ca[i] = c[i] / sqrt(1 + c[i]^2)
*/ */
static mad_fixed_t const cs_val[8] PROGMEM = {
+MAD_F(0x0db84a81) /* +0.857492926 */, +MAD_F(0x0e1b9d7f) /* +0.881741997 */,
+MAD_F(0x0f31adcf) /* +0.949628649 */, +MAD_F(0x0fbba815) /* +0.983314592 */,
+MAD_F(0x0feda417) /* +0.995517816 */, +MAD_F(0x0ffc8fc8) /* +0.999160558 */,
+MAD_F(0x0fff964c) /* +0.999899195 */, +MAD_F(0x0ffff8d3) /* +0.999993155 */
};
static inline mad_fixed_t cs(int i) static inline mad_fixed_t cs(int i)
{ {
static mad_fixed_t const cs_val[8] PROGMEM = { return cs_val[i];
+MAD_F(0x0db84a81) /* +0.857492926 */, +MAD_F(0x0e1b9d7f) /* +0.881741997 */,
+MAD_F(0x0f31adcf) /* +0.949628649 */, +MAD_F(0x0fbba815) /* +0.983314592 */,
+MAD_F(0x0feda417) /* +0.995517816 */, +MAD_F(0x0ffc8fc8) /* +0.999160558 */,
+MAD_F(0x0fff964c) /* +0.999899195 */, +MAD_F(0x0ffff8d3) /* +0.999993155 */
};
volatile uint32_t a = *(uint32_t*)&cs_val[i];
return *(mad_fixed_t*)&a;
} }
static mad_fixed_t const ca_val[8] PROGMEM = {
-MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */,
-MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */,
-MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */,
-MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */
};
static inline mad_fixed_t ca(int i) static inline mad_fixed_t ca(int i)
{ {
static mad_fixed_t const ca_val[8] PROGMEM = { return ca_val[i];
-MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */,
-MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */,
-MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */,
-MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */
};
volatile uint32_t a = *(uint32_t*)&ca_val[i];
return *(mad_fixed_t*)&a;
} }
/* /*
@ -417,32 +414,31 @@ mad_fixed_t const imdct_s[6][6] PROGMEM = {
window_l[i] = sin((PI / 36) * (i + 1/2)) window_l[i] = sin((PI / 36) * (i + 1/2))
*/ */
static mad_fixed_t const window_l_val[36] PROGMEM = {
MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */,
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */,
MAD_F(0x0898c779) /* 0.537299608 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
MAD_F(0x0acf37ad) /* 0.675590208 */, MAD_F(0x0bcbe352) /* 0.737277337 */,
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x0d7e8807) /* 0.843391446 */,
MAD_F(0x0e313245) /* 0.887010833 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
MAD_F(0x0f426cb5) /* 0.953716951 */, MAD_F(0x0f9ee890) /* 0.976296007 */,
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ffc19fd) /* 0.999048222 */,
MAD_F(0x0ffc19fd) /* 0.999048222 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
MAD_F(0x0f9ee890) /* 0.976296007 */, MAD_F(0x0f426cb5) /* 0.953716951 */,
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0e313245) /* 0.887010833 */,
MAD_F(0x0d7e8807) /* 0.843391446 */, MAD_F(0x0cb19346) /* 0.793353340 */,
MAD_F(0x0bcbe352) /* 0.737277337 */, MAD_F(0x0acf37ad) /* 0.675590208 */,
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0898c779) /* 0.537299608 */,
MAD_F(0x07635284) /* 0.461748613 */, MAD_F(0x061f78aa) /* 0.382683432 */,
MAD_F(0x04cfb0e2) /* 0.300705800 */, MAD_F(0x03768962) /* 0.216439614 */,
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x00b2aa3e) /* 0.043619387 */,
};
static inline mad_fixed_t window_l(int i) static inline mad_fixed_t window_l(int i)
{ {
static mad_fixed_t const window_l_val[36] PROGMEM = { return window_l_val[i];
MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */,
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */,
MAD_F(0x0898c779) /* 0.537299608 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
MAD_F(0x0acf37ad) /* 0.675590208 */, MAD_F(0x0bcbe352) /* 0.737277337 */,
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x0d7e8807) /* 0.843391446 */,
MAD_F(0x0e313245) /* 0.887010833 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
MAD_F(0x0f426cb5) /* 0.953716951 */, MAD_F(0x0f9ee890) /* 0.976296007 */,
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ffc19fd) /* 0.999048222 */,
MAD_F(0x0ffc19fd) /* 0.999048222 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
MAD_F(0x0f9ee890) /* 0.976296007 */, MAD_F(0x0f426cb5) /* 0.953716951 */,
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0e313245) /* 0.887010833 */,
MAD_F(0x0d7e8807) /* 0.843391446 */, MAD_F(0x0cb19346) /* 0.793353340 */,
MAD_F(0x0bcbe352) /* 0.737277337 */, MAD_F(0x0acf37ad) /* 0.675590208 */,
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0898c779) /* 0.537299608 */,
MAD_F(0x07635284) /* 0.461748613 */, MAD_F(0x061f78aa) /* 0.382683432 */,
MAD_F(0x04cfb0e2) /* 0.300705800 */, MAD_F(0x03768962) /* 0.216439614 */,
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x00b2aa3e) /* 0.043619387 */,
};
volatile uint32_t a = *(uint32_t*)&window_l_val[i];
return *(mad_fixed_t*)&a;
} }
# endif /* ASO_IMDCT */ # endif /* ASO_IMDCT */
@ -452,18 +448,17 @@ static inline mad_fixed_t window_l(int i)
window_s[i] = sin((PI / 12) * (i + 1/2)) window_s[i] = sin((PI / 12) * (i + 1/2))
*/ */
static mad_fixed_t const window_s_val[12] PROGMEM = {
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */,
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */,
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
};
static inline mad_fixed_t window_s(int i) static inline mad_fixed_t window_s(int i)
{ {
static mad_fixed_t const window_s_val[12] PROGMEM = { return window_s_val[i];
MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */,
MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */,
MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */,
MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */,
MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
};
volatile uint32_t a = *(uint32_t*)&window_s_val[i];
return *(mad_fixed_t*)&a;
} }
/* /*
@ -473,19 +468,18 @@ static inline mad_fixed_t window_s(int i)
is_ratio[i] = tan(i * (PI / 12)) is_ratio[i] = tan(i * (PI / 12))
is_table[i] = is_ratio[i] / (1 + is_ratio[i]) is_table[i] = is_ratio[i] / (1 + is_ratio[i])
*/ */
static mad_fixed_t const is_table_val[7] PROGMEM = {
MAD_F(0x00000000) /* 0.000000000 */,
MAD_F(0x0361962f) /* 0.211324865 */,
MAD_F(0x05db3d74) /* 0.366025404 */,
MAD_F(0x08000000) /* 0.500000000 */,
MAD_F(0x0a24c28c) /* 0.633974596 */,
MAD_F(0x0c9e69d1) /* 0.788675135 */,
MAD_F(0x10000000) /* 1.000000000 */
};
static inline mad_fixed_t is_table(int i) static inline mad_fixed_t is_table(int i)
{ {
static mad_fixed_t const is_table_val[7] PROGMEM = { return is_table_val[i];
MAD_F(0x00000000) /* 0.000000000 */,
MAD_F(0x0361962f) /* 0.211324865 */,
MAD_F(0x05db3d74) /* 0.366025404 */,
MAD_F(0x08000000) /* 0.500000000 */,
MAD_F(0x0a24c28c) /* 0.633974596 */,
MAD_F(0x0c9e69d1) /* 0.788675135 */,
MAD_F(0x10000000) /* 1.000000000 */
};
volatile uint32_t a = *(uint32_t*)&is_table_val[i];
return *(mad_fixed_t*)&a;
} }
/* /*
@ -1739,7 +1733,10 @@ void sdctII(mad_fixed_t const x[18], mad_fixed_t X[18])
s = *(volatile mad_fixed_t*)(volatile uint32_t*)&scale[i + 2]; tmp[i + 2] = mad_f_mul(x[i + 2] - x[18 - (i + 2) - 1], s); //scale[i + 2]); s = *(volatile mad_fixed_t*)(volatile uint32_t*)&scale[i + 2]; tmp[i + 2] = mad_f_mul(x[i + 2] - x[18 - (i + 2) - 1], s); //scale[i + 2]);
} }
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
fastsdct(tmp, &X[1]); fastsdct(tmp, &X[1]);
#pragma GCC diagnostic pop
/* output accumulation */ /* output accumulation */

View File

@ -24,7 +24,7 @@
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#if 0
//#ifdef HAVE_CONFIG_H //#ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
//#endif //#endif
@ -2781,3 +2781,4 @@ void opus_encoder_destroy(OpusEncoder *st)
{ {
opus_free(st); opus_free(st);
} }
#endif

View File

@ -24,7 +24,7 @@
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#if 0
//#ifdef HAVE_CONFIG_H //#ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
//#endif //#endif
@ -1326,3 +1326,4 @@ void opus_multistream_encoder_destroy(OpusMSEncoder *st)
{ {
opus_free(st); opus_free(st);
} }
#endif

View File

@ -24,7 +24,7 @@
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#if 0
//#ifdef HAVE_CONFIG_H //#ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
//#endif //#endif
@ -465,4 +465,4 @@ bad_arg:
va_end(ap); va_end(ap);
return OPUS_BAD_ARG; return OPUS_BAD_ARG;
} }
#endif

View File

@ -62,6 +62,8 @@ static OPUS_INLINE void silk_NLSF2A_find_poly(
} }
} }
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
/* compute whitening filter coefficients from normalized line spectral frequencies */ /* compute whitening filter coefficients from normalized line spectral frequencies */
void silk_NLSF2A( void silk_NLSF2A(
opus_int16 *a_Q12, /* O monic whitening filter coefficients in Q12, [ d ] */ opus_int16 *a_Q12, /* O monic whitening filter coefficients in Q12, [ d ] */
@ -143,4 +145,4 @@ void silk_NLSF2A(
free(Q); free(Q);
free(a32_QA1); free(a32_QA1);
} }
#pragma GCC diagnostic pop

View File

@ -24,6 +24,7 @@ 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 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
***********************************************************************/ ***********************************************************************/
#if 0
//#ifdef HAVE_CONFIG_H //#ifdef HAVE_CONFIG_H
#include "../config.h" #include "../config.h"
@ -574,3 +575,4 @@ opus_int silk_Encode( /* O Returns error co
return ret; return ret;
} }
#endif

View File

@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
#include "../../celt/stack_alloc.h" #include "../../celt/stack_alloc.h"
#include "../tuning_parameters.h" #include "../tuning_parameters.h"
#if 0
/* Low Bitrate Redundancy (LBRR) encoding. Reuse all parameters but encode with lower bitrate */ /* Low Bitrate Redundancy (LBRR) encoding. Reuse all parameters but encode with lower bitrate */
static OPUS_INLINE void silk_LBRR_encode_FIX( static OPUS_INLINE void silk_LBRR_encode_FIX(
silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk FIX encoder state */ silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk FIX encoder state */
@ -446,3 +447,4 @@ static OPUS_INLINE void silk_LBRR_encode_FIX(
silk_memcpy( psEncCtrl->Gains_Q16, TempGains_Q16, psEnc->sCmn.nb_subfr * sizeof( opus_int32 ) ); silk_memcpy( psEncCtrl->Gains_Q16, TempGains_Q16, psEnc->sCmn.nb_subfr * sizeof( opus_int32 ) );
} }
} }
#endif

View File

@ -1481,7 +1481,7 @@ static int op_open_seekable2(OggOpusFile *_of){
/*Clear out the current logical bitstream decoder.*/ /*Clear out the current logical bitstream decoder.*/
static void op_decode_clear(OggOpusFile *_of){ static void op_decode_clear(OggOpusFile *_of){
/*We don't actually free the decoder. /*We don't actually free the decoder.
We might be able to re-use it for the next link.*/ We might be able to reuse it for the next link.*/
_of->op_count=0; _of->op_count=0;
_of->od_buffer_size=0; _of->od_buffer_size=0;
_of->prev_packet_gp=-1; _of->prev_packet_gp=-1;
@ -1749,7 +1749,7 @@ opus_int64 op_raw_total(const OggOpusFile *_of,int _li){
ogg_int64_t op_pcm_total(const OggOpusFile *_of,int _li){ ogg_int64_t op_pcm_total(const OggOpusFile *_of,int _li){
OggOpusLink *links; OggOpusLink *links;
ogg_int64_t pcm_total; ogg_int64_t pcm_total;
ogg_int64_t diff; ogg_int64_t diff = 0;
int nlinks; int nlinks;
nlinks=_of->nlinks; nlinks=_of->nlinks;
if(OP_UNLIKELY(_of->ready_state<OP_OPENED) if(OP_UNLIKELY(_of->ready_state<OP_OPENED)

View File

@ -70,23 +70,13 @@ function install_esp32()
local ide_path=$1 local ide_path=$1
pip install pyserial pip install pyserial
pip3 install pyserial pip3 install pyserial
cd $ide_path/hardware mkdir -p ~/bin
mkdir espressif pushd ~/bin
cd espressif wget -q https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
git clone https://github.com/espressif/arduino-esp32.git esp32 tar xvf arduino-cli_latest_Linux_64bit.tar.gz
pushd esp32 export PATH=$PATH:$PWD
# Set custom warnings for all builds
echo "compiler.c.extra_flags=-Wall -Wextra -Werror $debug_flags" > platform.local.txt
echo "compiler.cpp.extra_flags=-Wall -Wextra -Werror $debug_flags" >> platform.local.txt
echo -e "\n----platform.local.txt----"
cat platform.local.txt
git submodule update --init
cd tools
python3 get.py
export PATH="$ide_path/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/:$PATH"
popd popd
cd esp32 arduino-cli core install --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json esp32:esp32
} }
function install_arduino() function install_arduino()
@ -99,6 +89,20 @@ function install_arduino()
install_libraries install_libraries
} }
function skip_esp32()
{
local ino=$1
local skiplist=""
# Add items to the following list with "\n" netween them to skip running. No spaces, tabs, etc. allowed
read -d '' skiplist << EOL || true
/MixerSample/
EOL
echo $ino | grep -q -F "$skiplist"
echo $(( 1 - $? ))
}
if [ "$BUILD_MOD" == "" ]; then if [ "$BUILD_MOD" == "" ]; then
export BUILD_MOD=1 export BUILD_MOD=1
export BUILD_REM=0 export BUILD_REM=0
@ -117,10 +121,18 @@ if [ "$BUILD_TYPE" = "build" ]; then
elif [ "$BUILD_TYPE" = "build_esp32" ]; then elif [ "$BUILD_TYPE" = "build_esp32" ]; then
install_arduino install_arduino
install_esp32 "$HOME/arduino_ide" install_esp32 "$HOME/arduino_ide"
export FQBN="espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app" export testcnt=0
mkdir -p "$GITHUB_WORKSPACE/hardware" for i in $(find ~/Arduino/libraries/ESP8266Audio -name "*.ino"); do
ln -s "$GITHUB_WORKSPACE/../" "$GITHUB_WORKSPACE/libraries" testcnt=$(( ($testcnt + 1) % $BUILD_MOD ))
source "$HOME/arduino_ide/hardware/espressif/esp32/.github/scripts/sketch_utils.sh" chunk_build -ai "$HOME/arduino_ide" -au "$GITHUB_WORKSPACE" -fqbn "$FQBN" -t esp32 -p "$GITHUB_WORKSPACE" -i $BUILD_REM -m $BUILD_MOD if [ $testcnt -ne $BUILD_REM ]; then
continue # Not ours to do
fi
if [[ $(skip_esp32 $i) = 1 ]]; then
echo -e "\n ------------ Skipping $i ------------ \n";
continue
fi
arduino-cli compile --fqbn esp32:esp32:esp32 --warnings all $i
done
elif [ "$BUILD_TYPE" = "build_rp2040" ]; then elif [ "$BUILD_TYPE" = "build_rp2040" ]; then
install_arduino install_arduino
install_rp2040 "$HOME/arduino_ide" install_rp2040 "$HOME/arduino_ide"