[MPlayer-dev-eng] [PATCH] hwac3 support DTS WAV passthrough

Ulion ulion2002 at gmail.com
Wed Nov 21 12:02:26 CET 2007


2007/11/17, Ulion <ulion2002 at gmail.com>:
> 2007/11/17, Ulion <ulion2002 at gmail.com>:
> > 2007/11/17, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> > > Hello,
> > > On Sat, Nov 17, 2007 at 04:31:51AM +0800, Ulion wrote:
> > > > 2007/11/13, Ulion <ulion2002 at gmail.com>:
> > > > > Original hwac3 only support 48kHz sample rate to passthrough, and only
> > > > > support 16bits BE DTS audio stream. Indeed that's only 1 of 4 DTS
> > > > > audio stream format, there also have 16bits LE, 14bits BE, 14bits LE.
> > > > > Specially, normal DTS WAV is 44.1kHz 14bits LE DTS stream.
> > > > > There's one way to passthrough DTS WAV is add '-ac +pcm' to force
> > > > > mplayer treat it as raw pcm format, some receiver will detect the DTS
> > > > > audio and play it well.
> > > > > But some receivers does not support passthrough by this method, so I
> > > > > try to find out a way to passthrough it just like normal DTS track in
> > > > > movies. We need to modify ad_hwac3 to make it support more dts format,
> > > > > but after did this, we still have problem to passthrough DTS WAV,
> > > > > that's because the fsize of DTS WAV is 4096 if it's in 14bits mode,
> > > > > and the sample number per channel (nblks*32) is 1024, then 1024 * 2ch
> > > > > * 2(16bits sample size) just equal the fsize 4096, that make us have
> > > > > no space to add an IEC 61937 header for the passthrough.
> > > > > But finally I found a way to resolve this problem -- convert the
> > > > > stream from 14bits format to 16bits format, that will save spaces then
> > > > > we can add the IEC header, after convert, the fsize changed to 3584.
> > > > > Now we can passthrough DTS WAV by hwac3, tested on both Intel and PPC.
> > > > > If you want some sample to test, goto these site:
> > > > >
> > > > > http://www.sr.se/multikanal/english/e_index.stm
> > > > > http://www.kellyindustries.com/sounds.html
> > > > >
> > > >
> > > > If no objects, I will commit this in a week.
> > >
> > >
> > > Well, it is a rather big patch, it would be much appreciated if you could find
> > > a way to split it a bit (it does not matter if the intermediate code has no real
> > > improvment, if at least you can think of different, descriptive commit messages
> > > for each).
> > > Also I'd much appreciate if you could split the comments at something around 80
> > > characters.
> >
> > It should be, thank you for notification, I will do that.
> >
>
> Now here's the first patch, make hwdts support more dts format
> identification, 14bits or 16bits, LE or BE. If no objects, I will
> commit this after 4 days.
>

Applied. Here's the second part: convert bits from 14 bits to 16 bits
if we have not enough space for add an iec61937 header. This patch
will make hwac3 support passthrough dts wav and dts cd, they are most
likely 14bits LE DTS streams.

A DTS CD can be passthrough played directly use cdda:// if the
external receiver support decode dts without iec61937 headers. Or can
be played by set "-rawaudio format=0x2001" to cmdline combine with
using -ac hwdts or -afm hwac3 to passthrough with iec61937 headers.

If no objects, I will apply this patch in 3 days.

-- 
Ulion
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hwac3_dts_wav_convert_bits.diff
Type: text/x-diff
Size: 3496 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20071121/5b4ca061/attachment.diff>


More information about the MPlayer-dev-eng mailing list