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.orig        Sat 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/ )

Reply via email to