> > + if (in_channels == 1) { > > + for (o = 0; o < out_channels; o++) { > > + m->map_table_f[o][0] = 1.0f; > > + m->map_table_i[o][0] = 0x10000; > > + } > > + } else { > > + for (o = 0; o < out_channels; o++) { > > + for (i = 0; i < in_channels; i++) { > > + m->map_table_f[o][i] = 1.0f / in_channels; > > + m->map_table_i[o][i] = 0x10000 / in_channels; > > + } > > + } > > + } > > I don't see the point of if (in_channels == 1), because the general "else" > branch also seems to cover this particular case well. right, I've fixed the code according to David's comment in a later patch, so the end-result was OK but the preceeding 'reorganize' patch should be proper as well, thanks! -- Peter Meerwald +43-664-2444418 (mobile)