[Speex-dev] (small) bug in nb_decode?
Jean-Marc Valin
Jean-Marc.Valin at USherbrooke.ca
Tue Oct 25 15:22:45 PDT 2005
Le lundi 24 octobre 2005 à 21:55 -0700, Tom Harper a écrit :
> Hi,
>
> So I got a crash on the following code:
> k1=SUBMODE(lpc_enh_k1);
> k2=SUBMODE(lpc_enh_k2);
> which in the newer codebase is:
> bw_lpc(SUBMODE(lpc_enh_k1), st->interp_qlpc, awk1,
> st->lpcSize);
> bw_lpc(SUBMODE(lpc_enh_k2), st->interp_qlpc, awk2,
> st->lpcSize);
>
Are you really sure you didn't have some corruption elsewhere?
> I am not sure if the newer code will have the same issue but the
> following check is performed in nb_decode_lost, so I figure the
> same thing should be done in decode... right?
>
> add (or equivalent):
>
> if (st->submodes[st->submodeID] != NULL)
> {
> k1=SUBMODE(lpc_enh_k1);
> k2=SUBMODE(lpc_enh_k2);
> k3=(1-(1-r*k1)/(1-r*k2))/r;
> }else {
> k1=k2=0.7;
> k3 = 0.0f;
> }
Normally, this shouldn't be necessary because there's a check for
st->submodes[st->submodeID] != NULL a bit before that.
>
Jean-Marc
More information about the Speex-dev
mailing list