From 56016d70c4234c17b9169bb152f2396ae0c51cbe Mon Sep 17 00:00:00 2001 From: Phi Bang Nguyen Date: Fri, 6 Dec 2024 21:12:10 +0100 Subject: [PATCH 1/2] samples: video: capture: Add hflip option Add an option to mirror the video image horizontally. This helps to avoid doing so at the post-processing step by using additional HW such as PxP on i.MX RT platforms. Signed-off-by: Phi Bang Nguyen --- samples/drivers/video/capture/Kconfig | 5 +++++ samples/drivers/video/capture/src/main.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/samples/drivers/video/capture/Kconfig b/samples/drivers/video/capture/Kconfig index 5ec77c553e19..ee63ebbbb73f 100644 --- a/samples/drivers/video/capture/Kconfig +++ b/samples/drivers/video/capture/Kconfig @@ -22,6 +22,11 @@ config VIDEO_PIXEL_FORMAT help Pixel format of the video frame. If not set, the default pixel format is used. +config VIDEO_CTRL_HFLIP + bool "Mirror the video frame horizontally" + help + If set, mirror the video frame horizontally + endmenu source "Kconfig.zephyr" diff --git a/samples/drivers/video/capture/src/main.c b/samples/drivers/video/capture/src/main.c index 1d21b4fe8b85..6833e48fed57 100644 --- a/samples/drivers/video/capture/src/main.c +++ b/samples/drivers/video/capture/src/main.c @@ -9,13 +9,12 @@ #include #include +#include #include LOG_MODULE_REGISTER(main); #ifdef CONFIG_TEST -#include - #include "check_test_pattern.h" #define LOG_LEVEL LOG_LEVEL_DBG @@ -179,6 +178,11 @@ int main(void) fie.index++; } + /* Set controls */ + if (IS_ENABLED(CONFIG_VIDEO_CTRL_HFLIP)) { + video_set_ctrl(video_dev, VIDEO_CID_HFLIP, (void *)1); + } + #ifdef CONFIG_TEST video_set_ctrl(video_dev, VIDEO_CID_TEST_PATTERN, (void *)1); #endif From 12d8cffa12b60a8ceeacfa614f60b516c5ca5dd1 Mon Sep 17 00:00:00 2001 From: Phi Bang Nguyen Date: Fri, 6 Dec 2024 21:13:59 +0100 Subject: [PATCH 2/2] samples: video: capture: rt10xx: Do hflipping at camera level Do hflipping at camera level to avoid using PxP which impacts camera framerates on RT10xx. Moreover, on RT11xx, PxP is already reserved for 90 CCW image rotation. Signed-off-by: Phi Bang Nguyen --- samples/drivers/video/capture/boards/mimxrt1060_evkb.conf | 6 ++---- samples/drivers/video/capture/boards/mimxrt1064_evk.conf | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/samples/drivers/video/capture/boards/mimxrt1060_evkb.conf b/samples/drivers/video/capture/boards/mimxrt1060_evkb.conf index 55ff96ee215a..6c888f960c59 100644 --- a/samples/drivers/video/capture/boards/mimxrt1060_evkb.conf +++ b/samples/drivers/video/capture/boards/mimxrt1060_evkb.conf @@ -1,4 +1,2 @@ -# Leverage PXP to mirror image by flipping -CONFIG_DMA=y -CONFIG_MCUX_ELCDIF_PXP=y -CONFIG_MCUX_ELCDIF_PXP_FLIP_HORIZONTAL=y +# Mirror video images horizontally +CONFIG_VIDEO_CTRL_HFLIP=y diff --git a/samples/drivers/video/capture/boards/mimxrt1064_evk.conf b/samples/drivers/video/capture/boards/mimxrt1064_evk.conf index 55ff96ee215a..6c888f960c59 100644 --- a/samples/drivers/video/capture/boards/mimxrt1064_evk.conf +++ b/samples/drivers/video/capture/boards/mimxrt1064_evk.conf @@ -1,4 +1,2 @@ -# Leverage PXP to mirror image by flipping -CONFIG_DMA=y -CONFIG_MCUX_ELCDIF_PXP=y -CONFIG_MCUX_ELCDIF_PXP_FLIP_HORIZONTAL=y +# Mirror video images horizontally +CONFIG_VIDEO_CTRL_HFLIP=y