Skip to content

Commit

Permalink
Merge pull request #12693 from Tilka/zelda3
Browse files Browse the repository at this point in the history
DSPHLE/Zelda: simplify AFC decoding
  • Loading branch information
AdmiralCurtiss committed Apr 13, 2024
2 parents b393905 + 8533b56 commit 1bfeeb8
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp
Expand Up @@ -1735,21 +1735,19 @@ void ZeldaAudioRenderer::DecodeAFC(VPB* vpb, s16* dst, size_t block_count)

if (vpb->samples_source_type == VPB::SRC_AFC_HQ_FROM_ARAM)
{
// 4-bit samples
for (size_t i = 0; i < 16; i += 2)
{
nibbles[i + 0] = *src >> 4;
nibbles[i + 1] = *src & 0xF;
src++;
}
for (auto& nibble : nibbles)
{
if (nibble >= 8)
nibble -= 16;
nibble <<= 11;
}
nibble = s16(nibble << 12) >> 1;
}
else
{
// 2-bit samples
for (size_t i = 0; i < 16; i += 4)
{
nibbles[i + 0] = (*src >> 6) & 3;
Expand All @@ -1759,11 +1757,7 @@ void ZeldaAudioRenderer::DecodeAFC(VPB* vpb, s16* dst, size_t block_count)
src++;
}
for (auto& nibble : nibbles)
{
if (nibble >= 2)
nibble -= 4;
nibble <<= 13;
}
nibble = s16(nibble << 14) >> 1;
}

s32 yn1 = *vpb->AFCYN1(), yn2 = *vpb->AFCYN2();
Expand Down

0 comments on commit 1bfeeb8

Please sign in to comment.