Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 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 | *** |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 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 | *** |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 17 | **************************************************************************** |
| 18 | ****************************************************************************/ |
| 19 | #ifndef _MSM_VENC_H_ |
| 20 | #define _MSM_VENC_H_ |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 21 | #include <linux/types.h> |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 22 | #define VENC_MAX_RECON_BUFFERS 2 |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 23 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 24 | #define VENC_FLAG_EOS 0x00000001 |
| 25 | #define VENC_FLAG_END_OF_FRAME 0x00000010 |
| 26 | #define VENC_FLAG_SYNC_FRAME 0x00000020 |
| 27 | #define VENC_FLAG_EXTRA_DATA 0x00000040 |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 28 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 29 | #define VENC_FLAG_CODEC_CONFIG 0x00000080 |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 30 | enum venc_flush_type { |
| 31 | VENC_FLUSH_INPUT, |
| 32 | VENC_FLUSH_OUTPUT, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 33 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 34 | VENC_FLUSH_ALL |
| 35 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 36 | enum venc_state_type { |
| 37 | VENC_STATE_PAUSE = 0x1, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 38 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 39 | VENC_STATE_START = 0x2, |
| 40 | VENC_STATE_STOP = 0x4 |
| 41 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 42 | enum venc_event_type_enum { |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 43 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 44 | VENC_EVENT_START_STATUS, |
| 45 | VENC_EVENT_STOP_STATUS, |
| 46 | VENC_EVENT_SUSPEND_STATUS, |
| 47 | VENC_EVENT_RESUME_STATUS, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 48 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 49 | VENC_EVENT_FLUSH_STATUS, |
| 50 | VENC_EVENT_RELEASE_INPUT, |
| 51 | VENC_EVENT_DELIVER_OUTPUT, |
| 52 | VENC_EVENT_UNKNOWN_STATUS |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 53 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 54 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 55 | enum venc_status_code { |
| 56 | VENC_STATUS_SUCCESS, |
| 57 | VENC_STATUS_ERROR, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 58 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 59 | VENC_STATUS_INVALID_STATE, |
| 60 | VENC_STATUS_FLUSHING, |
| 61 | VENC_STATUS_INVALID_PARAM, |
| 62 | VENC_STATUS_CMD_QUEUE_FULL, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 63 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 64 | VENC_STATUS_CRITICAL, |
| 65 | VENC_STATUS_INSUFFICIENT_RESOURCES, |
| 66 | VENC_STATUS_TIMEOUT |
| 67 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 68 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 69 | enum venc_msg_code { |
| 70 | VENC_MSG_INDICATION, |
| 71 | VENC_MSG_INPUT_BUFFER_DONE, |
| 72 | VENC_MSG_OUTPUT_BUFFER_DONE, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 73 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 74 | VENC_MSG_NEED_OUTPUT_BUFFER, |
| 75 | VENC_MSG_FLUSH, |
| 76 | VENC_MSG_START, |
| 77 | VENC_MSG_STOP, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 78 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 79 | VENC_MSG_PAUSE, |
| 80 | VENC_MSG_RESUME, |
| 81 | VENC_MSG_STOP_READING_MSG |
| 82 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 83 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 84 | enum venc_error_code { |
| 85 | VENC_S_SUCCESS, |
| 86 | VENC_S_EFAIL, |
| 87 | VENC_S_EFATAL, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 88 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 89 | VENC_S_EBADPARAM, |
| 90 | VENC_S_EINVALSTATE, |
| 91 | VENC_S_ENOSWRES, |
| 92 | VENC_S_ENOHWRES, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 93 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 94 | VENC_S_EBUFFREQ, |
| 95 | VENC_S_EINVALCMD, |
| 96 | VENC_S_ETIMEOUT, |
| 97 | VENC_S_ENOREATMPT, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 98 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 99 | VENC_S_ENOPREREQ, |
| 100 | VENC_S_ECMDQFULL, |
| 101 | VENC_S_ENOTSUPP, |
| 102 | VENC_S_ENOTIMPL, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 103 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 104 | VENC_S_ENOTPMEM, |
| 105 | VENC_S_EFLUSHED, |
| 106 | VENC_S_EINSUFBUF, |
| 107 | VENC_S_ESAMESTATE, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 108 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 109 | VENC_S_EINVALTRANS |
| 110 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 111 | enum venc_mem_region_enum { |
| 112 | VENC_PMEM_EBI1, |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 113 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 114 | VENC_PMEM_SMI |
| 115 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 116 | struct venc_buf_type { |
| 117 | unsigned int region; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 118 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 119 | unsigned int phys; |
| 120 | unsigned int size; |
| 121 | int offset; |
| 122 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 123 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 124 | struct venc_qp_range { |
| 125 | unsigned int min_qp; |
| 126 | unsigned int max_qp; |
| 127 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 128 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 129 | struct venc_frame_rate { |
| 130 | unsigned int frame_rate_num; |
| 131 | unsigned int frame_rate_den; |
| 132 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 133 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 134 | struct venc_slice_info { |
| 135 | unsigned int slice_mode; |
| 136 | unsigned int units_per_slice; |
| 137 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 138 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 139 | struct venc_extra_data { |
| 140 | unsigned int slice_extra_data_flag; |
| 141 | unsigned int slice_client_data1; |
| 142 | unsigned int slice_client_data2; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 143 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 144 | unsigned int slice_client_data3; |
| 145 | unsigned int none_extra_data_flag; |
| 146 | unsigned int none_client_data1; |
| 147 | unsigned int none_client_data2; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 148 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 149 | unsigned int none_client_data3; |
| 150 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 151 | struct venc_common_config { |
| 152 | unsigned int standard; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 153 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 154 | unsigned int input_frame_height; |
| 155 | unsigned int input_frame_width; |
| 156 | unsigned int output_frame_height; |
| 157 | unsigned int output_frame_width; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 158 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 159 | unsigned int rotation_angle; |
| 160 | unsigned int intra_period; |
| 161 | unsigned int rate_control; |
| 162 | struct venc_frame_rate frame_rate; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 163 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 164 | unsigned int bitrate; |
| 165 | struct venc_qp_range qp_range; |
| 166 | unsigned int iframe_qp; |
| 167 | unsigned int pframe_qp; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 168 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 169 | struct venc_slice_info slice_config; |
| 170 | struct venc_extra_data extra_data; |
| 171 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 172 | struct venc_nonio_buf_config { |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 173 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 174 | struct venc_buf_type recon_buf1; |
| 175 | struct venc_buf_type recon_buf2; |
| 176 | struct venc_buf_type wb_buf; |
| 177 | struct venc_buf_type cmd_buf; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 178 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 179 | struct venc_buf_type vlc_buf; |
| 180 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 181 | struct venc_mpeg4_config { |
| 182 | unsigned int profile; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 183 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 184 | unsigned int level; |
| 185 | unsigned int time_resolution; |
| 186 | unsigned int ac_prediction; |
| 187 | unsigned int hec_interval; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 188 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 189 | unsigned int data_partition; |
| 190 | unsigned int short_header; |
| 191 | unsigned int rvlc_enable; |
| 192 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 193 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 194 | struct venc_h263_config { |
| 195 | unsigned int profile; |
| 196 | unsigned int level; |
| 197 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 198 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 199 | struct venc_h264_config { |
| 200 | unsigned int profile; |
| 201 | unsigned int level; |
| 202 | unsigned int max_nal; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 203 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 204 | unsigned int idr_period; |
| 205 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 206 | struct venc_pmem { |
| 207 | int src; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 208 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 209 | int fd; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 210 | unsigned int offset; |
| 211 | void *virt; |
| 212 | void *phys; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 213 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 214 | unsigned int size; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 215 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 216 | struct venc_buffer { |
| 217 | unsigned char *ptr_buffer; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 218 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 219 | unsigned int size; |
| 220 | unsigned int len; |
| 221 | unsigned int offset; |
| 222 | long long time_stamp; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 223 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 224 | unsigned int flags; |
| 225 | unsigned int client_data; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 226 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 227 | struct venc_buffers { |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 228 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 229 | struct venc_pmem recon_buf[VENC_MAX_RECON_BUFFERS]; |
| 230 | struct venc_pmem wb_buf; |
| 231 | struct venc_pmem cmd_buf; |
| 232 | struct venc_pmem vlc_buf; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 233 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 234 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 235 | struct venc_buffer_flush { |
| 236 | unsigned int flush_mode; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 237 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 238 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 239 | union venc_msg_data { |
| 240 | struct venc_buffer buf; |
| 241 | struct venc_buffer_flush flush_ret; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 242 | }; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 243 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 244 | struct venc_msg { |
| 245 | unsigned int status_code; |
| 246 | unsigned int msg_code; |
| 247 | union venc_msg_data msg_data; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 248 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 249 | unsigned int msg_data_size; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 250 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 251 | union venc_codec_config { |
| 252 | struct venc_mpeg4_config mpeg4_params; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 253 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 254 | struct venc_h263_config h263_params; |
| 255 | struct venc_h264_config h264_params; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 256 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 257 | struct venc_q6_config { |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 258 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 259 | struct venc_common_config config_params; |
| 260 | union venc_codec_config codec_params; |
| 261 | struct venc_nonio_buf_config buf_params; |
| 262 | void *callback_event; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 263 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 264 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 265 | struct venc_hdr_config { |
| 266 | struct venc_common_config config_params; |
| 267 | union venc_codec_config codec_params; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 268 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 269 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 270 | struct venc_init_config { |
| 271 | struct venc_q6_config q6_config; |
| 272 | struct venc_buffers q6_bufs; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 273 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 274 | }; |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 275 | struct venc_seq_config { |
| 276 | int size; |
| 277 | struct venc_pmem buf; |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 278 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 279 | struct venc_q6_config q6_config; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 280 | }; |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 281 | #define VENC_IOCTL_MAGIC 'V' |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 282 | #define VENC_IOCTL_CMD_READ_NEXT_MSG _IOWR(VENC_IOCTL_MAGIC, 1, struct venc_msg) |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 283 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 284 | #define VENC_IOCTL_CMD_STOP_READ_MSG _IO(VENC_IOCTL_MAGIC, 2) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 285 | #define VENC_IOCTL_SET_INPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 3, struct venc_pmem) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 286 | #define VENC_IOCTL_SET_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 4, struct venc_pmem) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 287 | #define VENC_IOCTL_CMD_START _IOW(VENC_IOCTL_MAGIC, 5, struct venc_init_config) |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 288 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 289 | #define VENC_IOCTL_CMD_ENCODE_FRAME _IOW(VENC_IOCTL_MAGIC, 6, struct venc_buffer) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 290 | #define VENC_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 7, struct venc_buffer) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 291 | #define VENC_IOCTL_CMD_FLUSH _IOW(VENC_IOCTL_MAGIC, 8, struct venc_buffer_flush) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 292 | #define VENC_IOCTL_CMD_PAUSE _IO(VENC_IOCTL_MAGIC, 9) |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 293 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 294 | #define VENC_IOCTL_CMD_RESUME _IO(VENC_IOCTL_MAGIC, 10) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 295 | #define VENC_IOCTL_CMD_STOP _IO(VENC_IOCTL_MAGIC, 11) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 296 | #define VENC_IOCTL_SET_INTRA_PERIOD _IOW(VENC_IOCTL_MAGIC, 12, int) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 297 | #define VENC_IOCTL_CMD_REQUEST_IFRAME _IO(VENC_IOCTL_MAGIC, 13) |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 298 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 299 | #define VENC_IOCTL_GET_SEQUENCE_HDR _IOWR(VENC_IOCTL_MAGIC, 14, struct venc_seq_config) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 300 | #define VENC_IOCTL_SET_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 15, int) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 301 | #define VENC_IOCTL_SET_FRAME_RATE _IOW(VENC_IOCTL_MAGIC, 16, struct venc_frame_rate) |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 302 | #define VENC_IOCTL_SET_TARGET_BITRATE _IOW(VENC_IOCTL_MAGIC, 17, int) |
Ben Cheng | 654325d | 2012-03-07 21:13:49 -0800 | [diff] [blame] | 303 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Gloria Wang | f199d2d | 2010-03-03 16:26:26 -0800 | [diff] [blame] | 304 | #define VENC_IOCTL_SET_QP_RANGE _IOW(VENC_IOCTL_MAGIC, 18, struct venc_qp_range) |
Dima Zavin | 5c32826 | 2009-10-13 20:57:16 -0700 | [diff] [blame] | 305 | #endif |