blob: ec9c6f688981d1c6de8b58be504b94b5432b65b8 [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__M2M1SHOT_H_
#define _UAPI__M2M1SHOT_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 M2M1SHOT_MAX_PLANES 3
struct m2m1shot_rect {
__s16 left;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__s16 top;
__u16 width;
__u16 height;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot_pix_format {
__u32 fmt;
__u32 width;
__u32 height;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct v4l2_rect crop;
};
enum m2m1shot_buffer_type {
M2M1SHOT_BUFFER_NONE,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
M2M1SHOT_BUFFER_DMABUF,
M2M1SHOT_BUFFER_USERPTR,
};
struct m2m1shot_buffer_plane {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
union {
__s32 fd;
unsigned long userptr;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
size_t len;
};
struct m2m1shot_buffer {
struct m2m1shot_buffer_plane plane[M2M1SHOT_MAX_PLANES];
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__u8 type;
__u8 num_planes;
};
#define M2M1SHOT_OP_FLIP_VIRT (1 << 0)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT_OP_FLIP_HORI (1 << 1)
#define M2M1SHOT_OP_CSC_WIDE (1 << 8)
#define M2M1SHOT_OP_CSC_NARROW (1 << 9)
#define M2M1SHOT_OP_CSC_601 (1 << 10)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT_OP_CSC_709 (1 << 11)
#define M2M1SHOT_OP_PREMULTIPLIED_ALPHA (1 << 16)
#define M2M1SHOT_OP_DITHERING (1 << 17)
struct m2m1shot_operation {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
__s16 quality_level;
__s16 rotate;
__u32 op;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot {
struct m2m1shot_pix_format fmt_out;
struct m2m1shot_pix_format fmt_cap;
struct m2m1shot_buffer buf_out;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot_buffer buf_cap;
struct m2m1shot_operation op;
unsigned long reserved[2];
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct m2m1shot_custom_data {
unsigned int cmd;
unsigned long arg;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define M2M1SHOT_IOC_PROCESS _IOWR('M', 0, struct m2m1shot)
#define M2M1SHOT_IOC_CUSTOM _IOWR('M', 16, struct m2m1shot_custom_data)
#endif