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 */
42