diff --git a/EtcLib/Etc/Etc.cpp b/EtcLib/Etc/Etc.cpp index 0fe4961..d54fa74 100644 --- a/EtcLib/Etc/Etc.cpp +++ b/EtcLib/Etc/Etc.cpp @@ -50,7 +50,7 @@ namespace Etc *a_puiEncodingBitsBytes = image.GetEncodingBitsBytes(); *a_puiExtendedWidth = image.GetExtendedWidth(); *a_puiExtendedHeight = image.GetExtendedHeight(); - *a_piEncodingTime_ms = image.GetEncodingTimeMs(); + *a_piEncodingTime_ms = image.GetEncodingTime().count(); } void EncodeMipmaps(float *a_pafSourceRGBA, @@ -101,7 +101,7 @@ namespace Etc a_pMipmapImages[mip].uiExtendedWidth = image.GetExtendedWidth(); a_pMipmapImages[mip].uiExtendedHeight = image.GetExtendedHeight(); - totalEncodingTime += image.GetEncodingTimeMs(); + totalEncodingTime += image.GetEncodingTime().count(); } if(pMipImage) diff --git a/EtcLib/Etc/EtcImage.cpp b/EtcLib/Etc/EtcImage.cpp index 6843f66..c896e77 100644 --- a/EtcLib/Etc/EtcImage.cpp +++ b/EtcLib/Etc/EtcImage.cpp @@ -105,7 +105,7 @@ namespace Etc m_errormetric = a_errormetric; m_fEffort = 0.0f; - m_iEncodeTime_ms = -1; + m_msEncodeTime = Milliseconds::zero(); m_iNumOpaquePixels = 0; m_iNumTranslucentPixels = 0; @@ -157,7 +157,7 @@ namespace Etc m_errormetric = a_errormetric; m_fEffort = 0.0f; m_bVerboseOutput = false; - m_iEncodeTime_ms = -1; + m_msEncodeTime = Milliseconds::zero(); unsigned char *paucEncodingBits = m_paucEncodingBits; unsigned int uiEncodingBitsBytesPerBlock = Block4x4EncodingBits::GetBytesPerBlock(m_encodingbitsformat); @@ -206,7 +206,7 @@ namespace Etc Image::EncodingStatus Image::Encode(Format a_format, ErrorMetric a_errormetric, float a_fEffort, unsigned int a_uiJobs, unsigned int a_uiMaxJobs) { - auto start = std::chrono::steady_clock::now(); + auto const start = std::chrono::steady_clock::now(); m_encodingStatus = EncodingStatus::SUCCESS; @@ -362,9 +362,9 @@ namespace Etc handle[i].get(); } - auto end = std::chrono::steady_clock::now(); - std::chrono::milliseconds elapsed = std::chrono::duration_cast(end - start); - m_iEncodeTime_ms = (int)elapsed.count(); + auto const end = std::chrono::steady_clock::now(); + auto const elapsed = std::chrono::duration_cast(end - start); + m_msEncodeTime = elapsed; delete[] handle; delete m_psortedblocklist; diff --git a/EtcLib/Etc/EtcImage.h b/EtcLib/Etc/EtcImage.h index fb67131..d5286f4 100644 --- a/EtcLib/Etc/EtcImage.h +++ b/EtcLib/Etc/EtcImage.h @@ -16,6 +16,8 @@ #pragma once +#include + //#include "Etc.h" #include "EtcColorFloatRGBA.h" #include "EtcBlock4x4EncodingBits.h" @@ -31,6 +33,7 @@ namespace Etc class Image { public: + using Milliseconds = std::chrono::milliseconds; //the differnt warning and errors that can come up during encoding enum EncodingStatus @@ -142,9 +145,9 @@ namespace Etc return m_uiEncodingBitsBytes; } - inline int GetEncodingTimeMs(void) + inline Milliseconds GetEncodingTime(void) { - return m_iEncodeTime_ms; + return m_msEncodeTime; } float GetError(void); @@ -237,7 +240,7 @@ namespace Etc ErrorMetric m_errormetric; float m_fEffort; // stats - int m_iEncodeTime_ms; + Milliseconds m_msEncodeTime; SortedBlockList *m_psortedblocklist; //this will hold any warning or errors that happen during encoding diff --git a/EtcTool/EtcAnalysis.cpp b/EtcTool/EtcAnalysis.cpp index 4181e07..8f64308 100644 --- a/EtcTool/EtcAnalysis.cpp +++ b/EtcTool/EtcAnalysis.cpp @@ -94,7 +94,7 @@ namespace Etc fprintf(apfile[i], "PSNR(rgba) = %.4f\n", ConvertErrorToPSNR(fImageError, (iComponents+1) * uiImagePixels)); } - fprintf(apfile[i], "EncodeTime = %.3f seconds\n", (float)m_pimage->GetEncodingTimeMs() / 1000.0f); + fprintf(apfile[i], "EncodeTime = %.3f seconds\n", (float)m_pimage->GetEncodingTime().count() / 1000.0f); } diff --git a/EtcTool/EtcMemTest.cpp b/EtcTool/EtcMemTest.cpp index 87d7bb3..0a8e5a0 100644 --- a/EtcTool/EtcMemTest.cpp +++ b/EtcTool/EtcMemTest.cpp @@ -237,7 +237,7 @@ int RunMemTest(bool verboseOutput, size_t numTestIterations) encStatus = image.Encode(format, e_ErrMetric, curEffort, jobs, MAX_JOBS); if (verboseOutput) { - printf(" encode time = %dms\n", image.GetEncodingTimeMs()); + printf(" encode time = %dms\n", image.GetEncodingTime().count()); printf("EncodedImage: %s\n", outFile.c_str()); printf("status bitfield: %u\n", encStatus); } diff --git a/EtcTool/EtcTool.cpp b/EtcTool/EtcTool.cpp index 1b52778..db1afba 100644 --- a/EtcTool/EtcTool.cpp +++ b/EtcTool/EtcTool.cpp @@ -264,7 +264,7 @@ int main(int argc, const char * argv[]) encStatus = image.Encode(commands.format, commands.e_ErrMetric, commands.fEffort, commands.uiJobs,MAX_JOBS); if (commands.verboseOutput) { - printf(" encode time = %dms\n", image.GetEncodingTimeMs()); + printf(" encode time = %dms\n", image.GetEncodingTime().count()); printf("EncodedImage: %s\n", commands.pstrOutputFilename); printf("status bitfield: %u\n", encStatus); }