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