Commit graph

10 commits

Author SHA1 Message Date
Wim Taymans
938f2b123e audioconvert: improve format conversion
Make dither noise as a value between -0.5 and 0.5 and add this
to the scaled samples.
For this, we first need to do the scaling and then the CLAMP to
the target depth. This optimizes to the same code but allows us
to avoid under and overflows when we add the dither noise.

Add more dithering methods.

Expose a dither.method property on audioconvert. Disable dither when
the target depth > 16.
2022-06-29 14:10:15 +02:00
Wim Taymans
d23b96b033 audioconvert: fix some compiler warnings 2022-06-29 14:08:30 +02:00
raghu447
af263187ea Reverting redundant changes 2020-06-04 10:36:39 +02:00
raghu447
9024cc4444 Integrating libcamera 2020-06-04 10:36:39 +02:00
Martin Koch
fefdc26f84 plugin: workaround for AVX intrinsic: "_mm256_setr_m128()" missing in GCC
Signed-off-by: Martin Koch <martin.koch@ese.de>
2020-05-13 08:53:43 +00:00
Wim Taymans
b8a1ea1d3a fmt-ops: fix 32 bit compilation
_mm256_extract_epi64 is only for 64 bits, add workaround for 32
bits.

Fixes #220
2020-03-23 14:18:10 +01:00
Wim Taymans
57f84ae5ae fmt-ops: use gather to read samples 2020-03-18 11:41:14 +01:00
Wim Taymans
55633ebf9a fmt-ops: move AVX 2020-03-18 10:06:54 +01:00
Wim Taymans
949dba7bfc fmt-ops: flesh out avx optimizations 2020-03-17 17:27:47 +01:00
Wim Taymans
3a911dfe3b fmt-ops: add avx2 optimized version
Only one optimized version but the sse2 version are compiled with
the avx2 flags so that they get optimized better.
2020-03-16 16:11:29 +01:00