Andre
2004-Sep-10 16:45 UTC
[Flac-dev] Re: process for petitioning for more flac hardware support
> > i was wondering how one would go about approaching hardware > manufacturers to support flac. >One thing to do first might be to make sure that flac is suitable to run on lost cost hardware. For example the amount of buffering required in the decoder. If I understand the flac format correctly, all decoders must support block sizes upto 65535 samples (ie 256k of decoded stereo data). For comparison, a SW MP3 decoder running on an embedded cpu can be run in as little as 32k bytes of RAM (which includes 9k required to double buffer _two_ frames (1152 samples each) of decoded audio). Maybe it is always possible to play audio from a flac block without buffering and decoding the whole block first (I don't know - I haven't studied the source) but some information covering this type of issue on the flac website might be a good starting point for persuading HW manufacturers. Just my 2 cents.... :-) Andre -- ____________________________________________________________ Win a first-class trip to New Orleans and vacation Elvis Style!. Enter NOW! http://r.lycos.com/r/sagel_mail/http://www.elvis.lycos.com/sweepstakes/
Josh Coalson
2004-Sep-10 16:45 UTC
[Flac-dev] Re: process for petitioning for more flac hardware support
--- Andre <armcc@lycos.com> wrote:> > > > i was wondering how one would go about approaching hardware > > manufacturers to support flac. > > > > One thing to do first might be to make sure that flac is suitable to > run on lost cost hardware. For example the amount of buffering > required > in the decoder. > > If I understand the flac format correctly, all decoders must support > block sizes upto 65535 samples (ie 256k of decoded stereo data).FLAC specifies a subset of the whole format that make it more amenable to small hardware implementations. The command- line encoder currently generates subset files, with a max block size of 4308 samples unless you explicitly give it a different number. So while it's possible to have 64k samples in a block, you have to force a large blocksize when encoding, then knowingly tell the encoder via another call (FLAC__stream_encoder_set_streamable_subset(encoder, false)) which is what 'flac --lax' does, that you are straying from the subset. There are warnings in the docs about the consequences of --lax but maybe it's not clear enough.> Maybe it is always possible to play audio from a flac block without > buffering and decoding the whole block first (I don't know - I > haven't > studied the source) but some information covering this type of issue > on > the flac website might be a good starting point for persuading HW > manufacturers.This is possible as long as you don't care about checking the data against the CRC before playback. Josh __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com