diff --git a/src/audio/codec_adapter/CMakeLists.txt b/src/audio/codec_adapter/CMakeLists.txt index 84fe35818..aa971f43e 100644 --- a/src/audio/codec_adapter/CMakeLists.txt +++ b/src/audio/codec_adapter/CMakeLists.txt @@ -41,6 +41,10 @@ if(CONFIG_CADENCE_CODEC_VORBIS_DEC) sof_add_static_library(xa_vorbis_dec ${CONFIG_CADENCE_CODEC_VORBIS_DEC_LIB}) endif() +if(CONFIG_CADENCE_CODEC_SRC_PP) + sof_add_static_library(xa_src_pp ${CONFIG_CADENCE_CODEC_SRC_PP_LIB}) +endif() + endif() if(CONFIG_PASSTHROUGH_CODEC) diff --git a/src/audio/codec_adapter/Kconfig b/src/audio/codec_adapter/Kconfig index 88319de16..1ede41d7a 100644 --- a/src/audio/codec_adapter/Kconfig +++ b/src/audio/codec_adapter/Kconfig @@ -133,6 +133,21 @@ if CADENCE_CODEC This option is a string and takes the full name of the VORBIS library binary. endif + config CADENCE_CODEC_SRC_PP + bool "Cadence SRC polyphase" + default n + help + Select for Cadence SRC polyphase support. + This will cause Cadence codec to include Cadence SRC library + api symbol. + + if CADENCE_CODEC_SRC_PP + config CADENCE_CODEC_SRC_PP_LIB + string "Cadence SRC polyphase library name" + help + This option is a string and takes the full name of the SRC library binary. + endif + endif config PASSTHROUGH_CODEC diff --git a/src/audio/codec_adapter/codec/cadence.c b/src/audio/codec_adapter/codec/cadence.c index a909fa4dd..0f80c6004 100644 --- a/src/audio/codec_adapter/codec/cadence.c +++ b/src/audio/codec_adapter/codec/cadence.c @@ -29,6 +29,7 @@ enum cadence_api_id { CADENCE_CODEC_MP3_DEC_ID = 0x06, CADENCE_CODEC_SBC_DEC_ID = 0x07, CADENCE_CODEC_VORBIS_DEC_ID = 0x08, + CADENCE_CODEC_SRC_PP_ID = 0x09, }; /*****************************************************************************/ @@ -83,6 +84,12 @@ static struct cadence_api cadence_api_table[] = { .api = xa_vorbis_dec, }, #endif +#ifdef CONFIG_CADENCE_CODEC_SRC_PP + { + .id = CADENCE_CODEC_SRC_PP_ID, + .api = xa_src_pp, + }, +#endif }; int cadence_codec_init(struct comp_dev *dev) diff --git a/src/include/sof/audio/codec_adapter/codec/cadence.h b/src/include/sof/audio/codec_adapter/codec/cadence.h index 046e7a18c..3e475ae3d 100644 --- a/src/include/sof/audio/codec_adapter/codec/cadence.h +++ b/src/include/sof/audio/codec_adapter/codec/cadence.h @@ -28,6 +28,7 @@ extern xa_codec_func_t xa_drm_dec; extern xa_codec_func_t xa_mp3_dec; extern xa_codec_func_t xa_sbc_dec; extern xa_codec_func_t xa_vorbis_dec; +extern xa_codec_func_t xa_src_pp; /*****************************************************************************/ /* Cadence private data types */