diff options
| author | 2016-09-03 12:37:44 -0700 | |
|---|---|---|
| committer | 2016-09-03 12:37:44 -0700 | |
| commit | c3307b41db4e222ceca3860c75ccbe6300484729 (patch) | |
| tree | fcf2501a0aa71f926e8d9e89ad5d9934aa535700 /src/audio_core/codec.cpp | |
| parent | Merge pull request #2045 from MerryMage/travis (diff) | |
| parent | codec: Fix ADPCM distortion caused by incorrect nibble order (diff) | |
| download | yuzu-c3307b41db4e222ceca3860c75ccbe6300484729.tar.gz yuzu-c3307b41db4e222ceca3860c75ccbe6300484729.tar.xz yuzu-c3307b41db4e222ceca3860c75ccbe6300484729.zip | |
Merge pull request #2050 from MerryMage/adpcm
codec: Fix ADPCM distortion caused by incorrect nibble order
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 ab65514b7..3e23323f1 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 | |||
| 58 | size_t outputi = framei * SAMPLES_PER_FRAME; | 58 | size_t outputi = framei * SAMPLES_PER_FRAME; |
| 59 | size_t datai = framei * FRAME_LEN + 1; | 59 | size_t datai = framei * FRAME_LEN + 1; |
| 60 | for (size_t i = 0; i < SAMPLES_PER_FRAME && outputi < sample_count; i += 2) { | 60 | for (size_t i = 0; i < SAMPLES_PER_FRAME && outputi < sample_count; i += 2) { |
| 61 | const s16 sample1 = decode_sample(SIGNED_NIBBLES[data[datai] & 0xF]); | 61 | const s16 sample1 = decode_sample(SIGNED_NIBBLES[data[datai] >> 4]); |
| 62 | ret[outputi].fill(sample1); | 62 | ret[outputi].fill(sample1); |
| 63 | outputi++; | 63 | outputi++; |
| 64 | 64 | ||
| 65 | const s16 sample2 = decode_sample(SIGNED_NIBBLES[data[datai] >> 4]); | 65 | const s16 sample2 = decode_sample(SIGNED_NIBBLES[data[datai] & 0xF]); |
| 66 | ret[outputi].fill(sample2); | 66 | ret[outputi].fill(sample2); |
| 67 | outputi++; | 67 | outputi++; |
| 68 | 68 | ||