diff options
Diffstat (limited to 'libc/kernel/common/linux/msm_q6venc.h')
-rwxr-xr-x | libc/kernel/common/linux/msm_q6venc.h | 117 |
1 files changed, 53 insertions, 64 deletions
diff --git a/libc/kernel/common/linux/msm_q6venc.h b/libc/kernel/common/linux/msm_q6venc.h index a214de5f0..dbe118aae 100755 --- a/libc/kernel/common/linux/msm_q6venc.h +++ b/libc/kernel/common/linux/msm_q6venc.h @@ -7,299 +7,288 @@ *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** **************************************************************************** ****************************************************************************/ #ifndef _MSM_VENC_H_ #define _MSM_VENC_H_ + #include <linux/types.h> + #define VENC_MAX_RECON_BUFFERS 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_FLAG_EOS 0x00000001 #define VENC_FLAG_END_OF_FRAME 0x00000010 #define VENC_FLAG_SYNC_FRAME 0x00000020 #define VENC_FLAG_EXTRA_DATA 0x00000040 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define VENC_FLAG_CODEC_CONFIG 0x00000080 + enum venc_flush_type { VENC_FLUSH_INPUT, VENC_FLUSH_OUTPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_FLUSH_ALL }; + enum venc_state_type { VENC_STATE_PAUSE = 0x1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_STATE_START = 0x2, VENC_STATE_STOP = 0x4 }; + enum venc_event_type_enum { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_EVENT_START_STATUS, VENC_EVENT_STOP_STATUS, VENC_EVENT_SUSPEND_STATUS, VENC_EVENT_RESUME_STATUS, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_EVENT_FLUSH_STATUS, VENC_EVENT_RELEASE_INPUT, VENC_EVENT_DELIVER_OUTPUT, VENC_EVENT_UNKNOWN_STATUS -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; + enum venc_status_code { VENC_STATUS_SUCCESS, VENC_STATUS_ERROR, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_STATUS_INVALID_STATE, VENC_STATUS_FLUSHING, VENC_STATUS_INVALID_PARAM, VENC_STATUS_CMD_QUEUE_FULL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_STATUS_CRITICAL, VENC_STATUS_INSUFFICIENT_RESOURCES, VENC_STATUS_TIMEOUT }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum venc_msg_code { VENC_MSG_INDICATION, VENC_MSG_INPUT_BUFFER_DONE, VENC_MSG_OUTPUT_BUFFER_DONE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_MSG_NEED_OUTPUT_BUFFER, VENC_MSG_FLUSH, VENC_MSG_START, VENC_MSG_STOP, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_MSG_PAUSE, VENC_MSG_RESUME, VENC_MSG_STOP_READING_MSG }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum venc_error_code { VENC_S_SUCCESS, VENC_S_EFAIL, VENC_S_EFATAL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_S_EBADPARAM, VENC_S_EINVALSTATE, VENC_S_ENOSWRES, VENC_S_ENOHWRES, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_S_EBUFFREQ, VENC_S_EINVALCMD, VENC_S_ETIMEOUT, VENC_S_ENOREATMPT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_S_ENOPREREQ, VENC_S_ECMDQFULL, VENC_S_ENOTSUPP, VENC_S_ENOTIMPL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_S_ENOTPMEM, VENC_S_EFLUSHED, VENC_S_EINSUFBUF, VENC_S_ESAMESTATE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_S_EINVALTRANS }; + enum venc_mem_region_enum { VENC_PMEM_EBI1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ VENC_PMEM_SMI }; + struct venc_buf_type { unsigned int region; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int phys; unsigned int size; int offset; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_qp_range { unsigned int min_qp; unsigned int max_qp; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_frame_rate { unsigned int frame_rate_num; unsigned int frame_rate_den; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_slice_info { unsigned int slice_mode; unsigned int units_per_slice; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_extra_data { unsigned int slice_extra_data_flag; unsigned int slice_client_data1; unsigned int slice_client_data2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int slice_client_data3; unsigned int none_extra_data_flag; unsigned int none_client_data1; unsigned int none_client_data2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int none_client_data3; }; + struct venc_common_config { unsigned int standard; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int input_frame_height; unsigned int input_frame_width; unsigned int output_frame_height; unsigned int output_frame_width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int rotation_angle; unsigned int intra_period; unsigned int rate_control; struct venc_frame_rate frame_rate; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int bitrate; struct venc_qp_range qp_range; unsigned int iframe_qp; unsigned int pframe_qp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_slice_info slice_config; struct venc_extra_data extra_data; }; + struct venc_nonio_buf_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_buf_type recon_buf1; struct venc_buf_type recon_buf2; struct venc_buf_type wb_buf; struct venc_buf_type cmd_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_buf_type vlc_buf; }; + struct venc_mpeg4_config { unsigned int profile; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int level; unsigned int time_resolution; unsigned int ac_prediction; unsigned int hec_interval; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int data_partition; unsigned int short_header; unsigned int rvlc_enable; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_h263_config { unsigned int profile; unsigned int level; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_h264_config { unsigned int profile; unsigned int level; unsigned int max_nal; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int idr_period; }; + struct venc_pmem { int src; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int fd; unsigned int offset; void *virt; void *phys; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int size; }; + struct venc_buffer { unsigned char *ptr_buffer; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int size; unsigned int len; unsigned int offset; long long time_stamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int flags; unsigned int client_data; + }; + struct venc_buffers { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_pmem recon_buf[VENC_MAX_RECON_BUFFERS]; struct venc_pmem wb_buf; struct venc_pmem cmd_buf; struct venc_pmem vlc_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; + struct venc_buffer_flush { unsigned int flush_mode; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + union venc_msg_data { struct venc_buffer buf; struct venc_buffer_flush flush_ret; + }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct venc_msg { unsigned int status_code; unsigned int msg_code; union venc_msg_data msg_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int msg_data_size; }; + union venc_codec_config { struct venc_mpeg4_config mpeg4_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_h263_config h263_params; struct venc_h264_config h264_params; }; + struct venc_q6_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_common_config config_params; union venc_codec_config codec_params; struct venc_nonio_buf_config buf_params; void *callback_event; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; + struct venc_hdr_config { struct venc_common_config config_params; union venc_codec_config codec_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; + struct venc_init_config { struct venc_q6_config q6_config; struct venc_buffers q6_bufs; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; + struct venc_seq_config { int size; struct venc_pmem buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct venc_q6_config q6_config; }; + #define VENC_IOCTL_MAGIC 'V' + #define VENC_IOCTL_CMD_READ_NEXT_MSG _IOWR(VENC_IOCTL_MAGIC, 1, struct venc_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_IOCTL_CMD_STOP_READ_MSG _IO(VENC_IOCTL_MAGIC, 2) + #define VENC_IOCTL_SET_INPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 3, struct venc_pmem) + #define VENC_IOCTL_SET_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 4, struct venc_pmem) + #define VENC_IOCTL_CMD_START _IOW(VENC_IOCTL_MAGIC, 5, struct venc_init_config) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_IOCTL_CMD_ENCODE_FRAME _IOW(VENC_IOCTL_MAGIC, 6, struct venc_buffer) + #define VENC_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 7, struct venc_buffer) + #define VENC_IOCTL_CMD_FLUSH _IOW(VENC_IOCTL_MAGIC, 8, struct venc_buffer_flush) + #define VENC_IOCTL_CMD_PAUSE _IO(VENC_IOCTL_MAGIC, 9) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_IOCTL_CMD_RESUME _IO(VENC_IOCTL_MAGIC, 10) + #define VENC_IOCTL_CMD_STOP _IO(VENC_IOCTL_MAGIC, 11) + #define VENC_IOCTL_SET_INTRA_PERIOD _IOW(VENC_IOCTL_MAGIC, 12, int) + #define VENC_IOCTL_CMD_REQUEST_IFRAME _IO(VENC_IOCTL_MAGIC, 13) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_IOCTL_GET_SEQUENCE_HDR _IOWR(VENC_IOCTL_MAGIC, 14, struct venc_seq_config) + #define VENC_IOCTL_SET_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 15, int) + #define VENC_IOCTL_SET_FRAME_RATE _IOW(VENC_IOCTL_MAGIC, 16, struct venc_frame_rate) + #define VENC_IOCTL_SET_TARGET_BITRATE _IOW(VENC_IOCTL_MAGIC, 17, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + #define VENC_IOCTL_SET_QP_RANGE _IOW(VENC_IOCTL_MAGIC, 18, struct venc_qp_range) + #endif |