Linux 6.7-rc7
[linux-modified.git] / include / uapi / linux / npcm-video.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /*
3  * Controls header for NPCM video driver
4  *
5  * Copyright (C) 2022 Nuvoton Technologies
6  */
7
8 #ifndef _UAPI_LINUX_NPCM_VIDEO_H
9 #define _UAPI_LINUX_NPCM_VIDEO_H
10
11 #include <linux/v4l2-controls.h>
12
13 /*
14  * Check Documentation/userspace-api/media/drivers/npcm-video.rst for control
15  * details.
16  */
17
18 /*
19  * This control is meant to set the mode of NPCM Video Capture/Differentiation
20  * (VCD) engine.
21  *
22  * The VCD engine supports two modes:
23  * COMPLETE - Capture the next complete frame into memory.
24  * DIFF     - Compare the incoming frame with the frame stored in memory, and
25  *            updates the differentiated frame in memory.
26  */
27 #define V4L2_CID_NPCM_CAPTURE_MODE      (V4L2_CID_USER_NPCM_BASE + 0)
28
29 enum v4l2_npcm_capture_mode {
30         V4L2_NPCM_CAPTURE_MODE_COMPLETE = 0, /* COMPLETE mode */
31         V4L2_NPCM_CAPTURE_MODE_DIFF     = 1, /* DIFF mode */
32 };
33
34 /*
35  * This control is meant to get the count of compressed HEXTILE rectangles which
36  * is relevant to the number of differentiated frames if VCD is in DIFF mode.
37  * And the count will always be 1 if VCD is in COMPLETE mode.
38  */
39 #define V4L2_CID_NPCM_RECT_COUNT        (V4L2_CID_USER_NPCM_BASE + 1)
40
41 #endif /* _UAPI_LINUX_NPCM_VIDEO_H */