summaryrefslogtreecommitdiff
path: root/chromium/components/chromeos_camera/common/dmabuf.mojom
blob: aa946be8cb31e1f34fd02d5cf68a2ed41d4b6777 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module chromeos_camera.mojom;

import "media/mojo/mojom/media_types.mojom";

// This structure defines a DMA-buf buffer plane. |fd_handle| holds the DMA-buf
// file descriptor. The layout is specified by |stride|, |offset| and |size|.
struct DmaBufPlane {
  handle fd_handle;
  int32 stride;
  uint32 offset;
  uint32 size;
};

// This structure defines a simplified version of media::VideoFrame backed by
// DMA-bufs (see media/base/video_frame.h) for Chrome OS usage. The video frame
// has pixel format |format| and coded size |coded_width|x|coded_height|.
// Per-plane DMA-buf FDs and layouts are defined in |planes|.
struct DmaBufVideoFrame {
  media.mojom.VideoPixelFormat format;
  uint32 coded_width;
  uint32 coded_height;
  array<DmaBufPlane> planes;
};