Bläddra i källkod

Merge pull request #2050 from MerryMage/adpcm

codec: Fix ADPCM distortion caused by incorrect nibble order
Yuri Kunde Schlesner 10 år sedan
förälder
incheckning
c3307b41db
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      src/audio_core/codec.cpp

+ 2 - 2
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 outputi = framei * SAMPLES_PER_FRAME;
         size_t datai = framei * FRAME_LEN + 1;
         size_t datai = framei * FRAME_LEN + 1;
         for (size_t i = 0; i < SAMPLES_PER_FRAME && outputi < sample_count; i += 2) {
         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);
             ret[outputi].fill(sample1);
             outputi++;
             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);
             ret[outputi].fill(sample2);
             outputi++;
             outputi++;