new file mode 100644
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2024, Ideas On Board Oy
+ *
+ * i.MX8MP Dewarp Engine integration
+ */
+
+#pragma once
+
+#include "libcamera/internal/converter/converter_v4l2_m2m.h"
+
+namespace libcamera {
+
+class MediaDevice;
+class Rectangle;
+class Stream;
+
+class ConverterDW100 : public V4L2M2MConverter
+{
+public:
+ ConverterDW100(std::shared_ptr<MediaDevice> media);
+};
+
+} /* namespace libcamera */
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: CC0-1.0
libcamera_internal_headers += files([
+ 'converter_dw100.h',
'converter_v4l2_m2m.h',
])
new file mode 100644
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2024, Ideas On Board Oy
+ *
+ * i.MX8MP Dewarp Engine integration
+ */
+
+#include "libcamera/internal/converter/converter_dw100.h"
+
+#include <libcamera/base/log.h>
+
+#include <libcamera/geometry.h>
+
+#include "libcamera/internal/media_device.h"
+#include "libcamera/internal/v4l2_videodevice.h"
+
+namespace libcamera {
+
+LOG_DECLARE_CATEGORY(Converter)
+
+/**
+ * \class libcamera::ConverterDW100
+ * \brief The i.MX8MP dewarp converter implements the converter interface based
+ * on V4L2 M2M device.
+*/
+
+/**
+ * \fn ConverterDW100::ConverterDW100
+ * \brief Construct a ConverterDW100 instance
+ * \param[in] media The media device implementing the converter
+ */
+ConverterDW100::ConverterDW100(std::shared_ptr<MediaDevice> media)
+ : V4L2M2MConverter(media.get(), Feature::Crop)
+{
+}
+
+} /* namespace libcamera */
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: CC0-1.0
libcamera_sources += files([
+ 'converter_dw100.cpp',
'converter_v4l2_m2m.cpp'
])