2024-01-14 09:38:57 -08:00
|
|
|
#include "ehs/DataType.h"
|
2023-12-17 03:29:08 -08:00
|
|
|
|
2023-12-17 15:56:13 -08:00
|
|
|
namespace ehs
|
2023-12-17 03:29:08 -08:00
|
|
|
{
|
|
|
|
DataType FromAudioBitDepth(const UInt_16 bitDepth)
|
|
|
|
{
|
|
|
|
switch (bitDepth / 8)
|
|
|
|
{
|
|
|
|
case 1:
|
|
|
|
return DataType::SINT_8;
|
|
|
|
case 2:
|
|
|
|
return DataType::SINT_16;
|
|
|
|
case 3:
|
|
|
|
return DataType::SINT_24;
|
|
|
|
case 4:
|
|
|
|
return DataType::SINT_32;
|
|
|
|
default:
|
|
|
|
return DataType::SINT_8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
UInt_8 ToByteDepth(const DataType type)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case DataType::LDOUBLE:
|
|
|
|
return 16;
|
|
|
|
case DataType::DOUBLE:
|
|
|
|
case DataType::SINT_64:
|
|
|
|
case DataType::UINT_64:
|
|
|
|
return 8;
|
|
|
|
case DataType::FLOAT:
|
|
|
|
case DataType::SINT_32:
|
|
|
|
case DataType::UINT_32:
|
|
|
|
return 4;
|
|
|
|
case DataType::SINT_24:
|
|
|
|
case DataType::UINT_24:
|
|
|
|
return 3;
|
|
|
|
case DataType::SINT_16:
|
|
|
|
case DataType::UINT_16:
|
|
|
|
return 2;
|
|
|
|
case DataType::SINT_8:
|
|
|
|
case DataType::UINT_8:
|
|
|
|
return 1;
|
|
|
|
default:
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
UInt_8 ToBitDepth(const DataType type)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case DataType::LDOUBLE:
|
|
|
|
return 128;
|
|
|
|
case DataType::DOUBLE:
|
|
|
|
case DataType::SINT_64:
|
|
|
|
case DataType::UINT_64:
|
|
|
|
return 64;
|
|
|
|
case DataType::FLOAT:
|
|
|
|
case DataType::SINT_32:
|
|
|
|
case DataType::UINT_32:
|
|
|
|
return 32;
|
|
|
|
case DataType::SINT_24:
|
|
|
|
case DataType::UINT_24:
|
|
|
|
return 24;
|
|
|
|
case DataType::SINT_16:
|
|
|
|
case DataType::UINT_16:
|
|
|
|
return 16;
|
|
|
|
case DataType::SINT_8:
|
|
|
|
case DataType::UINT_8:
|
|
|
|
return 8;
|
|
|
|
default:
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|