This version includes a compile-time option to maintain a 64-bit data path throughout. This improves the quality of the resampling beyond even what can be achieved with the extended math option (-e) introduced in version 0.6. Of course, it doubles the memory requirement for the filters and buffers and on some platforms degrades performance significantly. It really only makes sense for applications that practically benefit from 64-bit input and output (which is not many). The Makefile now generates both a standard ART executable along with the 64-bit path version called ART64. Full changes:
- 64-bit data path option (compile with
-DPATH_WIDTH=64to enable) - handle 64-bit float WAV file input and output in ART64 version of application
- new typedef
artsample_tused throughout to abstract away differences - don't allow the resampler to operate after a "flush" and before a "reset"
- slightly improved quality and consistency with fixed-ratio conversions
- attempt to choose the best convolution loop based on the detected compiler
- fix for
undefined behavioron flush (apply non-zero offset to null pointer) - reduce runtime checks in resampler (improves performance at lower qualities)