From 87d3501dedd2c7a497c6a9e95559eaabb3f0a354 Mon Sep 17 00:00:00 2001 From: Stephen Hill Date: Mon, 30 Nov 2015 21:09:42 -0500 Subject: [PATCH] Fixed AVI header writing 4 bytes for 16bit values {U}INTX_C et al. only seem to guarantee that the size of the constant will be X bits or more. At least this is the behaviour I've seen with VS and Clang I've made the minimal fix here, but it would be smart to review all remaining uses of these macros, particularly when it comes to I/O. --- examples/common/aviwriter.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/common/aviwriter.h b/examples/common/aviwriter.h index 1737544a..df9ae357 100644 --- a/examples/common/aviwriter.h +++ b/examples/common/aviwriter.h @@ -89,8 +89,8 @@ struct AviWriter bx::write(m_writer, BX_MAKEFOURCC('v', 'i', 'd', 's') ); // fccType bx::write(m_writer, BX_MAKEFOURCC('D', 'I', 'B', ' ') ); // fccHandler bx::write(m_writer, UINT32_C(0) ); // dwFlags - bx::write(m_writer, UINT16_C(0) ); // wPriority - bx::write(m_writer, UINT16_C(0) ); // wLanguage + bx::write(m_writer, uint16_t(0) ); // wPriority + bx::write(m_writer, uint16_t(0) ); // wLanguage bx::write(m_writer, UINT32_C(0) ); // dwInitialFrames bx::write(m_writer, UINT32_C(1) ); // dwScale bx::write(m_writer, _fps); // dwRate @@ -102,8 +102,8 @@ struct AviWriter bx::write(m_writer, m_frameSize); // dwSuggestedBufferSize bx::write(m_writer, UINT32_MAX); // dwQuality bx::write(m_writer, UINT32_C(0) ); // dwSampleSize - bx::write(m_writer, INT16_C(0) ); // rcFrame.left - bx::write(m_writer, INT16_C(0) ); // rcFrame.top + bx::write(m_writer, int16_t(0) ); // rcFrame.left + bx::write(m_writer, int16_t(0) ); // rcFrame.top bx::write(m_writer, uint16_t(_width) ); // rcFrame.right bx::write(m_writer, uint16_t(_height) );// rcFrame.bottom @@ -114,8 +114,8 @@ struct AviWriter bx::write(m_writer, UINT32_C(40) ); // biSize bx::write(m_writer, _width); // biWidth bx::write(m_writer, _height); // biHeight - bx::write(m_writer, UINT16_C(1) ); // biPlanes - bx::write(m_writer, UINT16_C(24) ); // biBitCount + bx::write(m_writer, uint16_t(1) ); // biPlanes + bx::write(m_writer, uint16_t(24) ); // biBitCount bx::write(m_writer, UINT32_C(0) ); // biCompression bx::write(m_writer, m_frameSize); // biSizeImage bx::write(m_writer, UINT32_C(0) ); // biXPelsPerMeter