summaryrefslogtreecommitdiff
path: root/sys/dev/mulaw.h
AgeCommit message (Collapse)Author
2019-05-08Merge isaki-audio2 branch, the overhaul of audio subsystem.isaki
- Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible). Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
2017-12-27mulaw/alaw_to_linearN macros replaced with individual faster filters.nat
NFC.
2017-06-25Use LINEARNTOMULAW for 8 bits as well.nat
2017-06-25Remove stray ";" from defines.nat
2017-06-20Fix defines to proper function names.nat
2017-06-20Add support for more formats. At present 24 bit formats do not work andnat
have been disabled. Ok christos@.
2008-04-28Remove clause 3 and 4 from TNF licensesmartin
2005-12-11merge ktrace-lwp.christos
2005-01-10merge kent-audio1 branch, which introduces audio filter pipeline to the MIkent
audio framework Summary of changes: * struct audio_params - remove sw_code, factor, factor_denom, hw_sample_rate, hw_encoding ,hw_precision, and hw_channels. Conversion information is conveyed by stream_filter_list_t. - change the type of sample_rate: u_long -> u_int - add `validbits,' which represents the valid data size in precision bits. It is required in order to distinguish 24/32bit from 24/24bit or 32/32bit. * audio_hw_if - add two parameters to set_params() stream_filter_list_t *pfil, stream_filter_list *rfil A HW driver should set filter recipes for requested formats - constify audio_params parameters of trigger_output() and trigger_input(). They represent audio formats for the hardware. - make open() and close() optional - add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters to round_blocksize() * sw_code is replaced with stream_filter_t. stream_filer_t converts audio data in an input buffer and writes into another output buffer unlike sw_code, which converts data in single buffer. converters in dev/auconv.c, dev/mulaw.c, dev/aurateconv.c, dev/tc/bba.c, dev/ic/msm6258.c, and arch/arm/iomd/vidcaudio.c are reimplemented as stream_filter_t * MI audio - audiosetinfo() builds filter pipelines from stream_filter_list_t filled by audio_hw_if::set_params() - audiosetinfo() returns with EINVAL if mmapped and set_params() requests filters - audio_write(), audio_pint(), and audio_rint() invoke a filter pipeline. - ioctl() for FIONREAD, AUDIO_WSEEK, AUDIO_GETIOFFS, AUDIO_GETOOFFS, and audio_prinfo::{seek,samples} for AUDIO_GETINFO handle values for a buffer nearest to userland. * add `struct device *' parameter to ac97_attach() * all of audio HW drivers follow audio_hw_if and ac97 changes
2004-11-05add the follwings:kent
- ulinear16_to_mulaw_le() - ulinear16_to_mulaw_be() - slinear16_to_mulaw_be() - ulinear16_to_alaw_le() - ulinear16_to_alaw_be()
2003-07-08function prototype must not have variable nameitojun
2003-04-06Respect the law: Use A-law and mu-law as spellings as far as easily possible.wiz
Inspired by Igor Sobrado in PR 19680.
2002-03-09Add new two convert functions slinear16_to_alaw_[lb]e.tacha
2002-02-10Add slinear16_to_mulaw_le().kent
2001-10-02ANSIfy.augustss
1999-11-01Make little endian and big endian version of all functionsaugustss
that deal with 16 bit samples. Let the drivers decide which ones to use.
1998-08-09Add mulaw_to_slinear16 and alaw_to_slinear16.mycroft
1998-05-22Add alaw/mulaw conversion to/from 8 bit signed linear.augustss
1997-10-09Fix tipo inherited from old version of TNF copyright template.jtc
1997-07-31Audio changes:augustss
- Change the way attach and open works to allow multiple audio devices. - Split the mulaw.c file into two to avoid dragging in mulaw convertsion when they are not needed. Add 16 bit alaw/mulaw tables. - Change the way audio properties are gotten. - Recognize more versions os SoundBlaster.
1997-05-28Add Alaw encoding emulation.augustss
1997-05-23Redo the way selecting the mode for SB cards is done completely.augustss
It is now table driven since there are so many different variations of SB cards out there. Also fix a bug that stopped SB2 and SBPro from working.
1997-05-13Clean up emulation code, SB, and GUS drivers and add some more encodingaugustss
emulation to SB.
1997-05-09Change the interface between high and lowlevel audio drivers again:augustss
Set the encoding parameters slightly differently. Remove the SW encoding/decodinf functions from this interface and move them to the audio_parameter struct; this is both more efficient and flexible.
1996-02-27Copyright assigned to the NetBSD Foundationjtc
1995-07-19GUS audio driver from John Kohl.brezak