#include "ehs/DataType.h" namespace ehs { 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; } } }