diff --git a/src/audio/module_adapter/Kconfig b/src/audio/module_adapter/Kconfig index 8ebe5ecf06bc..fb646a7f47e6 100644 --- a/src/audio/module_adapter/Kconfig +++ b/src/audio/module_adapter/Kconfig @@ -102,6 +102,21 @@ if CADENCE_CODEC This option is a string and takes the full name of the MP3 library binary. endif + config CADENCE_CODEC_MP3_ENC + bool "Cadence MP3 encoder" + default n + help + Select for Cadence MP3 encoder support. + This will cause Cadence codec to include Cadence MP3 library + api symbol. + + if CADENCE_CODEC_MP3_ENC + config CADENCE_CODEC_MP3_ENC_LIB + string "Cadence MP3 encoder library name" + help + This option is a string and takes the full name of the MP3 library binary. + endif + config CADENCE_CODEC_SBC_DEC bool "Cadence SBC decoder" default n diff --git a/src/audio/module_adapter/module/cadence.c b/src/audio/module_adapter/module/cadence.c index 0073d52afc80..8fcad9bf1306 100644 --- a/src/audio/module_adapter/module/cadence.c +++ b/src/audio/module_adapter/module/cadence.c @@ -34,6 +34,7 @@ enum cadence_api_id { CADENCE_CODEC_SBC_DEC_ID = 0x07, CADENCE_CODEC_VORBIS_DEC_ID = 0x08, CADENCE_CODEC_SRC_PP_ID = 0x09, + CADENCE_CODEC_MP3_ENC_ID = 0x0A, }; #define DEFAULT_CODEC_ID CADENCE_CODEC_WRAPPER_ID @@ -78,6 +79,12 @@ static struct cadence_api cadence_api_table[] = { .api = xa_mp3_dec, }, #endif +#ifdef CONFIG_CADENCE_CODEC_MP3_ENC + { + .id = CADENCE_CODEC_MP3_ENC_ID, + .api = xa_mp3_enc, + }, +#endif #ifdef CONFIG_CADENCE_CODEC_SBC_DEC { .id = CADENCE_CODEC_SBC_DEC_ID, diff --git a/src/include/sof/audio/module_adapter/module/cadence.h b/src/include/sof/audio/module_adapter/module/cadence.h index a94fd95873fe..954594f80aa3 100644 --- a/src/include/sof/audio/module_adapter/module/cadence.h +++ b/src/include/sof/audio/module_adapter/module/cadence.h @@ -27,6 +27,7 @@ extern xa_codec_func_t xa_bsac_dec; extern xa_codec_func_t xa_dabplus_dec; extern xa_codec_func_t xa_drm_dec; extern xa_codec_func_t xa_mp3_dec; +extern xa_codec_func_t xa_mp3_enc; extern xa_codec_func_t xa_sbc_dec; extern xa_codec_func_t xa_vorbis_dec; extern xa_codec_func_t xa_src_pp; diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index e6889be1187b..f33d3e1ee3b8 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -645,6 +645,10 @@ if (CONFIG_CADENCE_CODEC_MP3_DEC) zephyr_library_import(xa_mp3_dec ${CONFIG_CADENCE_CODEC_MP3_DEC_LIB}) endif() +if (CONFIG_CADENCE_CODEC_MP3_ENC) +zephyr_library_import(xa_mp3_enc ${CONFIG_CADENCE_CODEC_MP3_ENC_LIB}) +endif() + if (CONFIG_CADENCE_CODEC_AAC_DEC) zephyr_library_import(xa_aac_dec ${CONFIG_CADENCE_CODEC_AAC_DEC_LIB}) endif()