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