Commit graph

17 commits

Author SHA1 Message Date
BurnZeZ f44cfeb7d7 audio/pcmconv: fix accidental cast to float instead of double 2018-05-13 19:58:16 +00:00
cinap_lenrek f7ab9fb52a pcmconv: revert previous change, fix dither clipping
previous change had forgot how dithering works... m(

we *really* add a random signal when *reducing* the number
of bits. just make sure we do not overflow like in
mixin().
2014-03-03 14:45:14 +01:00
cinap_lenrek 7fc7802358 pcmconv: fix dither clipping
the check in dither() was inverted. we should only
add noise when the output bit count is greater
than input bit count (samples shifted up) to
fill the lower zero bits produced by the shift.
2014-03-03 09:00:59 +01:00
cinap_lenrek b4c81e2cdc audio/pcmconv: fix mistake 2012-12-17 09:53:36 +01:00
cinap_lenrek 1fdd311f2f audio/pcmconv: implement stereo -> mono conversion (mixing) 2012-12-14 17:16:50 +01:00
cinap_lenrek 776f3726dd audio/pcmconv: check bits for same format check not just framesz 2012-12-14 09:43:00 +01:00
cinap_lenrek 5ceb834f0e audio: replace µlawdec, add big endian and µlaw audio formats to pcmconv, µlaw in wav support
to support µ-law audio embedded in wav and big endian pcm
in sun audio files the µ-law and a-law and big endian integer
decoding was added to pcmconv. sundec now parses the sun
audio header supporting stereo now.
2012-12-14 04:38:45 +01:00
cinap_lenrek d7b7723c96 audio/pcmconv: dithering 2012-12-13 09:39:15 +01:00
cinap_lenrek a8b02eb198 audio/pcmconv: cleanup 2012-12-12 19:04:57 +01:00
cinap_lenrek 985df234d6 audio/pcmconv: implement filter coefficient interpolation, cleanup 2012-12-12 15:46:12 +01:00
cinap_lenrek 2823498ac3 audio/pcmconv: mistake for double to int conversion (thanks ftrvxmtrx) 2012-12-12 12:20:54 +01:00
cinap_lenrek bedfd8f361 audio/pcmconv: check number of input channels 2012-12-11 21:02:14 +01:00
cinap_lenrek 45a5074b10 audio/pcmconv: disable floating point exceptions for data conversion
for the float to integer conversion, disable
exceptions. also clamp the values.

--
cinap
2012-12-11 20:42:33 +01:00
cinap_lenrek 0903d01134 audio: fix broken write() size for mp3dec/oggdec/flacdec
they accidently wrote additional bytes in the stream. this
confused the new audio/pcmconv (now actually checking
if it got complete samples).
2012-12-11 19:55:02 +01:00
cinap_lenrek 3d1f5d4812 audio/pcmconv: implement band limited audio resampler using fir filter
implement the resampler described in the
"Digital Audio Resampling Home Page" paper:

https://ccrma.stanford.edu/~jos/resample/
2012-12-11 16:37:39 +01:00
cinap_lenrek 7148847ff0 µlaw audio support (from erik quanstro) 2012-12-08 09:18:44 +01:00
cinap_lenrek 0d84343fbc audio: add audio/pcmconv program
instead of duplicating resampling and pcm format
conversion code, put it in the new pcmconv program.
2012-12-08 08:26:50 +01:00