Home | History | Annotate | Download | only in media
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __MSMB_PPROC_H
     20 #define __MSMB_PPROC_H
     21 #ifdef MSM_CAMERA_BIONIC
     22 #include <sys/types.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #endif
     25 #include <linux/videodev2.h>
     26 #include <linux/types.h>
     27 #define MAX_PLANES VIDEO_MAX_PLANES
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define MAX_NUM_CPP_STRIPS 8
     30 #define MSM_CPP_MAX_NUM_PLANES 3
     31 enum msm_cpp_frame_type {
     32  MSM_CPP_OFFLINE_FRAME,
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34  MSM_CPP_REALTIME_FRAME,
     35 };
     36 enum msm_vpe_frame_type {
     37  MSM_VPE_OFFLINE_FRAME,
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  MSM_VPE_REALTIME_FRAME,
     40 };
     41 struct msm_cpp_frame_strip_info {
     42  int scale_v_en;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  int scale_h_en;
     45  int upscale_v_en;
     46  int upscale_h_en;
     47  int src_start_x;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  int src_end_x;
     50  int src_start_y;
     51  int src_end_y;
     52  int pad_bottom;
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54  int pad_top;
     55  int pad_right;
     56  int pad_left;
     57  int v_init_phase;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  int h_init_phase;
     60  int h_phase_step;
     61  int v_phase_step;
     62  int prescale_crop_width_first_pixel;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64  int prescale_crop_width_last_pixel;
     65  int prescale_crop_height_first_line;
     66  int prescale_crop_height_last_line;
     67  int postscale_crop_height_first_line;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  int postscale_crop_height_last_line;
     70  int postscale_crop_width_first_pixel;
     71  int postscale_crop_width_last_pixel;
     72  int dst_start_x;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  int dst_end_x;
     75  int dst_start_y;
     76  int dst_end_y;
     77  int bytes_per_pixel;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  unsigned int source_address;
     80  unsigned int destination_address;
     81  unsigned int compl_destination_address;
     82  unsigned int src_stride;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  unsigned int dst_stride;
     85  int rotate_270;
     86  int horizontal_flip;
     87  int vertical_flip;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  int scale_output_width;
     90  int scale_output_height;
     91  int prescale_crop_en;
     92  int postscale_crop_en;
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 };
     95 struct msm_cpp_buffer_info_t {
     96  int fd;
     97  uint32_t index;
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  uint32_t offset;
    100  uint8_t native_buff;
    101  uint8_t processed_divert;
    102 };
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 struct msm_cpp_stream_buff_info_t {
    105  uint32_t identity;
    106  uint32_t num_buffs;
    107  struct msm_cpp_buffer_info_t *buffer_info;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 };
    110 struct msm_cpp_frame_info_t {
    111  int32_t frame_id;
    112  struct timeval timestamp;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  uint32_t inst_id;
    115  uint32_t identity;
    116  uint32_t client_id;
    117  enum msm_cpp_frame_type frame_type;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  uint32_t num_strips;
    120  struct msm_cpp_frame_strip_info *strip_info;
    121  uint32_t msg_len;
    122  uint32_t *cpp_cmd_msg;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  int src_fd;
    125  int dst_fd;
    126  struct ion_handle *src_ion_handle;
    127  struct ion_handle *dest_ion_handle;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  struct timeval in_time, out_time;
    130  void *cookie;
    131  int32_t *status;
    132  int32_t duplicate_output;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  uint32_t duplicate_identity;
    135  struct msm_cpp_buffer_info_t input_buffer_info;
    136  struct msm_cpp_buffer_info_t output_buffer_info[2];
    137 };
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 struct cpp_hw_info {
    140  uint32_t cpp_hw_version;
    141  uint32_t cpp_hw_caps;
    142 };
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 struct msm_vpe_frame_strip_info {
    145  uint32_t src_w;
    146  uint32_t src_h;
    147  uint32_t dst_w;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  uint32_t dst_h;
    150  uint32_t src_x;
    151  uint32_t src_y;
    152  uint32_t phase_step_x;
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154  uint32_t phase_step_y;
    155  uint32_t phase_init_x;
    156  uint32_t phase_init_y;
    157 };
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 struct msm_vpe_buffer_info_t {
    160  int fd;
    161  uint32_t index;
    162  uint32_t offset;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164  uint8_t native_buff;
    165  uint8_t processed_divert;
    166 };
    167 struct msm_vpe_stream_buff_info_t {
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169  uint32_t identity;
    170  uint32_t num_buffs;
    171  struct msm_vpe_buffer_info_t *buffer_info;
    172 };
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 struct msm_vpe_frame_info_t {
    175  int32_t frame_id;
    176  struct timeval timestamp;
    177  uint32_t inst_id;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  uint32_t identity;
    180  uint32_t client_id;
    181  enum msm_vpe_frame_type frame_type;
    182  struct msm_vpe_frame_strip_info strip_info;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184  int src_fd;
    185  int dst_fd;
    186  struct ion_handle *src_ion_handle;
    187  struct ion_handle *dest_ion_handle;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  unsigned long src_phyaddr;
    190  unsigned long dest_phyaddr;
    191  unsigned long src_chroma_plane_offset;
    192  unsigned long dest_chroma_plane_offset;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194  struct timeval in_time, out_time;
    195  void *cookie;
    196  struct msm_vpe_buffer_info_t input_buffer_info;
    197  struct msm_vpe_buffer_info_t output_buffer_info;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 };
    200 #define VIDIOC_MSM_CPP_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
    201 #define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
    202 #define VIDIOC_MSM_CPP_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define VIDIOC_MSM_CPP_LOAD_FIRMWARE   _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
    205 #define VIDIOC_MSM_CPP_GET_HW_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
    206 #define VIDIOC_MSM_CPP_FLUSH_QUEUE   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
    207 #define VIDIOC_MSM_CPP_ENQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_camera_v4l2_ioctl_t)
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209 #define VIDIOC_MSM_CPP_DEQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_v4l2_ioctl_t)
    210 #define VIDIOC_MSM_VPE_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
    211 #define VIDIOC_MSM_VPE_TRANSACTION_SETUP   _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t)
    212 #define VIDIOC_MSM_VPE_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 10, struct msm_camera_v4l2_ioctl_t)
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 #define VIDIOC_MSM_VPE_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 11, struct msm_camera_v4l2_ioctl_t)
    215 #define VIDIOC_MSM_VPE_ENQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 12, struct msm_camera_v4l2_ioctl_t)
    216 #define VIDIOC_MSM_VPE_DEQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 13, struct msm_camera_v4l2_ioctl_t)
    217 #define VIDIOC_MSM_CPP_SEND_BUF_DONE   _IOWR('V', BASE_VIDIOC_PRIVATE + 14, struct msm_camera_v4l2_ioctl_t)
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 #define VIDIOC_MSM_CPP_POP_STREAM_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 15, struct msm_camera_v4l2_ioctl_t)
    220 #define VIDIOC_MSM_CPP_SET_CLOCK   _IOWR('V', BASE_VIDIOC_PRIVATE + 16, struct msm_camera_v4l2_ioctl_t)
    221 #define VIDIOC_MSM_CPP_APPEND_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_camera_v4l2_ioctl_t)
    222 #define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
    223 #define V4L2_EVENT_VPE_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 1)
    224 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    225 struct msm_camera_v4l2_ioctl_t {
    226  uint32_t id;
    227  uint32_t len;
    228  int32_t trans_code;
    229 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    230  void __user *ioctl_ptr;
    231 };
    232 #endif
    233