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 */
