Use external OPUS implementation instead of the one provided in esp-adf-libs?

expresspotato
Posts: 23
Joined: Fri May 28, 2021 1:58 pm

Use external OPUS implementation instead of the one provided in esp-adf-libs?

Postby expresspotato » Thu Nov 03, 2022 5:41 pm

Hi,

I'm looking to use the esp-libopus version found at https://github.com/XasWorks/esp-libopus, instead of the one build into esp-adf-libs. The author claims this version can reach complexity level 4, @ 24 kHz. I'm only able to reach complexity level 1 using the espressif provided version. While I can still call functions like opus_decode and opus_encode simply by providing the appropriate headers, idf.py build compiles it with the esp-adf-libs version of the definitions.

Is there a way to compile against my own component instead?

Already tried:
1) Set the compiler level to o2 (performance)
2) Set the CPU frequency to 240 Mhz
3) Use only malloc calls for buffers (which are also small), as to not use spi ram
4) 20ms frame size
5) Process one frame for one call to el_process
6) Only code running on the APP cpu (core 1) is the custom encode audio element
7) Tried 24, 16, 8 kHz, none of which can reach encoding complexity of more than 1.

The included library version must be slower...

Who is online

Users browsing this forum: No registered users and 42 guests