diff --git a/core/fpdfapi/render/cpdf_dibbase.cpp b/core/fpdfapi/render/cpdf_dibbase.cpp
index 101580d..070a1fc 100644
--- a/core/fpdfapi/render/cpdf_dibbase.cpp
+++ b/core/fpdfapi/render/cpdf_dibbase.cpp
@@ -26,9 +26,9 @@
 #include "core/fxcodec/codec/ccodec_basicmodule.h"
 #include "core/fxcodec/codec/ccodec_jbig2module.h"
 #include "core/fxcodec/codec/ccodec_jpegmodule.h"
-#include "core/fxcodec/codec/ccodec_jpxmodule.h"
 #include "core/fxcodec/codec/ccodec_scanlinedecoder.h"
 #include "core/fxcodec/codec/cjpx_decoder.h"
+#include "core/fxcodec/codec/jpxmodule.h"
 #include "core/fxcodec/fx_codec.h"
 #include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/fx_safe_types.h"
@@ -586,7 +586,7 @@
 }
 
 RetainPtr<CFX_DIBitmap> CPDF_DIBBase::LoadJpxBitmap() {
-  std::unique_ptr<CJPX_Decoder> decoder = CCodec_JpxModule::CreateDecoder(
+  std::unique_ptr<CJPX_Decoder> decoder = JpxModule::CreateDecoder(
       m_pStreamAcc->GetSpan(),
       ColorSpaceOptionFromColorSpace(m_pColorSpace.Get()));
   if (!decoder)
diff --git a/core/fxcodec/BUILD.gn b/core/fxcodec/BUILD.gn
index f31a0ef..1c6b104 100644
--- a/core/fxcodec/BUILD.gn
+++ b/core/fxcodec/BUILD.gn
@@ -19,8 +19,6 @@
     "codec/ccodec_jbig2module.h",
     "codec/ccodec_jpegmodule.cpp",
     "codec/ccodec_jpegmodule.h",
-    "codec/ccodec_jpxmodule.cpp",
-    "codec/ccodec_jpxmodule.h",
     "codec/ccodec_scanlinedecoder.cpp",
     "codec/ccodec_scanlinedecoder.h",
     "codec/cfx_codec_memory.cpp",
@@ -32,6 +30,8 @@
     "codec/fx_codec.cpp",
     "codec/iccmodule.cpp",
     "codec/iccmodule.h",
+    "codec/jpxmodule.cpp",
+    "codec/jpxmodule.h",
     "fx_codec.h",
     "fx_codec_def.h",
     "jbig2/JBig2_ArithDecoder.cpp",
diff --git a/core/fxcodec/codec/ccodec_jpxmodule.cpp b/core/fxcodec/codec/jpxmodule.cpp
similarity index 78%
rename from core/fxcodec/codec/ccodec_jpxmodule.cpp
rename to core/fxcodec/codec/jpxmodule.cpp
index dc1575a..f20ccad 100644
--- a/core/fxcodec/codec/ccodec_jpxmodule.cpp
+++ b/core/fxcodec/codec/jpxmodule.cpp
@@ -4,12 +4,14 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "core/fxcodec/codec/ccodec_jpxmodule.h"
+#include "core/fxcodec/codec/jpxmodule.h"
 
 #include "third_party/base/ptr_util.h"
 
+namespace fxcodec {
+
 // static
-std::unique_ptr<CJPX_Decoder> CCodec_JpxModule::CreateDecoder(
+std::unique_ptr<CJPX_Decoder> JpxModule::CreateDecoder(
     pdfium::span<const uint8_t> src_span,
     CJPX_Decoder::ColorSpaceOption option) {
   auto decoder = pdfium::MakeUnique<CJPX_Decoder>(option);
@@ -18,3 +20,5 @@
 
   return decoder;
 }
+
+}  // namespace fxcodec
diff --git a/core/fxcodec/codec/ccodec_jpxmodule.h b/core/fxcodec/codec/jpxmodule.h
similarity index 62%
rename from core/fxcodec/codec/ccodec_jpxmodule.h
rename to core/fxcodec/codec/jpxmodule.h
index b9d487d..a35a22e 100644
--- a/core/fxcodec/codec/ccodec_jpxmodule.h
+++ b/core/fxcodec/codec/jpxmodule.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_
-#define CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_
+#ifndef CORE_FXCODEC_CODEC_JPXMODULE_H_
+#define CORE_FXCODEC_CODEC_JPXMODULE_H_
 
 #include <memory>
 #include <vector>
@@ -14,15 +14,21 @@
 #include "core/fxcrt/fx_system.h"
 #include "third_party/base/span.h"
 
-class CCodec_JpxModule {
+namespace fxcodec {
+
+class JpxModule {
  public:
   static std::unique_ptr<CJPX_Decoder> CreateDecoder(
       pdfium::span<const uint8_t> src_span,
       CJPX_Decoder::ColorSpaceOption option);
 
-  CCodec_JpxModule() = delete;
-  CCodec_JpxModule(const CCodec_JpxModule&) = delete;
-  CCodec_JpxModule& operator=(const CCodec_JpxModule&) = delete;
+  JpxModule() = delete;
+  JpxModule(const JpxModule&) = delete;
+  JpxModule& operator=(const JpxModule&) = delete;
 };
 
-#endif  // CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_
+}  // namespace fxcodec
+
+using JpxModule = fxcodec::JpxModule;
+
+#endif  // CORE_FXCODEC_CODEC_JPXMODULE_H_
diff --git a/testing/fuzzers/pdf_jpx_fuzzer.cc b/testing/fuzzers/pdf_jpx_fuzzer.cc
index f926aa1..9b2c8e4 100644
--- a/testing/fuzzers/pdf_jpx_fuzzer.cc
+++ b/testing/fuzzers/pdf_jpx_fuzzer.cc
@@ -7,8 +7,8 @@
 #include <vector>
 
 #include "core/fpdfapi/page/cpdf_colorspace.h"
-#include "core/fxcodec/codec/ccodec_jpxmodule.h"
 #include "core/fxcodec/codec/cjpx_decoder.h"
+#include "core/fxcodec/codec/jpxmodule.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "core/fxge/dib/cfx_dibitmap.h"
 #include "core/fxge/fx_dib.h"
@@ -31,7 +31,7 @@
   if (size < 1)
     return 0;
 
-  std::unique_ptr<CJPX_Decoder> decoder = CCodec_JpxModule::CreateDecoder(
+  std::unique_ptr<CJPX_Decoder> decoder = JpxModule::CreateDecoder(
       {data + 1, size - 1},
       static_cast<CJPX_Decoder::ColorSpaceOption>(data[0] % 3));
   if (!decoder)
