mirror of
https://github.com/apache/nuttx.git
synced 2026-05-22 13:52:22 +08:00
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 <wangjianyu3@xiaomi.com>
This commit is contained in:
committed by
Alan C. Assis
parent
3305badbd7
commit
a07a6a00f4
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user