Replace BIT_INDEX_TO_BYTE and BIT_INDEX_TO_ALIGNED_BYTE macros.

Replace with real functions instead, and don't bother using shift
operators.

Change-Id: I841f487e0fbe8897eb5c919eb27cc2d1def5c98b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69137
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcodec/jbig2/JBig2_Image.cpp b/core/fxcodec/jbig2/JBig2_Image.cpp
index 3cfb4f8..76705ed 100644
--- a/core/fxcodec/jbig2/JBig2_Image.cpp
+++ b/core/fxcodec/jbig2/JBig2_Image.cpp
@@ -29,14 +29,19 @@
    (buf)[2] = static_cast<uint8_t>((val) >> 8),  \
    (buf)[3] = static_cast<uint8_t>((val) >> 0))
 
-#define BIT_INDEX_TO_BYTE(x) ((x) >> 3)
-#define BIT_INDEX_TO_ALIGNED_BYTE(x) (((x) >> 5) << 2)
-
 namespace {
 
 const int kMaxImagePixels = INT_MAX - 31;
 const int kMaxImageBytes = kMaxImagePixels / 8;
 
+int BitIndexToByte(int index) {
+  return index / 8;
+}
+
+int BitIndexToAlignedByte(int index) {
+  return index / 32 * 4;
+}
+
 }  // namespace
 
 CJBig2_Image::CJBig2_Image(int32_t w, int32_t h) {
@@ -86,7 +91,7 @@
   }
 }
 
-CJBig2_Image::~CJBig2_Image() {}
+CJBig2_Image::~CJBig2_Image() = default;
 
 // static
 bool CJBig2_Image::IsValidImageSize(int32_t w, int32_t h) {
@@ -105,7 +110,7 @@
   if (!pLine)
     return 0;
 
-  int32_t m = BIT_INDEX_TO_BYTE(x);
+  int32_t m = BitIndexToByte(x);
   int32_t n = x & 7;
   return ((pLine[m] >> (7 - n)) & 1);
 }
@@ -121,7 +126,7 @@
   if (!pLine)
     return;
 
-  int32_t m = BIT_INDEX_TO_BYTE(x);
+  int32_t m = BitIndexToByte(x);
   int32_t n = 1 << (7 - (x & 7));
   if (v)
     pLine[m] |= n;
@@ -208,7 +213,7 @@
                                 int32_t w,
                                 int32_t h,
                                 CJBig2_Image* pImage) {
-  int32_t m = BIT_INDEX_TO_BYTE(x);
+  int32_t m = BitIndexToByte(x);
   int32_t bytes_to_copy = std::min(pImage->m_nStride, m_nStride - m);
   int32_t lines_to_copy = std::min(pImage->m_nHeight, m_nHeight - y);
   for (int32_t j = 0; j < lines_to_copy; j++)
@@ -220,7 +225,7 @@
                                 int32_t w,
                                 int32_t h,
                                 CJBig2_Image* pImage) {
-  int32_t m = BIT_INDEX_TO_ALIGNED_BYTE(x);
+  int32_t m = BitIndexToAlignedByte(x);
   int32_t n = x & 31;
   int32_t bytes_to_copy = std::min(pImage->m_nStride, m_nStride - m);
   int32_t lines_to_copy = std::min(pImage->m_nHeight, m_nHeight - y);
@@ -304,11 +309,11 @@
   uint32_t maskL = 0xffffffff >> d1;
   uint32_t maskR = 0xffffffff << ((32 - (xd1 & 31)) % 32);
   uint32_t maskM = maskL & maskR;
-  const uint8_t* lineSrc = GetLineUnsafe(rtSrc.top + ys0) +
-                           BIT_INDEX_TO_ALIGNED_BYTE(xs0 + rtSrc.left);
+  const uint8_t* lineSrc =
+      GetLineUnsafe(rtSrc.top + ys0) + BitIndexToAlignedByte(xs0 + rtSrc.left);
   const uint8_t* lineSrcEnd = data() + m_nHeight * m_nStride;
-  int32_t lineLeft = m_nStride - BIT_INDEX_TO_ALIGNED_BYTE(xs0);
-  uint8_t* lineDst = pDst->GetLineUnsafe(yd0) + BIT_INDEX_TO_ALIGNED_BYTE(xd0);
+  int32_t lineLeft = m_nStride - BitIndexToAlignedByte(xs0);
+  uint8_t* lineDst = pDst->GetLineUnsafe(yd0) + BitIndexToAlignedByte(xd0);
   if ((xd0 & ~31) == ((xd1 - 1) & ~31)) {
     if ((xs0 & ~31) == ((xs1 - 1) & ~31)) {
       if (s1 > d1) {