mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 07:10:27 +00:00
4c4dacb052
Instead of using hardwired video loopback limited to a single vivid instance, use the new 'Connected To' controls to only loopback if an HDMI or S-Video input is connected to another output, which can be in another vivid instance. Effectively this emulates connecting and disconnecting an HDMI/S-Video cable. The Loop Video control is dropped since it has now been replaced by the new 'Connected To' controls. The Display Present has also been dropped since it no longer fits. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Co-developed-by: Dorcas Anono Litunya <anonolitunya@gmail.com> Signed-off-by: Dorcas Anono Litunya <anonolitunya@gmail.com>
42 lines
1.7 KiB
C
42 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* vivid-vid-common.h - common video support functions.
|
|
*
|
|
* Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _VIVID_VID_COMMON_H_
|
|
#define _VIVID_VID_COMMON_H_
|
|
|
|
typedef int (*fmtfunc)(struct file *file, void *priv, struct v4l2_format *f);
|
|
|
|
/*
|
|
* Conversion function that converts a single-planar format to a
|
|
* single-plane multiplanar format.
|
|
*/
|
|
void fmt_sp2mp(const struct v4l2_format *sp_fmt, struct v4l2_format *mp_fmt);
|
|
int fmt_sp2mp_func(struct file *file, void *priv,
|
|
struct v4l2_format *f, fmtfunc func);
|
|
|
|
extern const struct v4l2_dv_timings_cap vivid_dv_timings_cap;
|
|
|
|
const struct vivid_fmt *vivid_get_format(struct vivid_dev *dev, u32 pixelformat);
|
|
|
|
struct vivid_dev *vivid_input_is_connected_to(struct vivid_dev *dev);
|
|
struct vivid_dev *vivid_output_is_connected_to(struct vivid_dev *dev);
|
|
bool vivid_vid_can_loop(struct vivid_dev *dev);
|
|
void vivid_send_source_change(struct vivid_dev *dev, unsigned int type);
|
|
void vivid_send_input_source_change(struct vivid_dev *dev, unsigned int input_index);
|
|
|
|
int vivid_vid_adjust_sel(unsigned flags, struct v4l2_rect *r);
|
|
|
|
int vivid_enum_fmt_vid(struct file *file, void *priv, struct v4l2_fmtdesc *f);
|
|
int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id);
|
|
int vidioc_g_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings);
|
|
int vidioc_enum_dv_timings(struct file *file, void *_fh, struct v4l2_enum_dv_timings *timings);
|
|
int vidioc_dv_timings_cap(struct file *file, void *_fh, struct v4l2_dv_timings_cap *cap);
|
|
int vidioc_g_edid(struct file *file, void *_fh, struct v4l2_edid *edid);
|
|
int vidioc_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub);
|
|
|
|
#endif
|