Lines Matching +full:sdtv +full:- +full:standards
1 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
5 * Copyright (C) 1999-2012 the contributors
47 * All kernel-specific stuff were moved to media/v4l2-dev.h, so
66 #include <linux/v4l2-common.h>
67 #include <linux/v4l2-controls.h>
80 /* Four-character-code (FOURCC) */
98 buffer, top-bottom order */
99 V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
202 /* SMPTE 170M: used for broadcast NTSC/PAL SDTV */
205 /* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */
232 * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG.
248 /* DCI-P3 colorspace, used by cinema projectors */
254 * This depends on whether this is a SDTV image (use SMPTE 170M), an
319 /* ITU-R 601 -- SDTV */
322 /* Rec. 709 -- HDTV */
325 /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */
328 /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */
340 /* BT.2020 Non-constant Luminance Y'CbCr */
346 /* SMPTE 240M -- Obsolete HDTV */
356 /* Hue mapped to 0 - 179 */
359 /* Hue mapped to 0-255 */
396 * Deprecated names for opRGB colorspace (IEC 61966-2-5)
432 * struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP
469 /* Is a video mem-to-mem device that supports multiplanar formats */
471 /* Is a video mem-to-mem device */
521 #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */
537 #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
538 #define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
539 #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
540 #define V4L2_PIX_FMT_RGBA555 v4l2_fourcc('R', 'A', '1', '5') /* 16 RGBA-5-5-5-1 */
541 #define V4L2_PIX_FMT_RGBX555 v4l2_fourcc('R', 'X', '1', '5') /* 16 RGBX-5-5-5-1 */
542 #define V4L2_PIX_FMT_ABGR555 v4l2_fourcc('A', 'B', '1', '5') /* 16 ABGR-1-5-5-5 */
543 #define V4L2_PIX_FMT_XBGR555 v4l2_fourcc('X', 'B', '1', '5') /* 16 XBGR-1-5-5-5 */
544 #define V4L2_PIX_FMT_BGRA555 v4l2_fourcc('B', 'A', '1', '5') /* 16 BGRA-5-5-5-1 */
545 #define V4L2_PIX_FMT_BGRX555 v4l2_fourcc('B', 'X', '1', '5') /* 16 BGRX-5-5-5-1 */
546 #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
547 #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
548 #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
549 #define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
550 #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
551 #define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
552 #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
553 #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
554 #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */
555 #define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */
556 #define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */
557 #define V4L2_PIX_FMT_BGRA32 v4l2_fourcc('R', 'A', '2', '4') /* 32 ABGR-8-8-8-8 */
558 #define V4L2_PIX_FMT_BGRX32 v4l2_fourcc('R', 'X', '2', '4') /* 32 XBGR-8-8-8-8 */
559 #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */
560 #define V4L2_PIX_FMT_RGBA32 v4l2_fourcc('A', 'B', '2', '4') /* 32 RGBA-8-8-8-8 */
561 #define V4L2_PIX_FMT_RGBX32 v4l2_fourcc('X', 'B', '2', '4') /* 32 RGBX-8-8-8-8 */
562 #define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */
563 #define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */
575 /* Grey bit-packed formats */
576 #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
580 #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
593 #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
594 #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
595 #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
596 #define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V') /* 32 AYUV-8-8-8-8 */
597 #define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V') /* 32 XYUV-8-8-8-8 */
598 #define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A') /* 32 VUYA-8-8-8-8 */
599 #define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X') /* 32 VUYX-8-8-8-8 */
600 #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
604 /* two planes -- one Y, one Cr + Cb interleaved */
612 /* two non contiguous planes - one Y, one Cr + Cb interleaved */
620 /* three planes - Y Cb, Cr */
628 /* three non contiguous planes - Y, Cb, Cr */
636 /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
650 /* 10bit raw bayer a-law compressed to 8 bits */
688 #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
691 #define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */
696 #define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */
697 #define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */
698 #define V4L2_PIX_FMT_MPEG2_SLICE v4l2_fourcc('M', 'G', '2', 'S') /* MPEG-2 parsed slice data */
699 #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */
709 /* Vendor-specific formats */
733 #define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */
736 #define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
737 #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
738 #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
740 …X_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
742 #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidenc…
745 #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer …
746 #define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g') /* IPU3 packed 10-bit GBRG bayer …
747 #define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G') /* IPU3 packed 10-bit GRBG bayer …
748 #define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r') /* IPU3 packed 10-bit RGGB bayer …
750 /* SDR formats - used only for Software Defined Radio devices */
760 /* Touch formats - used for Touch devices */
761 #define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */
762 #define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') /* 8-bit signed deltas */
763 #define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') /* 16-bit unsigned touch data */
764 #define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') /* 8-bit unsigned touch data */
766 /* Meta-data formats */
767 #define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H') /* R-Car VSP1 1-D Histogram */
768 #define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */
892 #define V4L2_TC_FLAG_DROPFRAME 0x0001 /* "drop-frame" mode */
929 * M E M O R Y - M A P P I N G B U F F E R S
935 * for 64-bit time_t. sparc64 is different from everyone
937 * second 64-bit word.
968 * struct v4l2_plane - plane info for multi-planar buffers
982 * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer
1000 * struct v4l2_buffer - video buffer info
1013 * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;
1016 * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
1018 * @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;
1022 * @length: size in bytes of the buffer (NOT its payload) for single-plane
1024 * planes array for multi-plane buffers
1062 * v4l2_timeval_to_ns - Convert timeval to nanoseconds
1070 return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000; in v4l2_timeval_to_ns()
1081 /* Image is a keyframe (I-frame) */
1083 /* Image is a P-frame */
1085 /* Image is a B-frame */
1115 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
1201 __u32 extendedmode; /* Driver-specific extensions */
1214 __u32 extendedmode; /* Driver-specific extensions */
1235 * struct v4l2_selection - selection info
1238 * defined in v4l2-common.h; V4L2_SEL_TGT_* .
1239 * @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
1264 * include/dt-bindings/display/sdtv-standards.h SDTV_STD_* bit definitions.
1282 #define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) /* EIA-J */
1301 makes switch(__u64) to break. So, there's a hack on v4l2-common.c rounding
1304 it should work fine. However, if needed to add more than two standards,
1305 v4l2-common.c should be fixed.
1309 * Some macros to merge video standards in order to make live easier for the
1314 * "Common" NTSC/M - It should be noticed that V4L2_STD_NTSC_443 is
1324 /* All Secam Standards */
1339 * "Common" PAL - This macro is there to be compatible with the old
1341 * Several PAL standards are missing here: /M, /N and /Nc
1347 /* Chroma "agnostic" standards */
1368 /* Standards where MTS/BTSC stereo could be found */
1374 /* Standards for Countries with 60Hz Line frequency */
1379 /* Standards for Countries with 50Hz Line frequency */
1387 /* Macros with none and all analog standards */
1405 /** struct v4l2_bt_timings - BT.656/BT.1120 timing data
1410 * @pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1423 * @standards: Standards the timing belongs to
1426 * @cea861_vic: VIC code as per the CEA-861 standard.
1455 __u32 standards; member
1471 /* Timings standards */
1472 #define V4L2_DV_BT_STD_CEA861 (1 << 0) /* CEA-861 Digital TV Profile */
1484 * bandwidth. This is a read-only flag.
1488 * CEA-861 specific: set for CEA-861 formats with a framerate of a multiple
1490 * This is a read-only flag.
1494 * CEA-861 specific: only valid for video transmitters, the flag is cleared
1498 * with 60 Hz based standards such as NTSC and PAL-M that use a framerate of
1504 * Specific to interlaced formats: if set, then field 1 is really one half-line
1505 * longer and field 2 is really one half-line shorter, so each field has
1506 * exactly the same number of half-lines. Whether half-lines can be detected
1514 * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861
1518 /* Some formats like SMPTE-125M have an interlaced signal with a odd
1531 * Identification Code as per the CEA-861 standard.
1541 * CEA-861 specific: only valid for video receivers.
1550 ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)
1552 ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))
1554 ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \
1555 (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch)
1557 ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))
1559 /** struct v4l2_dv_timings - DV timings
1575 /** struct v4l2_enum_dv_timings - DV timings enumeration
1578 * v4l-subdev nodes only)
1589 /** struct v4l2_bt_timings_cap - BT.656/BT.1120 timing capabilities
1594 * @min_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1595 * @max_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1596 * @standards: Supported standards
1607 __u32 standards; member
1621 /** struct v4l2_dv_timings_cap - DV timings capabilities
1624 * v4l-subdev nodes only)
1658 /* field 'status' - general */
1663 /* field 'status' - sensor orientation */
1668 /* field 'status' - analog */
1674 /* field 'status' - digital */
1679 /* field 'status' - VCR and set-top box */
1840 /* User-class control IDs defined by V4L2 */
2067 -1 specifies backward single stepping,
2069 <-1: reverse playback at (-speed/1000) of the normal speed. */
2104 /* ITU-R start lines for each field */
2119 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
2120 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
2121 (equals frame lines 313-336 for 625 line video
2122 standards, 263-286 for 525 line standards) */
2129 (WST), defined on ITU-R BT.653-2 */
2133 /* Closed Caption, defined on EIA-608 */
2135 /* Wide Screen System, defined on ITU-R BT1119.1 */
2143 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
2144 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
2145 (equals frame lines 313-336 for 625 line video
2146 standards, 263-286 for 525 line standards) */
2155 __u32 line; /* 1-23 */
2168 * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
2171 * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
2172 * definitions are not included here. See the MPEG-2 specifications for details
2212 * struct v4l2_plane_pix_format - additional, per-plane format definition
2225 * struct v4l2_pix_format_mplane - multiplanar format definition
2231 * @plane_fmt: per-plane information
2258 * struct v4l2_sdr_format - SDR format definition
2269 * struct v4l2_meta_format - metadata format definition
2279 * struct v4l2_format - stream data format
2298 __u8 raw_data[200]; /* user-defined */
2302 /* Stream type-dependent parameters
2309 __u8 raw_data[200]; /* user-defined */
2364 * struct v4l2_event_motion_det - motion detection event
2422 #define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
2452 * struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument
2571 drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
2573 #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */