| @@ -292,13 +292,11 @@ enum v4l2_ycbcr_encoding { · 291 unmodified lines |
| 292 | 292 | * various colorspaces: |
| 293 | 293 | * |
| 294 | 294 | * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, |
| 295 | | − * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and |
| 296 | | − * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 |
| 295 | + * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_SRGB, |
| 296 | + * V4L2_COLORSPACE_ADOBERGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 |
| 297 | 297 | * |
| 298 | 298 | * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709 |
| 299 | 299 | * |
| 300 | | − * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC |
| 301 | | − * |
| 302 | 300 | * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 |
| 303 | 301 | * |
| 304 | 302 | * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M |
| @@ -317,8 +315,14 @@ enum v4l2_ycbcr_encoding { · 12 unmodified lines |
| 317 | 315 | /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ |
| 318 | 316 | V4L2_YCBCR_ENC_XV709 = 4, |
| 319 | 317 | |
| 320 | | − /* sYCC (Y'CbCr encoding of sRGB) */ |
| 318 | +#ifndef __KERNEL__ |
| 319 | + /* |
| 320 | + * sYCC (Y'CbCr encoding of sRGB), identical to ENC_601. It was added |
| 321 | + * originally due to a misunderstanding of the sYCC standard. It should |
| 322 | + * not be used, instead use V4L2_YCBCR_ENC_601. |
| 323 | + */ |
| 321 | 324 | V4L2_YCBCR_ENC_SYCC = 5, |
| 325 | +#endif |
| 322 | 326 | |
| 323 | 327 | /* BT.2020 Non-constant Luminance Y'CbCr */ |
| 324 | 328 | V4L2_YCBCR_ENC_BT2020 = 6, |
| @@ -345,8 +349,8 @@ enum v4l2_quantization { · 20 unmodified lines |
| 345 | 349 | /* |
| 346 | 350 | * The default for R'G'B' quantization is always full range, except |
| 347 | 351 | * for the BT2020 colorspace. For Y'CbCr the quantization is always |
| 348 | | − * limited range, except for COLORSPACE_JPEG, SYCC, XV601 or XV709: |
| 349 | | − * those are full range. |
| 352 | + * limited range, except for COLORSPACE_JPEG, SRGB, ADOBERGB, |
| 353 | + * XV601 or XV709: those are full range. |
| 350 | 354 | */ |
| 351 | 355 | V4L2_QUANTIZATION_DEFAULT = 0, |
| 352 | 356 | V4L2_QUANTIZATION_FULL_RANGE = 1, |
| @@ -361,7 +365,8 @@ enum v4l2_quantization { · 8 unmodified lines |
| 361 | 365 | #define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \ |
| 362 | 366 | (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \ |
| 363 | 367 | (((is_rgb) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \ |
| 364 | | − (ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) ? \ |
| 368 | + (ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) || \ |
| 369 | + (colsp) == V4L2_COLORSPACE_ADOBERGB || (colsp) == V4L2_COLORSPACE_SRGB ? \ |
| 365 | 370 | V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)) |
| 366 | 371 | |
| 367 | 372 | enum v4l2_priority { |
| @@ -440,6 +445,8 @@ struct v4l2_capability { · 72 unmodified lines |
| 440 | 445 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ |
| 441 | 446 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ |
| 442 | 447 | |
| 448 | +#define V4L2_CAP_TOUCH 0x10000000 /* Is a touch device */ |
| 449 | + |
| 443 | 450 | #define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */ |
| 444 | 451 | |
| 445 | 452 | /* |
| @@ -635,6 +642,12 @@ struct v4l2_pix_format { · 189 unmodified lines |
| 635 | 642 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ |
| 636 | 643 | #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ |
| 637 | 644 | |
| 645 | +/* Touch formats - used for Touch devices */ |
| 646 | +#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */ |
| 647 | +#define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') /* 8-bit signed deltas */ |
| 648 | +#define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') /* 16-bit unsigned touch data */ |
| 649 | +#define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') /* 8-bit unsigned touch data */ |
| 650 | + |
| 638 | 651 | /* priv field value to indicates that subsequent fields are valid. */ |
| 639 | 652 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe |
| 640 | 653 | |
| @@ -1261,6 +1274,7 @@ struct v4l2_bt_timings { · 620 unmodified lines |
| 1261 | 1274 | #define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */ |
| 1262 | 1275 | #define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */ |
| 1263 | 1276 | #define V4L2_DV_BT_STD_GTF (1 << 3) /* VESA Generalized Timings Formula */ |
| 1277 | +#define V4L2_DV_BT_STD_SDI (1 << 4) /* SDI Timings */ |
| 1264 | 1278 | |
| 1265 | 1279 | /* Flags */ |
| 1266 | 1280 | |
| @@ -1292,6 +1306,11 @@ struct v4l2_bt_timings { · 25 unmodified lines |
| 1292 | 1306 | * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861 |
| 1293 | 1307 | * except for the 640x480 format are CE formats. */ |
| 1294 | 1308 | #define V4L2_DV_FL_IS_CE_VIDEO (1 << 4) |
| 1309 | +/* Some formats like SMPTE-125M have an interlaced signal with a odd |
| 1310 | + * total height. For these formats, if this flag is set, the first |
| 1311 | + * field has the extra line. If not, it is the second field. |
| 1312 | + */ |
| 1313 | +#define V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE (1 << 5) |
| 1295 | 1314 | |
| 1296 | 1315 | /* A few useful defines to calculate the total blanking and frame sizes */ |
| 1297 | 1316 | #define V4L2_DV_BT_BLANKING_WIDTH(bt) \ |
| @@ -1401,6 +1420,7 @@ struct v4l2_input { · 103 unmodified lines |
| 1401 | 1420 | /* Values for the 'type' field */ |
| 1402 | 1421 | #define V4L2_INPUT_TYPE_TUNER 1 |
| 1403 | 1422 | #define V4L2_INPUT_TYPE_CAMERA 2 |
| 1423 | +#define V4L2_INPUT_TYPE_TOUCH 3 |
| 1404 | 1424 | |
| 1405 | 1425 | /* field 'status' - general */ |
| 1406 | 1426 | #define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */ |
| @@ -1415,6 +1435,8 @@ struct v4l2_input { · 8 unmodified lines |
| 1415 | 1435 | /* field 'status' - analog */ |
| 1416 | 1436 | #define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ |
| 1417 | 1437 | #define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */ |
| 1438 | +#define V4L2_IN_ST_NO_V_LOCK 0x00000400 /* No vertical sync lock */ |
| 1439 | +#define V4L2_IN_ST_NO_STD_LOCK 0x00000800 /* No standard format lock */ |
| 1418 | 1440 | |
| 1419 | 1441 | /* field 'status' - digital */ |
| 1420 | 1442 | #define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */ |