64 lines
3.0 KiB
Diff
64 lines
3.0 KiB
Diff
From 1680a655127a62e74cbcfb84782e04a9c55dcf81 Mon Sep 17 00:00:00 2001
|
|
From: Shunqian Zheng <zhengsq@rock-chips.com>
|
|
Date: Wed, 5 Sep 2018 19:00:09 -0300
|
|
Subject: [PATCH 3/6] media: Add JPEG_RAW format
|
|
|
|
Add V4L2_PIX_FMT_JPEG_RAW format that does not contain
|
|
JPEG header in the output frame.
|
|
|
|
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
|
|
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
|
---
|
|
Documentation/media/uapi/v4l/pixfmt-compressed.rst | 9 +++++++++
|
|
drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
|
|
include/uapi/linux/videodev2.h | 1 +
|
|
3 files changed, 11 insertions(+)
|
|
|
|
diff --git a/Documentation/media/uapi/v4l/pixfmt-compressed.rst b/Documentation/media/uapi/v4l/pixfmt-compressed.rst
|
|
index d382e7a5..4dffe400 100644
|
|
--- a/Documentation/media/uapi/v4l/pixfmt-compressed.rst
|
|
+++ b/Documentation/media/uapi/v4l/pixfmt-compressed.rst
|
|
@@ -23,6 +23,15 @@ Compressed Formats
|
|
- 'JPEG'
|
|
- TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`,
|
|
:ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`.
|
|
+ * .. _V4L2-PIX-FMT-JPEG-RAW:
|
|
+
|
|
+ - ``V4L2_PIX_FMT_JPEG_RAW``
|
|
+ - 'Raw JPEG'
|
|
+ - Raw JPEG bitstream, containing a compressed payload. This format
|
|
+ contains an image scan, i.e. without any metadata or headers.
|
|
+ The user is expected to set the needed metadata such as
|
|
+ quantization and entropy encoding tables, via ``V4L2_CID_JPEG``
|
|
+ controls, see :ref:`jpeg-control-id`.
|
|
* .. _V4L2-PIX-FMT-MPEG:
|
|
|
|
- ``V4L2_PIX_FMT_MPEG``
|
|
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
|
|
index 54afc9c7..0dcd95f4 100644
|
|
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
|
|
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
|
|
@@ -1301,6 +1301,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
|
|
/* Max description length mask: descr = "0123456789012345678901234567890" */
|
|
case V4L2_PIX_FMT_MJPEG: descr = "Motion-JPEG"; break;
|
|
case V4L2_PIX_FMT_JPEG: descr = "JFIF JPEG"; break;
|
|
+ case V4L2_PIX_FMT_JPEG_RAW: descr = "Raw JPEG"; break;
|
|
case V4L2_PIX_FMT_DV: descr = "1394"; break;
|
|
case V4L2_PIX_FMT_MPEG: descr = "MPEG-1/2/4"; break;
|
|
case V4L2_PIX_FMT_H264: descr = "H.264"; break;
|
|
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
|
|
index 5d1a3685..f271048c 100644
|
|
--- a/include/uapi/linux/videodev2.h
|
|
+++ b/include/uapi/linux/videodev2.h
|
|
@@ -627,6 +627,7 @@ struct v4l2_pix_format {
|
|
/* compressed formats */
|
|
#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
|
|
#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */
|
|
+#define V4L2_PIX_FMT_JPEG_RAW v4l2_fourcc('J', 'P', 'G', 'R') /* JFIF JPEG RAW without headers */
|
|
#define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */
|
|
#define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */
|
|
#define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') /* H264 with start codes */
|
|
--
|
|
2.16.4
|
|
|