root/drivers/staging/vc04_services/bcm2835-camera/mmal-common.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Broadcom BM2835 V4L2 driver
   4  *
   5  * Copyright © 2013 Raspberry Pi (Trading) Ltd.
   6  *
   7  * Authors: Vincent Sanders @ Collabora
   8  *          Dave Stevenson @ Broadcom
   9  *              (now dave.stevenson@raspberrypi.org)
  10  *          Simon Mellor @ Broadcom
  11  *          Luke Diamand @ Broadcom
  12  *
  13  * MMAL structures
  14  *
  15  */
  16 #ifndef MMAL_COMMON_H
  17 #define MMAL_COMMON_H
  18 
  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')
  21 
  22 /** Special value signalling that time is not known */
  23 #define MMAL_TIME_UNKNOWN BIT_ULL(63)
  24 
  25 struct mmal_msg_context;
  26 
  27 /* mapping between v4l and mmal video modes */
  28 struct mmal_fmt {
  29         u32   fourcc;          /* v4l2 format id */
  30         int   flags;           /* v4l2 flags field */
  31         u32   mmal;
  32         int   depth;
  33         u32   mmal_component;  /* MMAL component index to be used to encode */
  34         u32   ybbp;            /* depth of first Y plane for planar formats */
  35         bool  remove_padding;  /* Does the GPU have to remove padding,
  36                                 * or can we do hide padding via bytesperline.
  37                                 */
  38 };
  39 
  40 /* buffer for one video frame */
  41 struct mmal_buffer {
  42         /* v4l buffer data -- must be first */
  43         struct vb2_v4l2_buffer  vb;
  44 
  45         /* list of buffers available */
  46         struct list_head        list;
  47 
  48         void *buffer; /* buffer pointer */
  49         unsigned long buffer_size; /* size of allocated buffer */
  50 
  51         struct mmal_msg_context *msg_context;
  52 };
  53 
  54 /* */
  55 struct mmal_colourfx {
  56         s32 enable;
  57         u32 u;
  58         u32 v;
  59 };
  60 #endif

/* [<][>][^][v][top][bottom][index][help] */