All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Subject: Re: Can ASoC support SPDIF AC3 passthrough playback (non linear PCM) ?
Date: Mon, 23 Jul 2012 14:36:49 -0500	[thread overview]
Message-ID: <500DA7D1.7060507@linux.intel.com> (raw)
In-Reply-To: <500CA2F2.1090801@gmail.com>

On 7/22/2012 8:03 PM, Gabriel M. Beddingfield wrote:
> On 07/21/2012 10:39 AM, Sangsu Park wrote:
>> Hi,
>> We're developing a platform where we have SPDIF output.
>> And we want to SPDIF AC3 playback (non linear PCM).
>> Our CPU is a kind of ARM architecture one and it has a SPDIF that can
>> support AC3 passthrough playback.
>>
>> I've already know that ALSA can support SPDIF AC3 passthrough playback
>> like follows,
>> http://www.mythtv.org/wiki/Configuring_Digital_Sound_with_AC3_and_SPDIF
>> But, I can't find that any ARM architecture CPU can be supportable for
>> SPDIF AC3 passthrough playback.
>>
>> Are there anyone who have a SPDIF AC3 passthrough playback?
>> or anyone who know the clue about SPDIF AC3 passthrought playback
>> supportable on ASoC?
>
> I'm currently working on a similar project -- and I'm learning about 
> this myself, too.
>
> As I understand it, you have to package the AC-3 into IEC 61937 format 
> first.  The S/PDIF driver will then encode it into the IEC 60958 
> (S/PDIF protocol).
>
> You probably need/want a copy of IEC 61937-3.[1]  It looks pretty 
> simple (add 4 headers to the front and some zero-padding at the end to 
> meet the alignment requirements).  I don't know of any software 
> examples for doing it[2] -- so if you find some, please share! :-)
>
> As for feeding it to ALSA, I think that's what the 
> SNDRV_PCM_FORMAT_IEC958_SUBFRAME is intended for.  However, in 
> practice I've heard that you can usually configure the PCM device to 
> something like an S16 format and things "just work."  (IEC 61937-3's 
> payload is 16-bit aligned.)
>
> ...and I think I've heard of some people shooting raw AC-3 and things 
> "just work."  YMMV. :-)

There are two modes really
- one where you send 16-bit data with the 61937 format. somehow the 
hardware add the preambles and CUVP bits
- one where you create the complete 32-bit frame using the iec958 
alsa-lib plugin
Both work with my HDAudio output, the latter is more flexible if you 
want to set the C/U bits

Note that this is all supported in PulseAudio, and gstreamer can package 
AC3/DTS data for you. mplayer also does.
-Pierre

      parent reply	other threads:[~2012-07-23 19:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-21 15:39 Can ASoC support SPDIF AC3 passthrough playback (non linear PCM) ? Sangsu Park
2012-07-22 18:42 ` Mark Brown
2012-07-23  1:03 ` Gabriel M. Beddingfield
2012-07-23 13:41   ` Sangsu Park
2012-07-23 19:36   ` Pierre-Louis Bossart [this message]

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=500DA7D1.7060507@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.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 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.