From a6d3cbd69b95ba5adb9e2a07b56f040b2a77b3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delhoume?= Date: Fri, 15 Aug 2025 16:03:57 +0200 Subject: [PATCH 1/2] Update g5dec.inl --- src/g5dec.inl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/g5dec.inl b/src/g5dec.inl index 07ebd52..d014ec7 100644 --- a/src/g5dec.inl +++ b/src/g5dec.inl @@ -138,11 +138,19 @@ static void Decode_Begin(G5DECIMAGE *pPage) pPage->ulBits = TIFFMOTOLONG(pPage->pSrc); // load 32 bits to start pPage->ulBitOff = 0; // Calculate the number of bits needed for a long horizontal code +#ifdef __GNUC__ #ifdef __AVR__ pPage->iHLen = 16 - __builtin_clz(pPage->iWidth); -#else +#else pPage->iHLen = 32 - __builtin_clz(pPage->iWidth); #endif +#else +#ifdef _MSC_VER + pPage->iHLen = 32 - __lzcnt(pPage->iWidth); +#else + #error "Unsupported compiler for G5 decoder" +#endif // _MSC_VER +#endif } /* Decode_Begin() */ // // Decode a single line of G5 data (private function) From fc1451993006c3d16a7e00a1a78ac1b2d68dc7eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delhoume?= Date: Fri, 15 Aug 2025 16:05:03 +0200 Subject: [PATCH 2/2] Update g5dec.inl less diff with main --- src/g5dec.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/g5dec.inl b/src/g5dec.inl index d014ec7..76254b4 100644 --- a/src/g5dec.inl +++ b/src/g5dec.inl @@ -141,7 +141,7 @@ static void Decode_Begin(G5DECIMAGE *pPage) #ifdef __GNUC__ #ifdef __AVR__ pPage->iHLen = 16 - __builtin_clz(pPage->iWidth); -#else +#else pPage->iHLen = 32 - __builtin_clz(pPage->iWidth); #endif #else