diff --git a/plugins/analog_support/sstv/dsp/sstv_linesync.cpp b/plugins/analog_support/sstv/dsp/sstv_linesync.cpp index 516c5c00c..9ab3bf754 100644 --- a/plugins/analog_support/sstv/dsp/sstv_linesync.cpp +++ b/plugins/analog_support/sstv/dsp/sstv_linesync.cpp @@ -75,7 +75,7 @@ namespace satdump } } - auto oblk = outputs[0].fifo->newBufferSamples(line_length); + auto oblk = outputs[0].fifo->newBufferSamples(line_length, sizeof(float)); oblk.size = line_length; for (int i = 0; i < line_length; i++) oblk.getSamples()[i] = lineGetScaledIMG(sync_line_buffer[best_pos + i]); diff --git a/plugins/analog_support/sstv/module_sstv_decoder.cpp b/plugins/analog_support/sstv/module_sstv_decoder.cpp index 9c3afe920..22d5bba94 100644 --- a/plugins/analog_support/sstv/module_sstv_decoder.cpp +++ b/plugins/analog_support/sstv/module_sstv_decoder.cpp @@ -125,7 +125,7 @@ namespace sstv else input_fifo->read((uint8_t *)s16_buf, buffer_size * sizeof(int16_t)); - auto nblk = io_in.fifo->newBufferSamples(buffer_size); + auto nblk = io_in.fifo->newBufferSamples(buffer_size, sizeof(float)); if (is_stereo) { @@ -136,7 +136,7 @@ namespace sstv } else { - volk_16i_s32f_convert_32f_u(nblk.getSamples(), (const int16_t *)s16_buf, 32767, buffer_size); + volk_16i_s32f_convert_32f_u((&nblk)->getSamples(), (const int16_t *)s16_buf, 32767, buffer_size); nblk.size = buffer_size; io_in.fifo->wait_enqueue(nblk); } diff --git a/plugins/sdr_sources/airspy_sdr_support/airspy_dev.cpp b/plugins/sdr_sources/airspy_sdr_support/airspy_dev.cpp index 7e69ad4fd..81fbe208a 100644 --- a/plugins/sdr_sources/airspy_sdr_support/airspy_dev.cpp +++ b/plugins/sdr_sources/airspy_sdr_support/airspy_dev.cpp @@ -109,7 +109,7 @@ namespace satdump if (t->sample_type == AIRSPY_SAMPLE_FLOAT32_IQ) { - DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(size); + DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(size, sizeof(complex_t)); memcpy(oblk.getSamples(), t->samples, size * sizeof(complex_t)); oblk.size = size; tthis->outputs[0].fifo->wait_enqueue(oblk); diff --git a/plugins/sdr_sources/airspyhf_sdr_support/airspyhf_dev.cpp b/plugins/sdr_sources/airspyhf_sdr_support/airspyhf_dev.cpp index db8572aa3..b0c892beb 100644 --- a/plugins/sdr_sources/airspyhf_sdr_support/airspyhf_dev.cpp +++ b/plugins/sdr_sources/airspyhf_sdr_support/airspyhf_dev.cpp @@ -98,7 +98,7 @@ namespace satdump AirspyHFDevBlock *tthis = (AirspyHFDevBlock *)t->ctx; int &size = t->sample_count; - DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(size); + DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(size, sizeof(complex_t)); memcpy(oblk.getSamples(), t->samples, size * sizeof(complex_t)); oblk.size = size; tthis->outputs[0].fifo->wait_enqueue(oblk); diff --git a/plugins/sdr_sources/bladerf_sdr_support/bladerf_dev.h b/plugins/sdr_sources/bladerf_sdr_support/bladerf_dev.h index fa24884ac..aeb35a0c8 100644 --- a/plugins/sdr_sources/bladerf_sdr_support/bladerf_dev.h +++ b/plugins/sdr_sources/bladerf_sdr_support/bladerf_dev.h @@ -70,7 +70,7 @@ namespace satdump if (rx_ch_number == 1) { - DSPBuffer oblk = outputs[0].fifo->newBufferSamples(sample_buffer_size); + DSPBuffer oblk = outputs[0].fifo->newBufferSamples(sample_buffer_size, sizeof(complex_t)); if (is_8bit) volk_8i_s32f_convert_32f((float *)oblk.getSamples(), (int8_t *)sample_buffer, 127.0f, sample_buffer_size * 2); else @@ -83,7 +83,7 @@ namespace satdump int nsam = meta.actual_count / 2; for (int s = 0; s < 2; s++) { - DSPBuffer oblk = outputs[s].fifo->newBufferSamples(sample_buffer_size); + DSPBuffer oblk = outputs[s].fifo->newBufferSamples(sample_buffer_size, sizeof(complex_t)); auto c = oblk.getSamples(); if (is_8bit) { diff --git a/plugins/sdr_sources/rtlsdr_sdr_support/rtlsdr_dev.cpp b/plugins/sdr_sources/rtlsdr_sdr_support/rtlsdr_dev.cpp index ca35e6c5f..c43f5920b 100644 --- a/plugins/sdr_sources/rtlsdr_sdr_support/rtlsdr_dev.cpp +++ b/plugins/sdr_sources/rtlsdr_sdr_support/rtlsdr_dev.cpp @@ -192,7 +192,7 @@ namespace satdump { int nsam = len / 2; - DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(nsam); + DSPBuffer oblk = tthis->outputs[0].fifo->newBufferSamples(nsam, sizeof(complex_t)); for (int i = 0; i < (int)len / 2; i++) { diff --git a/src-core/angelscript/scriptstdstring/scriptstdstring.cpp b/src-core/angelscript/scriptstdstring/scriptstdstring.cpp index c80875351..1e7865c10 100644 --- a/src-core/angelscript/scriptstdstring/scriptstdstring.cpp +++ b/src-core/angelscript/scriptstdstring/scriptstdstring.cpp @@ -939,9 +939,9 @@ double parseFloat(const string &val, asUINT *byteCount) #endif #else #if !defined(__ANDROID__) && !defined(__psp2__) -#endif uselocale(orig_locale); freelocale(locale); +#endif #endif if( byteCount ) diff --git a/src-core/dsp/base/stream.h b/src-core/dsp/base/stream.h index eaec50cf6..7fb46c0d8 100644 --- a/src-core/dsp/base/stream.h +++ b/src-core/dsp/base/stream.h @@ -76,10 +76,9 @@ namespace satdump return b; } - template - DSPBuffer newBufferSamples(uint32_t size) + DSPBuffer newBufferSamples(uint32_t size, int typesize) { - DSPBuffer b = alloc(size * sizeof(T)); + DSPBuffer b = alloc(size * typesize); b.type = DSP_BUFFER_TYPE_SAMPLES; b.max_size = size; return b; diff --git a/src-core/dsp/block_simple.h b/src-core/dsp/block_simple.h index 0990284bc..d649592ba 100644 --- a/src-core/dsp/block_simple.h +++ b/src-core/dsp/block_simple.h @@ -31,7 +31,7 @@ namespace satdump return true; } - DSPBuffer oblk = outputs[0].fifo->newBufferSamples(iblk.max_size); + DSPBuffer oblk = outputs[0].fifo->newBufferSamples(iblk.max_size, sizeof(To)); oblk.size = process(iblk.getSamples(), iblk.size, oblk.getSamples()); diff --git a/src-core/dsp/clock_recovery/clock_recovery_mm.cpp b/src-core/dsp/clock_recovery/clock_recovery_mm.cpp index e26268911..1b33f71ba 100644 --- a/src-core/dsp/clock_recovery/clock_recovery_mm.cpp +++ b/src-core/dsp/clock_recovery/clock_recovery_mm.cpp @@ -80,7 +80,7 @@ namespace satdump init(); } - DSPBuffer oblk = outputs[0].fifo->newBufferSamples(iblk.max_size); + DSPBuffer oblk = outputs[0].fifo->newBufferSamples(iblk.max_size, sizeof(T)); T *ibuf = iblk.getSamples(); T *obuf = oblk.getSamples(); diff --git a/src-core/dsp/filter/fir.cpp b/src-core/dsp/filter/fir.cpp index 74aa02a5c..c39d4d94a 100644 --- a/src-core/dsp/filter/fir.cpp +++ b/src-core/dsp/filter/fir.cpp @@ -51,7 +51,7 @@ namespace satdump while (lbuf_offset < iblk.size) { - DSPBuffer oblk = outputs[0].fifo->newBufferSamples(lbuf_size); + DSPBuffer oblk = outputs[0].fifo->newBufferSamples(lbuf_size, sizeof(T)); T *obuf = oblk.getSamples(); memcpy(&buffer[ntaps], ibuf + lbuf_offset, lbuf_size * sizeof(T)); diff --git a/src-core/dsp/io/file_source.cpp b/src-core/dsp/io/file_source.cpp index 02841f507..a865e6548 100644 --- a/src-core/dsp/io/file_source.cpp +++ b/src-core/dsp/io/file_source.cpp @@ -12,7 +12,7 @@ namespace satdump { if (!baseband_reader.is_eof() && !work_should_exit) { - auto oblk = outputs[0].fifo->newBufferSamples(d_buffer_size); + auto oblk = outputs[0].fifo->newBufferSamples(d_buffer_size, sizeof(complex_t)); complex_t *obuf = oblk.getSamples(); int read = baseband_reader.read_samples(obuf, d_buffer_size); diff --git a/src-core/dsp/path/splitter.cpp b/src-core/dsp/path/splitter.cpp index c2d9f3f01..b1790f674 100644 --- a/src-core/dsp/path/splitter.cpp +++ b/src-core/dsp/path/splitter.cpp @@ -43,7 +43,7 @@ namespace satdump { IOInfo *i = ((IOInfo *)o.blkdata.get()); - DSPBuffer oblk = o.fifo->newBufferSamples(iblk.max_size); + DSPBuffer oblk = o.fifo->newBufferSamples(iblk.max_size, sizeof(T)); memcpy(oblk.getSamples(), iblk.getSamples(), iblk.size * sizeof(T)); oblk.size = iblk.size; o.fifo->wait_enqueue(oblk); diff --git a/src-core/dsp/pll/costas.cpp b/src-core/dsp/pll/costas.cpp index bb0923376..b693f152f 100644 --- a/src-core/dsp/pll/costas.cpp +++ b/src-core/dsp/pll/costas.cpp @@ -23,7 +23,7 @@ namespace satdump return true; } - auto oblk = outputs[0].fifo->newBufferSamples(iblk.max_size); + auto oblk = outputs[0].fifo->newBufferSamples(iblk.max_size, sizeof(complex_t)); complex_t *ibuf = iblk.getSamples(); complex_t *obuf = oblk.getSamples(); diff --git a/src-core/dsp/utils/cyclostationary_analysis.cpp b/src-core/dsp/utils/cyclostationary_analysis.cpp index 908e1f6c9..196b47090 100644 --- a/src-core/dsp/utils/cyclostationary_analysis.cpp +++ b/src-core/dsp/utils/cyclostationary_analysis.cpp @@ -20,7 +20,7 @@ namespace satdump return true; } - auto oblk = outputs[0].fifo->newBufferSamples(iblk.max_size * 2); // complex_t = 2 floats + auto oblk = outputs[0].fifo->newBufferSamples(iblk.max_size * 2, sizeof(float)); // complex_t = 2 floats complex_t *ibuf = iblk.getSamples(); complex_t *obuf = oblk.getSamples(); float *obuff = oblk.getSamples(); diff --git a/src-core/dsp/utils/hilbert.cpp b/src-core/dsp/utils/hilbert.cpp index e0ee7999e..dea82979e 100644 --- a/src-core/dsp/utils/hilbert.cpp +++ b/src-core/dsp/utils/hilbert.cpp @@ -42,7 +42,7 @@ namespace satdump while (lbuf_offset < iblk.size) { - DSPBuffer oblk = outputs[0].fifo->newBufferSamples(lbuf_size); + DSPBuffer oblk = outputs[0].fifo->newBufferSamples(lbuf_size, sizeof(complex_t)); complex_t *obuf = oblk.getSamples(); memcpy(&buffer[p_ntaps], ibuf + lbuf_offset, lbuf_size * sizeof(float)); diff --git a/tools/block_bench/main.cpp b/tools/block_bench/main.cpp index 00ba65045..4526b785b 100644 --- a/tools/block_bench/main.cpp +++ b/tools/block_bench/main.cpp @@ -87,7 +87,7 @@ void benchmarkNDSPBlock(std::shared_ptr ptr, int duration, { while (should_run) { - satdump::ndsp::DSPBuffer nbuf = istr.fifo->newBufferSamples(8192 * 4); + satdump::ndsp::DSPBuffer nbuf = istr.fifo->newBufferSamples(8192 * 4, sizeof(T)); for (int i = 0; i < 8192 * 4; i++) nbuf.getSamples()[i] = T(i / 1e5); nbuf.size = 8192 * 4;