On Thu, 2017-10-05 at 18:57 +0300, Seppo Ingalsuo wrote:
This patch decouples the first and second stage in two phase conversion that is used for out/in rate fractions with high numerator or denominator value. For e.g. 44.1 -> 48 kHz 160/147 fraction the 1st 8/7 stage and 2nd 20/21 stage are executed number of times close to period length in time used for the scheduling rate. The number of consumed and produced samples per copy() is no more constant. The latency of 44.1 kHz is decreased about 2 ms and processing load is less variable.
This patch removes mute feature due to non-compatibility with variable length data processing. It can be introduced later if needed as different implementation.
The polyphase filter is also optimized slightly. More optimizations will follow.
Signed-off-by: Seppo Ingalsuo seppo.ingalsuo@linux.intel.com
src/audio/src.c | 354 +++++++++++++++++++++---------------------- src/audio/src_core.c | 412 ++++++++++++++++++++++++--------------------------- src/audio/src_core.h | 27 +++- 3 files changed, 395 insertions(+), 398 deletions(-)
Applied.
Thanks
Liam