2 * Broadcom BM2835 V4L2 driver
4 * Copyright © 2013 Raspberry Pi (Trading) Ltd.
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive
10 * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
11 * Dave Stevenson <dsteve@broadcom.com>
12 * Simon Mellor <simellor@broadcom.com>
13 * Luke Diamand <luked@broadcom.com>
19 #define MMAL_FOURCC(a, b, c, d) ((a) | (b << 8) | (c << 16) | (d << 24))
20 #define MMAL_MAGIC MMAL_FOURCC('m', 'm', 'a', 'l')
22 /** Special value signalling that time is not known */
23 #define MMAL_TIME_UNKNOWN (1LL<<63)
25 /* mapping between v4l and mmal video modes */
28 u32 fourcc; /* v4l2 format id */
29 int flags; /* v4l2 flags field */
32 u32 mmal_component; /* MMAL component index to be used to encode */
33 u32 ybbp; /* depth of first Y plane for planar formats */
36 /* buffer for one video frame */
38 /* v4l buffer data -- must be first */
39 struct vb2_v4l2_buffer vb;
41 /* list of buffers available */
42 struct list_head list;
44 void *buffer; /* buffer pointer */
45 unsigned long buffer_size; /* size of allocated buffer */
49 struct mmal_colourfx {