Merge tag 'media/v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - Added a new V4L2 clock helper - New camera sensor drivers - iris: Enable H.264/H.265 encoder support and fixes in iris driver common code - camss: add support for new SoC flavors - venus: add new SoC support - tc358743: support more infoframe types - Various fixes, driver improvements and cleanups * tag 'media/v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (439 commits) media: venus: pm_helpers: add fallback for the opp-table media: qcom: camss: vfe: Fix BPL alignment for QCM2290 media: tuner: xc5000: Fix use-after-free in xc5000_release media: i2c: tc358743: Fix use-after-free bugs caused by orphan timer in probe media: b2c2: Fix use-after-free causing by irq_check_work in flexcop_pci_remove media: vsp1: Export missing vsp1_isp_free_buffer symbol media: renesas: vsp1: Convert to SYSTEM_SLEEP/RUNTIME_PM_OPS() media: renesas: ceu: Convert to RUNTIME_PM_OPS() media: renesas: fdp1: Convert to RUNTIME_PM_OPS() media: renesas: rcar-vin: Convert to DEFINE_SIMPLE_DEV_PM_OPS() media: renesas: rcar_drif: Convert to DEFINE_SIMPLE_DEV_PM_OPS() media: uvcvideo: Mark invalid entities with id UVC_INVALID_ENTITY_ID media: uvcvideo: Support UVC_CROSXU_CONTROL_IQ_PROFILE media: uvcvideo: Run uvc_ctrl_init_ctrl for all controls media: uvcvideo: Shorten the transfer size non compliance message media: uvcvideo: Do not re-reference dev->udev media: uvcvideo: Use intf instead of udev for printks media: uvcvideo: Move video_device under video_queue media: uvcvideo: Drop stream->mutex media: uvcvideo: Move MSXU_CONTROL_METADATA definition to header ...
This commit is contained in:
@@ -8,6 +8,13 @@
|
||||
|
||||
#include <linux/v4l2-controls.h>
|
||||
|
||||
/* aspeed video's input types */
|
||||
enum aspeed_video_input {
|
||||
VIDEO_INPUT_VGA = 0,
|
||||
VIDEO_INPUT_GFX,
|
||||
VIDEO_INPUT_MAX
|
||||
};
|
||||
|
||||
#define V4L2_CID_ASPEED_HQ_MODE (V4L2_CID_USER_ASPEED_BASE + 1)
|
||||
#define V4L2_CID_ASPEED_HQ_JPEG_QUALITY (V4L2_CID_USER_ASPEED_BASE + 2)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
Public ivtv API header
|
||||
Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com>
|
||||
Copyright (C) 2004-2007 Hans Verkuil <hverkuil@xs4all.nl>
|
||||
Copyright (C) 2004-2007 Hans Verkuil <hverkuil@kernel.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1193,7 +1193,7 @@ enum v4l2_flash_strobe_source {
|
||||
#define V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900)
|
||||
#define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
|
||||
|
||||
#define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
|
||||
#define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
|
||||
enum v4l2_jpeg_chroma_subsampling {
|
||||
V4L2_JPEG_CHROMA_SUBSAMPLING_444 = 0,
|
||||
V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
|
||||
@@ -1202,15 +1202,15 @@ enum v4l2_jpeg_chroma_subsampling {
|
||||
V4L2_JPEG_CHROMA_SUBSAMPLING_410 = 4,
|
||||
V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY = 5,
|
||||
};
|
||||
#define V4L2_CID_JPEG_RESTART_INTERVAL (V4L2_CID_JPEG_CLASS_BASE + 2)
|
||||
#define V4L2_CID_JPEG_COMPRESSION_QUALITY (V4L2_CID_JPEG_CLASS_BASE + 3)
|
||||
#define V4L2_CID_JPEG_RESTART_INTERVAL (V4L2_CID_JPEG_CLASS_BASE + 2)
|
||||
#define V4L2_CID_JPEG_COMPRESSION_QUALITY (V4L2_CID_JPEG_CLASS_BASE + 3)
|
||||
|
||||
#define V4L2_CID_JPEG_ACTIVE_MARKER (V4L2_CID_JPEG_CLASS_BASE + 4)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
|
||||
#define V4L2_CID_JPEG_ACTIVE_MARKER (V4L2_CID_JPEG_CLASS_BASE + 4)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
|
||||
|
||||
|
||||
/* Image source controls */
|
||||
@@ -1243,10 +1243,10 @@ enum v4l2_jpeg_chroma_subsampling {
|
||||
#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
|
||||
#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
|
||||
|
||||
#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
|
||||
#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
|
||||
#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
|
||||
#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
|
||||
#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
|
||||
#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
|
||||
#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
|
||||
#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
|
||||
enum v4l2_dv_tx_mode {
|
||||
V4L2_DV_TX_MODE_DVI_D = 0,
|
||||
V4L2_DV_TX_MODE_HDMI = 1,
|
||||
@@ -1267,7 +1267,7 @@ enum v4l2_dv_it_content_type {
|
||||
V4L2_DV_IT_CONTENT_TYPE_NO_ITC = 4,
|
||||
};
|
||||
|
||||
#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
|
||||
#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
|
||||
#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
|
||||
#define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102)
|
||||
|
||||
@@ -1537,15 +1537,6 @@ struct v4l2_ctrl_h264_pred_weights {
|
||||
struct v4l2_h264_weight_factors weight_factors[2];
|
||||
};
|
||||
|
||||
#define V4L2_H264_SLICE_TYPE_P 0
|
||||
#define V4L2_H264_SLICE_TYPE_B 1
|
||||
#define V4L2_H264_SLICE_TYPE_I 2
|
||||
#define V4L2_H264_SLICE_TYPE_SP 3
|
||||
#define V4L2_H264_SLICE_TYPE_SI 4
|
||||
|
||||
#define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x01
|
||||
#define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x02
|
||||
|
||||
#define V4L2_H264_TOP_FIELD_REF 0x1
|
||||
#define V4L2_H264_BOTTOM_FIELD_REF 0x2
|
||||
#define V4L2_H264_FRAME_REF 0x3
|
||||
@@ -1566,8 +1557,17 @@ struct v4l2_h264_reference {
|
||||
* Maximum DPB size, as specified by section 'A.3.1 Level limits
|
||||
* common to the Baseline, Main, and Extended profiles'.
|
||||
*/
|
||||
#define V4L2_H264_NUM_DPB_ENTRIES 16
|
||||
#define V4L2_H264_REF_LIST_LEN (2 * V4L2_H264_NUM_DPB_ENTRIES)
|
||||
#define V4L2_H264_NUM_DPB_ENTRIES 16
|
||||
#define V4L2_H264_REF_LIST_LEN (2 * V4L2_H264_NUM_DPB_ENTRIES)
|
||||
|
||||
#define V4L2_H264_SLICE_TYPE_P 0
|
||||
#define V4L2_H264_SLICE_TYPE_B 1
|
||||
#define V4L2_H264_SLICE_TYPE_I 2
|
||||
#define V4L2_H264_SLICE_TYPE_SP 3
|
||||
#define V4L2_H264_SLICE_TYPE_SI 4
|
||||
|
||||
#define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x01
|
||||
#define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x02
|
||||
|
||||
#define V4L2_CID_STATELESS_H264_SLICE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 6)
|
||||
/**
|
||||
@@ -1707,7 +1707,6 @@ struct v4l2_ctrl_h264_decode_params {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
|
||||
/* Stateless FWHT control, used by the vicodec driver */
|
||||
|
||||
/* Current FWHT version */
|
||||
@@ -2549,44 +2548,10 @@ struct v4l2_ctrl_hevc_scaling_matrix {
|
||||
__u8 scaling_list_dc_coef_32x32[2];
|
||||
};
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_CLASS_BASE (V4L2_CTRL_CLASS_COLORIMETRY | 0x900)
|
||||
#define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_HDR10_CLL_INFO (V4L2_CID_COLORIMETRY_CLASS_BASE + 0)
|
||||
|
||||
struct v4l2_ctrl_hdr10_cll_info {
|
||||
__u16 max_content_light_level;
|
||||
__u16 max_pic_average_light_level;
|
||||
};
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
|
||||
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_X_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_X_HIGH 37000
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_Y_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_Y_HIGH 42000
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_X_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_X_HIGH 37000
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_HIGH 42000
|
||||
#define V4L2_HDR10_MASTERING_MAX_LUMA_LOW 50000
|
||||
#define V4L2_HDR10_MASTERING_MAX_LUMA_HIGH 100000000
|
||||
#define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
|
||||
#define V4L2_HDR10_MASTERING_MIN_LUMA_HIGH 50000
|
||||
|
||||
struct v4l2_ctrl_hdr10_mastering_display {
|
||||
__u16 display_primaries_x[3];
|
||||
__u16 display_primaries_y[3];
|
||||
__u16 white_point_x;
|
||||
__u16 white_point_y;
|
||||
__u32 max_display_mastering_luminance;
|
||||
__u32 min_display_mastering_luminance;
|
||||
};
|
||||
|
||||
/* Stateless VP9 controls */
|
||||
|
||||
#define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED 0x1
|
||||
#define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE 0x2
|
||||
#define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE 0x2
|
||||
|
||||
/**
|
||||
* struct v4l2_vp9_loop_filter - VP9 loop filter parameters
|
||||
@@ -3515,4 +3480,38 @@ struct v4l2_ctrl_av1_film_grain {
|
||||
#define V4L2_CID_MPEG_MFC51_BASE V4L2_CID_CODEC_MFC51_BASE
|
||||
#endif
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_CLASS_BASE (V4L2_CTRL_CLASS_COLORIMETRY | 0x900)
|
||||
#define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_HDR10_CLL_INFO (V4L2_CID_COLORIMETRY_CLASS_BASE + 0)
|
||||
|
||||
struct v4l2_ctrl_hdr10_cll_info {
|
||||
__u16 max_content_light_level;
|
||||
__u16 max_pic_average_light_level;
|
||||
};
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
|
||||
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_X_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_X_HIGH 37000
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_Y_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_PRIMARIES_Y_HIGH 42000
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_X_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_X_HIGH 37000
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_LOW 5
|
||||
#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_HIGH 42000
|
||||
#define V4L2_HDR10_MASTERING_MAX_LUMA_LOW 50000
|
||||
#define V4L2_HDR10_MASTERING_MAX_LUMA_HIGH 100000000
|
||||
#define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
|
||||
#define V4L2_HDR10_MASTERING_MIN_LUMA_HIGH 50000
|
||||
|
||||
struct v4l2_ctrl_hdr10_mastering_display {
|
||||
__u16 display_primaries_x[3];
|
||||
__u16 display_primaries_y[3];
|
||||
__u16 white_point_x;
|
||||
__u16 white_point_y;
|
||||
__u32 max_display_mastering_luminance;
|
||||
__u32 min_display_mastering_luminance;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
* V4L2 DV timings header.
|
||||
*
|
||||
* Copyright (C) 2012-2016 Hans Verkuil <hansverk@cisco.com>
|
||||
* Copyright (C) 2012-2016 Hans Verkuil <hverkuil@kernel.org>
|
||||
*/
|
||||
|
||||
#ifndef _V4L2_DV_TIMINGS_H
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
*
|
||||
* Author: Bill Dirks <bill@thedirks.org>
|
||||
* Justin Schoeman
|
||||
* Hans Verkuil <hverkuil@xs4all.nl>
|
||||
* Hans Verkuil <hverkuil@kernel.org>
|
||||
* et al.
|
||||
*/
|
||||
#ifndef _UAPI__LINUX_VIDEODEV2_H
|
||||
@@ -1607,8 +1607,8 @@ struct v4l2_bt_timings {
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* Interlaced or progressive format */
|
||||
#define V4L2_DV_PROGRESSIVE 0
|
||||
#define V4L2_DV_INTERLACED 1
|
||||
#define V4L2_DV_PROGRESSIVE 0
|
||||
#define V4L2_DV_INTERLACED 1
|
||||
|
||||
/* Polarities. If bit is not set, it is assumed to be negative polarity */
|
||||
#define V4L2_DV_VSYNC_POS_POL 0x00000001
|
||||
@@ -2788,15 +2788,15 @@ struct v4l2_remove_buffers {
|
||||
* Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.
|
||||
* You must be root to use these ioctls. Never use these in applications!
|
||||
*/
|
||||
#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register)
|
||||
#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)
|
||||
#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register)
|
||||
#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)
|
||||
|
||||
#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)
|
||||
#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
|
||||
#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
|
||||
#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)
|
||||
#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription)
|
||||
#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)
|
||||
#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
|
||||
#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
|
||||
#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)
|
||||
#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription)
|
||||
#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)
|
||||
#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers)
|
||||
#define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer)
|
||||
#define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection)
|
||||
|
||||
Reference in New Issue
Block a user