From 0bbda3bab45f37fc888b8a8ac3ca9392a667c342 Mon Sep 17 00:00:00 2001
From: fincs <fincs.alt1@gmail.com>
Date: Sat, 3 Sep 2016 14:01:31 +0100
Subject: [PATCH] codec: Fix ADPCM distortion caused by incorrect nibble order

Closes #2049.

Signed-off-by: MerryMage <MerryMage@users.noreply.github.com>
---
 src/audio_core/codec.cpp | 4 ++--
 1 file 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++;