[MPlayer-dev-eng] MPEG to S/PDIF passthrough
Ulion
ulion2002 at gmail.com
Fri Mar 7 01:20:50 CET 2008
2008/3/7, Ilkka Karvinen <kartsan at gmail.com>:
> On Thursday 06 March 2008 13:57, Ulion wrote:
> > 2008/3/6, Ulion <ulion2002 at gmail.com>:
> > > 2008/3/5, Ilkka Karvinen <kartsan at gmail.com>:
> > > > There have been no comments on this patch. I'm wondering if there could
> > > > be
> > > >
> > > > people around here who have a home theater amplifier which supports
> > > > MPEG audio? It would be interesting to hear if this feature works with
> > > > your hardware. Especially if you are running mplayer on a bigendian
> > > > machine since I can't currently test this code on a such machine.
> > > >
> > > > If your amplifier supports AC3/DTM decoding, its DSP may also support
> > > > MPEG audio. My old Harman Kardon amplifier uses Cirrus Logic's DSP
> > > > which supports it and that was my initial reason to start
> > > > investigating this stuff.
> > > >
> > > > I send attached diff that Ulion made for me if you would like to give
> > > > a try to this feature. It adds new codec hwmp3 which redirects the
> > > > MPEG frames to hardware via S/PDIF.
> > > >
> > > > I have tested it and it works with mp3 audio files and video files
> > > > with mp3 audio track. However, some mp3 files do not work and I don't
> > > > know why. My guess is that their frames are not recognised by my
> > > > hardware. There are no similarities with the failing samples. Another
> > > > sample with equal parameters (header bits are the same) may work
> > > > flawlessly.
> > >
> > > found some problem about this patch:
> > >
> > > in decode_audio():
> > > + uint16_t *buf16 = (uint16_t *)buf;
> > >
> > > should this be put into the while loop and looks like this:
> > >
> > > + uint16_t *buf16 = (uint16_t *)(buf + toc);
> >
> > I mean:
> > + uint16_t *buf16 = (uint16_t *)(buf + tot);
>
>
> What is the problem?
>
>
> > and there's another type value for 'MPEG-2 with extension' it should
> > be 6 instead of 5.
> > there's also a type value for 'MPEG-2 layer-3 low sampling frequency'
> > referred by IEC 61937-4.
> > should these two type be handled in the code?
>
>
> Those MPEG-2 types were so rare that I didn't put them there. Actually
> there was type 4 in my original implementation which is MPEG-1 layer-1
> but even that I've never seen so I dropped it. I can add them to this codec
> to make sure. I'm pretty sure that the documentation of the DSP in my
> amplifier said it supports only MPEG-1 layer 3 so those formats were
> unknown for it anyway...
so what about MPEG-2 with extension? is there a flag in mp3 header to
indicate it? if there is, we should use it with proper type value.
and the buf16 code problem I metioned earlier, is your problem with
some mp3 files resolved after fix it?
--
Ulion
More information about the MPlayer-dev-eng
mailing list