| /* | |
| * 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 |