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