* Downmix samples from original signal to stereo or mono (this is for 16-bit samples
* and fixed point decoder - original (for 32-bit samples) is in ac3dsp.c).
*/
-static void ac3_downmix_c_fixed16(int16_t **samples, int16_t (*matrix)[2],
+static void ac3_downmix_c_fixed16(int16_t **samples, int16_t **matrix,
int out_ch, int in_ch, int len)
{
int i, j;
for (i = 0; i < len; i++) {
v0 = v1 = 0;
for (j = 0; j < in_ch; j++) {
- v0 += samples[j][i] * matrix[j][0];
- v1 += samples[j][i] * matrix[j][1];
+ v0 += samples[j][i] * matrix[0][j];
+ v1 += samples[j][i] * matrix[1][j];
}
samples[0][i] = (v0+2048)>>12;
samples[1][i] = (v1+2048)>>12;
for (i = 0; i < len; i++) {
v0 = 0;
for (j = 0; j < in_ch; j++)
- v0 += samples[j][i] * matrix[j][0];
+ v0 += samples[j][i] * matrix[0][j];
samples[0][i] = (v0+2048)>>12;
}
}