linux/include/linux/usb/uvc.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *  v4l2 uvc internal API header
 *
 *  Some commonly needed functions for uvc drivers
 */

#ifndef __LINUX_V4L2_UVC_H
#define __LINUX_V4L2_UVC_H

/* ------------------------------------------------------------------------
 * GUIDs
 */
#define UVC_GUID_UVC_CAMERA
#define UVC_GUID_UVC_OUTPUT
#define UVC_GUID_UVC_MEDIA_TRANSPORT_INPUT
#define UVC_GUID_UVC_PROCESSING
#define UVC_GUID_UVC_SELECTOR
#define UVC_GUID_EXT_GPIO_CONTROLLER

#define UVC_GUID_FORMAT_MJPEG
#define UVC_GUID_FORMAT_YUY2
#define UVC_GUID_FORMAT_YUY2_ISIGHT
#define UVC_GUID_FORMAT_NV12
#define UVC_GUID_FORMAT_YV12
#define UVC_GUID_FORMAT_I420
#define UVC_GUID_FORMAT_UYVY
#define UVC_GUID_FORMAT_Y800
#define UVC_GUID_FORMAT_Y8
#define UVC_GUID_FORMAT_Y10
#define UVC_GUID_FORMAT_Y12
#define UVC_GUID_FORMAT_Y16
#define UVC_GUID_FORMAT_BY8
#define UVC_GUID_FORMAT_BA81
#define UVC_GUID_FORMAT_GBRG
#define UVC_GUID_FORMAT_GRBG
#define UVC_GUID_FORMAT_RGGB
#define UVC_GUID_FORMAT_BG16
#define UVC_GUID_FORMAT_GB16
#define UVC_GUID_FORMAT_RG16
#define UVC_GUID_FORMAT_GR16
#define UVC_GUID_FORMAT_RGBP
#define UVC_GUID_FORMAT_BGR3
#define UVC_GUID_FORMAT_BGR4
#define UVC_GUID_FORMAT_M420

#define UVC_GUID_FORMAT_H264
#define UVC_GUID_FORMAT_H265
#define UVC_GUID_FORMAT_Y8I
#define UVC_GUID_FORMAT_Y12I
#define UVC_GUID_FORMAT_Z16
#define UVC_GUID_FORMAT_RW10
#define UVC_GUID_FORMAT_INVZ
#define UVC_GUID_FORMAT_INZI
#define UVC_GUID_FORMAT_INVI
#define UVC_GUID_FORMAT_CNF4

#define UVC_GUID_FORMAT_D3DFMT_L8
#define UVC_GUID_FORMAT_KSMEDIA_L8_IR

#define UVC_GUID_FORMAT_HEVC

struct uvc_format_desc {};

const struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16]);

#endif /* __LINUX_V4L2_UVC_H */