[alsa-devel] support for hardware encode/decode of compressed formats
Pavel Hofman
pavel.hofman at insite.cz
Mon Apr 7 10:37:59 CEST 2008
Eliot Blennerhassett wrote:
> Tobin Davis wrote:
>> Are there any alsa supported sound cards that do hardware audio decoding
>> for MP3/WMA and otehr formats? I'd like to look at the mechanism used
>> to connect the cards to the data stream.
>
> This has come up a couple of times recently.
>
> Todays answer is that ALSA has no support for getting the encoded data
> through to the cards.
>
> We are interested in this and would like to see it happen because our
> cards do support MP2 and MP3 decode and encode in DSP on the cards.
>
> Applications wanting to use this capability currently must use our HPI
> driver directly (the primary example on Linux is Rivendell radio
> automation software http://www.rivendellaudio.org)
>
> One assumption that alsa makes is that a "period" equates to a fixed
> amount of time, and a fixed amount of audio data. This is not the case
> for Variable bitrate mpeg etc. And even with fixed bitrate, the bits
> per sample is fractional E.g. 128kbps/44.1k = 2.90249... bits per sample
> frame.
>
> One of the two assumptions about the period would have to be relaxed to
> allow alsa to maybe work with compressed data. Probably the time one.
> I.e. a period means the decoder has consumed X bytes, but this doesn't
> correspond to any particular amount of time.
>
Hi, you probably know the workarounds of spdif-passthrough in
alsa-enabled applications. Perhpaps these techniques could be of some help.
E.g. mplayer padds the missing data with zeroes for AC3/DTS passthrough.
My AVR decoder does not seem to mind.
http://www.mplayerhq.hu/DOCS/tech/hwac3.txt
http://svn.mplayerhq.hu/mplayer/trunk/libmpcodecs/ad_hwac3.c?view=markup
Though I guess the zeroes would probably corrupt the MP3 stream.
Regards,
Pavel.
More information about the Alsa-devel
mailing list