From: Torsten Mohr <[EMAIL PROTECTED]> Subject: [mp3encoder] decoding, how many chunks of "main info"? Date: Sun, 4 Feb 2007 18:08:18 +0100
> reading in the ISO 11172-3 i see on page 43, Figure A.7.b. that > the MP3 stream consists of frames (of course) and that a part of > the "main data" can be located in a previous frame. > > That is ok so far, but in the example i see also that the "main data" > can span _several_ previous frames. > > Is there a limitation to the number of previous frames that i > need to consider for the "main data" of a frame? > > For example, i'm decoding frame 345, it is ok that i need to look > back to frame 344 in some cases. As i understand Figure A.7.b i > also may need to consider frame 343. How far can this reach back? > > Is this something that is just "on paper" but does not happen in > reality? Why don't you test by yourself :p ? It happens every mp3 files. The max number of buffered frames is 255, IIRC. It can be determined by some easy calculation. The blow comments are cited from 'libmp3lame/encoder.h' in the LAME source. /* mpeg1: buffer=511 bytes smallest frame: 96-38(sideinfo)=58 * max number of frames in reservoir: 8 * mpeg2: buffer=255 bytes. smallest frame: 24-23bytes=1 * with VBR, if you are encoding all silence, it is possible to * have 8kbs/24khz frames with 1byte of data each, which means we need * to buffer up to 255 headers! */ /* also, max_header_buf has to be a power of two */ > How does this interfere with resyncing? If i need to resync to a frame > and i find a valid frame, but its "main data" starts in the 4th previous > frame, then i have to skip this valid frame, is this correct? Right. In the worst case, you need to skip 255 frames. > Can anybody suggest me a pseudo-algorithm that considers both problems > (resyncing & back-referring of "main data")? Sorry, I've ever wrote an mp3 decoder and I cannot show you. -- Takehiro TOMINAGA // may the source be with you! _______________________________________________ mp3encoder mailing list mp3encoder@minnie.tuhs.org https://minnie.tuhs.org/mailman/listinfo/mp3encoder