diff --git a/core/fxcodec/fx_codec.h b/core/fxcodec/fx_codec.h
index fd7b174..6922b35 100644
--- a/core/fxcodec/fx_codec.h
+++ b/core/fxcodec/fx_codec.h
@@ -132,7 +132,6 @@
                         uint8_t& R,
                         uint8_t& G,
                         uint8_t& B);
-bool MD5ComputeID(const void* buf, uint32_t dwSize, uint8_t ID[16]);
 void FaxG4Decode(const uint8_t* src_buf,
                  uint32_t src_size,
                  int* pbitpos,
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index fa38573..9a7da01 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -49,13 +49,13 @@
 #define FXDIB_INTERPOL 0x20
 #define FXDIB_BICUBIC_INTERPOL 0x80
 #define FXDIB_NOSMOOTH 0x100
+
 #define FXDIB_BLEND_NORMAL 0
 #define FXDIB_BLEND_MULTIPLY 1
 #define FXDIB_BLEND_SCREEN 2
 #define FXDIB_BLEND_OVERLAY 3
 #define FXDIB_BLEND_DARKEN 4
 #define FXDIB_BLEND_LIGHTEN 5
-
 #define FXDIB_BLEND_COLORDODGE 6
 #define FXDIB_BLEND_COLORBURN 7
 #define FXDIB_BLEND_HARDLIGHT 8
@@ -74,23 +74,26 @@
 #define FXSYS_GetGValue(rgb) (((rgb) >> 8) & 0xff)
 #define FXSYS_GetBValue(rgb) (((rgb) >> 16) & 0xff)
 
-#define FXSYS_CMYK(c, m, y, k) (((c) << 24) | ((m) << 16) | ((y) << 8) | (k))
 #define FXSYS_GetCValue(cmyk) ((uint8_t)((cmyk) >> 24) & 0xff)
 #define FXSYS_GetMValue(cmyk) ((uint8_t)((cmyk) >> 16) & 0xff)
 #define FXSYS_GetYValue(cmyk) ((uint8_t)((cmyk) >> 8) & 0xff)
 #define FXSYS_GetKValue(cmyk) ((uint8_t)(cmyk)&0xff)
+
 inline FX_CMYK CmykEncode(int c, int m, int y, int k) {
   return (c << 24) | (m << 16) | (y << 8) | k;
 }
 
 // Returns tuple a, r, g, b
 std::tuple<int, int, int, int> ArgbDecode(FX_ARGB argb);
+
 // Returns pair a, rgb
 std::pair<int, FX_COLORREF> ArgbToColorRef(FX_ARGB argb);
+
 inline FX_ARGB ArgbEncode(int a, int r, int g, int b) {
   return (a << 24) | (r << 16) | (g << 8) | b;
 }
 FX_ARGB ArgbEncode(int a, FX_COLORREF rgb);
+
 #define FXARGB_A(argb) ((uint8_t)((argb) >> 24))
 #define FXARGB_R(argb) ((uint8_t)((argb) >> 16))
 #define FXARGB_G(argb) ((uint8_t)((argb) >> 8))
@@ -123,8 +126,6 @@
 #define FXARGB_TOBGRORDERDIB(argb)                       \
   ((uint8_t)(argb >> 16) | ((uint8_t)(argb >> 8)) << 8 | \
    ((uint8_t)(argb)) << 16 | ((uint8_t)(argb >> 24) << 24))
-#define FXGETFLAG_COLORTYPE(flag) (uint8_t)((flag) >> 8)
-#define FXGETFLAG_ALPHA_FILL(flag) (uint8_t)(flag)
 
 FX_RECT FXDIB_SwapClipBox(FX_RECT& clip,
                           int width,
