1 /* 2 * Media Bus API header 3 * 4 * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef V4L2_MEDIABUS_H 12 #define V4L2_MEDIABUS_H 13 14 /* 15 * These pixel codes uniquely identify data formats on the media bus. Mostly 16 * they correspond to similarly named V4L2_PIX_FMT_* formats, format 0 is 17 * reserved, V4L2_MBUS_FMT_FIXED shall be used by host-client pairs, where the 18 * data format is fixed. Additionally, "2X8" means that one pixel is transferred 19 * in two 8-bit samples, "BE" or "LE" specify in which order those samples are 20 * transferred over the bus: "LE" means that the least significant bits are 21 * transferred first, "BE" means that the most significant bits are transferred 22 * first, and "PADHI" and "PADLO" define which bits - low or high, in the 23 * incomplete high byte, are filled with padding bits. 24 */ 25 enum v4l2_mbus_pixelcode { 26 V4L2_MBUS_FMT_FIXED = 1, 27 V4L2_MBUS_FMT_YUYV8_2X8_LE, 28 V4L2_MBUS_FMT_YVYU8_2X8_LE, 29 V4L2_MBUS_FMT_YUYV8_2X8_BE, 30 V4L2_MBUS_FMT_YVYU8_2X8_BE, 31 V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE, 32 V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE, 33 V4L2_MBUS_FMT_RGB565_2X8_LE, 34 V4L2_MBUS_FMT_RGB565_2X8_BE, 35 V4L2_MBUS_FMT_SBGGR8_1X8, 36 V4L2_MBUS_FMT_SBGGR10_1X10, 37 V4L2_MBUS_FMT_GREY8_1X8, 38 V4L2_MBUS_FMT_Y10_1X10, 39 V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE, 40 V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_LE, 41 V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE, 42 V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE, 43 }; 44 45 /** 46 * struct v4l2_mbus_framefmt - frame format on the media bus 47 * @width: frame width 48 * @height: frame height 49 * @code: data format code 50 * @field: used interlacing type 51 * @colorspace: colorspace of the data 52 */ 53 struct v4l2_mbus_framefmt { 54 __u32 width; 55 __u32 height; 56 enum v4l2_mbus_pixelcode code; 57 enum v4l2_field field; 58 enum v4l2_colorspace colorspace; 59 }; 60 61 #endif 62