[flac-dev] Questions about FLAC documentation

Serban Giuroiu giuroiu at gmail.com
Sun Nov 4 20:40:41 PST 2012


Great. Thanks!

Serban

On Nov 4, 2012, at 8:34 PM, Gravis <flac at adaptivetime.com> wrote:

> FlacNetLib was by far the most useful code reference.  if you dont
> know object oriented programming then you need to muddle through
> libFLAC as i havent seen any other implementation that isnt OO.
> 
> -Gravis
> 
> On Sun, Nov 4, 2012 at 1:16 PM, Serban Giuroiu <giuroiu at gmail.com> wrote:
>> Hi, Gravis.
>> 
>> I'm trying to build a FLAC encoder from scratch. Besides the official format specification, people have mentioned some different decoder implementations in this thread including the reference decoder, J-Ogg, and FlacNetLib.
>> 
>> I'm wondering if you found any other resources that were useful to you. Thanks!
>> 
>> Serban
>> 
>> On Oct 6, 2012, at 2:01 AM, Gravis <flac at adaptivetime.com> wrote:
>> 
>>> I'm implementing a FLAC decoder from scratch (save OGG stuff if I can
>>> help it) because libFLAC simply will not fit my embedded platform,
>>> For the most part I'm implementing using just the documentation but
>>> not all of the documentation is concise (especially about variable
>>> sized fields) and after looking at the libFLAC source I find myself
>>> befuddled so I thought it best to get the information from the people
>>> who know these things.  So...
>>> 
>>> In "FRAME_HEADER" there is a field of a variable size field with the
>>> description "if(variable blocksize) \n <8-56> : 'UTF-8' coded sample
>>> number (decoded number is 36 bits)" and I find the encoding scheme is
>>> somehow alien (I can't figure out what it has to do with UTF-8)  and
>>> it's two following fields to be incomprehensible.  There doesn't seem
>>> to be any information indicating their purpose either.
>>> 
>>> The location and coding of audio samples is very nebulous in that I
>>> don't know where they are or the specifics of how any of their
>>> encoding scheme work.  More details, links to more information and
>>> maybe even some pseudo code would be very helpful.  The documentation
>>> about the metadata is great...  but it kinda goes downhill after that.
>>> It would be fantastic if someone could update the documentation with
>>> more information and details.
>>> 
>>> Just a side note, the code seems to be written as if it were intended
>>> to be written in C++ (even to comments talk about it as if it were),
>>> so why not just make it C++ and put a C frontend on it?
>>> 
>>> -Gravis
>>> _______________________________________________
>>> flac-dev mailing list
>>> flac-dev at xiph.org
>>> http://lists.xiph.org/mailman/listinfo/flac-dev
>> 
> _______________________________________________
> flac-dev mailing list
> flac-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/flac-dev



More information about the flac-dev mailing list