Skip to content
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

pick up to align the codec_adapters refactoring #38

Open
wants to merge 13 commits into
base: dev-jsl
Choose a base branch
from

Conversation

macchian
Copy link
Owner

No description provided.

No functional changes.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Change all functions to accept a pointer to struct processing_module
as a parameter and use mod->priv to access the module data.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Introduce a new macro to access the module's private data and use it.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Rename the menu option to "Processing modules"

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
And move the MAX_BLOB_SIZE macro to generic.h

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Module adapter can be used by components with types other than
SOF_COMP_MODULE_ADAPTER. So modify the create op to handle components
by type.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Define the set_large_config and get_large_config ops for the module
adapter component. These are mandatory ops needed to make the module
adapter compatible with IPC4.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
In preparation for modifying the volume component to use the new
module API, add support for SET_VALUE/GET_VALUE control commands.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Simplify the logic by removing the unnecessary consume label. This will
change the logic to loop through the local output buffers when return is
-ENODATA or -ENOSPC. But since there will be no produced samples, this
loop will do nothing. It is not intended to optimize the performance at
this point and in fact the first few cycles might even take the hit
because of the extra looping. But this will help with clubbling the
handling of output samples simpler in the following patches.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
…ction

Split the core for handling the processed output into a separate
function.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
And avoid looping through the buffers again.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
When the module produces only period_bytes every period, there's no need
to save the produced samples in the intermediate local buffer, instead
copy them directly to the sink buffer and save an extra copy.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
ca_copy_from_source_to_module() and ca_copy_from_module_to_sink() are
both invoked during every copy. So use memcpy() instead of memcpy_s() to
speed up the copies.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@macchian macchian changed the title pick up codec_adapters refacoring pick up and align the codec_adapters refactoring Feb 19, 2025
@macchian macchian changed the title pick up and align the codec_adapters refactoring pick up to align the codec_adapters refactoring Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants