[media] media/v4l2-core: Add support for V4L2_PIX_FMT_Y16_BE
authorRicardo Ribalda <ricardo.ribalda@gmail.com>
Mon, 4 May 2015 08:07:30 +0000 (05:07 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Sat, 30 May 2015 14:33:30 +0000 (11:33 -0300)
16 bit greyscale format, structured in Big Endian. Such a format can be
converted into a PMN image just by adding a header.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/v4l2-core/v4l2-ioctl.c
include/uapi/linux/videodev2.h

index 1476602..c5677e4 100644 (file)
@@ -1146,6 +1146,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
        case V4L2_PIX_FMT_Y10:          descr = "10-bit Greyscale"; break;
        case V4L2_PIX_FMT_Y12:          descr = "12-bit Greyscale"; break;
        case V4L2_PIX_FMT_Y16:          descr = "16-bit Greyscale"; break;
+       case V4L2_PIX_FMT_Y16_BE:       descr = "16-bit Greyscale BE"; break;
        case V4L2_PIX_FMT_Y10BPACK:     descr = "10-bit Greyscale (Packed)"; break;
        case V4L2_PIX_FMT_PAL8:         descr = "8-bit Palette"; break;
        case V4L2_PIX_FMT_UV8:          descr = "8-bit Chrominance UV 4-4"; break;
@@ -2539,7 +2540,7 @@ static long __video_do_ioctl(struct file *file,
        if (v4l2_is_known_ioctl(cmd)) {
                info = &v4l2_ioctls[_IOC_NR(cmd)];
 
-               if (!test_bit(_IOC_NR(cmd), vfd->valid_ioctls) &&
+               if (!test_bit(_IOC_NR(cmd), vfd->valid_ioctls) &&
                    !((info->flags & INFO_FL_CTRL) && vfh && vfh->ctrl_handler))
                        goto done;
 
index 0f5a467..bda496a 100644 (file)
@@ -404,6 +404,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_Y10     v4l2_fourcc('Y', '1', '0', ' ') /* 10  Greyscale     */
 #define V4L2_PIX_FMT_Y12     v4l2_fourcc('Y', '1', '2', ' ') /* 12  Greyscale     */
 #define V4L2_PIX_FMT_Y16     v4l2_fourcc('Y', '1', '6', ' ') /* 16  Greyscale     */
+#define V4L2_PIX_FMT_Y16_BE  v4l2_fourcc_be('Y', '1', '6', ' ') /* 16  Greyscale BE  */
 
 /* Grey bit-packed formats */
 #define V4L2_PIX_FMT_Y10BPACK    v4l2_fourcc('Y', '1', '0', 'B') /* 10  Greyscale bit-packed */