Conversation
compiled and tested on -- FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c) Target: x86_64-unknown-freebsd13.2 Thread model: posix --
|
Is there an ETA on this ? |
- eliminate redundant buffer
… logic work correctly.
…uffer for each thread seems to be larger in fewer channel process cases.
prefetch coefft to cache memory
|
@SoapGentoo , @arthurt , what do you think? I guess we can add it when it's ready. |
src/CMakeLists.txt
Outdated
| add_library(SampleRate::samplerate ALIAS samplerate) | ||
|
|
||
| if(MULTI_THREADING) | ||
| if(WIN32) |
There was a problem hiding this comment.
I guess we need to check MSVC variable. MinGW compiler probably will fail.
|
Hi. @evpobr Sorry for that I did some commits after you had reviewed the code once. I have no more changes to this branch planned, so I'm leaving this up to you (or, maintainers) unless I find bugs. One thing I'm aware of is that if you are actually releasing it, adding converter types like "SRC_SINC_BEST_QUALITY_MT" may be an idea to have both ST and MT versions switchable in one library. |
… to the single-thread version. note: the (single-thread) implementation may have some underlying bug here because the number of output frames is seemingly inconsistent depending on the combinations of src_ratio, input frames, and number of channels. The fix should be out of scope for this PR (MultiThreading).
|
Just wondering what's left here ? |
|
Hello @luzpaz. This PR works well enough at least on my machine. |
|
@ss3git , are the results bitwise identical to the reference implementation? |
|
Hi, @evpobr . I've already forgotten a lot of the details though, the core calculation part is intended to be bitwise identical to the reference implementation (if you mean the single-thread version). Since the single-thread implementation seems to have input/output processing variance depending on the number of channels processed (e.g. #206), I am not hundred percent sure if the outputs "always" match. |
Good idea. |
|
Sorry to bump, just wondering if there has been any more progress ? |
Experimental multi-thread implementation. (disabled by default with BUILD_MULTI_THREADING build option.)
Related issue: Parallelize resampling (with high delay) #176
compiled and tested on
FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
Target: x86_64-unknown-freebsd13.2
Thread model: posix