-
Notifications
You must be signed in to change notification settings - Fork 321
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
src_lite: add module #8334
src_lite: add module #8334
Conversation
9014f76
to
faf7ffc
Compare
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.
Nice work, thanks!
faf7ffc
to
7a4e75a
Compare
44fb455
to
0c412b8
Compare
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.
so original SRC module capability does not support listed 4 convertor? if so, compared with add a new module, possible to add more src parameters to make src module support this?
4032103
to
c4694b1
Compare
#define STAGE1_TIMES_MAX 32 | ||
#define STAGE2_TIMES_MAX 32 | ||
#define STAGE_BUF_SIZE 672 | ||
#define NUM_ALL_COEFFICIENTS 69224 |
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.
I would prefix these with SRC_ as some names are quite common, but I think these are added before this commit so we should revisit this @singalsu ?
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.
Yes you are right, I can do it after this PR. These files are automatically generated so better to do the change to Matlab code also.
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.
ok, thaks @singalsu let add the prefix after this PR is merged.
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.
I'm good with the change, looks very nicely done! So I think only think missing is some note on why one would choose this instead of full SRC. Doesn't have to be very detailed, but some note to explain why to choose one over the other.
@fkwasowi ping, just some minor things and good to merge. |
c4694b1
to
df50371
Compare
ce4d4d4
to
032b7d0
Compare
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.
Thanks, my earlier comments addresses. One issue with "src_fir_one" initialization, and mergnig the build fix to one commit, and otherwise looks good to go.
032b7d0
to
c6a60ce
Compare
Addition of SRC Lite module, which only supports a subset of conversions supported by the SRC module. Purpose of SRC Lite module is memory optimization. Code of SRC Lite is drastically reduced and requires significantly less memory. When needed one of defined conversions, driver can choose SRC Lite module instead of SRC module to optimize memory utilization. 48 -> 16kHz 44.1 -> 16 kHz 32 -> 16 kHz 44.1 -> 48 Signed-off-by: Fabiola Kwasowiec <[email protected]>
c6a60ce
to
f8ddb6f
Compare
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.
Thanks @fkwasowi !
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.
@fkwasowi , as commit message mentioned SRC_LITE is saving memory when specific converter happened, could you choose one type and list the memory saving with data:
previous code size with patch code size previous ram usage with patch ram usage, we can use 48 --> 16 as a example.
Addition of SRC Lite module,
which only supports a subset of conversions
supported by the SRC module.
Purpose of SRC Lite module is memory optimization. Code of SRC Lite is drastically reduced and requires significantly less DSP RAM memory.
When needed one of defined conversions, driver can choose SRC Lite module instead of SRC module to optimize memory utilization.
48 -> 16kHz
44.1 -> 16 kHz
32 -> 16 kHz
44.1 -> 48