-
Notifications
You must be signed in to change notification settings - Fork 349
ipc4: add S24_3LE for ipc4 #5198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good update to support the new format but lets check the conversions. We can add the HiFi3/4 versions in a subsequent PR.
|
updated, thanks! |
singalsu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The s24c32 without sign extend is a risk, better to fix it.
ea792a0 to
1435ef8
Compare
|
@singalsu good for you ? |
The src & sink info can be gotten from struct comp_copy_limits, no need to calculate it again. Signed-off-by: Rander Wang <rander.wang@intel.com>
Move endif to include general ipc4 conversion. Signed-off-by: Rander Wang <rander.wang@intel.com>
Compared to non-copier module, copier module uses different conversion algorithoms for different gateways, .e.g HDA dma requires sample bit starting from MSB bits and also alh engine. These hw features make pcm conversion algorithom different for different modules. This patch add gateway type to select conversion function. Signed-off-by: Rander Wang <rander.wang@intel.com>
First we reused ipc3 pcm conversion function by by setting frame_fmt to S24_4LE, but later found that we need different conversion for copier with gateways support. Now frame_fmt will be set by default config. Signed-off-by: Rander Wang <rander.wang@intel.com>
For HDA gateway, 24bits sample will be in high 24bits with 32 bits container case. Alh requires 32 bits container and all sample bits starting from bit 31 to bit 0. Signed-off-by: Rander Wang <rander.wang@intel.com>
S24_3LE is not a native supported format for hda dma. Driver treats it as 16bit stream or 8bit stream, .e.g. 24bit 3LE 2ch stream will be set as 16bit 3ch stream. In FW side, 24bit stream will be converted to S24LE. Currently HIFI3 optimization is not supported now and also S24_LE unit test is not implemented. These will be supported later. Tested on windows platform. Signed-off-by: Rander Wang <rander.wang@intel.com>
|
updated, thanks |
S24_3LE is not a native supported format for hda dma. Driver
treats it as 16bit stream or 8bit stream, .e.g. 24bit 3LE
2ch stream will be set as 16bit 3ch stream. In FW side,
24bit stream will be converted to S24LE.