|
|
|
@@ -807,7 +807,7 @@ static void synthfilt_build_sb_samples(QDM2Context *q, GetBitContext *gb, |
|
|
|
int length, int sb_min, int sb_max) |
|
|
|
{ |
|
|
|
int sb, j, k, n, ch, run, channels; |
|
|
|
int joined_stereo, zero_encoding, chs; |
|
|
|
int joined_stereo, zero_encoding; |
|
|
|
int type34_first; |
|
|
|
float type34_div = 0; |
|
|
|
float type34_predictor; |
|
|
|
@@ -961,16 +961,18 @@ static void synthfilt_build_sb_samples(QDM2Context *q, GetBitContext *gb, |
|
|
|
} |
|
|
|
|
|
|
|
if (joined_stereo) { |
|
|
|
float tmp[10][MPA_MAX_CHANNELS]; |
|
|
|
|
|
|
|
for (k = 0; k < run; k++) { |
|
|
|
tmp[k][0] = samples[k]; |
|
|
|
tmp[k][1] = (sign_bits[(j + k) / 8]) ? -samples[k] : samples[k]; |
|
|
|
for (k = 0; k < run && j + k < 128; k++) { |
|
|
|
q->sb_samples[0][j + k][sb] = |
|
|
|
q->tone_level[0][sb][(j + k) / 2] * samples[k]; |
|
|
|
if (q->nb_channels == 2) { |
|
|
|
if (sign_bits[(j + k) / 8]) |
|
|
|
q->sb_samples[1][j + k][sb] = |
|
|
|
q->tone_level[1][sb][(j + k) / 2] * -samples[k]; |
|
|
|
else |
|
|
|
q->sb_samples[1][j + k][sb] = |
|
|
|
q->tone_level[1][sb][(j + k) / 2] * samples[k]; |
|
|
|
} |
|
|
|
} |
|
|
|
for (chs = 0; chs < q->nb_channels; chs++) |
|
|
|
for (k = 0; k < run; k++) |
|
|
|
if ((j + k) < 128) |
|
|
|
q->sb_samples[chs][j + k][sb] = q->tone_level[chs][sb][((j + k)/2)] * tmp[k][chs]; |
|
|
|
} else { |
|
|
|
for (k = 0; k < run; k++) |
|
|
|
if ((j + k) < 128) |
|
|
|
|