| @@ -292,13 +292,11 @@ enum v4l2_ycbcr_encoding { · 291 unmodified lines |
| 292 | * various colorspaces: | 292 | * various colorspaces: |
| 293 | * | 293 | * |
| 294 | * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, | 294 | * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, |
| 295 | * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and | 295 | * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_SRGB, |
| 296 | * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 | 296 | * V4L2_COLORSPACE_ADOBERGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 |
| 297 | * | 297 | * |
| 298 | * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709 | 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 | * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 | 300 | * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 |
| 303 | * | 301 | * |
| 304 | * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M | 302 | * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M |
| @@ -317,8 +315,14 @@ enum v4l2_ycbcr_encoding { · 12 unmodified lines |
| 317 | /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ | 315 | /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ |
| 318 | V4L2_YCBCR_ENC_XV709 = 4, | 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 | V4L2_YCBCR_ENC_SYCC = 5, | 324 | V4L2_YCBCR_ENC_SYCC = 5, |
| | 325 | #endif |
| 322 | | 326 | |
| 323 | /* BT.2020 Non-constant Luminance Y'CbCr */ | 327 | /* BT.2020 Non-constant Luminance Y'CbCr */ |
| 324 | V4L2_YCBCR_ENC_BT2020 = 6, | 328 | V4L2_YCBCR_ENC_BT2020 = 6, |
| @@ -345,8 +349,8 @@ enum v4l2_quantization { · 20 unmodified lines |
| 345 | /* | 349 | /* |
| 346 | * The default for R'G'B' quantization is always full range, except | 350 | * The default for R'G'B' quantization is always full range, except |
| 347 | * for the BT2020 colorspace. For Y'CbCr the quantization is always | 351 | * for the BT2020 colorspace. For Y'CbCr the quantization is always |
| 348 | * limited range, except for COLORSPACE_JPEG, SYCC, XV601 or XV709: | 352 | * limited range, except for COLORSPACE_JPEG, SRGB, ADOBERGB, |
| 349 | * those are full range. | 353 | * XV601 or XV709: those are full range. |
| 350 | */ | 354 | */ |
| 351 | V4L2_QUANTIZATION_DEFAULT = 0, | 355 | V4L2_QUANTIZATION_DEFAULT = 0, |
| 352 | V4L2_QUANTIZATION_FULL_RANGE = 1, | 356 | V4L2_QUANTIZATION_FULL_RANGE = 1, |
| @@ -361,7 +365,8 @@ enum v4l2_quantization { · 8 unmodified lines |
| 361 | #define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \ | 365 | #define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \ |
| 362 | (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \ | 366 | (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \ |
| 363 | (((is_rgb) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \ | 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 | V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)) | 370 | V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)) |
| 366 | | 371 | |
| 367 | enum v4l2_priority { | 372 | enum v4l2_priority { |
| @@ -440,6 +445,8 @@ struct v4l2_capability { · 72 unmodified lines |
| 440 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ | 445 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ |
| 441 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ | 446 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ |
| 442 | | 447 | |
| | 448 | #define V4L2_CAP_TOUCH 0x10000000 /* Is a touch device */ |
| | 449 | |
| 443 | #define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */ | 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 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ | 642 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ |
| 636 | #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ | 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 | /* priv field value to indicates that subsequent fields are valid. */ | 651 | /* priv field value to indicates that subsequent fields are valid. */ |
| 639 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe | 652 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe |
| 640 | | 653 | |
| @@ -1261,6 +1274,7 @@ struct v4l2_bt_timings { · 620 unmodified lines |
| 1261 | #define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */ | 1274 | #define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */ |
| 1262 | #define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */ | 1275 | #define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */ |
| 1263 | #define V4L2_DV_BT_STD_GTF (1 << 3) /* VESA Generalized Timings Formula */ | 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 | /* Flags */ | 1279 | /* Flags */ |
| 1266 | | 1280 | |
| @@ -1292,6 +1306,11 @@ struct v4l2_bt_timings { · 25 unmodified lines |
| 1292 | * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861 | 1306 | * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861 |
| 1293 | * except for the 640x480 format are CE formats. */ | 1307 | * except for the 640x480 format are CE formats. */ |
| 1294 | #define V4L2_DV_FL_IS_CE_VIDEO (1 << 4) | 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 | /* A few useful defines to calculate the total blanking and frame sizes */ | 1315 | /* A few useful defines to calculate the total blanking and frame sizes */ |
| 1297 | #define V4L2_DV_BT_BLANKING_WIDTH(bt) \ | 1316 | #define V4L2_DV_BT_BLANKING_WIDTH(bt) \ |
| @@ -1401,6 +1420,7 @@ struct v4l2_input { · 103 unmodified lines |
| 1401 | /* Values for the 'type' field */ | 1420 | /* Values for the 'type' field */ |
| 1402 | #define V4L2_INPUT_TYPE_TUNER 1 | 1421 | #define V4L2_INPUT_TYPE_TUNER 1 |
| 1403 | #define V4L2_INPUT_TYPE_CAMERA 2 | 1422 | #define V4L2_INPUT_TYPE_CAMERA 2 |
| | 1423 | #define V4L2_INPUT_TYPE_TOUCH 3 |
| 1404 | | 1424 | |
| 1405 | /* field 'status' - general */ | 1425 | /* field 'status' - general */ |
| 1406 | #define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */ | 1426 | #define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */ |
| @@ -1415,6 +1435,8 @@ struct v4l2_input { · 8 unmodified lines |
| 1415 | /* field 'status' - analog */ | 1435 | /* field 'status' - analog */ |
| 1416 | #define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ | 1436 | #define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ |
| 1417 | #define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */ | 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 | /* field 'status' - digital */ | 1441 | /* field 'status' - digital */ |
| 1420 | #define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */ | 1442 | #define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */ |