diff --git a/core/fpdfapi/page/cpdf_dibbase.cpp b/core/fpdfapi/page/cpdf_dibbase.cpp
index 0eed6f5..c4a59d4 100644
--- a/core/fpdfapi/page/cpdf_dibbase.cpp
+++ b/core/fpdfapi/page/cpdf_dibbase.cpp
@@ -8,6 +8,7 @@
 
 #include <algorithm>
 #include <memory>
+#include <numeric>
 #include <utility>
 #include <vector>
 
@@ -634,13 +635,11 @@
     return nullptr;
 
   pCachedBitmap->Clear(0xFFFFFFFF);
+  // Fill |output_offsets| with 0, 1, ... N.
   std::vector<uint8_t> output_offsets(components);
-  for (uint32_t i = 0; i < components; ++i)
-    output_offsets[i] = i;
-  if (bSwapRGB) {
-    output_offsets[0] = 2;
-    output_offsets[2] = 0;
-  }
+  std::iota(output_offsets.begin(), output_offsets.end(), 0);
+  if (bSwapRGB)
+    std::swap(output_offsets[0], output_offsets[2]);
   if (!decoder->Decode(pCachedBitmap->GetBuffer(), pCachedBitmap->GetPitch(),
                        output_offsets)) {
     return nullptr;
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index fce4392..cf7e5b2 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -10,6 +10,7 @@
 #include <cmath>
 #include <limits>
 #include <memory>
+#include <numeric>
 #include <set>
 #include <utility>
 #include <vector>
@@ -1654,9 +1655,8 @@
       transfers[i] = FXSYS_roundf(results[0] * 255);
     }
   } else {
-    for (int i = 0; i < 256; i++) {
-      transfers[i] = i;
-    }
+    // Fill |transfers| with 0, 1, ... N.
+    std::iota(transfers.begin(), transfers.end(), 0);
   }
   if (bLuminosity) {
     int Bpp = bitmap->GetBPP() / 8;
