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_VDEC_H_
208611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define _MSM_VDEC_H_
218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#include <linux/types.h>
228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_MAGIC 'v'
238611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_INITIALIZE _IOWR(VDEC_IOCTL_MAGIC, 1, struct vdec_init)
258611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_SETBUFFERS _IOW(VDEC_IOCTL_MAGIC, 2, struct vdec_buffer)
268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_QUEUE _IOWR(VDEC_IOCTL_MAGIC, 3,   struct vdec_input_buf)
278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_REUSEFRAMEBUFFER _IOW(VDEC_IOCTL_MAGIC, 4, unsigned int)
288611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_FLUSH _IOW(VDEC_IOCTL_MAGIC, 5, unsigned int)
308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_EOS _IO(VDEC_IOCTL_MAGIC, 6)
318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_GETMSG _IOR(VDEC_IOCTL_MAGIC, 7, struct vdec_msg)
328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_CLOSE _IO(VDEC_IOCTL_MAGIC, 8)
338611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_FREEBUFFERS _IOW(VDEC_IOCTL_MAGIC, 9, struct vdec_buf_info)
358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_IOCTL_GETDECATTRIBUTES _IOR(VDEC_IOCTL_MAGIC, 10,   struct vdec_dec_attributes)
36f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev#define VDEC_IOCTL_GETVERSION _IOR(VDEC_IOCTL_MAGIC, 11, struct vdec_version)
37f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev#define VDEC_IOCTL_SETPROPERTY _IOW   (VDEC_IOCTL_MAGIC, 12, struct vdec_property_info)
38f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev#define VDEC_IOCTL_GETPROPERTY _IOR   (VDEC_IOCTL_MAGIC, 13, struct vdec_property_info)
40f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev#define VDEC_IOCTL_PERFORMANCE_CHANGE_REQ _IOW(VDEC_IOCTL_MAGIC, 14,   unsigned int)
418611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum {
428611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FRAME_DECODE_OK,
438611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
448611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FRAME_DECODE_ERR,
458611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FATAL_ERR,
468611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FLUSH_FINISH,
478611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_EOS,
488611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
498611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FRAME_FLUSH,
508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_STREAM_SWITCH,
518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_SUSPEND_FINISH,
528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_BUFFER_CONSUMED
538611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum {
568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FLUSH_INPUT,
578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FLUSH_OUTPUT,
588611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_FLUSH_ALL
608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum {
628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_BUFFER_TYPE_INPUT,
638611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
648611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_BUFFER_TYPE_OUTPUT,
658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_BUFFER_TYPE_INTERNAL1,
668611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_BUFFER_TYPE_INTERNAL2,
678611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
688611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
698611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum {
708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_QUEUE_SUCCESS,
718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_QUEUE_FAILED,
728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu VDEC_QUEUE_BADSTATE,
738611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
75f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevenum {
76f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_COLOR_FORMAT_NV21 = 0x01,
77f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_COLOR_FORMAT_NV21_YAMOTO = 0x02
78f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev };
80f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevenum vdec_property_id {
81f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_FOURCC,
82f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_PROFILE,
83f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_LEVEL,
85f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_DIMENSIONS,
86f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_CWIN,
87f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_INPUT_BUF_REQ,
88f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_OUTPUT_BUF_REQ,
90f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_LUMA_CHROMA_STRIDE,
91f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_NUM_DAL_PORTS,
92f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_PRIORITY,
93f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev VDEC_FRAME_ALIGNMENT
95f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
96f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevenum {
97f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev PERF_REQUEST_SET_MIN = 0,
98f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev PERF_REQUEST_LOWER,
100f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev PERF_REQUEST_RAISE,
101f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev PERF_REQUEST_SET_MAX
102f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
103f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1048611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_input_buf_info {
1058611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 offset;
1068611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 data;
1078611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 size;
108f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1098611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int timestamp_lo;
1108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int timestamp_hi;
1118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int avsync_state;
1128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 flags;
113f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1148611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_buf_desc {
1168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 bufsize;
1178611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 num_min_buffers;
118f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1198611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 num_max_buffers;
1208611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_buf_req {
1228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 max_input_queue_size;
123f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc input;
1258611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc output;
1268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc dec_req1;
1278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc dec_req2;
128f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_region_info {
1318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 src_id;
1328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 offset;
133f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 size;
1358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1368611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_config {
1378611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 fourcc;
138f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1398611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 width;
1408611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 height;
1418611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 order;
1428611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 notify_enable;
143f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1448611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 vc1_rowbase;
1458611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 h264_startcode_detect;
1468611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 h264_nal_len_size;
1478611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 postproc_flag;
148f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1498611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 fruc_enable;
150f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 color_format;
1518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_vc1_panscan_regions {
153f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int num;
1558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int width[4];
1568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int height[4];
1578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int xoffset[4];
158f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int yoffset[4];
1608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
1618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_cropping_window {
1628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 x1;
163f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1648611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 y1;
1658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 x2;
1668611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 y2;
1678611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
168f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1698611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_frame_info {
1708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 status;
1718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 offset;
1728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 data1;
173f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 data2;
1758611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int timestamp_lo;
1768611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int timestamp_hi;
1778611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int cal_timestamp_lo;
178f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1798611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int cal_timestamp_hi;
1808611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 dec_width;
1818611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 dec_height;
1828611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_cropping_window cwin;
183f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1848611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 picture_type[2];
1858611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 picture_format;
1868611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 vc1_rangeY;
1878611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 vc1_rangeUV;
188f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1898611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 picture_resolution;
1908611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 frame_disp_repeat;
1918611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 repeat_first_field;
1928611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 top_field_first;
193f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1948611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 interframe_interp;
1958611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_vc1_panscan_regions panscan;
1968611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 concealed_macblk_num;
1978611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 flags;
198f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1998611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 performance_stats;
2008611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 data3;
2018611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2028611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_buf_info {
203f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2048611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 buf_type;
2058611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_region_info region;
2068611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 num_buf;
2078611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 islast;
208f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2098611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_buffer {
2118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 pmem_id;
2128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_info buf;
213f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2148611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_sequence {
2168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u8 *header;
2178611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 len;
218f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2198611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2208611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_config_sps {
2218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_config cfg;
2228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_sequence seq;
223f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2258611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_MSG_REUSEINPUTBUFFER 1
2268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define VDEC_MSG_FRAMEDONE 2
2278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_msg {
228f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2298611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 id;
2308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu union {
2318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 buf_id;
2328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_frame_info vfr_info;
233f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2348611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu };
2358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2368611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_init {
2378611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_config_sps sps_cfg;
238f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2398611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_req *buf_req;
2408611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2418611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_input_buf {
2428611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 pmem_id;
243f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2448611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_input_buf_info buffer;
2458611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_queue_status *queue_status;
2468611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2478611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_queue_status {
248f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2498611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 status;
2508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
2518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct vdec_dec_attributes {
2528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 fourcc;
253f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 profile;
2558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 level;
2568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 dec_pic_width;
2578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu u32 dec_pic_height;
258f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc input;
2608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc output;
2618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc dec_req1;
2628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct vdec_buf_desc dec_req2;
263f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
265f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct vdec_version {
266f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 major;
267f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 minor;
268f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
270f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct dal_vdec_rectangle {
271f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 width;
272f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 height;
273f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
275f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct stride_type {
276f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 luma;
277f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 chroma;
278f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
280f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct frame_alignment_type {
281f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 luma_width;
282f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 luma_height;
283f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 chroma_width;
285f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 chroma_height;
286f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 chroma_offset;
287f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
288f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevunion vdec_property {
290f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 fourcc;
291f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 profile;
292f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 level;
293f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct dal_vdec_rectangle dim;
295f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct vdec_cropping_window cw;
296f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct vdec_buf_desc input_req;
297f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct vdec_buf_desc output_req;
298f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct stride_type stride;
300f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 num_dal_ports;
301f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 priority;
302f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev struct frame_alignment_type frame_alignment;
303f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev u32 def_type;
305f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev};
306f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchevstruct vdec_property_info {
307f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev enum vdec_property_id id;
308f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev union vdec_property property;
3108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
3118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#endif
312f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev
313