Hi,

  I found a bug in the long block pre-echo control code.

if (gfc->blocktype_old[chn] == SHORT_TYPE )
  thr[b] = ecb; /* Min(ecb, rpelev*gfc->nb_1[chn][b]); */
else
  thr[b] = Min(ecb, Min(rpelev*gfc->nb_1[chn][b],rpelev2*gfc->nb_2[chn][b])
);

  In the loop of chn, chn goes up to 3, but the size of array gfc->blocktype_o
ld[] is 2. So, this code works incorrectly in joint stereo mode.

  This code should be fixed like this.

if (gfc->blocktype_old[gfp->mode == MPG_MD_JOINT_STEREO ? 0 : chn] == SHORT_TYPE )

--
Naoki Shibata   e-mail: [EMAIL PROTECTED]

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to