15c32826841460294cfba98ff713b4804512bacd1Dima Zavin/**************************************************************************** 25c32826841460294cfba98ff713b4804512bacd1Dima Zavin **************************************************************************** 35c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** 45c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** This header was automatically generated from a Linux kernel header 55c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** of the same name, to make information necessary for userspace to 65c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** call into the kernel available to libc. It contains only constants, 75c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** structures, and macros generated from the original header, and thus, 85c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** contains no copyrightable information. 95c32826841460294cfba98ff713b4804512bacd1Dima Zavin *** 10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** To edit the content of this header, modify the corresponding 11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** source file (e.g. under external/kernel-headers/original/) then 12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** run bionic/libc/kernel/tools/update_all.py 13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** Any manual change here will be lost the next time this script will 15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** be run. You've been warned! 16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 175c32826841460294cfba98ff713b4804512bacd1Dima Zavin **************************************************************************** 185c32826841460294cfba98ff713b4804512bacd1Dima Zavin ****************************************************************************/ 195c32826841460294cfba98ff713b4804512bacd1Dima Zavin#ifndef _MSM_VENC_H_ 205c32826841460294cfba98ff713b4804512bacd1Dima Zavin#define _MSM_VENC_H_ 215c32826841460294cfba98ff713b4804512bacd1Dima Zavin#include <linux/types.h> 22f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_MAX_RECON_BUFFERS 2 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_FLAG_EOS 0x00000001 25f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_FLAG_END_OF_FRAME 0x00000010 26f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_FLAG_SYNC_FRAME 0x00000020 27f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_FLAG_EXTRA_DATA 0x00000040 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_FLAG_CODEC_CONFIG 0x00000080 30f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_flush_type { 31f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_FLUSH_INPUT, 32f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_FLUSH_OUTPUT, 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_FLUSH_ALL 35f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 36f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_state_type { 37f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATE_PAUSE = 0x1, 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATE_START = 0x2, 40f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATE_STOP = 0x4 41f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 42f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_event_type_enum { 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_START_STATUS, 45f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_STOP_STATUS, 46f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_SUSPEND_STATUS, 47f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_RESUME_STATUS, 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_FLUSH_STATUS, 50f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_RELEASE_INPUT, 51f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_DELIVER_OUTPUT, 52f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_EVENT_UNKNOWN_STATUS 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 55f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_status_code { 56f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_SUCCESS, 57f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_ERROR, 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_INVALID_STATE, 60f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_FLUSHING, 61f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_INVALID_PARAM, 62f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_CMD_QUEUE_FULL, 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_CRITICAL, 65f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_INSUFFICIENT_RESOURCES, 66f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_STATUS_TIMEOUT 67f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_msg_code { 70f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_INDICATION, 71f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_INPUT_BUFFER_DONE, 72f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_OUTPUT_BUFFER_DONE, 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_NEED_OUTPUT_BUFFER, 75f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_FLUSH, 76f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_START, 77f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_STOP, 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_PAUSE, 80f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_RESUME, 81f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_MSG_STOP_READING_MSG 82f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_error_code { 85f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_SUCCESS, 86f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EFAIL, 87f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EFATAL, 88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EBADPARAM, 90f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EINVALSTATE, 91f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOSWRES, 92f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOHWRES, 93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EBUFFREQ, 95f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EINVALCMD, 96f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ETIMEOUT, 97f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOREATMPT, 98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOPREREQ, 100f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ECMDQFULL, 101f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOTSUPP, 102f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOTIMPL, 103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ENOTPMEM, 105f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EFLUSHED, 106f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EINSUFBUF, 107f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_ESAMESTATE, 108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_S_EINVALTRANS 110f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 111f199d2d503133fe744f78c414184936658a64663Gloria Wangenum venc_mem_region_enum { 112f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_PMEM_EBI1, 113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114f199d2d503133fe744f78c414184936658a64663Gloria Wang VENC_PMEM_SMI 115f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 116f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_buf_type { 117f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int region; 118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int phys; 120f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int size; 121f199d2d503133fe744f78c414184936658a64663Gloria Wang int offset; 122f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_qp_range { 125f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int min_qp; 126f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int max_qp; 127f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_frame_rate { 130f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int frame_rate_num; 131f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int frame_rate_den; 132f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_slice_info { 135f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int slice_mode; 136f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int units_per_slice; 137f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 138654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_extra_data { 140f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int slice_extra_data_flag; 141f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int slice_client_data1; 142f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int slice_client_data2; 143654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int slice_client_data3; 145f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int none_extra_data_flag; 146f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int none_client_data1; 147f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int none_client_data2; 148654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int none_client_data3; 150f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 151f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_common_config { 152f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int standard; 153654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int input_frame_height; 155f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int input_frame_width; 156f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int output_frame_height; 157f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int output_frame_width; 158654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int rotation_angle; 160f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int intra_period; 161f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int rate_control; 162f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_frame_rate frame_rate; 163654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int bitrate; 165f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_qp_range qp_range; 166f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int iframe_qp; 167f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int pframe_qp; 168654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_slice_info slice_config; 170f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_extra_data extra_data; 171f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 172f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_nonio_buf_config { 173654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buf_type recon_buf1; 175f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buf_type recon_buf2; 176f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buf_type wb_buf; 177f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buf_type cmd_buf; 178654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buf_type vlc_buf; 180f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 181f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_mpeg4_config { 182f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int profile; 183654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int level; 185f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int time_resolution; 186f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int ac_prediction; 187f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int hec_interval; 188654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int data_partition; 190f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int short_header; 191f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int rvlc_enable; 192f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 193654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_h263_config { 195f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int profile; 196f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int level; 197f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 198654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_h264_config { 200f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int profile; 201f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int level; 202f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int max_nal; 203654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int idr_period; 205f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 206f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_pmem { 207f199d2d503133fe744f78c414184936658a64663Gloria Wang int src; 208654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2095c32826841460294cfba98ff713b4804512bacd1Dima Zavin int fd; 210f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int offset; 211f199d2d503133fe744f78c414184936658a64663Gloria Wang void *virt; 212f199d2d503133fe744f78c414184936658a64663Gloria Wang void *phys; 213654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int size; 2155c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 216f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_buffer { 217f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned char *ptr_buffer; 218654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int size; 220f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int len; 221f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int offset; 222f199d2d503133fe744f78c414184936658a64663Gloria Wang long long time_stamp; 223654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int flags; 225f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int client_data; 2265c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 227f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_buffers { 228654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_pmem recon_buf[VENC_MAX_RECON_BUFFERS]; 230f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_pmem wb_buf; 231f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_pmem cmd_buf; 232f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_pmem vlc_buf; 233654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2345c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 235f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_buffer_flush { 236f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int flush_mode; 2375c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 238654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239f199d2d503133fe744f78c414184936658a64663Gloria Wangunion venc_msg_data { 240f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buffer buf; 241f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buffer_flush flush_ret; 2425c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 243654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_msg { 245f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int status_code; 246f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int msg_code; 247f199d2d503133fe744f78c414184936658a64663Gloria Wang union venc_msg_data msg_data; 248654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249f199d2d503133fe744f78c414184936658a64663Gloria Wang unsigned int msg_data_size; 2505c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 251f199d2d503133fe744f78c414184936658a64663Gloria Wangunion venc_codec_config { 252f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_mpeg4_config mpeg4_params; 253654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_h263_config h263_params; 255f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_h264_config h264_params; 2565c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 257f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_q6_config { 258654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_common_config config_params; 260f199d2d503133fe744f78c414184936658a64663Gloria Wang union venc_codec_config codec_params; 261f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_nonio_buf_config buf_params; 262f199d2d503133fe744f78c414184936658a64663Gloria Wang void *callback_event; 263654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2645c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 265f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_hdr_config { 266f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_common_config config_params; 267f199d2d503133fe744f78c414184936658a64663Gloria Wang union venc_codec_config codec_params; 268654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 270f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_init_config { 271f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_q6_config q6_config; 272f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_buffers q6_bufs; 273654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274f199d2d503133fe744f78c414184936658a64663Gloria Wang}; 275f199d2d503133fe744f78c414184936658a64663Gloria Wangstruct venc_seq_config { 276f199d2d503133fe744f78c414184936658a64663Gloria Wang int size; 277f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_pmem buf; 278654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279f199d2d503133fe744f78c414184936658a64663Gloria Wang struct venc_q6_config q6_config; 2805c32826841460294cfba98ff713b4804512bacd1Dima Zavin}; 2815c32826841460294cfba98ff713b4804512bacd1Dima Zavin#define VENC_IOCTL_MAGIC 'V' 282f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_READ_NEXT_MSG _IOWR(VENC_IOCTL_MAGIC, 1, struct venc_msg) 283654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_STOP_READ_MSG _IO(VENC_IOCTL_MAGIC, 2) 285f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_INPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 3, struct venc_pmem) 286f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 4, struct venc_pmem) 287f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_START _IOW(VENC_IOCTL_MAGIC, 5, struct venc_init_config) 288654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_ENCODE_FRAME _IOW(VENC_IOCTL_MAGIC, 6, struct venc_buffer) 290f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 7, struct venc_buffer) 291f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_FLUSH _IOW(VENC_IOCTL_MAGIC, 8, struct venc_buffer_flush) 292f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_PAUSE _IO(VENC_IOCTL_MAGIC, 9) 293654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_RESUME _IO(VENC_IOCTL_MAGIC, 10) 295f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_STOP _IO(VENC_IOCTL_MAGIC, 11) 296f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_INTRA_PERIOD _IOW(VENC_IOCTL_MAGIC, 12, int) 297f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_CMD_REQUEST_IFRAME _IO(VENC_IOCTL_MAGIC, 13) 298654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_GET_SEQUENCE_HDR _IOWR(VENC_IOCTL_MAGIC, 14, struct venc_seq_config) 300f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 15, int) 301f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_FRAME_RATE _IOW(VENC_IOCTL_MAGIC, 16, struct venc_frame_rate) 302f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_TARGET_BITRATE _IOW(VENC_IOCTL_MAGIC, 17, int) 303654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304f199d2d503133fe744f78c414184936658a64663Gloria Wang#define VENC_IOCTL_SET_QP_RANGE _IOW(VENC_IOCTL_MAGIC, 18, struct venc_qp_range) 305f199d2d503133fe744f78c414184936658a64663Gloria Wang#endif 306