1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 ****************************************************************************
11 ****************************************************************************/
15 #include <linux/types.h>
17 #define VDEC_IOCTL_MAGIC 'v'
19 #define VDEC_IOCTL_INITIALIZE _IOWR(VDEC_IOCTL_MAGIC, 1, struct vdec_init)
20 #define VDEC_IOCTL_SETBUFFERS _IOW(VDEC_IOCTL_MAGIC, 2, struct vdec_buffer)
21 #define VDEC_IOCTL_QUEUE _IOWR(VDEC_IOCTL_MAGIC, 3, struct vdec_input_buf)
22 #define VDEC_IOCTL_REUSEFRAMEBUFFER _IOW(VDEC_IOCTL_MAGIC, 4, unsigned int)
23 #define VDEC_IOCTL_FLUSH _IOW(VDEC_IOCTL_MAGIC, 5, unsigned int)
24 #define VDEC_IOCTL_EOS _IO(VDEC_IOCTL_MAGIC, 6)
25 #define VDEC_IOCTL_GETMSG _IOR(VDEC_IOCTL_MAGIC, 7, struct vdec_msg)
26 #define VDEC_IOCTL_CLOSE _IO(VDEC_IOCTL_MAGIC, 8)
27 #define VDEC_IOCTL_FREEBUFFERS _IOW(VDEC_IOCTL_MAGIC, 9, struct vdec_buf_info)
28 #define VDEC_IOCTL_GETDECATTRIBUTES _IOR(VDEC_IOCTL_MAGIC, 10, struct vdec_dec_attributes)
32 VDEC_FRAME_DECODE_ERR,
49 VDEC_BUFFER_TYPE_INPUT,
50 VDEC_BUFFER_TYPE_OUTPUT,
51 VDEC_BUFFER_TYPE_INTERNAL1,
52 VDEC_BUFFER_TYPE_INTERNAL2,
61 struct vdec_input_buf_info {
71 struct vdec_buf_desc {
78 u32 max_input_queue_size;
79 struct vdec_buf_desc input;
80 struct vdec_buf_desc output;
81 struct vdec_buf_desc dec_req1;
82 struct vdec_buf_desc dec_req2;
85 struct vdec_region_info {
98 u32 h264_startcode_detect;
99 u32 h264_nal_len_size;
105 struct vdec_vc1_panscan_regions {
113 struct vdec_cropping_window {
120 struct vdec_frame_info {
127 int cal_timestamp_lo;
128 int cal_timestamp_hi;
131 struct vdec_cropping_window cwin;
136 u32 picture_resolution;
137 u32 frame_disp_repeat;
138 u32 repeat_first_field;
140 u32 interframe_interp;
141 struct vdec_vc1_panscan_regions panscan;
142 u32 concealed_macblk_num;
144 u32 performance_stats;
148 struct vdec_buf_info {
150 struct vdec_region_info region;
157 struct vdec_buf_info buf;
160 struct vdec_sequence {
165 struct vdec_config_sps {
166 struct vdec_config cfg;
167 struct vdec_sequence seq;
170 #define VDEC_MSG_REUSEINPUTBUFFER 1
171 #define VDEC_MSG_FRAMEDONE 2
180 struct vdec_frame_info vfr_info;
185 struct vdec_config_sps sps_cfg;
186 struct vdec_buf_req *buf_req;
189 struct vdec_input_buf {
191 struct vdec_input_buf_info buffer;
192 struct vdec_queue_status *queue_status;
195 struct vdec_queue_status {
199 struct vdec_dec_attributes {
205 struct vdec_buf_desc input;
206 struct vdec_buf_desc output;
207 struct vdec_buf_desc dec_req1;
208 struct vdec_buf_desc dec_req2;