1# SPDX-License-Identifier: BSD-3-Clause
2
3menu "Processing modules"
4	visible if COMP_MODULE_ADAPTER
5
6	config CADENCE_CODEC
7		bool "Cadence codec"
8		default n
9		help
10		  Select for codecs which conforms to the Cadence API.
11		  This will cause codec adapter component to include header
12		  files specific to CADENCE base codecs.
13
14if CADENCE_CODEC
15	config CADENCE_CODEC_WRAPPER
16		bool 'Cadence codec wrapper'
17		default n
18		help
19		  Select for cadence_codec_api wrapper function that will allow
20		  users to call into codecs which conforms to the Cadence API without
21		  explicitly knowing/using the entry function symbol name.
22
23	if CADENCE_CODEC_WRAPPER
24		config CADENCE_CODEC_WRAPPER_LIB
25		string "Cadence codec wrapper library name"
26		help
27		  This option is a string and takes the full name of the codec wrapper library binary.
28	endif
29
30	config CADENCE_CODEC_AAC_DEC
31		bool "Cadence AAC decoder"
32		default n
33		help
34		  Select for Cadence AAC decoder support.
35		  This will cause Cadence codec to include Cadence AAC library
36		  api symbol.
37
38	if CADENCE_CODEC_AAC_DEC
39		config CADENCE_CODEC_AAC_DEC_LIB
40		string "Cadence AAC decoder library name"
41		help
42		  This option is a string and takes the full name of the AAC decoder library binary.
43	endif
44
45	config CADENCE_CODEC_BSAC_DEC
46		bool "Cadence BSAC decoder"
47		default n
48		help
49		  Select for Cadence BSAC decoder support.
50		  This will cause Cadence codec to include Cadence BSAC library
51		  api symbol.
52
53	if CADENCE_CODEC_BSAC_DEC
54		config CADENCE_CODEC_BSAC_DEC_LIB
55		string "Cadence BSAC decoder library name"
56		help
57		  This option is a string and takes the full name of the BSAC decoder library
58	endif
59
60	config CADENCE_CODEC_DAB_DEC
61		bool "Cadence DAB decoder"
62		default n
63		help
64		  Select for Cadence DAB decoder support.
65		  This will cause Cadence codec to include Cadence DAB library
66		  api symbol.
67
68	if CADENCE_CODEC_DAB_DEC
69		config CADENCE_CODEC_DAB_DEC_LIB
70		string "Cadence DAB decoder library name"
71		help
72		  This option is a string and takes the full name of the DAB library binary.
73	endif
74
75	config CADENCE_CODEC_DRM_DEC
76		bool "Cadence DRM decoder"
77		default n
78		help
79		  Select for Cadence DRM decoder support.
80		  This will cause Cadence codec to include Cadence DRM library
81		  api symbol.
82
83	if CADENCE_CODEC_DRM_DEC
84		config CADENCE_CODEC_DRM_DEC_LIB
85		string "Cadence DRM decoder library name"
86		help
87		  This option is a string and takes the full name of the DRM library binary.
88	endif
89
90	config CADENCE_CODEC_MP3_DEC
91		bool "Cadence MP3 decoder"
92		default n
93		help
94		  Select for Cadence MP3 decoder support.
95		  This will cause Cadence codec to include Cadence MP3 library
96		  api symbol.
97
98	if CADENCE_CODEC_MP3_DEC
99		config CADENCE_CODEC_MP3_DEC_LIB
100		string "Cadence MP3 decoder library name"
101		help
102		  This option is a string and takes the full name of the MP3 library binary.
103	endif
104
105	config CADENCE_CODEC_SBC_DEC
106		bool "Cadence SBC decoder"
107		default n
108		help
109		  Select for Cadence SBC decoder support.
110		  This will cause Cadence codec to include Cadence SBC library
111		  api symbol.
112
113	if CADENCE_CODEC_SBC_DEC
114		config CADENCE_CODEC_SBC_DEC_LIB
115		string "Cadence SBC decoder library name"
116		help
117		  This option is a string and takes the full name of the SBC library binary.
118	endif
119
120
121	config CADENCE_CODEC_VORBIS_DEC
122		bool "Cadence VORBIS decoder"
123		default n
124		help
125		  Select for Cadence VORBIS decoder support.
126		  This will cause Cadence codec to include Cadence VORBIS library
127		  api symbol.
128
129	if CADENCE_CODEC_VORBIS_DEC
130		config CADENCE_CODEC_VORBIS_DEC_LIB
131		string "Cadence VORBIS decoder library name"
132		help
133		  This option is a string and takes the full name of the VORBIS library binary.
134	endif
135
136	config CADENCE_CODEC_SRC_PP
137		bool "Cadence SRC polyphase"
138		default n
139		help
140		  Select for Cadence SRC polyphase support.
141		  This will cause Cadence codec to include Cadence SRC library
142		  api symbol.
143
144	if CADENCE_CODEC_SRC_PP
145		config CADENCE_CODEC_SRC_PP_LIB
146		string "Cadence SRC polyphase library name"
147		help
148		  This option is a string and takes the full name of the SRC library binary.
149	endif
150
151endif # Cadence
152
153	config COMP_VOLUME
154		bool "Volume component"
155		default y
156		depends on COMP_MODULE_ADAPTER
157		help
158		  Select for Volume component
159
160if COMP_VOLUME
161
162config COMP_VOLUME_WINDOWS_FADE
163       bool "Windows Fade shape volume transitions support"
164       help
165         This option enables volume ramp shape that follows
166	 power of 1.75. The shape is not linear, not logarithmic.
167	 The power function uses a lookup table that consumes
168	 256 bytes. The topology must set volume ramp token to
169	 SOF_VOLUME_WINDOWS_FADE for the volume instance to use
170	 this ramp shape.
171
172config COMP_VOLUME_LINEAR_RAMP
173       bool "Linear ramp volume transitions support"
174	   default y
175	   depends on IPC_MAJOR_3
176       help
177         This option enables volume linear ramp shape.
178
179config COMP_PEAK_VOL
180       bool "Report peak vol data to host"
181	   default y
182	   depends on IPC_MAJOR_4
183       help
184         This option enables reporting to host peak vol regs.
185         See: struct ipc4_peak_volume_regs
186
187config COMP_GAIN
188	bool "GAIN component"
189	default y
190	depends on IPC_MAJOR_4
191	help
192	  This option enables gain to change volume. It works
193	  as peak volume without updating peak vol to host
194
195endif # volume
196
197	config PASSTHROUGH_CODEC
198		bool "Passthrough codec"
199		default n
200		help
201		  Select for a passthrough API codec implementation.
202		  This will cause codec adapter component to include header
203		  files specific to PASSTHROUGH base codecs.
204
205	config WAVES_CODEC
206	bool "Waves codec"
207	default n
208	help
209		Select to include Waves codec. Waves codec implements MaxxEffect API.
210		API definition together with pre-compiled library is shared by Waves Audio Ltd.
211		If library is not provided will result in compilation error.
212		For more information, contact consumer@waves.com.
213
214	config DTS_CODEC
215	bool "DTS codec"
216	default n
217	help
218		Select to include DTS codec.
219		In order to compile with this option enabled, a pre-compiled static library
220		must be provided by DTS for your target platform. If this library is not present
221		then compilation errors will occur.
222		For more information, please contact sales@xperi.com
223
224	config INTEL_MODULES
225	bool "Intel modules"
226	default n
227	depends on LIBRARY_MANAGER
228	help
229		Select for a Intel modules API implementation.
230		This will cause module adapter component to include IADK module
231		codec code. It will work only when LIBRARY_MANAGER is enabled.
232endmenu
233