{"id":3,"url":"https://patchwork.libcamera.org/api/1.1/patches/3/?format=json","web_url":"https://patchwork.libcamera.org/patch/3/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20181118074756.30811-2-laurent.pinchart@ideasonboard.com>","date":"2018-11-18T07:47:55","name":"[libcamera-devel,1/2] Update kernel headers to v4.19","commit_ref":null,"pull_url":null,"state":"rejected","archived":false,"hash":"caf731b0fbbc467f990652157aa3bc3daae0c4dd","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/3/mbox/","series":[{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/series/2/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2","date":"2018-11-18T07:47:54","name":"yavta: Add support for IPU3 raw 10-bit Bayer packed formats","version":1,"mbox":"https://patchwork.libcamera.org/series/2/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/3/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/3/checks/","tags":{},"headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E190160B10\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 18 Nov 2018 08:47:51 +0100 (CET)","from avalon.telus (node-1w7jr9qt31lmhljbimrwzuuvx.ipv6.telus.net\n\t[IPv6:2001:569:7bf7:d700:e720:97a7:80b9:aadd])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8EEA6B7C;\n\tSun, 18 Nov 2018 08:47:50 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1542527271;\n\tbh=1mhfSeVqwcYPXIuWr8+f5es46315/b5hkXUpbXb91V0=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=P5FAxKF8yw9oPtoIwY0J17iVjCTb04nhEy3Lpf7SeJ4jy9wd8d99Tn75ghAnr1kLm\n\tderuhB4eQeMnH2ZSqjTVUmczP5+z5FIxcjMfGWeZuGIZuIM93a+GLntgpg4H/iHvea\n\trK/mo536ToiTeFFrDNNDVY0iQIcalrSD2GNTk5TM=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"linux-media@vger.kernel.org","Cc":"libcamera-devel@lists.libcamera.org,\n\tJacopo Mondi <jacopo@jmondi.org>","Date":"Sun, 18 Nov 2018 09:47:55 +0200","Message-Id":"<20181118074756.30811-2-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.18.1","In-Reply-To":"<20181118074756.30811-1-laurent.pinchart@ideasonboard.com>","References":"<20181118074756.30811-1-laurent.pinchart@ideasonboard.com>","Subject":"[libcamera-devel] [PATCH 1/2] Update kernel headers to v4.19","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Sun, 18 Nov 2018 07:47:52 -0000"},"content":"From: Jacopo Mondi <jacopo@jmondi.org>\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n include/linux/v4l2-common.h   |   1 +\n include/linux/v4l2-controls.h | 219 ++++++++++++++++++++++++++--------\n include/linux/videodev2.h     |  81 ++++++++-----\n 3 files changed, 221 insertions(+), 80 deletions(-)","diff":"diff --git a/include/linux/v4l2-common.h b/include/linux/v4l2-common.h\nindex 5b3f685a2d50..4f7b892377cd 100644\n--- a/include/linux/v4l2-common.h\n+++ b/include/linux/v4l2-common.h\n@@ -1,3 +1,4 @@\n+/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */\n /*\n  * include/linux/v4l2-common.h\n  *\ndiff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h\nindex 0d2e1e01fbd5..e4ee10ee917d 100644\n--- a/include/linux/v4l2-controls.h\n+++ b/include/linux/v4l2-controls.h\n@@ -1,3 +1,4 @@\n+/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */\n /*\n  *  Video for Linux Two controls header file\n  *\n@@ -66,8 +67,8 @@\n /* User-class control IDs */\n \n #define V4L2_CID_BASE\t\t\t(V4L2_CTRL_CLASS_USER | 0x900)\n-#define V4L2_CID_USER_BASE \t\tV4L2_CID_BASE\n-#define V4L2_CID_USER_CLASS \t\t(V4L2_CTRL_CLASS_USER | 1)\n+#define V4L2_CID_USER_BASE\t\tV4L2_CID_BASE\n+#define V4L2_CID_USER_CLASS\t\t(V4L2_CTRL_CLASS_USER | 1)\n #define V4L2_CID_BRIGHTNESS\t\t(V4L2_CID_BASE+0)\n #define V4L2_CID_CONTRAST\t\t(V4L2_CID_BASE+1)\n #define V4L2_CID_SATURATION\t\t(V4L2_CID_BASE+2)\n@@ -101,7 +102,7 @@ enum v4l2_power_line_frequency {\n #define V4L2_CID_HUE_AUTO\t\t\t(V4L2_CID_BASE+25)\n #define V4L2_CID_WHITE_BALANCE_TEMPERATURE\t(V4L2_CID_BASE+26)\n #define V4L2_CID_SHARPNESS\t\t\t(V4L2_CID_BASE+27)\n-#define V4L2_CID_BACKLIGHT_COMPENSATION \t(V4L2_CID_BASE+28)\n+#define V4L2_CID_BACKLIGHT_COMPENSATION\t\t(V4L2_CID_BASE+28)\n #define V4L2_CID_CHROMA_AGC                     (V4L2_CID_BASE+29)\n #define V4L2_CID_COLOR_KILLER                   (V4L2_CID_BASE+30)\n #define V4L2_CID_COLORFX\t\t\t(V4L2_CID_BASE+31)\n@@ -180,15 +181,24 @@ enum v4l2_colorfx {\n  * We reserve 16 controls for this driver. */\n #define V4L2_CID_USER_TC358743_BASE\t\t(V4L2_CID_USER_BASE + 0x1080)\n \n+/* The base for the max217x driver controls.\n+ * We reserve 32 controls for this driver\n+ */\n+#define V4L2_CID_USER_MAX217X_BASE\t\t(V4L2_CID_USER_BASE + 0x1090)\n+\n+/* The base for the imx driver controls.\n+ * We reserve 16 controls for this driver. */\n+#define V4L2_CID_USER_IMX_BASE\t\t\t(V4L2_CID_USER_BASE + 0x10b0)\n+\n /* MPEG-class control IDs */\n /* The MPEG controls are applicable to all codec controls\n  * and the 'MPEG' part of the define is historical */\n \n-#define V4L2_CID_MPEG_BASE \t\t\t(V4L2_CTRL_CLASS_MPEG | 0x900)\n-#define V4L2_CID_MPEG_CLASS \t\t\t(V4L2_CTRL_CLASS_MPEG | 1)\n+#define V4L2_CID_MPEG_BASE\t\t\t(V4L2_CTRL_CLASS_MPEG | 0x900)\n+#define V4L2_CID_MPEG_CLASS\t\t\t(V4L2_CTRL_CLASS_MPEG | 1)\n \n /*  MPEG streams, specific to multiplexed streams */\n-#define V4L2_CID_MPEG_STREAM_TYPE \t\t(V4L2_CID_MPEG_BASE+0)\n+#define V4L2_CID_MPEG_STREAM_TYPE\t\t(V4L2_CID_MPEG_BASE+0)\n enum v4l2_mpeg_stream_type {\n \tV4L2_MPEG_STREAM_TYPE_MPEG2_PS   = 0, /* MPEG-2 program stream */\n \tV4L2_MPEG_STREAM_TYPE_MPEG2_TS   = 1, /* MPEG-2 transport stream */\n@@ -197,26 +207,26 @@ enum v4l2_mpeg_stream_type {\n \tV4L2_MPEG_STREAM_TYPE_MPEG1_VCD  = 4, /* MPEG-1 VCD-compatible stream */\n \tV4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */\n };\n-#define V4L2_CID_MPEG_STREAM_PID_PMT \t\t(V4L2_CID_MPEG_BASE+1)\n-#define V4L2_CID_MPEG_STREAM_PID_AUDIO \t\t(V4L2_CID_MPEG_BASE+2)\n-#define V4L2_CID_MPEG_STREAM_PID_VIDEO \t\t(V4L2_CID_MPEG_BASE+3)\n-#define V4L2_CID_MPEG_STREAM_PID_PCR \t\t(V4L2_CID_MPEG_BASE+4)\n-#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO \t(V4L2_CID_MPEG_BASE+5)\n-#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO \t(V4L2_CID_MPEG_BASE+6)\n-#define V4L2_CID_MPEG_STREAM_VBI_FMT \t\t(V4L2_CID_MPEG_BASE+7)\n+#define V4L2_CID_MPEG_STREAM_PID_PMT\t\t(V4L2_CID_MPEG_BASE+1)\n+#define V4L2_CID_MPEG_STREAM_PID_AUDIO\t\t(V4L2_CID_MPEG_BASE+2)\n+#define V4L2_CID_MPEG_STREAM_PID_VIDEO\t\t(V4L2_CID_MPEG_BASE+3)\n+#define V4L2_CID_MPEG_STREAM_PID_PCR\t\t(V4L2_CID_MPEG_BASE+4)\n+#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO\t(V4L2_CID_MPEG_BASE+5)\n+#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO\t(V4L2_CID_MPEG_BASE+6)\n+#define V4L2_CID_MPEG_STREAM_VBI_FMT\t\t(V4L2_CID_MPEG_BASE+7)\n enum v4l2_mpeg_stream_vbi_fmt {\n \tV4L2_MPEG_STREAM_VBI_FMT_NONE = 0,  /* No VBI in the MPEG stream */\n \tV4L2_MPEG_STREAM_VBI_FMT_IVTV = 1,  /* VBI in private packets, IVTV format */\n };\n \n /*  MPEG audio controls specific to multiplexed streams  */\n-#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ \t(V4L2_CID_MPEG_BASE+100)\n+#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ\t(V4L2_CID_MPEG_BASE+100)\n enum v4l2_mpeg_audio_sampling_freq {\n \tV4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,\n \tV4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,\n \tV4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,\n };\n-#define V4L2_CID_MPEG_AUDIO_ENCODING \t\t(V4L2_CID_MPEG_BASE+101)\n+#define V4L2_CID_MPEG_AUDIO_ENCODING\t\t(V4L2_CID_MPEG_BASE+101)\n enum v4l2_mpeg_audio_encoding {\n \tV4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,\n \tV4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,\n@@ -224,7 +234,7 @@ enum v4l2_mpeg_audio_encoding {\n \tV4L2_MPEG_AUDIO_ENCODING_AAC     = 3,\n \tV4L2_MPEG_AUDIO_ENCODING_AC3     = 4,\n };\n-#define V4L2_CID_MPEG_AUDIO_L1_BITRATE \t\t(V4L2_CID_MPEG_BASE+102)\n+#define V4L2_CID_MPEG_AUDIO_L1_BITRATE\t\t(V4L2_CID_MPEG_BASE+102)\n enum v4l2_mpeg_audio_l1_bitrate {\n \tV4L2_MPEG_AUDIO_L1_BITRATE_32K  = 0,\n \tV4L2_MPEG_AUDIO_L1_BITRATE_64K  = 1,\n@@ -241,7 +251,7 @@ enum v4l2_mpeg_audio_l1_bitrate {\n \tV4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,\n \tV4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,\n };\n-#define V4L2_CID_MPEG_AUDIO_L2_BITRATE \t\t(V4L2_CID_MPEG_BASE+103)\n+#define V4L2_CID_MPEG_AUDIO_L2_BITRATE\t\t(V4L2_CID_MPEG_BASE+103)\n enum v4l2_mpeg_audio_l2_bitrate {\n \tV4L2_MPEG_AUDIO_L2_BITRATE_32K  = 0,\n \tV4L2_MPEG_AUDIO_L2_BITRATE_48K  = 1,\n@@ -258,7 +268,7 @@ enum v4l2_mpeg_audio_l2_bitrate {\n \tV4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,\n \tV4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,\n };\n-#define V4L2_CID_MPEG_AUDIO_L3_BITRATE \t\t(V4L2_CID_MPEG_BASE+104)\n+#define V4L2_CID_MPEG_AUDIO_L3_BITRATE\t\t(V4L2_CID_MPEG_BASE+104)\n enum v4l2_mpeg_audio_l3_bitrate {\n \tV4L2_MPEG_AUDIO_L3_BITRATE_32K  = 0,\n \tV4L2_MPEG_AUDIO_L3_BITRATE_40K  = 1,\n@@ -275,32 +285,32 @@ enum v4l2_mpeg_audio_l3_bitrate {\n \tV4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,\n \tV4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,\n };\n-#define V4L2_CID_MPEG_AUDIO_MODE \t\t(V4L2_CID_MPEG_BASE+105)\n+#define V4L2_CID_MPEG_AUDIO_MODE\t\t(V4L2_CID_MPEG_BASE+105)\n enum v4l2_mpeg_audio_mode {\n \tV4L2_MPEG_AUDIO_MODE_STEREO       = 0,\n \tV4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,\n \tV4L2_MPEG_AUDIO_MODE_DUAL         = 2,\n \tV4L2_MPEG_AUDIO_MODE_MONO         = 3,\n };\n-#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION \t(V4L2_CID_MPEG_BASE+106)\n+#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION\t(V4L2_CID_MPEG_BASE+106)\n enum v4l2_mpeg_audio_mode_extension {\n \tV4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4  = 0,\n \tV4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8  = 1,\n \tV4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,\n \tV4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,\n };\n-#define V4L2_CID_MPEG_AUDIO_EMPHASIS \t\t(V4L2_CID_MPEG_BASE+107)\n+#define V4L2_CID_MPEG_AUDIO_EMPHASIS\t\t(V4L2_CID_MPEG_BASE+107)\n enum v4l2_mpeg_audio_emphasis {\n \tV4L2_MPEG_AUDIO_EMPHASIS_NONE         = 0,\n \tV4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,\n \tV4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17    = 2,\n };\n-#define V4L2_CID_MPEG_AUDIO_CRC \t\t(V4L2_CID_MPEG_BASE+108)\n+#define V4L2_CID_MPEG_AUDIO_CRC\t\t\t(V4L2_CID_MPEG_BASE+108)\n enum v4l2_mpeg_audio_crc {\n \tV4L2_MPEG_AUDIO_CRC_NONE  = 0,\n \tV4L2_MPEG_AUDIO_CRC_CRC16 = 1,\n };\n-#define V4L2_CID_MPEG_AUDIO_MUTE \t\t(V4L2_CID_MPEG_BASE+109)\n+#define V4L2_CID_MPEG_AUDIO_MUTE\t\t(V4L2_CID_MPEG_BASE+109)\n #define V4L2_CID_MPEG_AUDIO_AAC_BITRATE\t\t(V4L2_CID_MPEG_BASE+110)\n #define V4L2_CID_MPEG_AUDIO_AC3_BITRATE\t\t(V4L2_CID_MPEG_BASE+111)\n enum v4l2_mpeg_audio_ac3_bitrate {\n@@ -336,33 +346,33 @@ enum v4l2_mpeg_audio_dec_playback {\n #define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113)\n \n /*  MPEG video controls specific to multiplexed streams */\n-#define V4L2_CID_MPEG_VIDEO_ENCODING \t\t(V4L2_CID_MPEG_BASE+200)\n+#define V4L2_CID_MPEG_VIDEO_ENCODING\t\t(V4L2_CID_MPEG_BASE+200)\n enum v4l2_mpeg_video_encoding {\n \tV4L2_MPEG_VIDEO_ENCODING_MPEG_1     = 0,\n \tV4L2_MPEG_VIDEO_ENCODING_MPEG_2     = 1,\n \tV4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,\n };\n-#define V4L2_CID_MPEG_VIDEO_ASPECT \t\t(V4L2_CID_MPEG_BASE+201)\n+#define V4L2_CID_MPEG_VIDEO_ASPECT\t\t(V4L2_CID_MPEG_BASE+201)\n enum v4l2_mpeg_video_aspect {\n \tV4L2_MPEG_VIDEO_ASPECT_1x1     = 0,\n \tV4L2_MPEG_VIDEO_ASPECT_4x3     = 1,\n \tV4L2_MPEG_VIDEO_ASPECT_16x9    = 2,\n \tV4L2_MPEG_VIDEO_ASPECT_221x100 = 3,\n };\n-#define V4L2_CID_MPEG_VIDEO_B_FRAMES \t\t(V4L2_CID_MPEG_BASE+202)\n-#define V4L2_CID_MPEG_VIDEO_GOP_SIZE \t\t(V4L2_CID_MPEG_BASE+203)\n-#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE \t(V4L2_CID_MPEG_BASE+204)\n-#define V4L2_CID_MPEG_VIDEO_PULLDOWN \t\t(V4L2_CID_MPEG_BASE+205)\n-#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE \t(V4L2_CID_MPEG_BASE+206)\n+#define V4L2_CID_MPEG_VIDEO_B_FRAMES\t\t(V4L2_CID_MPEG_BASE+202)\n+#define V4L2_CID_MPEG_VIDEO_GOP_SIZE\t\t(V4L2_CID_MPEG_BASE+203)\n+#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE\t\t(V4L2_CID_MPEG_BASE+204)\n+#define V4L2_CID_MPEG_VIDEO_PULLDOWN\t\t(V4L2_CID_MPEG_BASE+205)\n+#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE\t(V4L2_CID_MPEG_BASE+206)\n enum v4l2_mpeg_video_bitrate_mode {\n \tV4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,\n \tV4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,\n };\n-#define V4L2_CID_MPEG_VIDEO_BITRATE \t\t(V4L2_CID_MPEG_BASE+207)\n-#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK \t(V4L2_CID_MPEG_BASE+208)\n+#define V4L2_CID_MPEG_VIDEO_BITRATE\t\t(V4L2_CID_MPEG_BASE+207)\n+#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK\t(V4L2_CID_MPEG_BASE+208)\n #define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)\n-#define V4L2_CID_MPEG_VIDEO_MUTE \t\t(V4L2_CID_MPEG_BASE+210)\n-#define V4L2_CID_MPEG_VIDEO_MUTE_YUV \t\t(V4L2_CID_MPEG_BASE+211)\n+#define V4L2_CID_MPEG_VIDEO_MUTE\t\t(V4L2_CID_MPEG_BASE+210)\n+#define V4L2_CID_MPEG_VIDEO_MUTE_YUV\t\t(V4L2_CID_MPEG_BASE+211)\n #define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE\t\t(V4L2_CID_MPEG_BASE+212)\n #define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER\t(V4L2_CID_MPEG_BASE+213)\n #define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB\t\t(V4L2_CID_MPEG_BASE+214)\n@@ -577,17 +587,125 @@ enum v4l2_vp8_golden_frame_sel {\n #define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP\t\t\t(V4L2_CID_MPEG_BASE+508)\n #define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP\t\t(V4L2_CID_MPEG_BASE+509)\n #define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP\t\t(V4L2_CID_MPEG_BASE+510)\n-#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE\t\t\t(V4L2_CID_MPEG_BASE+511)\n+\n+#define V4L2_CID_MPEG_VIDEO_VP8_PROFILE\t\t\t(V4L2_CID_MPEG_BASE+511)\n+enum v4l2_mpeg_video_vp8_profile {\n+\tV4L2_MPEG_VIDEO_VP8_PROFILE_0\t\t\t\t= 0,\n+\tV4L2_MPEG_VIDEO_VP8_PROFILE_1\t\t\t\t= 1,\n+\tV4L2_MPEG_VIDEO_VP8_PROFILE_2\t\t\t\t= 2,\n+\tV4L2_MPEG_VIDEO_VP8_PROFILE_3\t\t\t\t= 3,\n+};\n+/* Deprecated alias for compatibility reasons. */\n+#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE\tV4L2_CID_MPEG_VIDEO_VP8_PROFILE\n+#define V4L2_CID_MPEG_VIDEO_VP9_PROFILE\t\t\t(V4L2_CID_MPEG_BASE+512)\n+enum v4l2_mpeg_video_vp9_profile {\n+\tV4L2_MPEG_VIDEO_VP9_PROFILE_0\t\t\t\t= 0,\n+\tV4L2_MPEG_VIDEO_VP9_PROFILE_1\t\t\t\t= 1,\n+\tV4L2_MPEG_VIDEO_VP9_PROFILE_2\t\t\t\t= 2,\n+\tV4L2_MPEG_VIDEO_VP9_PROFILE_3\t\t\t\t= 3,\n+};\n+\n+/* CIDs for HEVC encoding. */\n+\n+#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP\t\t(V4L2_CID_MPEG_BASE + 600)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP\t\t(V4L2_CID_MPEG_BASE + 601)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP\t(V4L2_CID_MPEG_BASE + 602)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP\t(V4L2_CID_MPEG_BASE + 603)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP\t(V4L2_CID_MPEG_BASE + 604)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP\t(V4L2_CID_MPEG_BASE + 605)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606)\n+enum v4l2_mpeg_video_hevc_hier_coding_type {\n+\tV4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B\t= 0,\n+\tV4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P\t= 1,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER\t(V4L2_CID_MPEG_BASE + 607)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP\t(V4L2_CID_MPEG_BASE + 608)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP\t(V4L2_CID_MPEG_BASE + 609)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP\t(V4L2_CID_MPEG_BASE + 610)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP\t(V4L2_CID_MPEG_BASE + 611)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP\t(V4L2_CID_MPEG_BASE + 612)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP\t(V4L2_CID_MPEG_BASE + 613)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP\t(V4L2_CID_MPEG_BASE + 614)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE\t(V4L2_CID_MPEG_BASE + 615)\n+enum v4l2_mpeg_video_hevc_profile {\n+\tV4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0,\n+\tV4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,\n+\tV4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL\t\t(V4L2_CID_MPEG_BASE + 616)\n+enum v4l2_mpeg_video_hevc_level {\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_1\t= 0,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_2\t= 1,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_2_1\t= 2,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_3\t= 3,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_3_1\t= 4,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_4\t= 5,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_4_1\t= 6,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_5\t= 7,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_5_1\t= 8,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_5_2\t= 9,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_6\t= 10,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_6_1\t= 11,\n+\tV4L2_MPEG_VIDEO_HEVC_LEVEL_6_2\t= 12,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION\t(V4L2_CID_MPEG_BASE + 617)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_TIER\t\t\t(V4L2_CID_MPEG_BASE + 618)\n+enum v4l2_mpeg_video_hevc_tier {\n+\tV4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0,\n+\tV4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH\t(V4L2_CID_MPEG_BASE + 619)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE\t(V4L2_CID_MPEG_BASE + 620)\n+enum v4l2_cid_mpeg_video_hevc_loop_filter_mode {\n+\tV4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED\t\t\t = 0,\n+\tV4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED\t\t\t = 1,\n+\tV4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2\t(V4L2_CID_MPEG_BASE + 621)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2\t(V4L2_CID_MPEG_BASE + 622)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE\t\t(V4L2_CID_MPEG_BASE + 623)\n+enum v4l2_cid_mpeg_video_hevc_refresh_type {\n+\tV4L2_MPEG_VIDEO_HEVC_REFRESH_NONE\t\t= 0,\n+\tV4L2_MPEG_VIDEO_HEVC_REFRESH_CRA\t\t= 1,\n+\tV4L2_MPEG_VIDEO_HEVC_REFRESH_IDR\t\t= 2,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD\t\t(V4L2_CID_MPEG_BASE + 624)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU\t\t(V4L2_CID_MPEG_BASE + 625)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED\t(V4L2_CID_MPEG_BASE + 626)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT\t\t(V4L2_CID_MPEG_BASE + 627)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB\t\t(V4L2_CID_MPEG_BASE + 628)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID\t\t(V4L2_CID_MPEG_BASE + 629)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING\t(V4L2_CID_MPEG_BASE + 630)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1\t(V4L2_CID_MPEG_BASE + 631)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT\t\t(V4L2_CID_MPEG_BASE + 632)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION\t\t(V4L2_CID_MPEG_BASE + 633)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE\t(V4L2_CID_MPEG_BASE + 634)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD\t(V4L2_CID_MPEG_BASE + 635)\n+enum v4l2_cid_mpeg_video_hevc_size_of_length_field {\n+\tV4L2_MPEG_VIDEO_HEVC_SIZE_0\t\t= 0,\n+\tV4L2_MPEG_VIDEO_HEVC_SIZE_1\t\t= 1,\n+\tV4L2_MPEG_VIDEO_HEVC_SIZE_2\t\t= 2,\n+\tV4L2_MPEG_VIDEO_HEVC_SIZE_4\t\t= 3,\n+};\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR\t(V4L2_CID_MPEG_BASE + 636)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR\t(V4L2_CID_MPEG_BASE + 637)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR\t(V4L2_CID_MPEG_BASE + 638)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR\t(V4L2_CID_MPEG_BASE + 639)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR\t(V4L2_CID_MPEG_BASE + 640)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR\t(V4L2_CID_MPEG_BASE + 641)\n+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR\t(V4L2_CID_MPEG_BASE + 642)\n+#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES\t(V4L2_CID_MPEG_BASE + 643)\n+#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR\t(V4L2_CID_MPEG_BASE + 644)\n \n /*  MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */\n-#define V4L2_CID_MPEG_CX2341X_BASE \t\t\t\t(V4L2_CTRL_CLASS_MPEG | 0x1000)\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE \t(V4L2_CID_MPEG_CX2341X_BASE+0)\n+#define V4L2_CID_MPEG_CX2341X_BASE\t\t\t\t(V4L2_CTRL_CLASS_MPEG | 0x1000)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE\t\t(V4L2_CID_MPEG_CX2341X_BASE+0)\n enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {\n \tV4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,\n \tV4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO   = 1,\n };\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER \t\t(V4L2_CID_MPEG_CX2341X_BASE+1)\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE \t(V4L2_CID_MPEG_CX2341X_BASE+2)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER\t\t(V4L2_CID_MPEG_CX2341X_BASE+1)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE\t(V4L2_CID_MPEG_CX2341X_BASE+2)\n enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {\n \tV4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF                  = 0,\n \tV4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR               = 1,\n@@ -595,18 +713,18 @@ enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {\n \tV4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE      = 3,\n \tV4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,\n };\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE \t(V4L2_CID_MPEG_CX2341X_BASE+3)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE\t(V4L2_CID_MPEG_CX2341X_BASE+3)\n enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {\n \tV4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF    = 0,\n \tV4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,\n };\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE \t(V4L2_CID_MPEG_CX2341X_BASE+4)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE\t(V4L2_CID_MPEG_CX2341X_BASE+4)\n enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {\n \tV4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,\n \tV4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO   = 1,\n };\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER \t\t(V4L2_CID_MPEG_CX2341X_BASE+5)\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE \t\t(V4L2_CID_MPEG_CX2341X_BASE+6)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER\t\t(V4L2_CID_MPEG_CX2341X_BASE+5)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE\t\t(V4L2_CID_MPEG_CX2341X_BASE+6)\n enum v4l2_mpeg_cx2341x_video_median_filter_type {\n \tV4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF      = 0,\n \tV4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR      = 1,\n@@ -614,11 +732,11 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type {\n \tV4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,\n \tV4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG     = 4,\n };\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM \t(V4L2_CID_MPEG_CX2341X_BASE+7)\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP \t(V4L2_CID_MPEG_CX2341X_BASE+8)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM\t(V4L2_CID_MPEG_CX2341X_BASE+7)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP\t(V4L2_CID_MPEG_CX2341X_BASE+8)\n #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM\t(V4L2_CID_MPEG_CX2341X_BASE+9)\n-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP \t(V4L2_CID_MPEG_CX2341X_BASE+10)\n-#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS \t(V4L2_CID_MPEG_CX2341X_BASE+11)\n+#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP\t(V4L2_CID_MPEG_CX2341X_BASE+10)\n+#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS\t\t(V4L2_CID_MPEG_CX2341X_BASE+11)\n \n /*  MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */\n #define V4L2_CID_MPEG_MFC51_BASE\t\t\t\t(V4L2_CTRL_CLASS_MPEG | 0x1100)\n@@ -647,11 +765,10 @@ enum v4l2_mpeg_mfc51_video_force_frame_type {\n #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC\t\t(V4L2_CID_MPEG_MFC51_BASE+53)\n #define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P\t\t(V4L2_CID_MPEG_MFC51_BASE+54)\n \n-\n /*  Camera class control IDs */\n \n-#define V4L2_CID_CAMERA_CLASS_BASE \t(V4L2_CTRL_CLASS_CAMERA | 0x900)\n-#define V4L2_CID_CAMERA_CLASS \t\t(V4L2_CTRL_CLASS_CAMERA | 1)\n+#define V4L2_CID_CAMERA_CLASS_BASE\t(V4L2_CTRL_CLASS_CAMERA | 0x900)\n+#define V4L2_CID_CAMERA_CLASS\t\t(V4L2_CTRL_CLASS_CAMERA | 1)\n \n #define V4L2_CID_EXPOSURE_AUTO\t\t\t(V4L2_CID_CAMERA_CLASS_BASE+1)\n enum  v4l2_exposure_auto_type {\n@@ -893,7 +1010,7 @@ enum v4l2_jpeg_chroma_subsampling {\n #define V4L2_CID_PIXEL_RATE\t\t\t(V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)\n #define V4L2_CID_TEST_PATTERN\t\t\t(V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)\n #define V4L2_CID_DEINTERLACING_MODE\t\t(V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)\n-\n+#define V4L2_CID_DIGITAL_GAIN\t\t\t(V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)\n \n /*  DV-class control IDs defined by V4L2 */\n #define V4L2_CID_DV_CLASS_BASE\t\t\t(V4L2_CTRL_CLASS_DV | 0x900)\ndiff --git a/include/linux/videodev2.h b/include/linux/videodev2.h\nindex b1e36ee553da..1a95662f5ad0 100644\n--- a/include/linux/videodev2.h\n+++ b/include/linux/videodev2.h\n@@ -1,3 +1,4 @@\n+/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */\n /*\n  *  Video for Linux Two header file\n  *\n@@ -104,14 +105,14 @@ enum v4l2_field {\n \t\t\t\t\t transmitted first */\n };\n #define V4L2_FIELD_HAS_TOP(field)\t\\\n-\t((field) == V4L2_FIELD_TOP \t||\\\n+\t((field) == V4L2_FIELD_TOP\t||\\\n \t (field) == V4L2_FIELD_INTERLACED ||\\\n \t (field) == V4L2_FIELD_INTERLACED_TB ||\\\n \t (field) == V4L2_FIELD_INTERLACED_BT ||\\\n \t (field) == V4L2_FIELD_SEQ_TB\t||\\\n \t (field) == V4L2_FIELD_SEQ_BT)\n #define V4L2_FIELD_HAS_BOTTOM(field)\t\\\n-\t((field) == V4L2_FIELD_BOTTOM \t||\\\n+\t((field) == V4L2_FIELD_BOTTOM\t||\\\n \t (field) == V4L2_FIELD_INTERLACED ||\\\n \t (field) == V4L2_FIELD_INTERLACED_TB ||\\\n \t (field) == V4L2_FIELD_INTERLACED_BT ||\\\n@@ -462,12 +463,12 @@ struct v4l2_capability {\n  *\tV I D E O   I M A G E   F O R M A T\n  */\n struct v4l2_pix_format {\n-\t__u32         \t\twidth;\n+\t__u32\t\t\twidth;\n \t__u32\t\t\theight;\n \t__u32\t\t\tpixelformat;\n \t__u32\t\t\tfield;\t\t/* enum v4l2_field */\n-\t__u32            \tbytesperline;\t/* for padding, zero if unused */\n-\t__u32          \t\tsizeimage;\n+\t__u32\t\t\tbytesperline;\t/* for padding, zero if unused */\n+\t__u32\t\t\tsizeimage;\n \t__u32\t\t\tcolorspace;\t/* enum v4l2_colorspace */\n \t__u32\t\t\tpriv;\t\t/* private data, depends on pixelformat */\n \t__u32\t\t\tflags;\t\t/* format flags (V4L2_PIX_FMT_FLAG_*) */\n@@ -517,6 +518,7 @@ struct v4l2_pix_format {\n \n /* Grey bit-packed formats */\n #define V4L2_PIX_FMT_Y10BPACK    v4l2_fourcc('Y', '1', '0', 'B') /* 10  Greyscale bit-packed */\n+#define V4L2_PIX_FMT_Y10P    v4l2_fourcc('Y', '1', '0', 'P') /* 10  Greyscale, MIPI RAW10 packed */\n \n /* Palette formats */\n #define V4L2_PIX_FMT_PAL8    v4l2_fourcc('P', 'A', 'L', '8') /*  8  8-bit palette */\n@@ -599,6 +601,16 @@ struct v4l2_pix_format {\n #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12  GBGB.. RGRG.. */\n #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12  GRGR.. BGBG.. */\n #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12  RGRG.. GBGB.. */\n+\t/* 12bit raw bayer packed, 6 bytes for every 4 pixels */\n+#define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C')\n+#define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C')\n+#define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C')\n+#define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C')\n+\t/* 14bit raw bayer packed, 7 bytes for every 4 pixels */\n+#define V4L2_PIX_FMT_SBGGR14P v4l2_fourcc('p', 'B', 'E', 'E')\n+#define V4L2_PIX_FMT_SGBRG14P v4l2_fourcc('p', 'G', 'E', 'E')\n+#define V4L2_PIX_FMT_SGRBG14P v4l2_fourcc('p', 'g', 'E', 'E')\n+#define V4L2_PIX_FMT_SRGGB14P v4l2_fourcc('p', 'R', 'E', 'E')\n #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16  BGBG.. GRGR.. */\n #define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6') /* 16  GBGB.. RGRG.. */\n #define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6') /* 16  GRGR.. BGBG.. */\n@@ -625,6 +637,8 @@ struct v4l2_pix_format {\n #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */\n #define V4L2_PIX_FMT_VP8      v4l2_fourcc('V', 'P', '8', '0') /* VP8 */\n #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */\n+#define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka H.265 */\n+#define V4L2_PIX_FMT_FWHT     v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh Hadamard Transform (vicodec) */\n \n /*  Vendor-specific formats   */\n #define V4L2_PIX_FMT_CPIA1    v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */\n@@ -659,12 +673,21 @@ struct v4l2_pix_format {\n #define V4L2_PIX_FMT_MT21C    v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode  */\n #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */\n \n+/* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */\n+#define V4L2_PIX_FMT_IPU3_SBGGR10\tv4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */\n+#define V4L2_PIX_FMT_IPU3_SGBRG10\tv4l2_fourcc('i', 'p', '3', 'g') /* IPU3 packed 10-bit GBRG bayer */\n+#define V4L2_PIX_FMT_IPU3_SGRBG10\tv4l2_fourcc('i', 'p', '3', 'G') /* IPU3 packed 10-bit GRBG bayer */\n+#define V4L2_PIX_FMT_IPU3_SRGGB10\tv4l2_fourcc('i', 'p', '3', 'r') /* IPU3 packed 10-bit RGGB bayer */\n+\n /* SDR formats - used only for Software Defined Radio devices */\n #define V4L2_SDR_FMT_CU8          v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */\n #define V4L2_SDR_FMT_CU16LE       v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */\n #define V4L2_SDR_FMT_CS8          v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */\n #define V4L2_SDR_FMT_CS14LE       v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */\n #define V4L2_SDR_FMT_RU12LE       v4l2_fourcc('R', 'U', '1', '2') /* real u12le */\n+#define V4L2_SDR_FMT_PCU16BE\t  v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */\n+#define V4L2_SDR_FMT_PCU18BE\t  v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */\n+#define V4L2_SDR_FMT_PCU20BE\t  v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */\n \n /* Touch formats - used for Touch devices */\n #define V4L2_TCH_FMT_DELTA_TD16\tv4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */\n@@ -675,6 +698,7 @@ struct v4l2_pix_format {\n /* Meta-data formats */\n #define V4L2_META_FMT_VSP1_HGO    v4l2_fourcc('V', 'S', 'P', 'H') /* R-Car VSP1 1-D Histogram */\n #define V4L2_META_FMT_VSP1_HGT    v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */\n+#define V4L2_META_FMT_UVC         v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */\n \n /* priv field value to indicates that subsequent fields are valid. */\n #define V4L2_PIX_FMT_PRIV_MAGIC\t\t0xfeedcafe\n@@ -1153,7 +1177,7 @@ typedef __u64 v4l2_std_id;\n \t\t\t\t V4L2_STD_NTSC_M_JP     |\\\n \t\t\t\t V4L2_STD_NTSC_M_KR)\n /* Secam macros */\n-#define V4L2_STD_SECAM_DK      \t(V4L2_STD_SECAM_D\t|\\\n+#define V4L2_STD_SECAM_DK\t(V4L2_STD_SECAM_D\t|\\\n \t\t\t\t V4L2_STD_SECAM_K\t|\\\n \t\t\t\t V4L2_STD_SECAM_K1)\n /* All Secam Standards */\n@@ -1234,7 +1258,7 @@ struct v4l2_standard {\n };\n \n /*\n- *\tD V \tB T\tT I M I N G S\n+ *\tD V\tB T\tT I M I N G S\n  */\n \n /** struct v4l2_bt_timings - BT.656/BT.1120 timing data\n@@ -1573,7 +1597,7 @@ struct v4l2_ext_controls {\n \tstruct v4l2_ext_control *controls;\n };\n \n-#define V4L2_CTRL_ID_MASK      \t  (0x0fffffff)\n+#define V4L2_CTRL_ID_MASK\t  (0x0fffffff)\n #define V4L2_CTRL_ID2CLASS(id)    ((id) & 0x0fff0000UL)\n #define V4L2_CTRL_ID2WHICH(id)    ((id) & 0x0fff0000UL)\n #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)\n@@ -1643,11 +1667,11 @@ struct v4l2_querymenu {\n /*  Control flags  */\n #define V4L2_CTRL_FLAG_DISABLED\t\t0x0001\n #define V4L2_CTRL_FLAG_GRABBED\t\t0x0002\n-#define V4L2_CTRL_FLAG_READ_ONLY \t0x0004\n-#define V4L2_CTRL_FLAG_UPDATE \t\t0x0008\n-#define V4L2_CTRL_FLAG_INACTIVE \t0x0010\n-#define V4L2_CTRL_FLAG_SLIDER \t\t0x0020\n-#define V4L2_CTRL_FLAG_WRITE_ONLY \t0x0040\n+#define V4L2_CTRL_FLAG_READ_ONLY\t0x0004\n+#define V4L2_CTRL_FLAG_UPDATE\t\t0x0008\n+#define V4L2_CTRL_FLAG_INACTIVE\t\t0x0010\n+#define V4L2_CTRL_FLAG_SLIDER\t\t0x0020\n+#define V4L2_CTRL_FLAG_WRITE_ONLY\t0x0040\n #define V4L2_CTRL_FLAG_VOLATILE\t\t0x0080\n #define V4L2_CTRL_FLAG_HAS_PAYLOAD\t0x0100\n #define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE\t0x0200\n@@ -1761,21 +1785,21 @@ struct v4l2_hw_freq_seek {\n  */\n \n struct v4l2_rds_data {\n-\t__u8 \tlsb;\n-\t__u8 \tmsb;\n-\t__u8 \tblock;\n+\t__u8\tlsb;\n+\t__u8\tmsb;\n+\t__u8\tblock;\n } __attribute__ ((packed));\n \n-#define V4L2_RDS_BLOCK_MSK \t 0x7\n-#define V4L2_RDS_BLOCK_A \t 0\n-#define V4L2_RDS_BLOCK_B \t 1\n-#define V4L2_RDS_BLOCK_C \t 2\n-#define V4L2_RDS_BLOCK_D \t 3\n-#define V4L2_RDS_BLOCK_C_ALT \t 4\n-#define V4L2_RDS_BLOCK_INVALID \t 7\n+#define V4L2_RDS_BLOCK_MSK\t 0x7\n+#define V4L2_RDS_BLOCK_A\t 0\n+#define V4L2_RDS_BLOCK_B\t 1\n+#define V4L2_RDS_BLOCK_C\t 2\n+#define V4L2_RDS_BLOCK_D\t 3\n+#define V4L2_RDS_BLOCK_C_ALT\t 4\n+#define V4L2_RDS_BLOCK_INVALID\t 7\n \n #define V4L2_RDS_BLOCK_CORRECTED 0x40\n-#define V4L2_RDS_BLOCK_ERROR \t 0x80\n+#define V4L2_RDS_BLOCK_ERROR\t 0x80\n \n /*\n  *\tA U D I O\n@@ -2285,7 +2309,6 @@ struct v4l2_create_buffers {\n  *\n  */\n #define VIDIOC_QUERYCAP\t\t _IOR('V',  0, struct v4l2_capability)\n-#define VIDIOC_RESERVED\t\t  _IO('V',  1)\n #define VIDIOC_ENUM_FMT         _IOWR('V',  2, struct v4l2_fmtdesc)\n #define VIDIOC_G_FMT\t\t_IOWR('V',  4, struct v4l2_format)\n #define VIDIOC_S_FMT\t\t_IOWR('V',  5, struct v4l2_format)\n@@ -2331,8 +2354,8 @@ struct v4l2_create_buffers {\n #define VIDIOC_S_CROP\t\t _IOW('V', 60, struct v4l2_crop)\n #define VIDIOC_G_JPEGCOMP\t _IOR('V', 61, struct v4l2_jpegcompression)\n #define VIDIOC_S_JPEGCOMP\t _IOW('V', 62, struct v4l2_jpegcompression)\n-#define VIDIOC_QUERYSTD      \t _IOR('V', 63, v4l2_std_id)\n-#define VIDIOC_TRY_FMT      \t_IOWR('V', 64, struct v4l2_format)\n+#define VIDIOC_QUERYSTD\t\t _IOR('V', 63, v4l2_std_id)\n+#define VIDIOC_TRY_FMT\t\t_IOWR('V', 64, struct v4l2_format)\n #define VIDIOC_ENUMAUDIO\t_IOWR('V', 65, struct v4l2_audio)\n #define VIDIOC_ENUMAUDOUT\t_IOWR('V', 66, struct v4l2_audioout)\n #define VIDIOC_G_PRIORITY\t _IOR('V', 67, __u32) /* enum v4l2_priority */\n@@ -2353,8 +2376,8 @@ struct v4l2_create_buffers {\n  * Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.\n  * You must be root to use these ioctls. Never use these in applications!\n  */\n-#define\tVIDIOC_DBG_S_REGISTER \t _IOW('V', 79, struct v4l2_dbg_register)\n-#define\tVIDIOC_DBG_G_REGISTER \t_IOWR('V', 80, struct v4l2_dbg_register)\n+#define\tVIDIOC_DBG_S_REGISTER\t _IOW('V', 79, struct v4l2_dbg_register)\n+#define\tVIDIOC_DBG_G_REGISTER\t_IOWR('V', 80, struct v4l2_dbg_register)\n \n #define VIDIOC_S_HW_FREQ_SEEK\t _IOW('V', 82, struct v4l2_hw_freq_seek)\n #define\tVIDIOC_S_DV_TIMINGS\t_IOWR('V', 87, struct v4l2_dv_timings)\n","prefixes":["libcamera-devel","1/2"]}