[MPlayer-dev-eng] [PATCH] hwac3 support DTS WAV passthrough
Ulion
ulion2002 at gmail.com
Sat Nov 24 02:36:19 CET 2007
2007/11/21, Ulion <ulion2002 at gmail.com>:
> 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.
>
Done.
--
Ulion
More information about the MPlayer-dev-eng
mailing list