Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Unified Diff: components/arc/common/video_accelerator.mojom

Issue 1641353003: GpuArcVideoService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@arc-4-owen-ArcGpuVideoDecodeAccelerator
Patch Set: fix build Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/arc/common/video.mojom ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/common/video_accelerator.mojom
diff --git a/components/arc/common/video_accelerator.mojom b/components/arc/common/video_accelerator.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..6fd79cc19a4055924999aef4c5d1ab639ecd691b
--- /dev/null
+++ b/components/arc/common/video_accelerator.mojom
@@ -0,0 +1,91 @@
+// Copyright 2016 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.
+
+// This file defined the mojo interface between Android and Chromium for video
+// decoding and encoding. See comments of ArcVideoAccelerator for more info.
+
+module arc;
+
+[Extensible]
+enum HalPixelFormatExtension {
+ HAL_PIXEL_FORMAT_YCbCr_420_888 = 0x23,
+ HAL_PIXEL_FORMAT_H264 = 0x34363248,
+ HAL_PIXEL_FORMAT_VP8 = 0x00385056,
+};
+
+enum PortType {
+ PORT_INPUT = 0,
+ PORT_OUTPUT = 1,
+};
+
+[Extensible]
+enum BufferFlag {
+ BUFFER_FLAG_EOS = 1,
+};
+
+struct BufferMetadata {
+ int64 timestamp; // in microseconds
+ uint32 flags;
+ uint32 bytes_used;
+};
+
+struct VideoFormat {
+ uint32 pixel_format;
+ uint32 buffer_size;
+
+ // minimal number of buffers required to process the video.
+ uint32 min_num_buffers;
+ uint32 coded_width;
+ uint32 coded_height;
+ uint32 crop_left;
+ uint32 crop_width;
+ uint32 crop_top;
+ uint32 crop_height;
+};
+
+struct ArcVideoAcceleratorConfig {
+ enum DeviceType {
+ DEVICE_ENCODER = 0,
+ DEVICE_DECODER = 1,
+ };
+
+ DeviceType device_type;
+ uint32 num_input_buffers;
+ uint32 input_pixel_format;
+};
+
+interface VideoAcceleratorService {
+ Initialize@0(ArcVideoAcceleratorConfig config) => (bool result);
+
+ BindSharedMemory@1(PortType port, uint32 index, handle ashmem_fd,
+ uint32 offset, uint32 length);
+
+ BindDmabuf@2(PortType port, uint32 index, handle dmabuf_fd);
+
+ UseBuffer@3(PortType port, uint32 index, BufferMetadata metadata);
+
+ SetNumberOfOutputBuffers@4(uint32 number);
+
+ Reset@5();
+};
+
+interface VideoAcceleratorServiceClient {
+ enum Error {
+ NO_ERROR = 0,
+ ILLEGAL_STATE = 1,
+ INVALID_ARGUMENT = 2,
+ UNREADABLE_INPUT = 3,
+ PLATFORM_FAILURE = 4,
+ };
+
+ Init@0(VideoAcceleratorService service_ptr);
+
+ OnError@1(Error error);
+
+ OnBufferDone@2(PortType port, uint32 index, BufferMetadata metadata);
+
+ OnResetDone@3();
+
+ OnOutputFormatChanged@4(VideoFormat format);
+};
« no previous file with comments | « components/arc/common/video.mojom ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698