Re: [PATCH 00/11] Add AXD Audio Processing IP driver

From: Qais Yousef
Date: Tue Oct 28 2014 - 09:18:36 EST


On 10/28/2014 11:55 AM, Clemens Ladisch wrote:
Qais Yousef wrote:
AXD Audio Processing IP performs audio decoding, encoding, mixing, equalisation,
synchronisation and playback.
What exactly do you mean with "synchronisation" and "playback"?

Synchronisation refers to accurate audio playout relative to a master
clock source including compensation of drift between the master clock
source and the playout clock of the audio hardware. Hence allowing
synchronised audio playout across multiple independent devices.

Playback simple refers to the fact that AXD is capable of managing audio
playout hardware like I2S and SPDIF interfaces.


It doesn't fit in alsa subsystem but I Cced them to confirm.
... because those two words sound like something that a sound card could do.

The problem mainly stems from the fact that we take a variety of
compressed audio as input and we could perform audio encoding. The
problem with the compressed audio is that the range of decoders and
configuration supported in alsa is limited and there's no support for
taking raw pcm and producing compressed output. I'm not an expert on
alsa but when I looked it looked like there's more infra structure
required.

The following not supported points from Documentation/sound/alsa/compress_offload.txt affect us:

- Volume control/routing is not handled by this API. Devices exposing a
compressed data interface will be considered as regular ALSA devices;
volume changes and routing information will be provided with regular
ALSA kcontrols.

- Embedded audio effects. Such effects should be enabled in the same
manner, no matter if the input was PCM or compressed.

- Encoding/decoding acceleration is not supported as mentioned
above. It is possible to route the output of a decoder to a capture
stream, or even implement transcoding capabilities. This routing
would be enabled with ALSA kcontrols.




I added it to drivers/char as this is the best location I could think of at the
moment.
drivers/misc?

Yeah could do if there's consensus.

Thanks,
Qais


Regards,
Clemens

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/