23#pragma GCC optimize("O3")
36#define DSD_BUFFER_SIZE 1024 * 2
218 LOGD(
"write: %u", (
unsigned)len);
260 int buffer_size = frame_size;
279 LOGI(
"processHeader: %u (%u)", (
unsigned)len, (
unsigned)
startPos);
282 if (
memcmp(data,
"DSD ", 4) != 0) {
283 LOGE(
"Invalid DSF header magic");
287 int dataPos =
findTag(
"data", data, len);
289 if (dataPos < 0 ||
fmtPos < 0) {
290 LOGE(
"DSF header not found in data (fmt: %d, data: %d)",
fmtPos, dataPos);
295 parseData(data + dataPos, len - dataPos);
315 LOGD(
"processDSDData: %u (%u)", (
unsigned)len, (
unsigned)
startPos);
431 if (written != frameSize) {
433 "Failed to write PCM samples: expected %zu bytes, wrote %zu "
451 if (value > 1.0f)
return 1.0f;
452 if (value < -1.0f)
return -1.0f;
489 LOGE(
"Invalid sample rates: DSD=%u, PCM=%u",
496 LOGW(
"Decimation step %u too low, setting to 64",
501 LOGW(
"Decimation step %u too high, setting to 512",
510 LOGI(
"Decimation step set to %u for DSD rate %u and target PCM rate %u",
604 LOGE(
"FMT section too short to parse DSF format header");
637 LOGE(
"Data section too short to parse DSF data header");
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define DSD_BUFFER_SIZE
Buffer size for DSD data processing - must accommodate decimation step.
Definition CodecDSF.h:36
enum VBanDataTypeList __attribute__