blob: 3b99af4d87a6f9e7d8810dea478d33c2b72eb584 [file] [log] [blame]
/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
*** To edit the content of this header, modify the corresponding
*** source file (e.g. under external/kernel-headers/original/) then
*** run bionic/libc/kernel/tools/update_all.py
***
*** Any manual change here will be lost the next time this script will
*** be run. You've been warned!
***
****************************************************************************
****************************************************************************/
#ifndef _UAPI__M2M1SHOT2_H_
#define _UAPI__M2M1SHOT2_H_
#include <linux/ioctl.h>
#include <linux/types.h>
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#include <linux/videodev2.h>
#define M2M1SHOT2_IMGTRFORM_ROT90 (1 << 0)
#define M2M1SHOT2_IMGTRFORM_ROT270CCW M2M1SHOT2_IMGTRFORM_ROT90
#define M2M1SHOT2_IMGTRFORM_ROT180 (1 << 1)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IMGTRFORM_ROT270 (M2M1SHOT2_IMGTRFORM_ROT90 + M2M1SHOT2_IMGTRFORM_ROT180)
#define M2M1SHOT2_IMGTRFORM_ROT90CCW M2M1SHOT2_IMGTRFORM_ROT270
#define M2M1SHOT2_IMGTRFORM_XFLIP (1 << 4)
#define M2M1SHOT2_IMGTRFORM_YFLIP (1 << 5)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IMGTRFORM_ROTVAL(val) ((val) & 0xF)
#define M2M1SHOT2_IMGTRFORM_SET_ROTVAL(var,val) ((var) = ((val) & 0xF) | ((val) & ~0xF))
#define M2M1SHOT2_SCFILTER_DEFAULT 0
#define M2M1SHOT2_SCFILTER_NONE 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_SCFILTER_NEAREST 2
#define M2M1SHOT2_SCFILTER_BILINEAR 3
#define M2M1SHOT2_SCFILTER_BICUBIC 4
#define M2M1SHOT2_REPEAT_NONE 0
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_REPEAT_REPEAT 1
#define M2M1SHOT2_REPEAT_PAD 2
#define M2M1SHOT2_REPEAT_REFLECT 3
#define M2M1SHOT2_REPEAT_CLAMP 4
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_NONE 0
#define M2M1SHOT2_BLEND_CLEAR 1
#define M2M1SHOT2_BLEND_SRC 2
#define M2M1SHOT2_BLEND_DST 3
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_SRCOVER 4
#define M2M1SHOT2_BLEND_DSTOVER 5
#define M2M1SHOT2_BLEND_SRCIN 6
#define M2M1SHOT2_BLEND_DSTIN 7
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_SRCOUT 8
#define M2M1SHOT2_BLEND_DSTOUT 9
#define M2M1SHOT2_BLEND_SRCATOP 10
#define M2M1SHOT2_BLEND_DSTATOP 11
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_XOR 12
#define M2M1SHOT2_BLEND_PLUS 13
#define M2M1SHOT2_BLEND_MULTIPLY 14
#define M2M1SHOT2_BLEND_SCREEN 15
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_DARKEN 16
#define M2M1SHOT2_BLEND_LIGHTEN 17
#define M2M1SHOT2_BLEND_SRCOVER_DISJ 18
#define M2M1SHOT2_BLEND_DSTOVER_DISJ 19
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_SRCIN_DISJ 20
#define M2M1SHOT2_BLEND_DSTIN_DISJ 21
#define M2M1SHOT2_BLEND_SRCOUT_DISJ 22
#define M2M1SHOT2_BLEND_DSTOUT_DISJ 23
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_SRCATOP_DISJ 24
#define M2M1SHOT2_BLEND_DSTATOP_DISJ 25
#define M2M1SHOT2_BLEND_XOR_DISJ 26
#define M2M1SHOT2_BLEND_SRCOVER_CONJ 27
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_DSTOVER_CONJ 28
#define M2M1SHOT2_BLEND_SRCIN_CONJ 29
#define M2M1SHOT2_BLEND_DSTIN_CONJ 30
#define M2M1SHOT2_BLEND_SRCOUT_CONJ 31
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BLEND_DSTOUT_CONJ 32
#define M2M1SHOT2_BLEND_SRCATOP_CONJ 33
#define M2M1SHOT2_BLEND_DSTATOP_CONJ 34
#define M2M1SHOT2_BLEND_XOR_CONJ 35
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_custom_data {
__u32 cmd;
__u32 arg;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_extra {
__u32 horizontal_factor;
__u32 vertical_factor;
__u32 fillcolor;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u16 transform;
__u16 composit_mode;
__u8 galpha;
__u8 galpha_red;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u8 galpha_green;
__u8 galpha_blue;
__u8 xrepeat;
__u8 yrepeat;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u8 scaler_filter;
};
#define M2M1SHOT2_MAX_PLANES 4
#define M2M1SHOT2_MAX_IMAGES 8
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BUFTYPE_NONE 0
#define M2M1SHOT2_BUFTYPE_EMPTY 1
#define M2M1SHOT2_BUFTYPE_USERPTR 2
#define M2M1SHOT2_BUFTYPE_DMABUF 3
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_BUFTYPE_VALID(type) (((type) > 0) && ((type) < 4))
struct m2m1shot2_buffer {
union {
unsigned long userptr;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__s32 fd;
};
__u32 offset;
__u32 length;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u32 payload;
unsigned long reserved;
};
struct m2m1shot2_format {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u32 width;
__u32 height;
__u32 pixelformat;
struct v4l2_rect crop;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct v4l2_rect window;
};
#define M2M1SHOT2_IMGFLAG_ACQUIRE_FENCE (1 << 1)
#define M2M1SHOT2_IMGFLAG_RELEASE_FENCE (1 << 2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IMGFLAG_PREMUL_ALPHA (1 << 4)
#define M2M1SHOT2_IMGFLAG_GLOBAL_ALPHA (1 << 5)
#define M2M1SHOT2_IMGFLAG_UORDER_ADDR (1 << 6)
#define M2M1SHOT2_IMGFLAG_COMPRESSED (1 << 7)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IMGFLAG_NO_RESCALING (1 << 8)
#define M2M1SHOT2_IMGFLAG_XSCALE_FACTOR (1 << 9)
#define M2M1SHOT2_IMGFLAG_YSCALE_FACTOR (1 << 10)
#define M2M1SHOT2_IMGFLAG_COLORFILL (1 << 11)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IMGFLAG_SECURE (1 << 12)
#define M2M1SHOT2_IMGFLAG_NO_CACHECLEAN (1 << 16)
#define M2M1SHOT2_IMGFLAG_NO_CACHEINV (1 << 17)
struct m2m1shot2_image {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u32 flags;
__s32 fence;
__u8 memory;
__u8 num_planes;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_buffer plane[M2M1SHOT2_MAX_PLANES];
struct m2m1shot2_format fmt;
struct m2m1shot2_extra ext;
__u32 colorspace;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u32 reserved[3];
};
#define M2M1SHOT2_FLAG_DITHER (1 << 1)
#define M2M1SHOT2_FLAG_NONBLOCK (1 << 2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_FLAG_ERROR (1 << 4)
struct m2m1shot2 {
struct m2m1shot2_image * sources;
struct m2m1shot2_image target;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u8 num_sources;
__u32 flags;
__u32 reserved1;
__u32 reserved2;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
unsigned long work_delay_in_nsec;
unsigned long reserved4;
};
#define M2M1SHOT2_IOC_PROCESS _IOWR('M', 4, struct m2m1shot2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IOC_WAIT_PROCESS _IOR('M', 5, struct m2m1shot2)
enum m2m1shot2_priority {
M2M1SHOT2_LOW_PRIORITY,
M2M1SHOT2_MEDIUM_PRIORITY,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
M2M1SHOT2_DEFAULT_PRIORITY = M2M1SHOT2_MEDIUM_PRIORITY,
M2M1SHOT2_HIGH_PRIORITY,
M2M1SHOT2_HIGHEST_PRIORITY,
M2M1SHOT2_PRIORITY_END
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
#define M2M1SHOT2_IOC_SET_PRIORITY _IOR('M', 6, int32_t)
#define M2M1SHOT2_PERF_MAX_FRAMES 4
#define M2M1SHOT2_PERF_LAYER_ROTATE 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_performance_layer_data {
__u32 pixelcount;
__u32 layer_attr;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
#define M2M1SHOT2_PERF_FRAME_SOLIDCOLORFILL 1
struct m2m1shot2_performance_frame_data {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_performance_layer_data layer[M2M1SHOT2_MAX_IMAGES];
__u32 bandwidth_read;
__u32 bandwidth_write;
__u32 target_pixelcount;
__u32 frame_rate;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u32 frame_attr;
__u32 num_layers;
};
struct m2m1shot2_performance_data {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot2_performance_frame_data frame[M2M1SHOT2_PERF_MAX_FRAMES];
__u32 num_frames;
__u32 reserved;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT2_IOC_REQUEST_PERF _IOR('M', 7, struct m2m1shot2_performance_data)
#define M2M1SHOT2_IOC_CUSTOM _IOR('M', 8, struct m2m1shot2_custom_data)
#endif