diff --git a/src/Common/GrallocAndroid.cpp b/src/Common/GrallocAndroid.cpp
new file mode 100644
index 0000000..307a16f
--- /dev/null
+++ b/src/Common/GrallocAndroid.cpp
@@ -0,0 +1,31 @@
+#include "GrallocAndroid.hpp"
+
+#include <cutils/log.h>
+
+GrallocModule* GrallocModule::getInstance()
+{
+    static GrallocModule instance;
+    return &instance;
+}
+
+GrallocModule::GrallocModule()
+{
+    const hw_module_t* module;
+    hw_get_module("converting_gralloc", &module);
+    if (module)
+    {
+        m_supportsConversion = true;
+        ALOGI("Loaded converting gralloc");
+    }
+    else
+    {
+        m_supportsConversion = false;
+        ALOGE("Falling back to standard gralloc with reduced format support");
+        hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module);
+    }
+    if (!module)
+    {
+        ALOGE("Failed to load standard gralloc");
+    }
+    m_module = reinterpret_cast<const gralloc_module_t*>(module);
+}
diff --git a/src/Common/GrallocAndroid.hpp b/src/Common/GrallocAndroid.hpp
new file mode 100644
index 0000000..4714d36
--- /dev/null
+++ b/src/Common/GrallocAndroid.hpp
@@ -0,0 +1,27 @@
+#ifndef GRALLOC_ANDROID
+#define GRALLOC_ANDROID
+
+#include <hardware/gralloc.h>
+
+class GrallocModule
+{
+public:
+    static GrallocModule* getInstance();
+    bool supportsConversion() const { return m_supportsConversion; }
+    int lock(
+        buffer_handle_t handle, int usage,
+        int left, int top, int width, int height, void**vaddr) {
+        return m_module->lock(m_module, handle, 0, left, top, width, height, vaddr);
+    }
+
+    int unlock(buffer_handle_t handle) {
+        return m_module->unlock(m_module, handle);
+    }
+
+private:
+    GrallocModule();
+    bool m_supportsConversion;
+    const gralloc_module_t* m_module;
+};
+
+#endif  // GRALLOC_ANDROID
