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/ )