aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2016-02-19 19:58:43 -0500
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2016-02-19 19:58:43 -0500
commit4c4400504f6ada0cfed682fbe7e6c65efbda3952 (patch)
tree5452eb39c76081fc871abdf1a38ccf3668f5cb4f /include/uapi
parentd2eaa59000c7717e68a75cf2c106f056d2bc30b4 (diff)
parent18922936dc2817488ebba985c5aaf3498f2ef96d (diff)
Merge remote-tracking branch 'linuxtv/vsp1' into HEAD
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/media.h43
-rw-r--r--include/uapi/linux/v4l2-common.h46
-rw-r--r--include/uapi/linux/v4l2-controls.h11
-rw-r--r--include/uapi/linux/videodev2.h4
4 files changed, 75 insertions, 29 deletions
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
index 1e3c8cb43bd7..6aac2f035a5d 100644
--- a/include/uapi/linux/media.h
+++ b/include/uapi/linux/media.h
@@ -72,21 +72,28 @@ struct media_device_info {
72#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 4) 72#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 4)
73 73
74/* 74/*
75 * Connectors 75 * I/O entities
76 */ 76 */
77/* It is a responsibility of the entity drivers to add connectors and links */ 77#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 1001)
78#define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 21) 78#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 1002)
79#define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 22) 79#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 1003)
80#define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 23)
81/* For internal test signal generators and other debug connectors */
82#define MEDIA_ENT_F_CONN_TEST (MEDIA_ENT_F_BASE + 24)
83 80
84/* 81/*
85 * I/O entities 82 * Analog TV IF-PLL decoders
83 *
84 * It is a responsibility of the master/bridge drivers to create links
85 * for MEDIA_ENT_F_IF_VID_DECODER and MEDIA_ENT_F_IF_AUD_DECODER.
86 */
87#define MEDIA_ENT_F_IF_VID_DECODER (MEDIA_ENT_F_BASE + 2001)
88#define MEDIA_ENT_F_IF_AUD_DECODER (MEDIA_ENT_F_BASE + 2002)
89
90/*
91 * Connectors
86 */ 92 */
87#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 31) 93/* It is a responsibility of the entity drivers to add connectors and links */
88#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 32) 94#define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 10001)
89#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 33) 95#define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 10002)
96#define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 10003)
90 97
91/* 98/*
92 * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and 99 * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and
@@ -107,8 +114,12 @@ struct media_device_info {
107#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3) 114#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
108#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4) 115#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
109/* 116/*
110 * It is a responsibility of the entity drivers to add connectors and links 117 * It is a responsibility of the master/bridge drivers to add connectors
111 * for the tuner entities. 118 * and links for MEDIA_ENT_F_TUNER. Please notice that some old tuners
119 * may require the usage of separate I2C chips to decode analog TV signals,
120 * when the master/bridge chipset doesn't have its own TV standard decoder.
121 * On such cases, the IF-PLL staging is mapped via one or two entities:
122 * MEDIA_ENT_F_IF_VID_DECODER and/or MEDIA_ENT_F_IF_AUD_DECODER.
112 */ 123 */
113#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5) 124#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
114 125
@@ -286,7 +297,7 @@ struct media_links_enum {
286 * later, before the adding this API upstream. 297 * later, before the adding this API upstream.
287 */ 298 */
288 299
289#if 0 /* Let's postpone it to Kernel 4.6 */ 300
290struct media_v2_entity { 301struct media_v2_entity {
291 __u32 id; 302 __u32 id;
292 char name[64]; /* FIXME: move to a property? (RFC says so) */ 303 char name[64]; /* FIXME: move to a property? (RFC says so) */
@@ -351,7 +362,6 @@ static inline void __user *media_get_uptr(__u64 arg)
351{ 362{
352 return (void __user *)(uintptr_t)arg; 363 return (void __user *)(uintptr_t)arg;
353} 364}
354#endif
355 365
356/* ioctls */ 366/* ioctls */
357 367
@@ -359,9 +369,6 @@ static inline void __user *media_get_uptr(__u64 arg)
359#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc) 369#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc)
360#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum) 370#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
361#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc) 371#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
362
363#if 0 /* Let's postpone it to Kernel 4.6 */
364#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology) 372#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
365#endif
366 373
367#endif /* __LINUX_MEDIA_H */ 374#endif /* __LINUX_MEDIA_H */
diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
index 15273987093e..5b3f685a2d50 100644
--- a/include/uapi/linux/v4l2-common.h
+++ b/include/uapi/linux/v4l2-common.h
@@ -10,19 +10,43 @@
10 * Copyright (C) 2012 Nokia Corporation 10 * Copyright (C) 2012 Nokia Corporation
11 * Contact: Sakari Ailus <sakari.ailus@iki.fi> 11 * Contact: Sakari Ailus <sakari.ailus@iki.fi>
12 * 12 *
13 * This program is free software; you can redistribute it and/or 13 * This program is free software; you can redistribute it and/or modify
14 * modify it under the terms of the GNU General Public License 14 * it under the terms of the GNU General Public License as published by
15 * version 2 as published by the Free Software Foundation. 15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
16 * 17 *
17 * This program is distributed in the hope that it will be useful, but 18 * This program is distributed in the hope that it will be useful,
18 * WITHOUT ANY WARRANTY; without even the implied warranty of 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * General Public License for more details. 21 * GNU General Public License for more details.
21 * 22 *
22 * You should have received a copy of the GNU General Public License 23 * Alternatively you can redistribute this file under the terms of the
23 * along with this program; if not, write to the Free Software 24 * BSD license as stated below:
24 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 *
25 * 02110-1301 USA 26 * Redistribution and use in source and binary forms, with or without
27 * modification, are permitted provided that the following conditions
28 * are met:
29 * 1. Redistributions of source code must retain the above copyright
30 * notice, this list of conditions and the following disclaimer.
31 * 2. Redistributions in binary form must reproduce the above copyright
32 * notice, this list of conditions and the following disclaimer in
33 * the documentation and/or other materials provided with the
34 * distribution.
35 * 3. The names of its contributors may not be used to endorse or promote
36 * products derived from this software without specific prior written
37 * permission.
38 *
39 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
40 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
41 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
42 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
43 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
45 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
46 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
47 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
48 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
49 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 * 50 *
27 */ 51 */
28 52
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 2d225bcdb831..b6a357a5f053 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -390,6 +390,7 @@ enum v4l2_mpeg_video_multi_slice_mode {
390#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) 390#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)
391#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) 391#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227)
392#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) 392#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
393#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)
393 394
394#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) 395#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
395#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) 396#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
@@ -912,8 +913,18 @@ enum v4l2_dv_rgb_range {
912 V4L2_DV_RGB_RANGE_FULL = 2, 913 V4L2_DV_RGB_RANGE_FULL = 2,
913}; 914};
914 915
916#define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6)
917enum v4l2_dv_it_content_type {
918 V4L2_DV_IT_CONTENT_TYPE_GRAPHICS = 0,
919 V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
920 V4L2_DV_IT_CONTENT_TYPE_CINEMA = 2,
921 V4L2_DV_IT_CONTENT_TYPE_GAME = 3,
922 V4L2_DV_IT_CONTENT_TYPE_NO_ITC = 4,
923};
924
915#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100) 925#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
916#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) 926#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
927#define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102)
917 928
918#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900) 929#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900)
919#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1) 930#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 14cd5ebfee6d..466458422385 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -546,6 +546,10 @@ struct v4l2_pix_format {
546/* three non contiguous planes - Y, Cb, Cr */ 546/* three non contiguous planes - Y, Cb, Cr */
547#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */ 547#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */
548#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */ 548#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */
549#define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6') /* 16 YUV422 planar */
550#define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1') /* 16 YVU422 planar */
551#define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24 YUV444 planar */
552#define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') /* 24 YVU444 planar */
549 553
550/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ 554/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
551#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ 555#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */