diff --git a/modemm17/Correlator.h b/modemm17/Correlator.h index 6f81a1339..54ba44c6b 100644 --- a/modemm17/Correlator.h +++ b/modemm17/Correlator.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/plugins/channelrx/demoddatv/datvdemodsink.cpp b/plugins/channelrx/demoddatv/datvdemodsink.cpp index 5847547bd..bb693d7c8 100644 --- a/plugins/channelrx/demoddatv/datvdemodsink.cpp +++ b/plugins/channelrx/demoddatv/datvdemodsink.cpp @@ -397,9 +397,11 @@ void DATVDemodSink::CleanUpDATVFramework() delete (leansdr::s2_fecdec*) r_fecdec; } +#if 0 if (r_fecdecsoft != nullptr) { delete (leansdr::s2_fecdec_soft*) r_fecdecsoft; } +#endif if (r_fecdechelper != nullptr) { delete (leansdr::s2_fecdec_helper*) r_fecdechelper; diff --git a/plugins/channelrx/demoddatv/ldpctool/layered_decoder.h b/plugins/channelrx/demoddatv/ldpctool/layered_decoder.h index be6e7b09d..95ce3fc89 100644 --- a/plugins/channelrx/demoddatv/ldpctool/layered_decoder.h +++ b/plugins/channelrx/demoddatv/ldpctool/layered_decoder.h @@ -18,17 +18,22 @@ namespace ldpctool { class LDPCUtil { public: -#ifndef _MSC_VER +#if defined(__APPLE__) + // Recent versions of MacOS support aligned_alloc, but Mojave doesn't static void *aligned_malloc(size_t alignment, size_t size) { - return aligned_alloc(alignment, size); + void *p = nullptr; + + posix_memalign(&p, alignment, size); + + return p; } static void aligned_free(void *mem) { free(mem); } -#else +#elif defined(_MSC_VER) static void *aligned_malloc(size_t alignment, size_t size) { return _aligned_malloc(size, alignment); @@ -38,6 +43,16 @@ public: { _aligned_free(mem); } +#else + static void *aligned_malloc(size_t alignment, size_t size) + { + return aligned_alloc(alignment, size); + } + + static void aligned_free(void *mem) + { + free(mem); + } #endif }; diff --git a/plugins/channelrx/demoddatv/leansdr/dvbs2.h b/plugins/channelrx/demoddatv/leansdr/dvbs2.h index 6aed0bfc2..8c6541f74 100644 --- a/plugins/channelrx/demoddatv/leansdr/dvbs2.h +++ b/plugins/channelrx/demoddatv/leansdr/dvbs2.h @@ -3046,6 +3046,8 @@ struct s2_fecdec : runnable pipewriter *bitcount, *errcount; }; // s2_fecdec +#ifdef LINUX + // Soft LDPC decoder // Internally implemented LDPC tool. Replaces external LDPC decoder @@ -3195,6 +3197,8 @@ private: s2_bbscrambling bbscrambling; }; // s2_fecdec_soft +#endif + // External LDPC decoder // Spawns a user-specified command, FEC frames on stdin/stdout. template