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 >
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 >
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