Hi,
it looks like some code in quantize.c is now broken
in lame3.84 beta. There is no quality decrease, but
an unnecessary speed decrease for the old VBR.
You would have to patch lame.c and parse.c with the following
and the old VBR would be back at its normal speed.
Ciao Robert
*** lame.c.orig Sat Jul 1 11:27:53 2000
--- lame.c Sat Jul 1 11:28:33 2000
***
*** 1027,1036
switch (gfp-VBR){
! case 2:
VBR_quantize( gfp,*pe_use, gfc-ms_ener_ratio, xr, *masking, l3_enc, scalefac);
break;
! case 1:
VBR_iteration_loop( gfp,*pe_use, gfc-ms_ener_ratio, xr, *masking, l3_enc,
scalefac);
break;
case 3:
--- 1027,1036
switch (gfp-VBR){
! case 1:
VBR_quantize( gfp,*pe_use, gfc-ms_ener_ratio, xr, *masking, l3_enc, scalefac);
break;
! case 2:
VBR_iteration_loop( gfp,*pe_use, gfc-ms_ener_ratio, xr, *masking, l3_enc,
scalefac);
break;
case 3:
*** parse.c.origSat Jul 1 11:23:10 2000
--- parse.c Sat Jul 1 11:25:48 2000
***
*** 281,291
}
}
else if (strcmp(token, "vbr-old")==0) {
! gfp-VBR = 1;
gfp-quality = 2;
}
else if (strcmp(token, "vbr-new")==0) {
! gfp-VBR = 2;
gfp-quality = 2;
}
else if (strcmp(token, "abr")==0) {
--- 281,291
}
}
else if (strcmp(token, "vbr-old")==0) {
! gfp-VBR = 2;
gfp-quality = 2;
}
else if (strcmp(token, "vbr-new")==0) {
! gfp-VBR = 1;
gfp-quality = 2;
}
else if (strcmp(token, "abr")==0) {
***
*** 630,636
}
break;
case 'V':argUsed = 1;
! gfp-VBR = gfp-VBR == 0 ? 1 : gfp-VBR;
gfp-VBR_q = atoi(arg);
if (gfp-VBR_q 0) gfp-VBR_q=0;
if (gfp-VBR_q 9) gfp-VBR_q=9;
--- 630,636
}
break;
case 'V':argUsed = 1;
! gfp-VBR = gfp-VBR == 0 ? 2 : gfp-VBR;
gfp-VBR_q = atoi(arg);
if (gfp-VBR_q 0) gfp-VBR_q=0;
if (gfp-VBR_q 9) gfp-VBR_q=9;
***
*** 691,697
gfp-allow_diff_short = 1;
break;
case 'v':
! gfp-VBR = 1;
gfp-quality = 2;
break;
case 'S':
--- 691,697
gfp-allow_diff_short = 1;
break;
case 'v':
! gfp-VBR = 2;
gfp-quality = 2;
break;
case 'S':
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )