pcm/{Traits,Dsd*}: use std::byte

This commit is contained in:
Max Kellermann
2023-03-06 18:27:16 +01:00
parent 7a1b996da9
commit 941f2ca60d
18 changed files with 95 additions and 114 deletions

View File

@@ -335,10 +335,10 @@ dsdiff_read_metadata(DecoderClient *client, InputStream &is,
}
static void
bit_reverse_buffer(uint8_t *p, uint8_t *end)
bit_reverse_buffer(std::byte *p, std::byte *end)
{
for (; p < end; ++p)
*p = bit_reverse(*p);
*p = BitReverse(*p);
}
static offset_type
@@ -358,7 +358,7 @@ dsdiff_decode_chunk(DecoderClient &client, InputStream &is,
const unsigned kbit_rate = channels * sample_rate / 1000;
const offset_type start_offset = is.GetOffset();
uint8_t buffer[8192];
std::byte buffer[8192];
const size_t sample_size = sizeof(buffer[0]);
const size_t frame_size = channels * sample_size;

View File

@@ -165,15 +165,15 @@ dsf_read_metadata(DecoderClient *client, InputStream &is,
}
static void
bit_reverse_buffer(uint8_t *p, uint8_t *end)
bit_reverse_buffer(std::byte *p, std::byte *end)
{
for (; p < end; ++p)
*p = bit_reverse(*p);
*p = BitReverse(*p);
}
static void
InterleaveDsfBlockMono(uint8_t *gcc_restrict dest,
const uint8_t *gcc_restrict src)
InterleaveDsfBlockMono(std::byte *gcc_restrict dest,
const std::byte *gcc_restrict src)
{
memcpy(dest, src, DSF_BLOCK_SIZE);
}
@@ -185,8 +185,8 @@ InterleaveDsfBlockMono(uint8_t *gcc_restrict dest,
* order.
*/
static void
InterleaveDsfBlockStereo(uint8_t *gcc_restrict dest,
const uint8_t *gcc_restrict src)
InterleaveDsfBlockStereo(std::byte *gcc_restrict dest,
const std::byte *gcc_restrict src)
{
for (size_t i = 0; i < DSF_BLOCK_SIZE; ++i) {
dest[2 * i] = src[i];
@@ -195,8 +195,8 @@ InterleaveDsfBlockStereo(uint8_t *gcc_restrict dest,
}
static void
InterleaveDsfBlockChannel(uint8_t *gcc_restrict dest,
const uint8_t *gcc_restrict src,
InterleaveDsfBlockChannel(std::byte *gcc_restrict dest,
const std::byte *gcc_restrict src,
unsigned channels)
{
for (size_t i = 0; i < DSF_BLOCK_SIZE; ++i, dest += channels, ++src)
@@ -204,8 +204,8 @@ InterleaveDsfBlockChannel(uint8_t *gcc_restrict dest,
}
static void
InterleaveDsfBlockGeneric(uint8_t *gcc_restrict dest,
const uint8_t *gcc_restrict src,
InterleaveDsfBlockGeneric(std::byte *gcc_restrict dest,
const std::byte *gcc_restrict src,
unsigned channels)
{
for (unsigned c = 0; c < channels; ++c, ++dest, src += DSF_BLOCK_SIZE)
@@ -213,7 +213,7 @@ InterleaveDsfBlockGeneric(uint8_t *gcc_restrict dest,
}
static void
InterleaveDsfBlock(uint8_t *gcc_restrict dest, const uint8_t *gcc_restrict src,
InterleaveDsfBlock(std::byte *gcc_restrict dest, const std::byte *gcc_restrict src,
unsigned channels)
{
if (channels == 1)
@@ -263,14 +263,14 @@ dsf_decode_chunk(DecoderClient &client, InputStream &is,
}
/* worst-case buffer size */
uint8_t buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
std::byte buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
if (!decoder_read_full(&client, is, buffer, block_size))
return false;
if (bitreverse)
bit_reverse_buffer(buffer, buffer + block_size);
uint8_t interleaved_buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
std::byte interleaved_buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
InterleaveDsfBlock(interleaved_buffer, buffer, channels);
cmd = client.SubmitAudio(is,