/* * Copyright (C) 2013-2015 Freescale Semiconductor, Inc. All Rights Reserved */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /*! * @file uapi/linux/mxc_v4l2.h * * @brief MXC V4L2 private header file * * @ingroup MXC V4L2 */ #ifndef __ASM_ARCH_MXC_V4L2_H__ #define __ASM_ARCH_MXC_V4L2_H__ /* * For IPUv1 and IPUv3, V4L2_CID_MXC_ROT means encoder ioctl ID. * And V4L2_CID_MXC_VF_ROT is viewfinder ioctl ID only for IPUv1 and IPUv3. */ #define V4L2_CID_MXC_ROT (V4L2_CID_PRIVATE_BASE + 0) #define V4L2_CID_MXC_FLASH (V4L2_CID_PRIVATE_BASE + 1) #define V4L2_CID_MXC_VF_ROT (V4L2_CID_PRIVATE_BASE + 2) #define V4L2_CID_MXC_MOTION (V4L2_CID_PRIVATE_BASE + 3) #define V4L2_CID_MXC_SWITCH_CAM (V4L2_CID_PRIVATE_BASE + 6) #define V4L2_MXC_ROTATE_NONE 0 #define V4L2_MXC_ROTATE_VERT_FLIP 1 #define V4L2_MXC_ROTATE_HORIZ_FLIP 2 #define V4L2_MXC_ROTATE_180 3 #define V4L2_MXC_ROTATE_90_RIGHT 4 #define V4L2_MXC_ROTATE_90_RIGHT_VFLIP 5 #define V4L2_MXC_ROTATE_90_RIGHT_HFLIP 6 #define V4L2_MXC_ROTATE_90_LEFT 7 struct v4l2_mxc_offset { uint32_t u_offset; uint32_t v_offset; }; struct v4l2_mxc_dest_crop { __u32 type; /* enum v4l2_buf_type */ struct v4l2_mxc_offset offset; }; /* * Private IOCTLs * * VIDIOC_S_INOUT_CROP: Set input stream crop size * VIDIOC_G_INOUT_CROP: Get input stream crop size */ #define VIDIOC_S_INPUT_CROP \ _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct v4l2_crop) #define VIDIOC_G_INPUT_CROP \ _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct v4l2_crop) #define VIDIOC_S_DEST_CROP \ _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct v4l2_mxc_dest_crop) #endif