Skip to content

Commit

Permalink
media: dw100: Add i.MX8MP dw100 dewarper driver
Browse files Browse the repository at this point in the history
Add a V4L2 mem-to-mem driver for the Vivante DW100 Dewarp Processor IP
core found on i.MX8MP SoC.

The processor core applies a programmable geometrical transformation on
input images to correct distorsion introduced by lenses.
The transformation function is exposed as a grid map with 16x16 pixel
macroblocks indexed using X, Y vertex coordinates.

The dewarping map can be set from application through a dedicated v4l2
control. If not set or invalid, the driver computes an identity map
prior to starting the processing engine.

The driver supports scaling, cropping and pixel format conversion.

Signed-off-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  • Loading branch information
xroumegue authored and intel-lab-lkp committed Jul 16, 2022
1 parent 5ad3c9a commit 49c9ce2
Show file tree
Hide file tree
Showing 6 changed files with 1,822 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/media/platform/nxp/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,5 @@ config VIDEO_MX2_EMMAPRP
memory to memory. Operations include resizing and format
conversion.

source "drivers/media/platform/nxp/dw100/Kconfig"
source "drivers/media/platform/nxp/imx-jpeg/Kconfig"
1 change: 1 addition & 0 deletions drivers/media/platform/nxp/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only

obj-y += dw100/
obj-y += imx-jpeg/

obj-$(CONFIG_VIDEO_IMX_MIPI_CSIS) += imx-mipi-csis.o
Expand Down
17 changes: 17 additions & 0 deletions drivers/media/platform/nxp/dw100/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-License-Identifier: GPL-2.0-only

config VIDEO_DW100
tristate "NXP i.MX DW100 dewarper"
depends on V4L_MEM2MEM_DRIVERS
depends on VIDEO_DEV
depends on ARCH_MXC || COMPILE_TEST
select MEDIA_CONTROLLER
select V4L2_MEM2MEM_DEV
select VIDEOBUF2_DMA_CONTIG
help
DW100 is a memory-to-memory engine performing geometrical
transformation on source images through a programmable dewarping map.

To compile this driver as a module, choose M here: the module
will be called dw100.

3 changes: 3 additions & 0 deletions drivers/media/platform/nxp/dw100/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0+

obj-$(CONFIG_VIDEO_DW100) += dw100.o
Loading

0 comments on commit 49c9ce2

Please sign in to comment.