linux/drivers/staging/vc04_services/vchiq-mmal/mmal-common.h
<<
>>
Prefs
   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
  25struct mmal_msg_context;
  26
  27/* mapping between v4l and mmal video modes */
  28struct 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 */
  41struct 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        unsigned long length;
  54        u32 mmal_flags;
  55        s64 dts;
  56        s64 pts;
  57};
  58
  59/* */
  60struct mmal_colourfx {
  61        s32 enable;
  62        u32 u;
  63        u32 v;
  64};
  65#endif
  66