diff options
| author | fincs <fincs.alt1@gmail.com> | 2016-09-03 14:01:31 +0100 |
|---|---|---|
| committer | MerryMage <MerryMage@users.noreply.github.com> | 2016-09-03 14:06:25 +0100 |
| commit | 61bde9974bb8dd7776295467ba6182aeec67da27 (patch) | |
| tree | 227a21382fb51833a20d858273b98f342662feba /src/audio_core/codec.cpp | |
| parent | fe9d040a82f1303557c9ef798af1b5d67e3c2031 (diff) | |
codec: Fix ADPCM distortion caused by incorrect nibble order
Closes #2049.
Signed-off-by: MerryMage <MerryMage@users.noreply.github.com>
Diffstat (limited to 'src/audio_core/codec.cpp')
| -rw-r--r-- | src/audio_core/codec.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/audio_core/codec.cpp b/src/audio_core/codec.cpp index ab65514b73..3e23323f1c 100644 --- a/src/audio_core/codec.cpp +++ b/src/audio_core/codec.cpp @@ -58,11 +58,11 @@ StereoBuffer16 DecodeADPCM(const u8* const data, const size_t sample_count, cons size_t outputi = framei * SAMPLES_PER_FRAME; size_t datai = framei * FRAME_LEN + 1; for (size_t i = 0; i < SAMPLES_PER_FRAME && outputi < sample_count; i += 2) { - const s16 sample1 = decode_sample(SIGNED_NIBBLES[data[datai] & 0xF]); + const s16 sample1 = decode_sample(SIGNED_NIBBLES[data[datai] >> 4]); ret[outputi].fill(sample1); outputi++; - const s16 sample2 = decode_sample(SIGNED_NIBBLES[data[datai] >> 4]); + const s16 sample2 = decode_sample(SIGNED_NIBBLES[data[datai] & 0xF]); ret[outputi].fill(sample2); outputi++; |
