1d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes#include <inttypes.h>
2d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughestypedef uint32_t mpers_ptr_t;
3d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughestypedef
4d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
5d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t index;
6d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t count;
7d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t memory;
8d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
9d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t type;
10d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunion {
11d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
12d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t width;
13d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t height;
14d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t pixelformat;
15d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t field;
16d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t bytesperline;
17d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t sizeimage;
18d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t colorspace;
19d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t priv;
20d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED pix;
21d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
22d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t width;
23d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t height;
24d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t pixelformat;
25d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t field;
26d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t colorspace;
27d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
28d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t sizeimage;
29d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint16_t bytesperline;
30d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint16_t reserved[7];
31d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED plane_fmt[8];
32d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunsigned char num_planes;
33d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunsigned char reserved[11];
34d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED pix_mp;
35d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
36d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
37d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesint32_t left;
38d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesint32_t top;
39d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesint32_t width;
40d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesint32_t height;
41d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED w;
42d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t field;
43d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t chromakey;
44d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesmpers_ptr_t clips;
45d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t clipcount;
46d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesmpers_ptr_t bitmap;
47d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunsigned char global_alpha;
48d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunsigned char mpers_end_filler_1[3];
49d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED win;
50d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
51d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t sampling_rate;
52d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t offset;
53d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t samples_per_line;
54d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t sample_format;
55d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesint32_t start[2];
56d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t count[2];
57d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t flags;
58d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t reserved[2];
59d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED vbi;
60d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesstruct {
61d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint16_t service_set;
6239bac055674d23770b9a724221b728e443196ea7Elliott Hughesuint16_t service_lines[2][24];
6339bac055674d23770b9a724221b728e443196ea7Elliott Hughesunsigned char mpers_filler_2[2];
64d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t io_size;
65d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t reserved[2];
66d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED sliced;
67d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesunsigned char raw_data[200];
68d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} fmt;
69d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED format;
70d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughesuint32_t reserved[8];
71d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes} ATTRIBUTE_PACKED mx32_struct_v4l2_create_buffers;
72d35df493b4e7684c50d2d2fa032ee3a7ac228009Elliott Hughes#define MPERS_mx32_struct_v4l2_create_buffers mx32_struct_v4l2_create_buffers
73