[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