All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qais Yousef <qais.yousef@imgtec.com>
To: Clemens Ladisch <clemens@ladisch.de>, linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	Neil Jones <neil.jones@imgtec.com>
Subject: Re: [PATCH 00/11] Add AXD Audio Processing IP driver
Date: Tue, 28 Oct 2014 13:18:28 +0000	[thread overview]
Message-ID: <544F97A4.7080209@imgtec.com> (raw)
In-Reply-To: <544F8439.4080402@ladisch.de>

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

WARNING: multiple messages have this Message-ID (diff)
From: Qais Yousef <qais.yousef@imgtec.com>
To: Clemens Ladisch <clemens@ladisch.de>, <linux-kernel@vger.kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	<devicetree@vger.kernel.org>, <alsa-devel@alsa-project.org>,
	Neil Jones <neil.jones@imgtec.com>
Subject: Re: [PATCH 00/11] Add AXD Audio Processing IP driver
Date: Tue, 28 Oct 2014 13:18:28 +0000	[thread overview]
Message-ID: <544F97A4.7080209@imgtec.com> (raw)
In-Reply-To: <544F8439.4080402@ladisch.de>

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


  reply	other threads:[~2014-10-28 13:18 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-28 11:26 [PATCH 00/11] Add AXD Audio Processing IP driver Qais Yousef
2014-10-28 11:26 ` Qais Yousef
2014-10-28 11:26 ` [PATCH 01/11] MAINTANERS: Add AXD as a supported driver Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-29  5:42   ` [alsa-devel] " Vinod Koul
2014-10-28 11:26 ` [PATCH 02/11] dt: bindings: add AXD Audio Processing IP binding document Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 03/11] drivers: char: add AXD Audio Processing IP driver Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 14:10   ` Greg Kroah-Hartman
     [not found]     ` <20141028141038.GA18384-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-10-28 14:36       ` Qais Yousef
2014-10-28 14:36         ` Qais Yousef
     [not found]         ` <544FA9F7.1020101-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2014-10-28 14:50           ` Greg Kroah-Hartman
2014-10-28 14:50             ` Greg Kroah-Hartman
2014-10-29  5:33   ` [alsa-devel] " Vinod Koul
2014-10-28 11:26 ` [PATCH 04/11] drivers: char: axd: add fw binary header manipulation files Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 05/11] drivers: char: axd: add buffers " Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 06/11] drivers: char: axd: add basic files for sending/receiving axd cmds Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 07/11] drivers: char: axd: add cmd interfce helper functions Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-29  5:38   ` [alsa-devel] " Vinod Koul
2014-10-28 11:26 ` [PATCH 08/11] drivers: char: axd: add low level AXD platform setup files Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 09/11] drivers: char: axd: add sysfs " Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 14:11   ` Greg Kroah-Hartman
2014-10-28 14:38     ` Qais Yousef
2014-10-28 14:38       ` Qais Yousef
2014-10-28 14:12   ` Greg Kroah-Hartman
2014-10-28 14:39     ` Qais Yousef
2014-10-28 14:39       ` Qais Yousef
2014-10-29  5:41   ` [alsa-devel] " Vinod Koul
2014-10-28 11:26 ` [PATCH 10/11] drivers: char: axd: add ts interface file Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:26 ` [PATCH 11/11] drivers: char: axd: add Kconfig and Makefile Qais Yousef
2014-10-28 11:26   ` Qais Yousef
2014-10-28 11:55 ` [PATCH 00/11] Add AXD Audio Processing IP driver Clemens Ladisch
2014-10-28 13:18   ` Qais Yousef [this message]
2014-10-28 13:18     ` Qais Yousef
     [not found]     ` <544F97A4.7080209-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2014-10-28 14:13       ` Greg Kroah-Hartman
2014-10-28 14:13         ` Greg Kroah-Hartman
2014-10-28 15:05         ` Qais Yousef
2014-10-28 15:05           ` Qais Yousef
2014-10-29  2:50           ` Greg Kroah-Hartman
2014-10-29  5:24             ` [alsa-devel] " Vinod Koul
2014-10-29 10:48               ` Qais Yousef
2014-10-29 10:48                 ` Qais Yousef
2014-10-29  5:20         ` Vinod Koul
2014-10-28 14:54     ` Lars-Peter Clausen
2014-10-28 15:33       ` Qais Yousef
2014-10-28 15:33         ` Qais Yousef
2014-10-28 16:04         ` [alsa-devel] " Lars-Peter Clausen
2014-10-29  5:18     ` Vinod Koul
2014-10-29 15:06     ` Pierre-Louis Bossart
2014-10-28 12:06 ` Lars-Peter Clausen
2014-10-28 13:21   ` Qais Yousef
2014-10-28 13:21     ` Qais Yousef

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=544F97A4.7080209@imgtec.com \
    --to=qais.yousef@imgtec.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnd@arndb.de \
    --cc=clemens@ladisch.de \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neil.jones@imgtec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.