diff options
Diffstat (limited to 'apps/codecs/libfaad/ms.c')
-rw-r--r-- | apps/codecs/libfaad/ms.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/apps/codecs/libfaad/ms.c b/apps/codecs/libfaad/ms.c index f01e5caa07..b42e95a408 100644 --- a/apps/codecs/libfaad/ms.c +++ b/apps/codecs/libfaad/ms.c | |||
@@ -41,7 +41,6 @@ void ms_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec, | |||
41 | uint16_t nshort = frame_len/8; | 41 | uint16_t nshort = frame_len/8; |
42 | 42 | ||
43 | uint16_t i, k; | 43 | uint16_t i, k; |
44 | real_t tmp; | ||
45 | 44 | ||
46 | if (ics->ms_mask_present >= 1) | 45 | if (ics->ms_mask_present >= 1) |
47 | { | 46 | { |
@@ -58,12 +57,12 @@ void ms_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec, | |||
58 | if ((ics->ms_used[g][sfb] || ics->ms_mask_present == 2) && | 57 | if ((ics->ms_used[g][sfb] || ics->ms_mask_present == 2) && |
59 | !is_intensity(icsr, g, sfb) && !is_noise(ics, g, sfb)) | 58 | !is_intensity(icsr, g, sfb) && !is_noise(ics, g, sfb)) |
60 | { | 59 | { |
61 | for (i = ics->swb_offset[sfb]; i < ics->swb_offset[sfb+1]; i++) | 60 | k = (group*nshort) + ics->swb_offset[sfb]; |
61 | for (i = ics->swb_offset[sfb]; i < ics->swb_offset[sfb+1]; i++, k++) | ||
62 | { | 62 | { |
63 | k = (group*nshort) + i; | 63 | /* L' = L+R, R' = L-R */ |
64 | tmp = l_spec[k] - r_spec[k]; | ||
65 | l_spec[k] = l_spec[k] + r_spec[k]; | 64 | l_spec[k] = l_spec[k] + r_spec[k]; |
66 | r_spec[k] = tmp; | 65 | r_spec[k] = l_spec[k] - (r_spec[k]<<1); |
67 | } | 66 | } |
68 | } | 67 | } |
69 | } | 68 | } |