mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-02 09:01:48 -05:00
dmix: add S24_3LE support
Add to the dmix plugin support for the S24_3LE sample format which is used by 24-bit USB devices. The optimized assembler version uses only 23 bits for sample data so that the lowest bit can be used for synchronization because there is no 24-bit cmpxchg instruction.
This commit is contained in:
parent
46f81f994b
commit
45f63a8735
8 changed files with 404 additions and 7 deletions
|
|
@ -34,6 +34,11 @@ typedef void (mix_areas2_t)(unsigned int size,
|
|||
volatile signed int *sum, size_t dst_step,
|
||||
size_t src_step, size_t sum_step);
|
||||
|
||||
typedef void (mix_areas3_t)(unsigned int size,
|
||||
volatile unsigned char *dst, unsigned char *src,
|
||||
volatile signed int *sum, size_t dst_step,
|
||||
size_t src_step, size_t sum_step);
|
||||
|
||||
struct slave_params {
|
||||
snd_pcm_format_t format;
|
||||
int rate;
|
||||
|
|
@ -120,6 +125,7 @@ struct snd_pcm_direct {
|
|||
signed int *sum_buffer; /* shared sum buffer */
|
||||
mix_areas1_t *mix_areas1;
|
||||
mix_areas2_t *mix_areas2;
|
||||
mix_areas3_t *mix_areas3;
|
||||
} dmix;
|
||||
struct {
|
||||
} dsnoop;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue