Mark Taylor schrieb am Mon, 27 M�r 2000:
> if you dont mind, can you try again the latest CVS version?
>
> I'm guessing these problems were caused by Takehiro's latest
> changes: he put in yet more efficient lossless encoding
> which is also faster! But there may be a few more bugs,
> he just checked in the following change:
>
> revision 1.32
> date: 2000/03/27 15:59:14; author: takehiro; state: Exp; lines: +2 -2
> debugged seg.fault when count1 is 576
>
> I've also made a branch which does not include Takehiro's changes,
> "lame3_70". You can get this branch with cvs update -r lame3_70
> (or fill in the branch box in the "sticky options" tab under wincvs)
> can you see if this branch still has the problem?
>
> lame3_70 is going to be the next "official release".
>
> Mark
I checked the 3.67 tarball from sulaco.org and it seems to work.
For the SEGFAULT problem with Takehiro's enhanced code I inserted
an assert(i<=576) in best_huffman_divide, and now it stops with
an assertion failure instead of a segmentation fault.
/* Determines the number of bits to encode the quadruples. */
i = (cod_info.count1 += 2);
-> assert(i <= 576); <-
a1 = a2 = 0;
for (; i > cod_info.big_values; i -= 4) {
int p = ((ix[i-4] * 2 + ix[i-3]) * 2 + ix[i-2]) * 2 + ix[i-1];
a1 += ht[32].hlen[p]; <--
a2 += ht[33].hlen[p];
}
cod_info.big_values = i;
When I change
i = (cod_info.count1 += 2);
into
i = cod_info.count1;
then LAME encodes without an assertion failure or SEGFAULT.
Is this "cod_info.count1 += 2" really necessary?
Robert
--
http://linux.unixcity.de/catwalk/index.html
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )