Uh oh!
There was an error while loading. Please reload this page.
topology2: add src support - #5913
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
RanderWang
commented
Jun 14, 2022
updated, thanks |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
RanderWang
commented
Jun 15, 2022
change it to RFC since we need to support |
@plbossart@lgirdwood@ranj063@bardliao I have an idea bout SRC support in Linux kernel. My solution is dynamically add SRC in driver according to sample rate so that we have optimized performance. Another way is to build it in topology but delete it in driver for no conversion rate. |
lgirdwood
commented
Jun 15, 2022
@RanderWang just a thought, rather than expressing all the supported in/out rates for the SRC in the topology, we could use a wildcard rate (like SNDRV_PCM_RATE_CONTINUOUS using 0) which means we can define a single SRC object with wildcard in/out rates where the FW could reject any invalid combination. |
plbossart
commented
Jun 15, 2022
That's what others have suggested in the 'AVS' driver, you could bind modules only if required, e.g. if you don't need an instance of SRC you can bypass the SRC. The problem is that it's of course a lot more complicated to decide whether to bind or not. This would not work for e.g. multiple steps of conversions, because at the moment the DPCM driver cannot be informed of possible rate changes. Also the introduction of the SRC is a nice feature, but who needs it? In practice, sound servers (CRAS, PulseAudio, etc) already resample to a desired rate, so it's not like we can expect tons of different configurations. Specifically the 44.1kHz case is not required, we've lived since 2013 without SRC in the firmware and no one ever complained about the host-based conversion. And last, SRC takes resources that could be used for other things that have more added value, such as branded processing, speaker amp. SRC is an item on a program manager checklist, its value as part of the firmware is very very questionable with very very limited returned IMHO. I vote that we don't spend too much time on the optimization and just focus on getting SRC to work. It remains to be seen whether this will actually be used in a product. |
The original calculation will generate 44 sample size for 44.1khz, actually it at least needs 45 sample size. This patch uses ceil value for such rate, also inlcude 11.025kh, 22.05kh, 88.2khz, 176.4khz. Signed-off-by: Rander Wang <rander.wang@intel.com>
Cavs src is different with sof src. It has different uuid and param which are composed of base module definition and output rate. Signed-off-by: Rander Wang <rander.wang@intel.com>
RanderWang
commented
Jun 16, 2022
updated. Validated on ADL |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
RanderWang
commented
Jun 17, 2022
updated, thanks! |
singalsu
left a comment
There was a problem hiding this comment.
Looks OK to me for discussed part: frames count calculation.
a314de7 to
a8afc94CompareThis pipeline supports conversion from 8k ~ 192k to 48k. Signed-off-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
S24LE is the major format used by SOF IPC4 FW and windows platform and has better perfomance than S32. Signed-off-by: Rander Wang <rander.wang@intel.com>
XiaoyunWu6666
commented
Jul 1, 2022
Hi @RanderWang , this PR seem to cause some error in cavs-mixin-mixout-hda.tplg and cause multiple IPC4 HDA platforms failed to load the tplg correctly. |
bardliao
commented
Jul 1, 2022
@XiaoyunWu6666 Please try #5971 |
This PR add ipc src support in topology2.