From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Arnaud Pouliquen <arnaud.pouliquen@st.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Cc: Mark Brown <broonie@kernel.org>
Subject: Re: [RFC] How to perform audio offloading in none tunneled mode
Date: Tue, 8 Sep 2015 11:46:06 -0500 [thread overview]
Message-ID: <55EF10CE.3040803@linux.intel.com> (raw)
In-Reply-To: <55EF06FC.90400@st.com>
On 9/8/15 11:04 AM, Arnaud Pouliquen wrote:
> Hello,
>
> I'm looking at possibility to offload atomic actions like mixing,
> decoding, encoding on a co-processor, and collect the result on host side.
>
> Rational:
> - Allow none-tunneled mode:
> . decoding and mixing on a DSP but A/V synchro on host (android,
> Gstreamer)
> . re-encode after mixing (HDMI)
> - Allow to get post processing PCM stream to play it on USB or bluetooth
> devices.
> - Allow to add some processing in pipe on host side.
> - MIPS partitioning
> -...
>
> Some constraints:
> - avoid copy (buffer descriptors)
> - dynamic connection for mixing and splitting.
>
> For this, i can list two standard drivers: V4L2 and ALSA.
> If V4L2 should be OK for encode and decode, seems designed more for
> video than audio. For mixing and processing...
>
> ALSA could answer to this kind of use cases, using compress API and ASoC
> dynamic PCM mechanism...
>
> As example a mixer would be a sound card with several PCM playbacks and
> a PCM capture.
>
> For time being i have never seen this kind of implementation...
>
> What is your feeling on possibility to perform it with ALSA (with
> objective to be upstreamable)?
>
> Otherwise, any standard way to do it?
>
The compressed API was more designed for offloading and rendering, if
you can to pass the mixed result back to the host you will have to setup
a capture stream using the regular PCM API.
What you are describing is feasible but has issues related to:
- delay control
- DSP scheduling (no real means to process data faster than real-time as
you would want in a data-driven co-processor)
There are also divergent views on the benefits of offloading
intermediate operations to a resource-constrained co-processor, you
might be better off doing everything on the host in terms of power
consumption.
next prev parent reply other threads:[~2015-09-08 16:46 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-22 14:31 [PATCH v3 0/9] asoc: Add audio for sti platforms Arnaud Pouliquen
2015-06-22 14:31 ` [PATCH v3 1/9] ASoC: sti: add binding for ASoC driver Arnaud Pouliquen
2015-06-22 15:04 ` [STLinux Kernel] " Maxime Coquelin
2015-07-10 18:08 ` Applied "ASoC: sti: add binding for ASoC driver" to the asoc tree Mark Brown
2015-06-22 14:31 ` [PATCH v3 2/9] ASoC: sti: Add uniperipheral header file Arnaud Pouliquen
2015-06-22 14:31 ` [PATCH v3 3/9] ASoC: sti: Add CPU DAI driver for playback Arnaud Pouliquen
2015-07-10 17:00 ` Mark Brown
2015-07-15 9:28 ` Arnaud Pouliquen
2015-07-10 18:08 ` Applied "ASoC: sti: Add CPU DAI driver for playback" to the asoc tree Mark Brown
2015-06-22 14:31 ` [PATCH v3 4/9] ASoC: sti: Add CPU DAI driver for capture Arnaud Pouliquen
2015-07-10 17:26 ` Mark Brown
2015-07-15 9:31 ` Arnaud Pouliquen
2015-06-22 14:31 ` [PATCH v3 5/9] ASoC: sti: Add uniperipheral dai driver Arnaud Pouliquen
2015-06-22 14:31 ` [PATCH v3 6/9] ASoC: Add ability to build sti drivers Arnaud Pouliquen
2015-07-16 21:01 ` Applied "ASoC: Add ability to build sti drivers" to the asoc tree Mark Brown
2015-06-22 14:31 ` [PATCH v3 7/9] ASoC: Codec: Add sti platform codec Arnaud Pouliquen
2015-07-10 18:08 ` Applied "ASoC: sti-sas: Add sti platform codec" to the asoc tree Mark Brown
2015-06-22 14:31 ` [PATCH v3 8/9] ASoC: sti: Add clock adjustement control Arnaud Pouliquen
2015-06-22 14:31 ` [PATCH v3 9/9] ASoC: sti: Add IEC control Arnaud Pouliquen
2015-07-10 18:06 ` Mark Brown
2015-07-15 9:59 ` Arnaud Pouliquen
2015-07-15 11:03 ` Mark Brown
2015-08-07 14:00 ` Applied "ASoC: sti: Add IEC control" to the asoc tree Mark Brown
2015-09-08 16:04 ` [RFC] How to perform audio offloading in none tunneled mode Arnaud Pouliquen
2015-09-08 16:46 ` Pierre-Louis Bossart [this message]
2015-09-08 17:32 ` Mark Brown
2015-09-09 8:36 ` Arnaud Pouliquen
2015-09-09 9:56 ` Mark Brown
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=55EF10CE.3040803@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=arnaud.pouliquen@st.com \
--cc=broonie@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox