Commit Graph

26 Commits

Author SHA1 Message Date
Claudio Cabral 719fa1d545 Add 32 bit support for ALSA driver (#811)
* apply changes without whitespace

* remove neon intrinsics and fix indentation

* update float_32 macro and fix misspellings

* check msbits to determine number of bits in alsa driver

* add better error messages and support for SND_PCM_FORMAT_S32_BE

* log when sample format is not equal to bits

Co-authored-by: Claudio Cabral <clca@bang-olufsen.dk>
Co-authored-by: Claudio Cabral <cl@udio.co>
2022-01-15 15:09:56 +00:00
Camille Gonnet 8d51e9a005 ALSA: convert properly S24_LE 2022-01-15 15:09:55 +00:00
luz.paz a93b210134 FIx doxygen and user facing and non-facing typos
Found via `codespell -q 3`
2019-09-11 19:17:07 +01:00
Rui Nuno Capela 05bc08c64e memops-alsa_bad_sound-fix-1 (#426)
* Revert "oss_driver: Use float to S32 conversion if requested"

This reverts commit c5a0f5ea1c.

* Revert "alsa_in/out: Use float to S32 conversion if requested"

This reverts commit 148c8d8e6a.

* Revert "alsa_driver: Use float to S32 conversion if requested"

This reverts commit d017e1fffe.

* Revert "memops: Provide function for float to S32 conversion"

This reverts commit bb99e09b99.

* Revert "memops: Align S24LE and S32LE to float conversion"

This reverts commit b4ea23df6a.

* Revert "memops: Provide function for S32 to float conversion"

This reverts commit 244fc27e29.

* Revert "memops: Align float to S24LE and S32LE conversion"

This reverts commit 4455fe020c.

* Revert "memops: Remove not used conversion macros"

This reverts commit a82f3f2fb4.

* Revert "memops: Use right-aligned S24LE to float conversion"

This reverts commit e753254313.

* Revert "memops: Use right-aligned float to S24LE conversion"

This reverts commit 831163e516.
2019-02-08 22:22:53 +01:00
Timo Wischer bb99e09b99 memops: Provide function for float to S32 conversion
Due to inlining and enabled optimization the compiler will not create
machine instructions for the if-clauses and left shift for
sample_move_dS_s32s() and sample_move_dS_s32().

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer b4ea23df6a memops: Align S24LE and S32LE to float conversion
Due to the optimization of the compiler this commit does not introduce any
differences in the machine instructions.
Tested with GCC version 6.2.0 on ARM64 and x86_64.

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer 244fc27e29 memops: Provide function for S32 to float conversion
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer 4455fe020c memops: Align float to S24LE and S32LE conversion
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer a82f3f2fb4 memops: Remove not used conversion macros
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer e753254313 memops: Use right-aligned S24LE to float conversion
ALSA expects right-aligned samples (0x00******) as mentioned in the
source code for SND_PCM_FORMAT_S24_LE:
Signed 24 bit Little Endian using low three bytes in 32-bit word
See http://git.alsa-project.org/?p=alsa-
lib.git;a=blob;f=include/pcm.h;h=5b0782315585de1d5ab82c9f2036b62c168f5a48;hb=HEAD#l140

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer 831163e516 memops: Use right-aligned float to S24LE conversion
ALSA expects right-aligned samples (0x00******) as mentioned in the
source code for SND_PCM_FORMAT_S24_LE:
Signed 24 bit Little Endian using low three bytes in 32-bit word
See http://git.alsa-project.org/?p=alsa-
lib.git;a=blob;f=include/pcm.h;h=5b0782315585de1d5ab82c9f2036b62c168f5a48;hb=HEAD#l140

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
twischer-adit 04bdd8a635 arm64: Enable simd implementations (#398)
GCC defines __ARM_NEON__ for asimd on ARMv7 and __ARM_NEON for simd on
ARMv8. Therefore also check for __ARM_NEON.

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-16 10:41:53 +01:00
Hunter Allen 31d4ae97f2 Fixed a compiler warning in the memops.c file. (#267) 2017-05-18 07:27:37 +02:00
Andreas Müller 77bb8be12e Add ARM-NEON acceleration for all non-dithering sample conversion functions
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-23 16:09:24 +01:00
Andreas Müller 0279a2d65a fix copy & paste bug on dither rambdom generator (#246)
a leading 1 was missing [1]

[1] http://www.musicdsp.org/showone.php?id=59

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-01-14 22:44:40 +01:00
Adrian Knoth d3c8e2d8d7 Fix FTBFS with clang++
Forwarded from http://bugs.debian.org/757820
2014-09-18 18:29:23 +02:00
Valentin David 967e913896 Fix sample_move_d24_sS when using SSE4.1 2014-06-03 00:57:54 +02:00
sletz fb17e32bd3 Gabriel Beddingfield patch (r4541) reverted.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4553 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-10-27 14:43:33 +00:00
sletz 7ac5f1ce02 Gabriel Beddingfield patch for ALSA driver: error when source is non-native byte-order float.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4541 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-09-27 15:46:35 +00:00
sletz fca7791b0e Tim Bechmann SSE 4.1 memops.c optimization patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3646 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-09-19 08:09:02 +00:00
sletz 00e07fd3ba Big endian bug fix in memops.c (http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=11_be24bit.patch;att=1;bug=486308)
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3636 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-08-28 19:27:20 +00:00
sletz 22ee2f67e9 Another Tim Bechmann memops.c optimization patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3574 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-07-03 10:48:03 +00:00
sletz 304060be4a Add missing #endif.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3573 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-07-01 15:56:17 +00:00
sletz ea637a5223 Tim Bechmann memops.c optimization patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3572 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-07-01 15:47:13 +00:00
sletz 8badda0aa9 Tim Blechmann patch : sample order bug in SSE code.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3416 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-03-08 19:28:37 +00:00
sletz 32987ca1d2 Merge Solaris branch back on trunk.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3306 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-02-11 12:31:20 +00:00