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 struct msm_cpp_frame_strip_info {
     37  int scale_v_en;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  int scale_h_en;
     40  int upscale_v_en;
     41  int upscale_h_en;
     42  int src_start_x;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  int src_end_x;
     45  int src_start_y;
     46  int src_end_y;
     47  int pad_bottom;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  int pad_top;
     50  int pad_right;
     51  int pad_left;
     52  int v_init_phase;
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54  int h_init_phase;
     55  int h_phase_step;
     56  int v_phase_step;
     57  int prescale_crop_width_first_pixel;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  int prescale_crop_width_last_pixel;
     60  int prescale_crop_height_first_line;
     61  int prescale_crop_height_last_line;
     62  int postscale_crop_height_first_line;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64  int postscale_crop_height_last_line;
     65  int postscale_crop_width_first_pixel;
     66  int postscale_crop_width_last_pixel;
     67  int dst_start_x;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  int dst_end_x;
     70  int dst_start_y;
     71  int dst_end_y;
     72  int bytes_per_pixel;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  unsigned int source_address;
     75  unsigned int destination_address;
     76  unsigned int src_stride;
     77  unsigned int dst_stride;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  int rotate_270;
     80  int horizontal_flip;
     81  int vertical_flip;
     82  int scale_output_width;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  int scale_output_height;
     85  int prescale_crop_en;
     86  int postscale_crop_en;
     87 };
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 struct msm_cpp_buffer_info_t {
     90  int fd;
     91  uint32_t index;
     92  uint32_t offset;
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  uint8_t native_buff;
     95  uint8_t processed_divert;
     96 };
     97 struct msm_cpp_stream_buff_info_t {
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  uint32_t identity;
    100  uint32_t num_buffs;
    101  struct msm_cpp_buffer_info_t *buffer_info;
    102 };
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 struct msm_cpp_frame_info_t {
    105  int32_t frame_id;
    106  struct timeval timestamp;
    107  uint32_t inst_id;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  uint32_t identity;
    110  uint32_t client_id;
    111  enum msm_cpp_frame_type frame_type;
    112  uint32_t num_strips;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  struct msm_cpp_frame_strip_info *strip_info;
    115  uint32_t msg_len;
    116  uint32_t *cpp_cmd_msg;
    117  int src_fd;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  int dst_fd;
    120  struct ion_handle *src_ion_handle;
    121  struct ion_handle *dest_ion_handle;
    122  struct timeval in_time, out_time;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  void *cookie;
    125  int32_t *status;
    126  struct msm_cpp_buffer_info_t input_buffer_info;
    127  struct msm_cpp_buffer_info_t output_buffer_info;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 };
    130 struct cpp_hw_info {
    131  uint32_t cpp_hw_version;
    132  uint32_t cpp_hw_caps;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 };
    135 #define VIDIOC_MSM_CPP_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
    136 #define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
    137 #define VIDIOC_MSM_CPP_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define VIDIOC_MSM_CPP_LOAD_FIRMWARE   _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
    140 #define VIDIOC_MSM_CPP_GET_HW_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
    141 #define VIDIOC_MSM_CPP_FLUSH_QUEUE   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
    142 #define VIDIOC_MSM_CPP_ENQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_camera_v4l2_ioctl_t)
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 #define VIDIOC_MSM_CPP_DEQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_v4l2_ioctl_t)
    145 #define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
    146 struct msm_camera_v4l2_ioctl_t {
    147  uint32_t id;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  uint32_t len;
    150  int32_t trans_code;
    151  void __user *ioctl_ptr;
    152 };
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #endif
    155