| // | |
| // Copyright © 2025 Agora | |
| // This file is part of TEN Framework, an open source project. | |
| // Licensed under the Apache License, Version 2.0, with certain conditions. | |
| // Refer to the "LICENSE" file in the root directory for more information. | |
| // | |
| typedef struct Biquad_St_ { | |
| void* dynamMemPtr; // memory pointer holding the dynamic memory | |
| size_t dynamMemSize; // size of the buffer *dynamMemPtr | |
| // Static Configuration | |
| Biquad_StaticCfg stCfg; | |
| // --------------------------------------------------------------- | |
| // Internal Static Config Registers, which are generated from stCfg | |
| int maxNSample; | |
| int nsect; | |
| float BCoeff[AGORA_UAP_BIQUAD_MAX_SECTION][3]; | |
| float ACoeff[AGORA_UAP_BIQUAD_MAX_SECTION][3]; | |
| float GCoeff[AGORA_UAP_BIQUAD_MAX_SECTION]; // gain for each section | |
| // Variables | |
| float* inputTempBuf; // [maxNSample] | |
| float sectW[AGORA_UAP_BIQUAD_MAX_SECTION][2]; | |
| // each section's register | |
| float* sectOutputBuf | |
| [AGORA_UAP_BIQUAD_MAX_SECTION]; //[AGORA_UAP_BIQUAD_MAX_SECTION][maxNSample] | |
| // each section's output buffer | |
| } Biquad_St; | |