#ifndef _VIVID_CORE_H_
#define _VIVID_CORE_H_
#include <linux/fb.h>
#include <linux/workqueue.h>
#include <media/cec.h>
#include <media/videobuf2-v4l2.h>
#include <media/v4l2-device.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-ctrls.h>
#include <media/tpg/v4l2-tpg.h>
#include "vivid-rds-gen.h"
#include "vivid-vbi-gen.h"
#define dprintk(dev, level, fmt, arg...) …
#define MAX_INPUTS …
#define MAX_OUTPUTS …
#define MAX_ZOOM …
#define MAX_WIDTH …
#define MAX_HEIGHT …
#define MIN_WIDTH …
#define MIN_HEIGHT …
#define PIXEL_ARRAY_DIV …
#define PLANE0_DATA_OFFSET …
#define MIN_TV_FREQ …
#define MAX_TV_FREQ …
#define SDR_CAP_SAMPLES_PER_BUF …
#define JIFFIES_PER_DAY …
#define JIFFIES_RESYNC …
#define MAX_HDMI_INPUTS …
#define MAX_HDMI_OUTPUTS …
#define MAX_SVID_INPUTS …
#define MAX_MENU_ITEMS …
#define FIXED_MENU_ITEMS …
#define VIVID_MAX_DEVS …
extern const struct v4l2_rect vivid_min_rect;
extern const struct v4l2_rect vivid_max_rect;
extern unsigned vivid_debug;
extern char *vivid_ctrl_hdmi_to_output_strings[1 + MAX_MENU_ITEMS];
extern u64 hdmi_to_output_menu_skip_mask;
extern u64 hdmi_input_update_outputs_mask;
extern spinlock_t hdmi_output_skip_mask_lock;
extern struct workqueue_struct *update_hdmi_ctrls_workqueue;
extern struct vivid_dev *vivid_ctrl_hdmi_to_output_instance[MAX_MENU_ITEMS];
extern unsigned int vivid_ctrl_hdmi_to_output_index[MAX_MENU_ITEMS];
extern char *vivid_ctrl_svid_to_output_strings[1 + MAX_MENU_ITEMS];
extern u64 svid_to_output_menu_skip_mask;
extern spinlock_t svid_output_skip_mask_lock;
extern struct workqueue_struct *update_svid_ctrls_workqueue;
extern struct vivid_dev *vivid_ctrl_svid_to_output_instance[MAX_MENU_ITEMS];
extern unsigned int vivid_ctrl_svid_to_output_index[MAX_MENU_ITEMS];
extern struct vivid_dev *vivid_devs[VIVID_MAX_DEVS];
extern unsigned int n_devs;
struct vivid_fmt { … };
extern struct vivid_fmt vivid_formats[];
struct vivid_buffer { … };
enum vivid_input { … };
enum vivid_signal_mode { … };
enum vivid_colorspace { … };
#define VIVID_INVALID_SIGNAL(mode) …
struct vivid_cec_xfer { … };
struct vivid_dev { … };
static inline bool vivid_is_webcam(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_tv_cap(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_svid_cap(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_hdmi_cap(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_sdtv_cap(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_svid_out(const struct vivid_dev *dev)
{ … }
static inline bool vivid_is_hdmi_out(const struct vivid_dev *dev)
{ … }
#endif