Tweak opus build flags and allocs
This gets us to ~40% of one core cpu usage during playback. Good enough for a while I reckon! Paid for the internal ram usage by reclaiming some stack size headroom.
This commit is contained in:
@@ -11,6 +11,11 @@ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||
|
||||
set(OPUS_FIXED_POINT ON)
|
||||
set(OPUS_ENABLE_FLOAT_API OFF)
|
||||
|
||||
set(OPUS_VAR_ARRAYS OFF)
|
||||
set(OPUS_USE_ALLOCA ON)
|
||||
set(OPUS_NONTHREADSAFE_PSEUDOSTACK OFF)
|
||||
|
||||
set(OPUS_INSTALL_PKG_CONFIG_MODULE OFF)
|
||||
set(OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF)
|
||||
set(OPUS_BUILD_TESTING OFF)
|
||||
@@ -18,5 +23,6 @@ set(OPUS_BUILD_SHARED_LIBS OFF)
|
||||
|
||||
add_subdirectory($ENV{PROJ_PATH}/lib/opus ${CMAKE_CURRENT_BINARY_DIR}/opus)
|
||||
target_compile_definitions(opus PRIVATE CUSTOM_SUPPORT)
|
||||
target_compile_options(opus PRIVATE -Os -DSMALL_FOOTPRINT -funroll-loops -ffast-math)
|
||||
target_include_directories(opus PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC opus)
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
#define OVERRIDE_OPUS_ALLOC
|
||||
#define OVERRIDE_OPUS_FREE
|
||||
|
||||
static OPUS_INLINE void *opus_alloc (size_t size)
|
||||
{
|
||||
return heap_caps_malloc(size, MALLOC_CAP_SPIRAM);
|
||||
static OPUS_INLINE void* opus_alloc(size_t size) {
|
||||
return heap_caps_malloc(size, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
|
||||
}
|
||||
|
||||
static OPUS_INLINE void opus_free (void *ptr)
|
||||
{
|
||||
heap_caps_free(ptr);
|
||||
static OPUS_INLINE void opus_free(void* ptr) {
|
||||
heap_caps_free(ptr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user