-
Notifications
You must be signed in to change notification settings - Fork 321
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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]>
- Loading branch information
Showing
9 changed files
with
279 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* SPDX-License-Identifier: BSD-3-Clause | ||
* | ||
* Copyright(c) 2023 Intel Corporation. All rights reserved. | ||
* | ||
* Author: Fabiola Jasinska <[email protected]> | ||
*/ | ||
|
||
#ifndef __SOF_AUDIO_COEFFICIENTS_SRC_SRC_IPC4_INT32_DEFINE_H__ | ||
#define __SOF_AUDIO_COEFFICIENTS_SRC_SRC_IPC4_INT32_DEFINE_H__ | ||
|
||
/* SRC constants */ | ||
#define MAX_FIR_DELAY_SIZE 730 | ||
#define MAX_OUT_DELAY_SIZE 900 | ||
#define MAX_BLK_IN 80 | ||
#define MAX_BLK_OUT 40 | ||
#define NUM_IN_FS 16 | ||
#define NUM_OUT_FS 10 | ||
#define STAGE1_TIMES_MAX 32 | ||
#define STAGE2_TIMES_MAX 32 | ||
#define STAGE_BUF_SIZE 672 | ||
#define NUM_ALL_COEFFICIENTS 69224 | ||
|
||
#endif /* __SOF_AUDIO_COEFFICIENTS_SRC_SRC_IPC4_INT32_DEFINE_H__ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* SPDX-License-Identifier: BSD-3-Clause | ||
* | ||
* Copyright(c) 2023 Intel Corporation. All rights reserved. | ||
* | ||
*/ | ||
|
||
/** \cond GENERATED_BY_TOOLS_TUNE_SRC */ | ||
|
||
#ifndef __SOF_AUDIO_COEFFICIENTS_SRC_src_IPC4_INT32_TABLE_H__ | ||
#define __SOF_AUDIO_COEFFICIENTS_SRC_src_IPC4_INT32_TABLE_H__ | ||
|
||
/* SRC conversions */ | ||
#include "src_ipc4_int32_1_2_4535_5000.h" | ||
#include "src_ipc4_int32_10_21_3455_5000.h" | ||
#include "src_ipc4_int32_1_3_4535_5000.h" | ||
#include "src_ipc4_int32_3_2_4535_5000.h" | ||
#include "src_ipc4_int32_8_7_4535_5000.h" | ||
#include "src_ipc4_int32_16_21_4535_5000.h" | ||
#include "src_ipc4_int32_20_21_4167_5000.h" | ||
#include "../src.h" | ||
#include <stdint.h> | ||
|
||
/* SRC table */ | ||
int32_t src_fir_one = 1073741824; | ||
struct src_stage src_int32_1_1_0_0 = { 0, 0, 1, 1, 1, 1, 1, 0, -1, &src_fir_one }; | ||
struct src_stage src_int32_0_0_0_0 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, &src_fir_one }; | ||
int src_in_fs[3] = { 32000, 44100, 48000}; | ||
int src_out_fs[2] = {16000, 48000}; | ||
|
||
struct src_stage *src_table1[2][3] = { | ||
{ &src_int32_1_2_4535_5000, &src_int32_10_21_3455_5000, | ||
&src_int32_1_3_4535_5000 }, | ||
{ &src_int32_3_2_4535_5000, &src_int32_8_7_4535_5000, &src_int32_1_1_0_0 } | ||
}; | ||
|
||
struct src_stage *src_table2[2][3] = { | ||
{ &src_int32_1_1_0_0, &src_int32_16_21_4535_5000, &src_int32_1_1_0_0 }, | ||
{ &src_int32_1_1_0_0, &src_int32_20_21_4167_5000, &src_int32_1_1_0_0 } | ||
}; | ||
|
||
#endif /* __SOF_AUDIO_COEFFICIENTS_SRC_src_IPC4_INT32_TABLE_H__ */ | ||
|
||
/** \endcond */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.