Lines Matching +full:sense +full:- +full:bitfield +full:- +full:width
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 */
205 /* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */
218 * NTSC 1953 colorspace. This only makes sense when dealing with
230 * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG.
246 /* DCI-P3 colorspace, used by cinema projectors */
332 /* ITU-R 601 -- SDTV */
335 /* Rec. 709 -- HDTV */
338 /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */
341 /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */
353 /* BT.2020 Non-constant Luminance Y'CbCr */
359 /* SMPTE 240M -- Obsolete HDTV */
376 /* Hue mapped to 0 - 179 */
379 /* Hue mapped to 0-255 */
416 * Deprecated names for opRGB colorspace (IEC 61966-2-5)
437 __u32 width; member
447 __u32 width; member
452 * struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP
489 /* Is a video mem-to-mem device that supports multiplanar formats */
491 /* Is a video mem-to-mem device */
518 __u32 width; member
540 #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */
550 #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
551 #define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
552 #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
553 #define V4L2_PIX_FMT_RGBA555 v4l2_fourcc('R', 'A', '1', '5') /* 16 RGBA-5-5-5-1 */
554 #define V4L2_PIX_FMT_RGBX555 v4l2_fourcc('R', 'X', '1', '5') /* 16 RGBX-5-5-5-1 */
555 #define V4L2_PIX_FMT_ABGR555 v4l2_fourcc('A', 'B', '1', '5') /* 16 ABGR-1-5-5-5 */
556 #define V4L2_PIX_FMT_XBGR555 v4l2_fourcc('X', 'B', '1', '5') /* 16 XBGR-1-5-5-5 */
557 #define V4L2_PIX_FMT_BGRA555 v4l2_fourcc('B', 'A', '1', '5') /* 16 BGRA-5-5-5-1 */
558 #define V4L2_PIX_FMT_BGRX555 v4l2_fourcc('B', 'X', '1', '5') /* 16 BGRX-5-5-5-1 */
559 #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
560 #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
561 #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
562 #define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
563 #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
566 #define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
567 #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
568 #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
569 #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */
570 #define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */
571 #define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */
572 #define V4L2_PIX_FMT_BGRA32 v4l2_fourcc('R', 'A', '2', '4') /* 32 ABGR-8-8-8-8 */
573 #define V4L2_PIX_FMT_BGRX32 v4l2_fourcc('R', 'X', '2', '4') /* 32 XBGR-8-8-8-8 */
574 #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */
575 #define V4L2_PIX_FMT_RGBA32 v4l2_fourcc('A', 'B', '2', '4') /* 32 RGBA-8-8-8-8 */
576 #define V4L2_PIX_FMT_RGBX32 v4l2_fourcc('X', 'B', '2', '4') /* 32 RGBX-8-8-8-8 */
577 #define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */
578 #define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */
579 #define V4L2_PIX_FMT_RGBX1010102 v4l2_fourcc('R', 'X', '3', '0') /* 32 RGBX-10-10-10-2 */
580 #define V4L2_PIX_FMT_RGBA1010102 v4l2_fourcc('R', 'A', '3', '0') /* 32 RGBA-10-10-10-2 */
581 #define V4L2_PIX_FMT_ARGB2101010 v4l2_fourcc('A', 'R', '3', '0') /* 32 ARGB-2-10-10-10 */
584 #define V4L2_PIX_FMT_BGR48_12 v4l2_fourcc('B', '3', '1', '2') /* 48 BGR 12-bit per component */
585 #define V4L2_PIX_FMT_ABGR64_12 v4l2_fourcc('B', '4', '1', '2') /* 64 BGRA 12-bit per component */
598 /* Grey bit-packed formats */
599 #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
601 #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */
604 #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
617 #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
618 #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
619 #define V4L2_PIX_FMT_YUV24 v4l2_fourcc('Y', 'U', 'V', '3') /* 24 YUV-8-8-8 */
620 #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
621 #define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V') /* 32 AYUV-8-8-8-8 */
622 #define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V') /* 32 XYUV-8-8-8-8 */
623 #define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A') /* 32 VUYA-8-8-8-8 */
624 #define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X') /* 32 VUYX-8-8-8-8 */
625 #define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A') /* 32 YUVA-8-8-8-8 */
626 #define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X') /* 32 YUVX-8-8-8-8 */
628 #define V4L2_PIX_FMT_YUV48_12 v4l2_fourcc('Y', '3', '1', '2') /* 48 YUV 4:4:4 12-bit per compon…
632 * of the 16 bit components, and 16-xx bits of zero padding occupy the LSBs.
638 /* two planes -- one Y, one Cr + Cb interleaved */
645 #define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per compone…
646 #define V4L2_PIX_FMT_P012 v4l2_fourcc('P', '0', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per compone…
648 /* two non contiguous planes - one Y, one Cr + Cb interleaved */
653 #define V4L2_PIX_FMT_P012M v4l2_fourcc('P', 'M', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per compone…
655 /* three planes - Y Cb, Cr */
663 /* three non contiguous planes - Y, Cb, Cr */
675 #define V4L2_PIX_FMT_NV15_4L4 v4l2_fourcc('V', 'T', '1', '5') /* 15 Y/CbCr 4:2:0 10-bit 4x4 tiles */
676 #define V4L2_PIX_FMT_P010_4L4 v4l2_fourcc('T', '0', '1', '0') /* 12 Y/CbCr 4:2:0 10-bit 4x4 macrob…
678 #define V4L2_PIX_FMT_NV12_10BE_8L128 v4l2_fourcc_be('A', 'X', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x1…
684 #define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x1…
686 /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
700 /* 10bit raw bayer a-law compressed to 8 bits */
738 #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
741 #define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */
746 #define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */
747 #define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */
748 #define V4L2_PIX_FMT_MPEG2_SLICE v4l2_fourcc('M', 'G', '2', 'S') /* MPEG-2 parsed slice data */
749 #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */
767 /* Vendor-specific formats */
791 #define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */
794 #define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
795 #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
796 #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
798 …2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguou…
799 #define V4L2_PIX_FMT_MT2110T v4l2_fourcc('M', 'T', '2', 'T') /* Mediatek 10-bit block tile mode */
800 #define V4L2_PIX_FMT_MT2110R v4l2_fourcc('M', 'T', '2', 'R') /* Mediatek 10-bit block raster mode …
801 …X_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
802 #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidenc…
803 #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */
804 #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C') /* Qualcomm 8-bit compressed */
805 #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C') /* Qualcomm 10-bit compressed */
810 #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer …
811 #define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g') /* IPU3 packed 10-bit GBRG bayer …
812 #define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G') /* IPU3 packed 10-bit GRBG bayer …
813 #define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r') /* IPU3 packed 10-bit RGGB bayer …
815 /* SDR formats - used only for Software Defined Radio devices */
825 /* Touch formats - used for Touch devices */
826 #define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */
827 #define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') /* 8-bit signed deltas */
828 #define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') /* 16-bit unsigned touch data */
829 #define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') /* 8-bit unsigned touch data */
831 /* Meta-data formats */
832 #define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H') /* R-Car VSP1 1-D Histogram */
833 #define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */
838 /* Vendor specific - used for RK_ISP1 camera sub-system */
884 __u32 width; /* Frame width [pixel] */ member
889 __u32 min_width; /* Minimum frame width [pixel] */
890 __u32 max_width; /* Maximum frame width [pixel] */
891 __u32 step_width; /* Frame width step size [pixel] */
928 __u32 width; /* Frame width */ member
961 #define V4L2_TC_FLAG_DROPFRAME 0x0001 /* "drop-frame" mode */
998 * M E M O R Y - M A P P I N G B U F F E R S
1004 * for 64-bit time_t. sparc64 is different from everyone
1006 * second 64-bit word.
1041 * struct v4l2_plane - plane info for multi-planar buffers
1057 * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer
1075 * struct v4l2_buffer - video buffer info
1088 * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;
1091 * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
1093 * @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;
1098 * @length: size in bytes of the buffer (NOT its payload) for single-plane
1100 * planes array for multi-plane buffers
1141 * v4l2_timeval_to_ns - Convert timeval to nanoseconds
1149 return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000; in v4l2_timeval_to_ns()
1160 /* Image is a keyframe (I-frame) */
1162 /* Image is a P-frame */
1164 /* Image is a B-frame */
1194 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
1231 __u32 width; member
1283 __u32 extendedmode; /* Driver-specific extensions */
1296 __u32 extendedmode; /* Driver-specific extensions */
1317 * struct v4l2_selection - selection info
1320 * defined in v4l2-common.h; V4L2_SEL_TGT_* .
1321 * @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
1346 * include/dt-bindings/display/sdtv-standards.h SDTV_STD_* bit definitions.
1364 #define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) /* EIA-J */
1383 makes switch(__u64) to break. So, there's a hack on v4l2-common.c rounding
1387 v4l2-common.c should be fixed.
1396 * "Common" NTSC/M - It should be noticed that V4L2_STD_NTSC_443 is
1421 * "Common" PAL - This macro is there to be compatible with the old
1487 /** struct v4l2_bt_timings - BT.656/BT.1120 timing data
1488 * @width: total width of the active video in pixels
1492 * @pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1508 * @cea861_vic: VIC code as per the CEA-861 standard.
1523 __u32 width; member
1554 #define V4L2_DV_BT_STD_CEA861 (1 << 0) /* CEA-861 Digital TV Profile */
1566 * bandwidth. This is a read-only flag.
1570 * CEA-861 specific: set for CEA-861 formats with a framerate of a multiple
1572 * This is a read-only flag.
1576 * CEA-861 specific: only valid for video transmitters, the flag is cleared
1580 * with 60 Hz based standards such as NTSC and PAL-M that use a framerate of
1586 * Specific to interlaced formats: if set, then field 1 is really one half-line
1587 * longer and field 2 is really one half-line shorter, so each field has
1588 * exactly the same number of half-lines. Whether half-lines can be detected
1596 * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861
1600 /* Some formats like SMPTE-125M have an interlaced signal with a odd
1607 * pixels are square, so the picture aspect ratio is the same as the width to
1613 * Identification Code as per the CEA-861 standard.
1623 * CEA-861 specific: only valid for video receivers.
1632 ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)
1634 ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))
1636 ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \
1637 ((bt)->interlaced ? \
1638 ((bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) : 0))
1640 ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))
1642 /** struct v4l2_dv_timings - DV timings
1658 /** struct v4l2_enum_dv_timings - DV timings enumeration
1661 * v4l-subdev nodes only)
1672 /** struct v4l2_bt_timings_cap - BT.656/BT.1120 timing capabilities
1673 * @min_width: width in pixels
1674 * @max_width: width in pixels
1677 * @min_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1678 * @max_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
1704 /** struct v4l2_dv_timings_cap - DV timings capabilities
1707 * v4l-subdev nodes only)
1728 __u32 audioset; /* Associated audios (bitfield) */
1741 /* field 'status' - general */
1746 /* field 'status' - sensor orientation */
1751 /* field 'status' - analog */
1757 /* field 'status' - digital */
1762 /* field 'status' - VCR and set-top box */
1780 __u32 audioset; /* Associated audios (bitfield) */
1982 /* User-class control IDs defined by V4L2 */
2209 -1 specifies backward single stepping,
2211 <-1: reverse playback at (-speed/1000) of the normal speed. */
2246 /* ITU-R start lines for each field */
2261 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
2262 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
2263 (equals frame lines 313-336 for 625 line video
2264 standards, 263-286 for 525 line standards) */
2271 (WST), defined on ITU-R BT.653-2 */
2275 /* Closed Caption, defined on EIA-608 */
2277 /* Wide Screen System, defined on ITU-R BT1119.1 */
2285 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
2286 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
2287 (equals frame lines 313-336 for 625 line video
2288 standards, 263-286 for 525 line standards) */
2297 __u32 line; /* 1-23 */
2310 * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
2313 * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
2314 * definitions are not included here. See the MPEG-2 specifications for details
2354 * struct v4l2_plane_pix_format - additional, per-plane format definition
2368 * struct v4l2_pix_format_mplane - multiplanar format definition
2369 * @width: image width in pixels
2374 * @plane_fmt: per-plane information
2384 __u32 width; member
2403 * struct v4l2_sdr_format - SDR format definition
2415 * struct v4l2_meta_format - metadata format definition
2425 * struct v4l2_format - stream data format
2446 __u8 raw_data[200]; /* user-defined */
2450 /* Stream type-dependent parameters
2457 __u8 raw_data[200]; /* user-defined */
2513 * struct v4l2_event_motion_det - motion detection event
2571 #define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
2601 * struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument
2728 drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
2730 #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */