18611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/**************************************************************************** 28611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu **************************************************************************** 38611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** 48611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** This header was automatically generated from a Linux kernel header 58611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** of the same name, to make information necessary for userspace to 68611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** call into the kernel available to libc. It contains only constants, 78611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** structures, and macros generated from the original header, and thus, 88611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** contains no copyrightable information. 98611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** 108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** To edit the content of this header, modify the corresponding 118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** source file (e.g. under external/kernel-headers/original/) then 128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** run bionic/libc/kernel/tools/update_all.py 138611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** 148611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** Any manual change here will be lost the next time this script will 158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** be run. You've been warned! 168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu *** 178611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu **************************************************************************** 188611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ****************************************************************************/ 198611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#ifndef _MSM_VENC_H_ 208611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define _MSM_VENC_H_ 218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#include <linux/types.h> 228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_MAX_RECON_BUFFERS 2 238611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_FLAG_EOS 0x00000001 258611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_FLAG_END_OF_FRAME 0x00000010 268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_FLAG_SYNC_FRAME 0x00000020 278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_FLAG_EXTRA_DATA 0x00000040 288611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_FLAG_CODEC_CONFIG 0x00000080 308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_flush_type { 318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_FLUSH_INPUT, 328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_FLUSH_OUTPUT, 338611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_FLUSH_ALL 358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 368611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_state_type { 378611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATE_PAUSE = 0x1, 388611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 398611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATE_START = 0x2, 408611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATE_STOP = 0x4 418611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 428611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_event_type_enum { 438611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 448611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_START_STATUS, 458611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_STOP_STATUS, 468611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_SUSPEND_STATUS, 478611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_RESUME_STATUS, 488611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 498611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_FLUSH_STATUS, 508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_RELEASE_INPUT, 518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_DELIVER_OUTPUT, 528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_EVENT_UNKNOWN_STATUS 538611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_status_code { 568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_SUCCESS, 578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_ERROR, 588611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_INVALID_STATE, 608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_FLUSHING, 618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_INVALID_PARAM, 628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_CMD_QUEUE_FULL, 638611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 648611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_CRITICAL, 658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_INSUFFICIENT_RESOURCES, 668611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_STATUS_TIMEOUT 678611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 688611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 698611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_msg_code { 708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_INDICATION, 718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_INPUT_BUFFER_DONE, 728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_OUTPUT_BUFFER_DONE, 738611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_NEED_OUTPUT_BUFFER, 758611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_FLUSH, 768611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_START, 778611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_STOP, 788611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 798611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_PAUSE, 808611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_RESUME, 818611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_MSG_STOP_READING_MSG 828611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 838611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 848611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_error_code { 858611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_SUCCESS, 868611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EFAIL, 878611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EFATAL, 888611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 898611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EBADPARAM, 908611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EINVALSTATE, 918611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOSWRES, 928611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOHWRES, 938611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 948611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EBUFFREQ, 958611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EINVALCMD, 968611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ETIMEOUT, 978611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOREATMPT, 988611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 998611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOPREREQ, 1008611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ECMDQFULL, 1018611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOTSUPP, 1028611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOTIMPL, 1038611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1048611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ENOTPMEM, 1058611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EFLUSHED, 1068611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EINSUFBUF, 1078611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_ESAMESTATE, 1088611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1098611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_S_EINVALTRANS 1108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum venc_mem_region_enum { 1128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_PMEM_EBI1, 1138611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1148611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VENC_PMEM_SMI 1158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_buf_type { 117f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 region; 1188611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 phys; 120f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 size; 1218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int offset; 1228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1238611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_qp_range { 125f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 min_qp; 126f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 max_qp; 1278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1288611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_frame_rate { 130f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 frame_rate_num; 131f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 frame_rate_den; 1328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1338611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_slice_info { 135f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 slice_mode; 136f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 units_per_slice; 1378611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1388611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1398611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_extra_data { 140f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 slice_extra_data_flag; 141f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 slice_client_data1; 142f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 slice_client_data2; 1438611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 slice_client_data3; 145f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 none_extra_data_flag; 146f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 none_client_data1; 147f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 none_client_data2; 1488611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 none_client_data3; 1508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_common_config { 152f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 standard; 1538611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 input_frame_height; 155f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 input_frame_width; 156f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 output_frame_height; 157f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 output_frame_width; 1588611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 rotation_angle; 160f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 intra_period; 161f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 rate_control; 1628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_frame_rate frame_rate; 1638611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 bitrate; 1658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_qp_range qp_range; 166f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 iframe_qp; 167f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 pframe_qp; 1688611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1698611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_slice_info slice_config; 1708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_extra_data extra_data; 1718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_nonio_buf_config { 1738611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buf_type recon_buf1; 1758611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buf_type recon_buf2; 1768611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buf_type wb_buf; 1778611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buf_type cmd_buf; 1788611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1798611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buf_type vlc_buf; 1808611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1818611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_mpeg4_config { 182f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 profile; 1838611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 level; 185f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 time_resolution; 186f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 ac_prediction; 187f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 hec_interval; 1888611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 data_partition; 190f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 short_header; 191f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 rvlc_enable; 1928611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1938611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1948611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_h263_config { 195f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 profile; 196f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 level; 1978611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 1988611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1998611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_h264_config { 200f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 profile; 201f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 level; 202f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 max_nal; 2038611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 idr_period; 2058611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2068611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_pmem { 2078611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int src; 2088611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2098611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int fd; 210f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 offset; 2118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu void *virt; 2128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu void *phys; 2138611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 size; 2158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_buffer { 2178611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned char *ptr_buffer; 2188611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 size; 220f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 len; 221f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 offset; 2228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu long long time_stamp; 2238611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 flags; 225f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 client_data; 2268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_buffers { 2288611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_pmem recon_buf[VENC_MAX_RECON_BUFFERS]; 2308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_pmem wb_buf; 2318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_pmem cmd_buf; 2328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_pmem vlc_buf; 2338611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_buffer_flush { 236f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 flush_mode; 2378611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2388611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2398611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuunion venc_msg_data { 2408611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buffer buf; 2418611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buffer_flush flush_ret; 2428611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2438611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2448611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_msg { 245f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 status_code; 246f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 msg_code; 247f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 msg_data_size; 2488611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev union venc_msg_data msg_data; 2508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuunion venc_codec_config { 2528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_mpeg4_config mpeg4_params; 2538611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_h263_config h263_params; 2558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_h264_config h264_params; 2568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_q6_config { 2588611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_common_config config_params; 2608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu union venc_codec_config codec_params; 2618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_nonio_buf_config buf_params; 2628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu void *callback_event; 2638611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2648611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_hdr_config { 2668611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_common_config config_params; 2678611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu union venc_codec_config codec_params; 2688611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2698611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_init_config { 2718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_q6_config q6_config; 2728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_buffers q6_bufs; 2738611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 2758611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct venc_seq_config { 2768611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int size; 2778611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_pmem buf; 2788611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2798611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct venc_q6_config q6_config; 2808611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu}; 281f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct venc_version { 282f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 major; 283f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 minor; 285f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev}; 2868611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_MAGIC 'V' 2878611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_READ_NEXT_MSG _IOWR(VENC_IOCTL_MAGIC, 1, struct venc_msg) 2888611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2898611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_STOP_READ_MSG _IO(VENC_IOCTL_MAGIC, 2) 2908611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_INPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 3, struct venc_pmem) 2918611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 4, struct venc_pmem) 2928611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_START _IOW(VENC_IOCTL_MAGIC, 5, struct venc_init_config) 2938611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2948611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_ENCODE_FRAME _IOW(VENC_IOCTL_MAGIC, 6, struct venc_buffer) 2958611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 7, struct venc_buffer) 2968611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_FLUSH _IOW(VENC_IOCTL_MAGIC, 8, struct venc_buffer_flush) 2978611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_PAUSE _IO(VENC_IOCTL_MAGIC, 9) 2988611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2998611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_RESUME _IO(VENC_IOCTL_MAGIC, 10) 3008611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_STOP _IO(VENC_IOCTL_MAGIC, 11) 3018611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_INTRA_PERIOD _IOW(VENC_IOCTL_MAGIC, 12, int) 3028611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_CMD_REQUEST_IFRAME _IO(VENC_IOCTL_MAGIC, 13) 3038611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3048611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_GET_SEQUENCE_HDR _IOWR(VENC_IOCTL_MAGIC, 14, struct venc_seq_config) 3058611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 15, int) 3068611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_FRAME_RATE _IOW(VENC_IOCTL_MAGIC, 16, struct venc_frame_rate) 3078611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_TARGET_BITRATE _IOW(VENC_IOCTL_MAGIC, 17, int) 3088611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3098611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VENC_IOCTL_SET_QP_RANGE _IOW(VENC_IOCTL_MAGIC, 18, struct venc_qp_range) 310f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev#define VENC_IOCTL_GET_VERSION _IOR(VENC_IOCTL_MAGIC, 19, struct venc_version) 3118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#endif 312f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev 313