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