Home | History | Annotate | Download | only in media
      1 #ifndef __UAPI_MSM_SDE_ROTATOR_H__
      2 #define __UAPI_MSM_SDE_ROTATOR_H__
      3 
      4 #include <linux/videodev2.h>
      5 #include <linux/types.h>
      6 #include <linux/ioctl.h>
      7 
      8 /* SDE Rotator pixel format definitions */
      9 #define SDE_PIX_FMT_XRGB_8888		V4L2_PIX_FMT_XBGR32
     10 #define SDE_PIX_FMT_ARGB_8888		V4L2_PIX_FMT_ABGR32
     11 #define SDE_PIX_FMT_ABGR_8888		V4L2_PIX_FMT_SDE_ABGR_8888
     12 #define SDE_PIX_FMT_RGBA_8888		V4L2_PIX_FMT_SDE_RGBA_8888
     13 #define SDE_PIX_FMT_BGRA_8888		V4L2_PIX_FMT_ARGB32
     14 #define SDE_PIX_FMT_RGBX_8888		V4L2_PIX_FMT_SDE_RGBX_8888
     15 #define SDE_PIX_FMT_BGRX_8888		V4L2_PIX_FMT_XRGB32
     16 #define SDE_PIX_FMT_XBGR_8888		V4L2_PIX_FMT_SDE_XBGR_8888
     17 #define SDE_PIX_FMT_RGBA_5551		V4L2_PIX_FMT_SDE_RGBA_5551
     18 #define SDE_PIX_FMT_ARGB_1555		V4L2_PIX_FMT_ARGB555
     19 #define SDE_PIX_FMT_ABGR_1555		V4L2_PIX_FMT_SDE_ABGR_1555
     20 #define SDE_PIX_FMT_BGRA_5551		V4L2_PIX_FMT_SDE_BGRA_5551
     21 #define SDE_PIX_FMT_BGRX_5551		V4L2_PIX_FMT_SDE_BGRX_5551
     22 #define SDE_PIX_FMT_RGBX_5551		V4L2_PIX_FMT_SDE_RGBX_5551
     23 #define SDE_PIX_FMT_XBGR_1555		V4L2_PIX_FMT_SDE_XBGR_1555
     24 #define SDE_PIX_FMT_XRGB_1555		V4L2_PIX_FMT_XRGB555
     25 #define SDE_PIX_FMT_ARGB_4444		V4L2_PIX_FMT_ARGB444
     26 #define SDE_PIX_FMT_RGBA_4444		V4L2_PIX_FMT_SDE_RGBA_4444
     27 #define SDE_PIX_FMT_BGRA_4444		V4L2_PIX_FMT_SDE_BGRA_4444
     28 #define SDE_PIX_FMT_ABGR_4444		V4L2_PIX_FMT_SDE_ABGR_4444
     29 #define SDE_PIX_FMT_RGBX_4444		V4L2_PIX_FMT_SDE_RGBX_4444
     30 #define SDE_PIX_FMT_XRGB_4444		V4L2_PIX_FMT_XRGB444
     31 #define SDE_PIX_FMT_BGRX_4444		V4L2_PIX_FMT_SDE_BGRX_4444
     32 #define SDE_PIX_FMT_XBGR_4444		V4L2_PIX_FMT_SDE_XBGR_4444
     33 #define SDE_PIX_FMT_RGB_888		V4L2_PIX_FMT_RGB24
     34 #define SDE_PIX_FMT_BGR_888		V4L2_PIX_FMT_BGR24
     35 #define SDE_PIX_FMT_RGB_565		V4L2_PIX_FMT_RGB565
     36 #define SDE_PIX_FMT_BGR_565		V4L2_PIX_FMT_SDE_BGR_565
     37 #define SDE_PIX_FMT_Y_CB_CR_H2V2	V4L2_PIX_FMT_YUV420
     38 #define SDE_PIX_FMT_Y_CR_CB_H2V2	V4L2_PIX_FMT_YVU420
     39 #define SDE_PIX_FMT_Y_CR_CB_GH2V2	V4L2_PIX_FMT_SDE_Y_CR_CB_GH2V2
     40 #define SDE_PIX_FMT_Y_CBCR_H2V2		V4L2_PIX_FMT_NV12
     41 #define SDE_PIX_FMT_Y_CRCB_H2V2		V4L2_PIX_FMT_NV21
     42 #define SDE_PIX_FMT_Y_CBCR_H1V2		V4L2_PIX_FMT_SDE_Y_CBCR_H1V2
     43 #define SDE_PIX_FMT_Y_CRCB_H1V2		V4L2_PIX_FMT_SDE_Y_CRCB_H1V2
     44 #define SDE_PIX_FMT_Y_CBCR_H2V1		V4L2_PIX_FMT_NV16
     45 #define SDE_PIX_FMT_Y_CRCB_H2V1		V4L2_PIX_FMT_NV61
     46 #define SDE_PIX_FMT_YCBYCR_H2V1		V4L2_PIX_FMT_YUYV
     47 #define SDE_PIX_FMT_Y_CBCR_H2V2_VENUS	V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_VENUS
     48 #define SDE_PIX_FMT_Y_CRCB_H2V2_VENUS	V4L2_PIX_FMT_SDE_Y_CRCB_H2V2_VENUS
     49 #define SDE_PIX_FMT_RGBA_8888_UBWC	V4L2_PIX_FMT_RGBA8888_UBWC
     50 #define SDE_PIX_FMT_RGBX_8888_UBWC	V4L2_PIX_FMT_SDE_RGBX_8888_UBWC
     51 #define SDE_PIX_FMT_RGB_565_UBWC	V4L2_PIX_FMT_SDE_RGB_565_UBWC
     52 #define SDE_PIX_FMT_Y_CBCR_H2V2_UBWC	V4L2_PIX_FMT_NV12_UBWC
     53 #define SDE_PIX_FMT_RGBA_1010102	V4L2_PIX_FMT_SDE_RGBA_1010102
     54 #define SDE_PIX_FMT_RGBX_1010102	V4L2_PIX_FMT_SDE_RGBX_1010102
     55 #define SDE_PIX_FMT_ARGB_2101010	V4L2_PIX_FMT_SDE_ARGB_2101010
     56 #define SDE_PIX_FMT_XRGB_2101010	V4L2_PIX_FMT_SDE_XRGB_2101010
     57 #define SDE_PIX_FMT_BGRA_1010102	V4L2_PIX_FMT_SDE_BGRA_1010102
     58 #define SDE_PIX_FMT_BGRX_1010102	V4L2_PIX_FMT_SDE_BGRX_1010102
     59 #define SDE_PIX_FMT_ABGR_2101010	V4L2_PIX_FMT_SDE_ABGR_2101010
     60 #define SDE_PIX_FMT_XBGR_2101010	V4L2_PIX_FMT_SDE_XBGR_2101010
     61 #define SDE_PIX_FMT_RGBA_1010102_UBWC	V4L2_PIX_FMT_SDE_RGBA_1010102_UBWC
     62 #define SDE_PIX_FMT_RGBX_1010102_UBWC	V4L2_PIX_FMT_SDE_RGBX_1010102_UBWC
     63 #define SDE_PIX_FMT_Y_CBCR_H2V2_P010	V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_P010
     64 #define SDE_PIX_FMT_Y_CBCR_H2V2_TP10	V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_TP10
     65 #define SDE_PIX_FMT_Y_CBCR_H2V2_TP10_UBWC	V4L2_PIX_FMT_NV12_TP10_UBWC
     66 
     67 /**
     68 * struct msm_sde_rotator_fence - v4l2 buffer fence info
     69 * @index: id number of the buffer
     70 * @type: enum v4l2_buf_type; buffer type
     71 * @fd: file descriptor of the fence associated with this buffer
     72 **/
     73 struct msm_sde_rotator_fence {
     74 	__u32	index;
     75 	__u32	type;
     76 	__s32	fd;
     77 	__u32	reserved[5];
     78 };
     79 
     80 /**
     81 * struct msm_sde_rotator_comp_ratio - v4l2 buffer compression ratio
     82 * @index: id number of the buffer
     83 * @type: enum v4l2_buf_type; buffer type
     84 * @numer: numerator of the ratio
     85 * @denom: denominator of the ratio
     86 **/
     87 struct msm_sde_rotator_comp_ratio {
     88 	__u32	index;
     89 	__u32	type;
     90 	__u32	numer;
     91 	__u32	denom;
     92 	__u32	reserved[4];
     93 };
     94 
     95 /* SDE Rotator private ioctl ID */
     96 #define VIDIOC_G_SDE_ROTATOR_FENCE \
     97 	_IOWR('V', BASE_VIDIOC_PRIVATE + 10, struct msm_sde_rotator_fence)
     98 #define VIDIOC_S_SDE_ROTATOR_FENCE \
     99 	_IOWR('V', BASE_VIDIOC_PRIVATE + 11, struct msm_sde_rotator_fence)
    100 #define VIDIOC_G_SDE_ROTATOR_COMP_RATIO \
    101 	_IOWR('V', BASE_VIDIOC_PRIVATE + 12, struct msm_sde_rotator_comp_ratio)
    102 #define VIDIOC_S_SDE_ROTATOR_COMP_RATIO \
    103 	_IOWR('V', BASE_VIDIOC_PRIVATE + 13, struct msm_sde_rotator_comp_ratio)
    104 
    105 /* SDE Rotator private control ID's */
    106 #define V4L2_CID_SDE_ROTATOR_SECURE	(V4L2_CID_USER_BASE + 0x1000)
    107 
    108 /*
    109  * This control Id indicates this context is associated with the
    110  * secure camera.
    111  */
    112 #define V4L2_CID_SDE_ROTATOR_SECURE_CAMERA	(V4L2_CID_USER_BASE + 0x2000)
    113 
    114 #endif /* __UAPI_MSM_SDE_ROTATOR_H__ */
    115