tahoma2d/toonz/sources/sound/tsioutils.cpp
2023-02-26 21:47:57 -05:00

40 lines
1.3 KiB
C++

#include "tcommon.h"
#include "tsioutils.h"
//------------------------------------------------------------------------------
void swapAndCopy16Bits(const short *srcBuffer, short *dstBuffer,
TINT32 sampleCount) {
const short *srcSample = srcBuffer;
short *dstSample = dstBuffer;
const short *endSrcSample = srcSample + sampleCount;
while (srcSample < endSrcSample) *dstSample++ = swapShort(*srcSample++);
}
//------------------------------------------------------------------------------
void swapAndCopy32Bits(const TINT32 *srcBuffer, TINT32 *dstBuffer,
TINT32 sampleCount) {
const TINT32 *srcSample = srcBuffer;
TINT32 *dstSample = dstBuffer;
const TINT32 *endSrcSample = srcSample + sampleCount;
while (srcSample < endSrcSample) *dstSample++ = swapTINT32(*srcSample++);
}
//------------------------------------------------------------------------------
void swapAndCopy24Bits(const void *srcBuffer, void *dstBuffer,
TINT32 sampleCount) {
const UCHAR *srcData = (const UCHAR *)srcBuffer;
UCHAR *dstData = (UCHAR *)dstBuffer;
if (sampleCount <= 0) return;
while (--sampleCount) {
dstData[0] = srcData[2];
dstData[1] = srcData[1];
dstData[2] = srcData[0];
srcData += 3;
dstData += 3;
}
}