This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit a07a6a00f48383a05640c0819d4ce0c0ca25ad44
Author: wangjianyu3 <[email protected]>
AuthorDate: Mon Mar 16 11:48:42 2026 +0800

    video: add V4L2_PIX_FMT_RGB565X pixel format support
    
    Add big-endian RGB565 (RGB565X) pixel format throughout the V4L2
    video pipeline:
    - IMGDATA_PIX_FMT_RGB565X in imgdata.h
    - IMGSENSOR_PIX_FMT_RGB565X in imgsensor.h
    - Format conversion and buffer size handling in v4l2_cap.c
    
    This is needed by 8-bit DVP camera sensors that output RGB565 in
    big-endian byte order (high byte first on the data bus).
    
    Signed-off-by: wangjianyu3 <[email protected]>
---
 drivers/video/v4l2_cap.c        | 10 ++++++++++
 include/nuttx/video/imgdata.h   |  1 +
 include/nuttx/video/imgsensor.h |  1 +
 3 files changed, 12 insertions(+)

diff --git a/drivers/video/v4l2_cap.c b/drivers/video/v4l2_cap.c
index 9967450cf86..09fc12ca544 100644
--- a/drivers/video/v4l2_cap.c
+++ b/drivers/video/v4l2_cap.c
@@ -655,6 +655,10 @@ static void convert_to_imgdatafmt(FAR video_format_t 
*video,
         data->pixelformat = IMGDATA_PIX_FMT_RGB565;
         break;
 
+      case V4L2_PIX_FMT_RGB565X:
+        data->pixelformat = IMGDATA_PIX_FMT_RGB565X;
+        break;
+
       case V4L2_PIX_FMT_JPEG:
         data->pixelformat = IMGDATA_PIX_FMT_JPEG;
         break;
@@ -694,6 +698,10 @@ static void convert_to_imgsensorfmt(FAR video_format_t 
*video,
         sensor->pixelformat = IMGSENSOR_PIX_FMT_RGB565;
         break;
 
+      case V4L2_PIX_FMT_RGB565X:
+        sensor->pixelformat = IMGSENSOR_PIX_FMT_RGB565X;
+        break;
+
       case V4L2_PIX_FMT_JPEG:
         sensor->pixelformat = IMGSENSOR_PIX_FMT_JPEG;
         break;
@@ -1338,6 +1346,7 @@ static size_t get_bufsize(FAR video_format_t *vf)
       case V4L2_PIX_FMT_YUYV:
       case V4L2_PIX_FMT_UYVY:
       case V4L2_PIX_FMT_RGB565:
+      case V4L2_PIX_FMT_RGB565X:
       case V4L2_PIX_FMT_JPEG:
       default:
         return ret * 2;
@@ -2599,6 +2608,7 @@ static int capture_try_fmt(FAR struct file *filep,
       case V4L2_PIX_FMT_YUYV:
       case V4L2_PIX_FMT_UYVY:
       case V4L2_PIX_FMT_RGB565:
+      case V4L2_PIX_FMT_RGB565X:
       case V4L2_PIX_FMT_JPEG:
       case V4L2_PIX_FMT_JPEG_WITH_SUBIMG:
         nr_fmt = 1;
diff --git a/include/nuttx/video/imgdata.h b/include/nuttx/video/imgdata.h
index eb4130af51b..00e2e320dd3 100644
--- a/include/nuttx/video/imgdata.h
+++ b/include/nuttx/video/imgdata.h
@@ -48,6 +48,7 @@
 #define IMGDATA_PIX_FMT_YUYV             (6)
 #define IMGDATA_PIX_FMT_YUV420P          (7)
 #define IMGDATA_PIX_FMT_NV12             (8)
+#define IMGDATA_PIX_FMT_RGB565X          (9)
 
 /* Method access helper macros */
 
diff --git a/include/nuttx/video/imgsensor.h b/include/nuttx/video/imgsensor.h
index 3a3f9f3eb07..007401e87d1 100644
--- a/include/nuttx/video/imgsensor.h
+++ b/include/nuttx/video/imgsensor.h
@@ -124,6 +124,7 @@
 #define IMGSENSOR_PIX_FMT_YUYV             (6)
 #define IMGSENSOR_PIX_FMT_YUV420P          (7)
 #define IMGSENSOR_PIX_FMT_NV12             (8)
+#define IMGSENSOR_PIX_FMT_RGB565X          (9)
 
 /* Method access helper macros */
 

Reply via email to