Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Mark a few more functions as const | Chris Robinson | 2014-05-23 | 1 | -4/+4 |
| | |||||
* | Initialize newformat to AL_NONE instead of a valid format | Chris Robinson | 2014-05-15 | 1 | -6/+2 |
| | |||||
* | Make RefCount a non-integer type | Chris Robinson | 2014-05-14 | 1 | -3/+3 |
| | | | | | It should only be accessed through the appropriate functions to ensure proper atomicity. | ||||
* | Only require MSADPCM block alignment to be a multiple of 2 | Chris Robinson | 2014-03-06 | 1 | -2/+2 |
| | |||||
* | Move the sample conversion routines to a separate file | Chris Robinson | 2014-03-05 | 1 | -1261/+3 |
| | |||||
* | Implement a simplistic MSADPCM encoder | Chris Robinson | 2014-03-05 | 1 | -19/+47 |
| | | | | It's not particularly good, but it's better than silence. | ||||
* | Allocate enough temp space for the ADPCM decoders and encoders | Chris Robinson | 2014-03-05 | 1 | -4/+4 |
| | |||||
* | Use specialized methods for converting ALshort to IMA4 and MSADPCM | Chris Robinson | 2014-03-05 | 1 | -2/+32 |
| | | | | As before, to avoid unnecessary direct copies | ||||
* | Use specialized methods for converting IMA4 and MSADPCM to ALshort | Chris Robinson | 2014-03-05 | 1 | -8/+39 |
| | | | | | Since the decoder methods already convert to ALshort, there's no need to use a temp buffer that's just going to copy directly to the destination. | ||||
* | Use maxi to clamp an int to a lower-bound | Chris Robinson | 2014-03-05 | 1 | -1/+1 |
| | |||||
* | Expand the sign bit on the initial MSADPCM delta value | Chris Robinson | 2014-03-05 | 1 | -0/+1 |
| | |||||
* | Add an extension to support MSADPCM buffer formats | Chris Robinson | 2014-03-04 | 1 | -27/+309 |
| | |||||
* | Add an extension to alter the block alignment for buffer unpack/pack ops | Chris Robinson | 2014-03-04 | 1 | -16/+71 |
| | | | | | | | | | | | | | | | | This is for unpacking (reading, e.g. alBufferData) and packing (writing, e.g. alGetBufferSamplesSOFT) operations. The alignments are specified in sample frames, with 0 meaning the default (65 for IMA4, 1 otherwise). IMA4 alignment must be a multiple of 8, plus 1 (e.g. alignment = n*8 + 1), otherwise an error will occur during (un)packing. Chenging the block alignment does not affect already-loaded sample data, only future unpack/pack operations... so for example, this is perfectly valid: // Load mono IMA4 data with a block alignment of 1024 bytes, or 2041 sample // frames. alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 2041); alBufferData(buffer, AL_FORMAT_MONO_IMA4, data, data_len, srate); alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 0); | ||||
* | Parameterize the block alignment | Chris Robinson | 2014-03-04 | 1 | -111/+152 |
| | |||||
* | Use alloca for temp space decoding/encoding IMA4 blocks | Chris Robinson | 2014-03-03 | 1 | -4/+11 |
| | |||||
* | Reduce explicit template declarations and ignore IMA4-to-IMA4 conversions | Chris Robinson | 2014-03-03 | 1 | -159/+35 |
| | | | | | | Since we never store IMA4 data in buffers, we should only ever convert from (user input) or to (user output) IMA4. Once we allow user-specified pack/unpack block alignment, this wouldn't be a simple memcpy anyway. | ||||
* | Store the original frame size alignment in the buffer | Chris Robinson | 2014-03-03 | 1 | -8/+22 |
| | |||||
* | Use C99 inline in more places | Chris Robinson | 2013-11-04 | 1 | -0/+2 |
| | |||||
* | Use C99 inline semantics | Chris Robinson | 2013-11-04 | 1 | -0/+3 |
| | |||||
* | Use an UNUSED macro instead of void-tagging unused parameters | Chris Robinson | 2013-10-07 | 1 | -16/+4 |
| | |||||
* | Remove al_try usage from alBuffer.c | Chris Robinson | 2013-10-07 | 1 | -246/+230 |
| | |||||
* | Start using a simpler method for error handling | Chris Robinson | 2013-10-06 | 1 | -335/+328 |
| | | | | This helps avoid the al_try/al_throwerr/al_endtry stuff. | ||||
* | Use a separate value for the maximum buffer channels | Chris Robinson | 2013-07-23 | 1 | -4/+4 |
| | | | | | | | Unlike the device, input buffers are accessed based on channel numbers instead of enums. This means the maximum number of channels they hold depends on the number of channels any one format can have, rather than the total number of recognized channels. Currently, this is 8 for 7.1. | ||||
* | Silence some clang warnings | Chris Robinson | 2013-06-05 | 1 | -6/+7 |
| | |||||
* | Use C99's inline instead of __inline | Chris Robinson | 2013-05-28 | 1 | -110/+110 |
| | |||||
* | Fix possible overflow when converting float to int | Chris Robinson | 2013-05-20 | 1 | -2/+2 |
| | | | | | Same as with the mixer, we can only use 25 bits of precision from floats. | ||||
* | Simplify al_try code | Chris Robinson | 2013-03-24 | 1 | -5/+4 |
| | |||||
* | Use int instead of long for the IMA4 tables | Chris Robinson | 2012-11-10 | 1 | -3/+3 |
| | |||||
* | Load Int and UInt samples as float with alBufferData | Chris Robinson | 2012-11-10 | 1 | -2/+2 |
| | | | | | This shouldn't really ever happen, as there's no 32-bit (u)int formats alBufferData can take. | ||||
* | Don't include alu.h in alMain.h | Chris Robinson | 2012-09-14 | 1 | -2/+1 |
| | |||||
* | Minor typo fixes | Chris Robinson | 2012-06-28 | 1 | -2/+2 |
| | |||||
* | Don't use all caps for enum value names | Chris Robinson | 2012-06-28 | 1 | -6/+6 |
| | |||||
* | Switch alBuffer.c to the new error handling scheme, and get rid of more ↵ | Chris Robinson | 2012-04-24 | 1 | -415/+373 |
| | | | | hungarian notation | ||||
* | Remove some more hungarian notation | Chris Robinson | 2012-04-19 | 1 | -94/+94 |
| | |||||
* | Fix comment and rename the buffer's self-id | Chris Robinson | 2012-04-19 | 1 | -6/+6 |
| | |||||
* | Avoid shadowing a couple variables | Chris Robinson | 2012-04-16 | 1 | -4/+4 |
| | |||||
* | Add a COUNTOF macro to get the number of entries in a static array | Chris Robinson | 2012-02-19 | 1 | -2/+2 |
| | |||||
* | Move the endian test macro to alMain.h | Chris Robinson | 2012-02-15 | 1 | -5/+0 |
| | |||||
* | Ensure ALbyte3 and ALubyte3 are the proper size | Chris Robinson | 2012-02-07 | 1 | -0/+2 |
| | |||||
* | Pass the uncompressed sample count to LoadData and ConvertData for IMA4 | Chris Robinson | 2012-01-26 | 1 | -41/+56 |
| | |||||
* | Avoid a bit of code duplication | Chris Robinson | 2012-01-25 | 1 | -70/+29 |
| | |||||
* | Remove the unnecessary AL_MULAW_SOFT, AL_ALAW_SOFT, and AL_IMA4_SOFT defines | Chris Robinson | 2012-01-10 | 1 | -3/+0 |
| | |||||
* | Append _SOFT to the AL_SOFT_buffer_samples enums | Chris Robinson | 2012-01-10 | 1 | -49/+49 |
| | |||||
* | Use sample frames when handling the buffer length | Chris Robinson | 2011-10-04 | 1 | -32/+16 |
| | |||||
* | Get rid of some unnecessary casting | Chris Robinson | 2011-10-02 | 1 | -4/+4 |
| | |||||
* | Rename some parameters | Chris Robinson | 2011-10-02 | 1 | -18/+18 |
| | |||||
* | Remove the OriginalAlign buffer field, and calculate it as needed | Chris Robinson | 2011-10-01 | 1 | -6/+11 |
| | |||||
* | Fix potential divide-by-0 | Chris Robinson | 2011-10-01 | 1 | -5/+11 |
| | |||||
* | Add buffer properties to get the internal format, and the length in bytes, ↵ | Chris Robinson | 2011-10-01 | 1 | -1/+36 |
| | | | | | | | | | | | samples, and seconds The provided buffer lengths correspond to the source offsets, in that the byte length specifies the end of the byte offset (ie, when the buffer is used for a static source, the offset will range between 0 (inclusive) and the byte length (exclusive)). Although an application could use the AL_SIZE, AL_CHANNELS, AL_BITS, and AL_FREQUENCY properties to find the length in samples and seconds, the byte length cannot be reliably calculated this way. | ||||
* | Add support for AL_EXT_ALAW | Chris Robinson | 2011-10-01 | 1 | -2/+159 |
| |