Support 16-bit images in downsampler.

The downsampler was not sampling correctly from 16-bit images, resulting
in using the RRG bytes (of the RRGGBB 16-bit pixel) for RGB in the 8-bit
output.

Original code review: https://codereview.chromium.org/1663983002/
Original author: ballbach@google.com
BUG=583804
R=ballbach@google.com

Review URL: https://codereview.chromium.org/1671833002 .
diff --git a/DEPS b/DEPS
index d11b429..11ce870 100644
--- a/DEPS
+++ b/DEPS
@@ -8,7 +8,7 @@
     "https://chromium.googlesource.com/chromium/buildtools.git@c2f259809d5ede3275df5ea0842f0431990c4f98",
 
   "testing/corpus":
-     "https://pdfium.googlesource.com/pdfium_tests@cc132ff8921c76ea69888cae4bb00e01dd1ce0b3",
+     "https://pdfium.googlesource.com/pdfium_tests@bafb069353f96d441c6a37786d18cd9f5407937f",
 
   "testing/gmock":
      "https://chromium.googlesource.com/external/googlemock.git@29763965ab52f24565299976b936d1265cb6a271",
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
index 1f4ba62..e62290f 100644
--- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
+++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
@@ -1473,6 +1473,11 @@
           src_bit_pos += m_bpc;
         }
         pSrcPixel = extracted_components;
+      } else if (m_bpc == 16) {
+        for (FX_DWORD j = 0; j < m_nComponents; ++j) {
+          extracted_components[j] = pSrcPixel[j * 2];
+        }
+        pSrcPixel = extracted_components;
       }
 
       if (m_pColorSpace) {