crash in div_l
in 0c11047f, the decoder crash with this bitsteam:
the problem happens in the function decode_comb_fx() where a negative index is passed to div_l (which is not allowed). The parameters entering decode_comb() in the floating point code are the same.
First, it would be good that someone knowing more about the function deindex_lvq_SHB() (@vasilache? @norvell?) can verify if it is normal to get a negative index and if it is expected then the function could be amended as :
#ifdef FIX_719
IF( index < 0)
{
IF(LT_32(index, pi0[idx_lead]) )
{
idx_sign = 0;
move16();
}
ELSE
{
idx_sign = extract_l( div_l( L_shl( L_abs(index), 1 ), pi0[idx_lead] ) ); /*(index/pi0_fx[idx_lead]); */
idx_sign = negate( idx_sign );
}
}
ELSE
#endif
{
idx_sign = extract_l( div_l( L_shl( index, 1 ), pi0[idx_lead] ) ); /*(index/pi0_fx[idx_lead]); */
}
Edited by vaillancour